freshworks logo

Freshworks Interviews

13 experiences432 reads71 questions23% success rate
Freshworks - Senior Software Engineer - Interview [Offer]
freshworks logo
Freshworks
Senior Software Engineer4 yearsOffer
December 12, 202577 reads

Summary

I successfully interviewed for a Senior Software Engineer role at Freshworks, receiving an offer after three challenging rounds that covered Data Structures & Algorithms, a detailed resume deep-dive, and a final hiring manager discussion.

Full Experience

I recently interviewed for a Senior Software Engineer position at Freshworks, a role I applied for via a referral. My interview process consisted of three main rounds.

The first round was a DSA round where I was given two LeetCode problems: Find Peak Element and Search in Rotated Sorted Array. I successfully solved both problems. After a slight delay due to headcount calculations, I received positive feedback and moved to the next stage.

The second round, surprisingly, wasn't a pure LLD as expected. It began with a detailed resume deep-dive where the interviewer questioned my technology choices, system design decisions, and complex projects. Towards the end, I was given another coding question, Word Search, which I solved efficiently. The feedback was very positive, leading directly to the hiring manager round, skipping HLD.

Finally, the third round was a brief Hiring Manager (Director) discussion. It was a casual conversation about my interests and their expectations, lasting only about 15 minutes. Within minutes of this call, I received confirmation of an offer.

Interview Questions (3)

Q1
Find Peak Element
Data Structures & AlgorithmsMedium

A peak element is an element that is greater than its neighbors. Given an input array nums, where nums[i] ≠ nums[i+1], find a peak element and return its index. The array may contain multiple peaks, in which case return the index to any one of the peaks. You may imagine that nums[-1] = nums[n] = -∞.

Q2
Search in Rotated Sorted Array
Data Structures & AlgorithmsMedium

There is an integer array nums sorted in ascending order (with distinct values). Prior to being passed to your function, nums is possibly rotated at an unknown pivot index k (0 <= k < nums.length) such that the resulting array is [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]. Given nums after the possible rotation and an integer target, return the index of target if it is in nums, or -1 otherwise. You must write an algorithm with O(log n) runtime complexity.

Q3
Word Search
Data Structures & AlgorithmsMedium

Given an m x n grid of characters board and a string word, return true if word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally or vertically neighboring. The same letter cell may not be used more than once.

Preparation Tips

My preparation primarily focused on Data Structures & Algorithms, Low-Level Design (LLD), and High-Level Design (HLD, although this round was ultimately skipped). I regularly practiced LeetCode problems which proved crucial for the DSA rounds. For the resume deep-dive, I ensured I could articulate my project experiences and architectural decisions clearly.

SSE Interview Exp - Freshworks
freshworks logo
Freshworks
SDE IIOffer
November 29, 202548 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.

Interview Experience - Freshworks
freshworks logo
Freshworks
Staff Software Engineer (IC2)
October 27, 202595 reads

Summary

I interviewed for the Staff Software Engineer (IC2) role at Freshworks, which involved multiple rounds covering Data Structures and Algorithms, System Design, and behavioral questions. The process included challenging technical problems and deep dives into my project experience, with helpful interviewers guiding discussions.

Full Experience

Round 1: Data Structures & Algorithms

This round focused on Data Structures and Algorithms. I was asked to find the nearest smaller element to the left, which I solved by discussing both a brute-force O(N2) approach and an optimized O(N) solution using stacks. The second problem involved reversing the first K elements of an array, which I efficiently solved using a two-pointer approach with in-place swaps, achieving O(K) complexity. Throughout the round, I made sure to think out loud, consider all base cases and constraints, and perform dry runs.

Round 2: Design + Data Structures & Algorithms

The second round began with my introduction and questions about my current project's architecture. For the DSA part, I tackled the LeetCode problem 'Minimum number of days to disconnect island'. This was a very tough question, and the interviewer was helpful in guiding me through the approach. We then transitioned into a design discussion on Rate Limiting, a topic I had experience with, having implemented it using Redis and Lua. There were also several general questions on technologies like Spring, Java, Kafka, API servlets, and web servers.

Round 3: High-Level Design (HLD) / Low-Level Design (LLD)

This round also started with an introduction and questions about my project architecture. I elaborated on my three major contributions, including how I incorporated AI. Specific technical questions included how I managed latency to a PostgreSQL database (I explained connection pooling) and how I achieved stickiness and high availability (discussing consistent hashing). The main design challenge was to design and implement an application for URL scrapping, where a client provides a source URL and a depth, and the system needs to return a list of URLs up to that depth, with a potential max depth of 100K. I focused on taking proper functional and non-functional requirements and designing the APIs. Initially, I started thinking of a backtracking approach, mistaking it for a DSA problem, but the interviewer was very friendly and helped me with all the questions I had for the design.

Round 4: Hiring Manager

The final round was with the Hiring Manager, focusing on my previous experience and general behavioral questions.

Interview Questions (8)

Q1
Nearest Smaller Element to the Left
Data Structures & AlgorithmsMedium

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

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

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

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

This was a LeetCode problem where the goal is to find the minimum number of days to disconnect an island. We had a thorough discussion, and the interviewer provided help with the approach.

Q4
Rate Limiting Design
System DesignHard

Design a Rate Limiting system. I discussed an implementation using Redis and Lua scripts based on my previous project experience.

Q5
Major Contributions and Project Architecture
Behavioral

Discuss three major contributions from your previous roles and questions related to your current project's architecture, including the usage of AI.

Q6
Managing Latency to PostgreSQL DB
Other

How did you manage latency when interacting with a PostgreSQL database? (e.g., connection pooling)

Q7
Achieving Stickiness and High Availability
System Design

How did you achieve stickiness and high availability in your systems? (e.g., consistent hashing)

Q8
URL Scrapping Application Design
System DesignHard

Design and implement an application for URL scrapping. The client shares a source URL and a depth, and the application needs to return a list of URLs discovered up to that depth. The maximum depth can be around 100K. Focus on gathering Functional Requirements (FR) and Non-Functional Requirements (NFR), and API designing.

Freshworks SSE Interview (Virtual)
freshworks logo
Freshworks
Software EngineerVirtual2.2 yearsOngoing
September 26, 202557 reads

Summary

I interviewed for a Software Engineer role at Freshworks, which involved three rounds: Data Structures & Algorithms, System Design, and a Managerial round. I am currently awaiting the final results.

Full Experience

Round 1: Data Structures & Algorithms

This round was taken by a lead software engineer and focused mainly on DSA. I was asked about my current work and to provide an example for meta-information of a report, as my team deals with reporting.

  • Given a set of intervals representing meeting start and end times, I had to determine if a person could attend all meetings. I was then asked to refactor my code, specifically to decrease the number of lines by moving my custom comparator into lambda expressions.
  • I was asked to find the maximum subarray sum.

Round 2: System Design

A week later, I had the System Design round with another lead software engineer. This round included some questions based on my current team and how I spend a day at my company.

  • I was asked to explain how Authentication and Authorization work.
  • The interviewer asked about the difference between PATCH and PUT HTTP methods.
  • We discussed sharding: what it is, its usefulness, the 'celebrity problem,' and how to handle changes in the number of servers.
  • I had to differentiate between partitioning and sharding.
  • The discussion moved to indexing: how it helps in query optimization and its internal workings.
  • I was asked if I review PRs and how I provide review comments to colleagues.
  • The interviewer presented a scenario of facing a 504 gateway timeout and asked about potential causes, troubleshooting steps, and solutions.
  • I was asked to design a high-level architecture for a WhatsApp-like chat system. I wasn't thoroughly prepared for system design, but I talked about websockets and message queues for notifications. He then asked me to look deeper into how websockets work.

Round 3: Managerial Round

Another week later, I had the managerial round with a staff engineer. We discussed query optimizations, why Redshift was chosen over PostgreSQL in my current team's architecture, and a shard migration tool I had worked on.

  • The core question was to design a web scraper given a start URL and a level 'n' until which URLs need to be scraped, returning a list of all scraped URLs. I initially proposed a simple HLD where requests are processed synchronously by hitting URLs, downloading data, and processing recursively. However, the interviewer was not satisfied, pointing out its limitations for very large depths (e.g., billions). I then suggested using a Message Queue with client requests as producers and worker threads as subscribers to process results asynchronously. For responses, I thought of using a storage like Amazon S3, providing pre-signed URLs to the client's email. When asked about status updates without email, I suggested a UI logs page to show 'Queued / IN_PROGRESS / SUCCESS / FAILED' statuses. He then presented a follow-up: what if a worker thread processing 1 million requests crashes after processing 0.5 million? I explained that we could run NFRs to determine a threshold level for crashes, use that threshold to set breakpoints or checkpoints to store partial results, and maintain meta-information about the request. If a failure occurs, we would resume processing from the last successful checkpoint.

Interview Questions (11)

Q1
Meeting Rooms I
Data Structures & AlgorithmsMedium

Given a list of meeting time intervals [start, end], determine if a person could attend all meetings. Each meeting is a closed interval [start, end].

Q2
Maximum Subarray Sum
Data Structures & AlgorithmsEasy

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Q3
Authentication and Authorization Mechanisms
System Design

Explain the fundamental concepts and mechanisms of authentication and authorization in a system.

Q4
HTTP PATCH vs. PUT
System Design

Differentiate between HTTP PATCH and PUT methods, including their use cases and idempotency.

Q5
Database Sharding and Consistency Hashing
System Design

Explain what sharding is, its utility, and discuss the 'celebrity problem' in the context of sharding. How do you handle changes in the number of servers (e.g., using consistent hashing)?

Q6
Partitioning vs. Sharding
System Design

Explain the concept of partitioning and how it differs from sharding in database design.

Q7
Database Indexing
System Design

Describe what database indexing is, how it aids in query optimization, and its internal working mechanisms.

Q8
Code Review Best Practices
Behavioral

Describe your experience with code reviews and how you provide constructive feedback to colleagues.

Q9
Troubleshooting 504 Gateway Timeout
System Design

Discuss potential causes of a 504 Gateway Timeout error, how to diagnose the issue, and common solutions.

Q10
High-Level Design for WhatsApp-like Chat System
System DesignHard

Design a high-level architecture for a real-time chat system similar to WhatsApp.

Q11
Design a Distributed Web Scraper
System DesignHard

Design a web scraper that takes a start URL and a depth n, and returns a list of URLs scrapped up to that level. Discuss handling large depths (e.g., billions of levels), ensuring fault tolerance, and providing status updates to users without email.

Preparation Tips

My learning from this experience was that I wasn't adequately prepared for system design interviews, as I hadn't gone through any system design resources. The interviewer implied that the interview itself wasn't inherently tough, and I would have performed better with proper system design preparation.

FreshWorks SSE Bangalore [Rejected]
freshworks logo
Freshworks
SDE IIBangaloreRejected
August 21, 202517 reads

Summary

Interviewed for the SSE role at FreshWorks in Bangalore. The interview process included three rounds, with the third round being the most challenging. The candidate was rejected due to poor performance in the third round, particularly with SQL queries and system design concepts.

Full Experience

I had applied in April, and the recruiter reached out to me in July when there was a vacancy. I wasn't very prepared but wanted to interview, so I went ahead. The interview process took place in August 2025.

Round 1 was conducted by an SSE with over 7 years of experience. It started with a basic introduction and then moved on to tree-related problems like maxDepth, leftView, and topView. I wrote the code on an online compiler, and the interviewer asked me to open and run it on LeetCode, which was a funny moment when I saw the solution cached and had to quickly erase it.

Round 2 was with an SSE having over 6 years of experience. It included an introduction, general questions about my current product, and follow-up queries on its workings. The main technical question was designing an LRU cache, which I discussed in detail, starting from the brute force approach and optimizing it. The interviewer was very friendly and helped me correct my mistakes during the coding process.

Round 3 was with a staff member having over 10 years of experience and lasted about 90 minutes. It started with a self-introduction and moved to explaining the high-level architecture of my current product. There were follow-up questions on my resume, including my experience with monitoring tools like Grafana, rate limiting, multithreading issues, and Redis. I also discussed my contribution to migrating to JDK17 and my work with Jenkins. However, the interview took a turn for the worse when I struggled with an SQL inner join query and had doubts about the database design for a feed and notification system in an application like Quora or Medium.

The interview ended with the recruiter providing feedback that the third round wasn't good, pointing out the issues the interviewer mentioned. The candidate felt that having thorough knowledge of the current project is crucial, and that chasing hard problems isn't necessary for FreshWorks. Preparation for common medium-level problems, good system design knowledge, and understanding the product/tech stack are more important.

Interview Questions (1)

Q1
Design LRU Cache
Data Structures & Algorithms

Design an LRU (Least Recently Used) cache. The interviewer was very friendly and encouraged the candidate to speak out loud during the solution process. The candidate started with a brute force approach and then optimized it, discussing each part of the solution. The interviewer pointed out mistakes during the coding process and helped correct them.

Freshworks Interview Experience | SSE | Chennai & Bang
freshworks logo
Freshworks
SDE IIChennai & Bang3 years
August 1, 20257 reads

Summary

I successfully interviewed for a Senior Software Engineer (SSE) role at Freshworks, clearing all three rounds that involved backend development, Data Structures & Algorithms (DSA), and system design, ultimately receiving an offer.

Full Experience

Sharing my freshworks interview experience for the LC family that helped me to get this offer.

YOE: 3Years
Curr Org: Service Based
Curr CTC: 7+
Loc: Chennai

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Round 1: Rapid Fire Questions on backend dev + DSA
This round went for around one hour where the interviewer drilled the projects that I worked and the capstone project that I made from College days to now. Interviewer was very techy and he knows what he is asking.

after 40 mins of drilling down each and every work, he moved for a DSA question. I could able to solve it in given 15 mins of time.

Similar to this Q: https://leetcode.com/problems/longest-substring-without-repeating-characters/description/
FEEDBACK: Strong Hire

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Round 2: Project Work + DSA + System Design
This round was supposed to have LLD but interviewer went with two DSA quest in the start and then later moved to asking question on project that I am currently working on.

Q1: https://leetcode.com/problems/longest-increasing-subsequence/description/

Q2: https://leetcode.com/problems/merge-two-sorted-lists/description/

Later he asked a common question on LLD 'To Design a LRU CACHE'

FEEDBACK: Strong Hire

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Round 3: Project Work + DSA + HLD
This round started with asking basic Java and backend related question and went in depth of asking architecture of working project.
He later drilled on the HLD components. Later then interviewer asked a common leetcode question. Post to which he seemed happy and this was the best of all rounds.
Q: Container with Most Water

FEEDBACK: Strong Hire
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

VERDICT: SELECTED

Interview Questions (5)

Q1
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

I was asked a DSA question similar to the LeetCode problem Longest Substring Without Repeating Characters.

Q2
Longest Increasing Subsequence
Data Structures & AlgorithmsMedium

I was given the LeetCode problem Longest Increasing Subsequence.

Q3
Merge Two Sorted Lists
Data Structures & AlgorithmsEasy

I was given the LeetCode problem Merge Two Sorted Lists.

Q4
Design an LRU Cache
System DesignHard

I was asked a common Low-Level Design (LLD) question to design an LRU Cache.

Q5
Container With Most Water
Data Structures & AlgorithmsMedium

I was given the LeetCode problem Container With Most Water.

Freshworks | Interview (1st Round) | Bengaluru | Data Scientist
freshworks logo
Freshworks
Data ScientistBengaluru3.5 years
June 22, 20257 reads

Summary

I interviewed for a Data Scientist role at Freshworks in January 2025. The first round, a technical round, included two coding questions and several ML/NLP theoretical questions; I was able to discuss the approach for one of the coding problems.

Full Experience

Interview Context

I appeared for a Data Scientist role at Freshworks in January 2025. I had 3.5 years of industry experience as a Data Scientist in a mid sized company. The first round was a technical round consisting of two coding questions and a set of ML + NLP theoretical questions.

Below are the questions I was asked:

🔹 Q1: Simulate a Two-Die Casino Game

Problem Statement: You are working for a casino and need to simulate a two dice game. Write a function that simulates the sum of rolling two six-sided dice, but you are only allowed to use one random function.

Constraints: • Use only one call to a uniform random function like random.randint(1, 6). • Return values should range from 2 to 12, with correct probability distribution.

Follow up: Avoid multiple calls to random function

🔹 Q2: Maximum Minimum Thickness of Slab

Problem Statement: You’re given an m x n matrix, where each cell holds the thickness of a slab. You need to move from the top-left cell (0, 0) to the bottom-right cell (m-1, n-1), moving only right or down.

The goal is to maximize the minimum thickness encountered along the path.

Input:
[
  [5, 1, 7],
  [4, 8, 5],
  [2, 3, 9]
]

Output: 4
Explanation: Path = [5 → 4 → 8 → 5 → 9], minimum along path = 4

🔹 Recommended Practice (as per HR):

• Number of Islands (Graph traversal / DFS-BFS problem): https://leetcode.com/problems/number-of-islands/description/

🔹 ML / NLP Theory Questions:

  1. What is a reranker?
  2. Difference between Bi-Encoder and Cross-Encoder?
  3. How is BERT different from GPT?
  4. What are activation functions used for?
  5. What is regularization and why is it important?

Update:

Second Coding question was not very easy, I could discuss the approach only.

Interview Questions (7)

Q1
Simulate a Two-Die Casino Game
Data Structures & Algorithms

Problem Statement: You are working for a casino and need to simulate a two dice game. Write a function that simulates the sum of rolling two six-sided dice, but you are only allowed to use one random function.

Constraints: • Use only one call to a uniform random function like random.randint(1, 6). • Return values should range from 2 to 12, with correct probability distribution.

Follow up: Avoid multiple calls to random function

Q2
Maximum Minimum Thickness of Slab
Data Structures & Algorithms

Problem Statement: You’re given an m x n matrix, where each cell holds the thickness of a slab. You need to move from the top-left cell (0, 0) to the bottom-right cell (m-1, n-1), moving only right or down.

The goal is to maximize the minimum thickness encountered along the path.

Input:
[
  [5, 1, 7],
  [4, 8, 5],
  [2, 3, 9]
]

Output: 4
Explanation: Path = [5 → 4 → 8 → 5 → 9], minimum along path = 4
Q3
What is a reranker?
Other

What is a reranker?

Q4
Difference between Bi-Encoder and Cross-Encoder?
Other

Difference between Bi-Encoder and Cross-Encoder?

Q5
How is BERT different from GPT?
Other

How is BERT different from GPT?

Q6
What are activation functions used for?
Other

What are activation functions used for?

Q7
What is regularization and why is it important?
Other

What is regularization and why is it important?

[On going] Freshworks interview SDE-2
freshworks logo
Freshworks
SDE-2
May 20, 20254 reads

Summary

I interviewed at Freshworks for an SDE-2 position, which involved a DSA round with two coding problems and a System Design round focusing on API design and database schemas for a government site. I believe I performed well in most discussions and am currently waiting for the outcome.

Full Experience

Round 1 DSA

  1. 3 Sum like problem, without using maps.
  2. diameter of a tree

Round 2 Design

Quick intro and questions from the resume.

API's for Government site where admins can create forms and citizens can fill and submit forms.

  1. API for form creation.
  2. API and ways to dynamically process the forms.
  3. API to filter fields and give response to the admins
  4. DB schemas i.e., tables and columns to store above data.

I answered majority of the points discussed. Wish me luck for the outcome.

Waiting on response.

Interview Questions (6)

Q1
3 Sum Variant without Maps
Data Structures & Algorithms

A problem similar to 3 Sum, but requiring a solution without the use of hash maps or dictionaries.

Q2
Diameter of a Tree
Data Structures & Algorithms

Find the longest path between any two nodes in a tree.

Q3
API for Form Creation
System Design

Design an API endpoint that allows administrators to create forms for a government site.

Q4
Dynamic Form Processing API
System Design

Design an API and describe methods to dynamically process forms on a government site.

Q5
API to Filter Form Fields
System Design

Design an API to filter fields from submitted forms and present the response to administrators.

Q6
Database Schema for Forms
System Design

Design database schemas (tables and columns) to store data related to forms, form creation, submission, and dynamic processing for a government site.

Freshworks Interview Experience
freshworks logo
Freshworks
April 28, 20253 reads

Summary

I underwent a three-round interview process at Freshworks, featuring DSA, LLD, and System Design questions. Although I performed well in technical aspects, I received negative feedback for not adequately gathering requirements in the final design round.

Full Experience

First Round

Got 2 DSA questions. You should be able to solve them if you are comfortable with the Blind 75 problems.

Second Round

Asked me to design a Low-Level Design (LLD) for a file parsing and storage service. The system should dynamically handle any type of file and store it in different storage services. We were expected to use the Strategy Design Pattern for this.

Given a Logger class with methods start(requestId, startTime), end(requestId, endTime), and log(). The requirement was to log the requestId only after it has ended, and the logging should happen in the order of their startTime.

Given an array, find all possible combinations of numbers that sum up to a given total.

Asked to write code for LFU (Least Frequently Used) cache.

Third Round

I was asked to design an Audit Log System. The discussion went well, and I initially thought I would be selected. However, after following up with the HR, I was informed that I received negative feedback. The HR mentioned that I did not perform well in requirement gathering.

Before the interview, another HR had advised me to drive the interview by asking questions and gathering requirements. I realize now that I should have asked more clarifying questions and taken more ownership of the discussion. This was a learning for me.

I am currently looking for a new opportunity as my current company asked me to resign. If you know of any openings or could offer a referral, it would be greatly appreciated. Thank you for your support!

Interview Questions (5)

Q1
LLD: File Parsing and Storage Service
System Design

Design a Low-Level Design (LLD) for a file parsing and storage service. The system should dynamically handle any type of file and store it in different storage services. We were expected to use the Strategy Design Pattern for this.

Q2
Design Logger with Ordered Logging
Data Structures & Algorithms

Given a Logger class with methods start(requestId, startTime), end(requestId, endTime), and log(). The requirement was to log the requestId only after it has ended, and the logging should happen in the order of their startTime.

Q3
Combinations Sum
Data Structures & AlgorithmsMedium

Given an array, find all possible combinations of numbers that sum up to a given total.

Q4
Implement LFU Cache
Data Structures & AlgorithmsHard

Implement an LFU (Least Frequently Used) cache.

Q5
Design Audit Log System
System Design

Design an Audit Log System.

Freshworks SSE Interview
freshworks logo
Freshworks
SDE II
April 17, 20257 reads

Summary

I applied to Freshworks through LinkedIn and completed four face-to-face interview rounds, including technical, bar raiser, and hiring manager discussions. I successfully received an offer within two days after the final round.

Full Experience

Application :

No referral.

I had initially applied for the role through LinkedIn using the "Easy Apply" option, filling in the necessary details. The following week, a recruiter reached out to me to confirm my availability for face to face interviews.

Interview Mode :

Face to Face 4 Rounds in total.

Interview :

Round 1 : [Technical]

Verdict : Selected for the next round.

Round 2 : [Technical]

  • Basic Introduction.
  • Basic discussion on my current job role & responsibilities.
  • Basic questions on Java.
  • Basic questions on OOPS concept.
  • Basic questions on multi-threading.
  • Basic design pattern and architecture questions.
  • Intermediate questions regarding databases (Indexing, sharding & partitioning).

Verdict : Selected for the next round.

Round 3 : [Bar Raiser]

  • Basic Introduction.
  • Intermediate questions regarding databases (Indexing, sharding & partitioning).
  • Low level discussion on databses and its use cases on real world systems.

Verdict : Selected for the next round.

Round 4 : [Hiring Manager Round]

  • Basic Introduction.
  • Deep dive into my current job role & responsibilities.
  • Tons of behavioral questions.

Verdict : Selected (HR informed me within 2 day).

Compensation Details :

Interview Questions (2)

Q1
Majority Element
Data Structures & AlgorithmsEasy

Given an array nums of size n, return the majority element. The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array.

Q2
Boundary Of Binary Tree
Data Structures & AlgorithmsMedium

The boundary of a binary tree is the concatenation of the root, leftmost boundary, rightmost boundary, and leaves, in order. The leftmost boundary is the path from the root to the left-most node. The rightmost boundary is the path from the root to the right-most node. The leaves are all the nodes that are not part of the leftmost or rightmost boundary. Return a list of node values representing the boundary of the binary tree.

Freshworks Interview Experience - Lead Software Engineer- BackEnd
freshworks logo
Freshworks
Lead Software Engineer- BackEndOffer
June 4, 202439 reads

Summary

I interviewed for a Lead Software Engineer- BackEnd role at Freshworks, successfully navigating five rounds, including technical DSA, system design, bar raiser, hiring manager, and cultural fit, ultimately receiving an offer.

Full Experience

My interview journey at Freshworks for a Lead Software Engineer- BackEnd position was thorough, consisting of five distinct rounds.

Round 1: Technical Interview

The first interviewer was very friendly. We started with a discussion about my previous experience and projects. Following this, we touched upon a few system design concepts. For the Data Structures and Algorithms part, two questions were asked. One was a relatively easy problem, and the other was a classic LRU cache design and implementation.

Round 2: System Design

This round again began with a deep dive into my past experiences and project discussions. The core task was to design a social media platform similar to Facebook. We had an extensive discussion covering Functional Requirements (FR), Non-Functional Requirements (NFR), database design choices, and API creations. The interviewer thoroughly explored various concepts and we discussed the trade-offs for each proposed approach.

Round 3: Bar Raiser Round

The interviewer in this round was also friendly. They inquired about my existing projects and their High-Level Design (HLD), prompting discussions on potential improvements. I was then given a specific scenario for which I had to design a database, discuss the trade-offs of my design choices, and write the necessary SQL queries. Another DSA question followed, which was a variation of the famous 'Buy and Sell Stocks' problem from LeetCode. Additionally, I faced questions related to multi-threading and Spring Boot.

Round 4: Hiring Manager Round

This was a relatively casual discussion, with not much focus on deep technical aspects.

Round 5: Cultural Fit Round

The final round focused on cultural fit. I was advised to be well-prepared for this round, as many candidates are reportedly rejected at this stage. Overall, the interview process went well for me, and I was fortunate enough to receive an offer from Freshworks.

Interview Questions (4)

Q1
Design LRU Cache
Data Structures & AlgorithmsMedium

Design and implement a Least Recently Used (LRU) cache.

Q2
Design a Social Media Platform (e.g., Facebook)
System DesignHard

Design a social media platform similar to Facebook. This involved discussing functional and non-functional requirements, database schema design, API creation, and analyzing trade-offs for various architectural approaches.

Q3
Database Design and Querying for a Given Scenario
Other

Given a specific scenario, design the appropriate database schema, discuss the trade-offs of the design choices made, and write the required SQL queries.

Q4
Buy and Sell Stocks (Variation)
Data Structures & AlgorithmsMedium

A variation of the classic 'Buy and Sell Stocks' LeetCode problem was presented.

Preparation Tips

My preparation involved a focused study on Data Structures & Algorithms, comprehensive system design concepts, and behavioral interview questions. For the cultural fit round, I ensured I was thoroughly prepared, as it was highlighted as a critical elimination stage where many candidates face rejection.

Freshworks | Lead
freshworks logo
Freshworks
LeadOngoing
March 6, 202435 reads

Summary

I recently interviewed for a Lead position at Freshworks, navigating through a comprehensive process that included coding, low-level design, high-level design, and a hiring manager round. I was asked to implement specific algorithms and design system components like a Rate Limiter and a Cache System.

Full Experience

My interview journey for the Lead role at Freshworks comprised five distinct rounds. The first round was a coding assessment where I tackled two questions, one involving array manipulation and another focused on implementing a rate limiter. Following this, I progressed to a Low-Level Design (LLD) round. The third round was a 'Bar Raiser' discussion, which centered around designing a Cache System. After that, I participated in a High-Level Design (HLD) round, and my final interaction was with the Hiring Manager.

Interview Questions (3)

Q1
Arrange Odd/Even Numbers in Positions
Data Structures & Algorithms

Given an array of numbers, arrange them such that odd numbers are placed in odd positions and even numbers are placed in even positions. (The author noted that this was not the exact question but had similar logic).

Q2
Implement a Rate Limiter
Data Structures & Algorithms

Implement a rate limiter. This question was part of the coding round, implying a focus on its practical implementation.

Q3
Design a Cache System
System Design

Design a Cache System. This was discussed during the Bar Raiser round, implying a deep dive into its architecture, algorithms, and trade-offs.

FreshWorks - SSE | Bangalore | June 2022 | Reject
freshworks logo
Freshworks
SDE IIBangalore4.9 yearsRejected
August 3, 202236 reads

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:

  1. 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.
  2. 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:

  1. 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.
  2. Designing the trending page of a video platform like YouTube.
  3. How to prevent DDoS attacks.
  4. Steps to take if all requests to an endpoint are giving errors.
  5. 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:

  1. Implementing connection pooling.
  2. A detailed discussion on the TLS layer.
  3. Discussion on Spring Boot's advantages and the internal implementation of some Spring annotations.
  4. 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)

Q1
Two Sum with Exact Money
Data Structures & AlgorithmsEasy

You are given prices of N items and you have X amount of money. You are allowed to buy exactly two items. Find out if you can buy exactly two items with the given money such that money is used fully.

Q2
Coin Change Permutations
Data Structures & AlgorithmsMedium

You are given unlimited supply of coins of value 1,2 and 3 and a sum. find out the number of ways you can make the sum using the coins. the expectation was to find out the permutations. For example: sum = 4, output : 7, ways : [1,1,1,1] , [1,1,2], [1,2,1], [2,1,1], [2,2],[3,1],[1,3]

Q3
Design RedBus (Search & Seat Booking)
System Design

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.

Q4
Design YouTube Trending Page
System Design

Design the trending page of a Video Platform like YouTube.

Q5
Preventing DDoS Attacks
System Design

How do you prevent DDoS attack.

Q6
Troubleshooting All Endpoint Errors
Other

All request of an end point is giving error. Tell the different stpes you will take to handle it.

Q7
Troubleshooting Intermittent Endpoint Errors
Other

Only some request are erroring out intermittently, How you will identify the root cause.

Q8
Implementing Connection Pooling
Data Structures & Algorithms

Implementing connection poooling.

Q9
Discussion on TLS Layer
Other

Discussion on TLS layer

Q10
Spring Boot Advantages & Annotations
Other

Discussion on Spring boot advantages and internal implementation of some of the spring annotations.

Q11
Application Metrics Transmission
System Design

How metrices are sent from an application.

Have a Freshworks Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Freshworks.