FreshWorks - SSE | Bangalore | June 2022 | Reject
Summary
I interviewed for an SSE role at FreshWorks in Bangalore, consisting of three comprehensive rounds: a coding round, a system design round, and a bar raiser round. Despite positive feedback in the initial two rounds, I was ultimately rejected after the final bar raiser round.
Full Experience
Background
I applied for an SSE position at FreshWorks in Bangalore. I currently work at a product-based fintech company and have 4.9 years of experience, having graduated from a Tier-3 college.
Round 1: Technical (1 hour)
This was a coding round that began with my brief introduction and a discussion about the projects I had worked on. I was asked two coding questions:
- A rephrased version of Two Sum: Given prices of N items and X amount of money, I needed to find if I could buy exactly two items that fully utilize the given money.
- A variation of the Coin Change problem (specifically Coin Change 2): Given an unlimited supply of coins with values 1, 2, and 3, and a target sum, I had to find the number of ways to make the sum, focusing on permutations. For example, for sum = 4, the output should be 7, with ways like [1,1,1,1], [1,1,2], [1,2,1], [2,1,1], [2,2],[3,1],[1,3].
I was able to successfully solve both questions, and the feedback from this round was positive.
Round 2: System Design (1 hour 30 minutes)
This round focused on system design, but also included some general technical questions. It started with a discussion about my roles and responsibilities at my current company. I was also asked to explain three complex technical issues I had worked on. The system design questions included:
- Designing a system similar to RedBus, specifically limiting the discussion to Search and Seat Booking functionality. We discussed high-level design, API design, database design, and handling race conditions during seat booking.
- Designing the trending page of a video platform like YouTube.
- How to prevent DDoS attacks.
- Steps to take if all requests to an endpoint are giving errors.
- How to identify the root cause when only some requests are intermittently erroring out.
I received positive feedback for this round as well.
Round 3: Bar Raiser Round (1 Hour 30 Minutes)
This round involved discussions on various technical aspects, mostly open-ended questions where the interviewer was interested in my thought process and problem-solving approach. Some of the questions I remember were:
- Implementing connection pooling.
- A detailed discussion on the TLS layer.
- Discussion on Spring Boot's advantages and the internal implementation of some Spring annotations.
- How metrics are sent from an application.
While I answered the questions, the interviewer was not entirely satisfied with some of my responses. I did not hear back from HR after this round, and based on the interviewer's feedback at the end, I understood that I would likely be rejected.
Interview Questions (11)
Design a System like RedBus. The discussion was limited to designing Search and Seat Booking functionality. High level design along with API and Database design was discussed. Handling race conditions during seat booking was also discussed.
Design the trending page of a Video Platform like YouTube.
How do you prevent DDoS attack.
All request of an end point is giving error. Tell the different stpes you will take to handle it.
Only some request are erroring out intermittently, How you will identify the root cause.
Implementing connection poooling.
Discussion on TLS layer
Discussion on Spring boot advantages and internal implementation of some of the spring annotations.
How metrices are sent from an application.