Got call from the HR and scheduled a face to face interview with the project architect. After that attended the F2F discussion with the architect and was asked some node js related questions which were mostly on overall architecture of RESTFul API, AWS. Then I was asked to come and do some coding.
I was pretty busy with my current work and it was't easy to spend full time for doing coding to their company, however I attended that coding challenge and was asked to built a full flagged RESTFul API with authentication layer with some end points. And I had to install everything including DB, Node.js, NPM and all the dependencies which took a while and then implemented oauth2 along with an end point returning data with JSONAPISerializer. The entire RESTAPI I made using express.js, waterline, JSONAPISerializer, oauth2 (access token, refresh token with client and password grant type). It took me around 4 hours.
I was running out of time as I have to come to my current office and told them I will have it done and send them the code. They asked me to have the UI for login and other implementations also.
I was a bit surprised as whatever I did there is more than enough to judge my ability on node.js and the architecture pattern I used, however I took that as a challenge and worked after office to finish the project. This time I used
- Express.js
- Waterline ORM
- Passport.js (login/ logout functionality)
- Router to handle the API end points
- Controllers to process the business logic to generate the response with JSONAPISerializer
- EJX as view template
- Bootstrap CSS for the layout
- JQuery for JS client side JS stuff
The HR was constantly pinging me during the weekends , after my last code interview on a Thursday, and I said I will get it done during my free time. Finally I made the project as it was asked and send them the source code on Tuesday evening.
The surprising thing is I never got a response back. I would have never joined them even if I was offered, its just that I liked the coding challenge and did it. I was pretty sure no one knows Node.js in that company and I doubt even if there were able to run the project with the instructions I sent along with the source code.
It was not a good experience though, as I just wasted lot of time and cursing myself after I finish the project and sent them. That's not a good idea at all to call someone with 10+ years of programming experience on successful projects and have this kind of interview pattern