Date: July 2021
Current: 5 years of experience
Location: Bangalore
I applied in LinkedIn and got the call from recruiter after a week or so.
Round 1 (1hr - Problem Solving & Data Structures):
- kth highest element in an unsorted infinite stream. Explained the heap way of solution.
- Asked the SQL query for the above question. I could write to fetch all the top k, couldnt write to fetch just kth
- Asked to implement snapshottable map which can scale easily. I wrote the working solution for this in sublime.
Result: This round went pretty well and I cleared it
Round 2 & Round 3 were scheduled continuously. There was no elimintaion in between.
Round 2 (1hr in the morning - System Design) :
- Some introduction and then talks on my current project
- Asked to design food delivery system like Swiggy/Zomato. Had to draw the design in draw.io, explained the interactions between services, decided the database and its structure, wrote some APIs
Again, this round was cool and interviewer was very satisfied with the solutions and explanations provided by me.
Round 3 (1hr in the evening - Bar Raiser round which had everything):
- Given a matrix, if its rotated n times, determine whether it is identical to the given matrix. Interviewer directly asked me to do this in O(1) space. I explained him some cases with which we can find this. But couldnt come up with the entire solution.
- Difference between encryption and encoding. Follow up: A program to encrypt the given string and then decrypt it
- Questions on microservices and distributed systems like: handling race condition in microservics, handling race condition while updating DB/Cache, how load balancer works and redirects the requests, complete flow of http request with all touch points etc
- Design patterns questions: Factory pattern, flyweight pattern, singleton - why & when all of these
- Database questions like: what and why indexing, when do you know if data is to be indexed, how do you index if there are lot of conditions/filters in data, xss, csrf, sql injection, sql vs nosql, when and why sql/nosql
- Some questions on Vert.x framework since I had some experience in Vert.x
- One new thing learnt in last 6 months and some behavioural questions
Database and Vert.x questions were bouncers for me. I wasnt ready with any of the database concepts especially. I was in doubt of getting into next round after the way this round went, but had a small hope since first two rounds went really well. Got call after a day for the next round with Director.
Round 4 (1hr with Director):
- This had more of casual talks. About my projects, future plans and goals, past experiences and so on. Interviewer also explained about what Freshworks does and what are the projects they have, role of a SSE, how a typical day for SSE is in Freshworks...
- He also asked me to design one functionality of stock application. There are multiple stocks listed in the market. For any given stock and number of days n, we must be displaying the average price of that stock in last n days. Important thing to note is that n can keep changing like last 7 days, last 30 days. The major interest of the interviewer was in database design. Once I explained him that, he got the right signals and he was chill. We further discussed how we would optimize my solution.
I could sense from the interviewer at the end of the interview that it will be a nod from him. Unless the third round has a major impact, I was expecting a call from recruiter to negotiate the offer. I followed up with the recruiter when I did not hear in 2 days and I got the response that there will be a debrief next week and I will get to know then. I got a call from them after 5 more days with the offer. By this time, I had given an interview for one other company (one of my fav company) and I was expecting offer from them as well. I was frank with the Freshworks HR, told the same to him, did not negotiate and put the Freshworks offer on hold. As expected, I received the offer from other company after a week and I updated the same to Freshworks HR by mail and declined their offer. HR acknowledged!
My other interview experiences: https://leetcode.com/discuss/interview-experience?currentPage=1&orderBy=hot&query=&tag=anonymousengineer