The Interview process began with a non-conventional start. I got an e-mail from the Talent Recruitment Team about my résumé being shortlisted and asking me when I would be available for a Skype Interview. I mailed them the appropriate date, and the process began.
A few of the questions that they asked me were:
- Prototype and its usage.
- New features of HTML5.
- Usage of Local Storage.
- A simple data structure that would allow me to make a simple TODO list application.
- A complex question on CSS position:absolute and relative.
- A custom implementation of indexOf using the prototype object on String.
About a week later, I received a response from the Recruitment Team that they wanted me to take another round. I scheduled another Skype Interview, and it began with the usual introductions. They tested me on a few other concepts.
- Global scope and Local scope.
- How would I sort an Array? (I answered Bubble Sort. Quicksort was a better answer than that.)
- An extension of Array.sort() to accommodate characters and integers. I was asked to implement a compare() function and use that as a callback to the Array.sort().
- Compare two sorted Arrays. I got it wrong on the first try, but with a nudge from the interviewer in the right direction, I got it correct.
- There was a discussion about the kind of work at the company, and since I had used their product, I was more than curious about a few technologies they used and how they implemented it. It was an interesting discussion.
- There was a very discussion about the usage of Knockout and where it was helpful as compared to where it wasn’t.
- How theming on any application/website worked.
- What would you do to speed up the loading of the web page?
- AMD - require.js - I was unfamiliar but described what I knew about it.
- The hardest part was the puzzles. They put forward two puzzles that I found very difficult to solve. I was flabbergasted, and the interviewer did try to encourage me. He gave me hints, but I gave up.
Round Four :
This time, I was so sure that they would reject me. However, again, there was another technical round scheduled. I did not have much time between the last two rounds so; I could not prepare a lot of technical/non-technical puzzles.
- A custom implementation of Array.map().
- The arguments array - the pseudo-object. How/when and why would I use it?
- Then came more puzzles. I was able to solve 1 out of the 3 asked. They were mathematical/algorithmic. I would say that except the one I was able to solve, they were algorithmic.
- For feedback, I explained as to why I wasn’t able to answer the puzzles. I told the truth that I wasn’t in touch with Algorithms and Data Structures.
Round Five :
The round was telephonic and impromptu. It was HR, and he asked some behavioral questions. That’s it.