SSE Interview Exp - Freshworks

freshworks logo
freshworks
SDE IIOffer
November 29, 202547 reads

Summary

I interviewed for an IC2 - SSE role at Freshworks and successfully cleared four rounds, covering Data Structures & Algorithms, System Design, High-Level/Low-Level Design, and a Hiring Manager discussion, resulting in a strong hire verdict.

Full Experience

I had a comprehensive interview experience at Freshworks for an IC2 - SSE role, spanning four rounds.

Round 1: DSA
The first round focused on Data Structures and Algorithms. I was asked to solve two problems:

  1. Finding the nearest smaller element to the left. I discussed both brute-force O(N^2) and stack-based O(N) approaches.
  2. Reversing the first K elements of an array. I solved this using a two-pointer approach with in-place swaps in O(K) time.
Throughout this round, I made sure to think out loud, consider base cases and constraints, and perform dry runs. The verdict was 'Hire'.

Round 2: Design + DSA
This round started with an introduction and questions about my current project's architecture. I then tackled a challenging DSA problem: minimum number of days to disconnect island. We had a thorough discussion, and the interviewer was very helpful with the approach. I also discussed Rate Limiting design, which I had implemented using Redis-Lua and mentioned on my resume. The round concluded with questions on Spring, Java, Kafka, API servlets, and webservers. The verdict for this round was 'Hire'.

Round 3: HLD/LLD
Similar to the previous round, this one began with an introduction and questions about my current project's architecture, specifically focusing on three major contributions, including a discussion on AI usage. The interviewer delved into how I managed latency to a PostgreSQL DB (connection pooling) and achieved stickiness and high availability (consistent hashing). The main design problem was to design and implement an application for URL scrapping, where a client provides a source URL and depth, and the application needs to return a list of URLs up to that depth (max depth ~100K). I focused on gathering proper NFRs, FRs, and API designing, which proved beneficial. Initially, I started thinking of it as a DSA backtracking problem, but the interviewer guided me. He was friendly and helped me with all my design-related questions. The verdict was 'Strong Hire'.

Round 4: Hiring Manager
The final round was with the Hiring Manager, where we discussed my previous experience and several behavioral questions. The verdict for this round was 'Strong Hire'.

Interview Questions (5)

Q1
Nearest Smaller Element to the Left
Data Structures & Algorithms

Given an array, for each element, find the nearest smaller element to its left. Discuss brute force O(N^2) and stack-based O(N) approaches.

Q2
Reverse First K Elements of an Array
Data Structures & Algorithms

Given an array and an integer k, reverse the first k elements of the array.

Q3
Minimum Number of Days to Disconnect Island
Data Structures & AlgorithmsHard

This was a LeetCode problem about finding the minimum number of days to disconnect an island. We had a thorough discussion on the approach.

Q4
Rate Limiting System Design
System Design

Design a Rate Limiting system. I had this on my resume, implemented with Redis-Lua.

Q5
URL Scrapping Application Design
System Design

Design and implement an application for URL scrapping. A client shares a source-url and depth, and the application needs to return a list of URLs till that depth. The maximum depth can be around 100K. I focused on taking proper Non-Functional Requirements (NFRs), Functional Requirements (FRs), and API designing.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!