2 years ago, I was being interview for the position of React.js Developer. I'd like to share with you the assignments I was given in 3 different companies.
- A Currency Exchanger: Using the API of fixer.io the idea of this project was add 2 features:
a) A simple currency converter between USD and EUR.
b) A component that show the historic of the last year until today.
- A GitHub project viewer: Using the API, the features requested was:
a) Allow users enter the name of a Github user and show all the repositories created by that user.
b) Allow to user Login into the application through Oauth, show his repositories, and also implement a search component.
c) Allow user logout of the app.
- A Spotify browser: Through an API users should be able to visualice a list of artists, their albums and play songs. The features requested were:
a) Show the artist list, when users click on the artist should be able to visualice the albums available that artist.
b) When user click in an album, should be able to see a list of songs. And play each one of them.
This API not was directly of Spotify, but was a custom API based on it.
All these take-home assignments were for a Junior Advance position. In my experience, a lot of companies make a technical interview based on your code, specially custom software development companies, were they need to evaluate deeply to the candidate.
By the other hand, some companies doing IT Staff Augmentation usually make online interviews through platforms like TestDome or HackerRank, this test are usually faster than projects but for some developers can be difficulty do it.