Below are links to Full Stack, Front-End, and Back-End Developer exams. Please familiarize yourself with the exam requirements and technology stacks prior to the exam date.
IMPORTANT: We HIGHLY recommend you setup a live web server with a blank static web page (e.g. Django, Rails, Node.js) BEFORE your exam. It will save you a lot of time during the exam. (e.g. Django, Rails, Node.js)
- This online assessment’s score will determine your engineering level (position) and your salary range.
- You will have 2.5 hours.
- You will be given a list of web app features at the start of the exam via email.
Pick a few features.
- Choose a few features to implement:
Any framework. You choose the programming language and framework.
- Choose language and framework you are the most familiar and proficient in.
- However, we primarily use JS, Express, Node, and React Redux
- RWD. Bonus points for fully responsive web/mobile design with HTML/CSS.
- Please do not use: Java/PHP/jQuery/ASP.NET/C#
- Quality over quantity. We value working prototypes, so make sure your site is live and running before you move onto additional features.
- Reuse and leverage. We highly encourage you to reuse other people’s work, like Bootstrap and Redux. Don’t reinvent the wheel.
Self or cloud host. We will ask you to spin up and host your app for 1 week.
- Your own self hosted server.
- Cloud server, e.g. AWS, Heroku.
IMPORTANT: We highly, HIGHLY recommend you setup a live web server with a blank static web page (e.g. Django, Rails, Node.js) BEFORE your exam. It will save you a lot of time during the exam.
- Please take a look at a sample exam before hand.
Development Environment. Setup a linux-based development environment. We recommend MacOS or Ubuntu.
- Setup any web framework you’re most familiar with (e.g. Django, Rails, React.js, Express.js)
- Setup a database you are most familar with to store customer data. Both SQL or no SQL database are OK.
- Setup IDEs or any developer tools to maximize your efficiency during the exam. e.g. Gulp.js, Webpack, ESLint, Jest, Mocha, Chai, Jasmine, TypeScript, Babel, EJS, unittest/pyUnit, RSpec.
Self or Cloud Hosted Test. Make sure you can host a webpage from your development box or cloud on the world wide web.
- Use a self-hosted or cloud server, such as AWS or Heroku (FREE).
- Open a port that is more secure than commonly scanned ports (e.g. Port 22)
- Make sure firewall configured so you can see your web page outside of your local area or cloud network.
- GitHub or GitLab Account. Make sure you have a public GitHub/GitLab account that you can host your exam submission code for us to evaluate.
How to prepare.
- Be prepared to implement a database. (e.g., SQL, MongoDB)
- Be prepared to implement both front- and back- end developement. A common stack is: JS, Express, Node, HTML, CSS, React.
- There are no tricks or brain teasers. You will be building a website with user and admin functions, like a shopping site, a booking site, or a news site.
- Create a Facebook Login account and a Google Developer account and have key ready. You will need to implement an OAuth for user login management.
- Be familiar with how to connect to an API. e.g. Google Maps, Stripe, Email SendGrid, FireBase.
How to Submit
IMPORTANT: Please submit your exam (complete the form) regardless of whether you have a live site. The form collects your GitHub URL. We want to see your source code regardless of the progress you’ve made.
- Upload code to public GitHub or GitLab account.
- Run your app in production for 1 week.
- Please submit exam by clicking “Submit Exam” below.