I interviewed in July 2025. I applied online and heard back from a recruiter within two days. The entire process took about three weeks from the first contact to the final offer, which was very well-paced and communicative.
The process consisted of four stages:
Initial Phone Screen (30 mins): A conversation with a tech recruiter. We covered my experience with Node.js, TypeScript, and microservices. We also discussed salary expectations and my reasons for looking for a new role.
Hiring Manager Interview (60 mins): A video call with the Engineering Manager. This was a deep dive into my resume projects and behavioral questions. We discussed my architectural decisions on a previous project and my experience with AWS and Docker.
Technical Round (90 mins): This was a paired programming session with two Senior Engineers over a shared coding platform. The task was to build a small REST API endpoint using Express.js and handle some asynchronous logic. They were more interested in my thought process and testing approach than a perfect solution. This was followed by a brief system design question about caching strategies.
Final Round (45 mins): A final conversation with the Director of Engineering. This was a high-level discussion about team culture, my career growth aspirations, and the technical vision for the product.
I received a verbal offer the following day. Overall, a very respectful and well-structured process that gave me a great impression of the company.
Interview questions [1]
Question 1
Can you explain the Node.js event loop and how it handles non-blocking I/O?
Describe a time you had to optimize a slow database query. What was your approach?
How would you design a rate-limiter for an API gateway?
How would you ensure data consistency in a microservices architecture?
Tell me about a time a project you were on failed. What did you learn?
How do you handle error logging and monitoring in a distributed system?