What to Expect in the Freshworks System Design Interview
Expect a dedicated design round, and expect class level design inside it. Candidates report two kinds of design questions at Freshworks, and the first is high level design, such as designing Instagram with detailed questions about the database and caching, or designing a URL shortener.
The second is class level design of one feature, such as a parking lot, an employee roster management system, or a file management system. Senior and lead candidates report both kinds in the same loop, although no timed machine coding round is reported at Freshworks, so these rounds are discussions rather than a build.
The Low Level Design Round
Low level design, usually written LLD, means designing the classes and their responsibilities for one feature, and it is the round that candidates moving from an IT services job are least prepared for. Candidates report an LLD round with problems including an employee roster management system, modeled on an on-call scheduling tool, and a file management system. Designing a parking lot is also reported inside the design round.
A machine coding round, by contrast, is a timed session where you build a running program, and reports for Freshworks describe discussion and class diagrams instead, with one report describing writing every class on paper. What a low level design interview is lists the common problems, and the difference between system design and LLD explains how the two rounds are graded.
The High Level Design Questions
Candidates report designing Instagram, with the interviewer asking in detail about the database schema and the caching strategy. A URL shortener is also reported, including how it behaves across several servers and how its queries are made faster, and senior candidates report designing a log management system.
Reports also describe design fundamentals asked directly, including database indexing and consistent hashing, which is a method for spreading data across servers so that adding one server moves very little data.
Why Freshworks Asks These
Freshworks sells customer service, IT service, and sales software to many business customers on one shared platform, and that business model creates its real engineering problems. Every design answer improves when you name multi-tenancy, which means keeping each customer company's data separate on shared infrastructure, because ticket storage, notification delivery, and search across customer records are close to the daily work.
A Walkthrough: Design a Support Ticketing System
This exact question is not in the candidate reports, although it is the design closest to the product, so it is worth rehearsing.
1. Requirements (5 minutes). There are many business customers, each with agents and end users, and tickets arrive by email, chat, and web form, so agents need queues, assignment, and search.
2. The data model. A ticket holds a customer id, a requester, a status, a priority, and a conversation thread, so index by customer id first, because every query is limited to one customer company.
3. Ingestion. Each channel writes into a queue, and a worker then creates or updates the ticket. Email threading needs a stable key, so store the message identifier.
4. Assignment. Rules route a ticket to a group, then to an agent, so compare round robin against least loaded assignment out loud and state which one you would choose and why.
5. Notifications. Send email, in-app alerts, and webhooks through one separate service, then retry with increasing delays and make delivery idempotent so a retry never sends twice.
6. Search and reporting. Keep a separate search index for ticket text, and run reporting on a read replica or a warehouse, never on the write path.
7. Isolation and scale. Partition by customer id, and rate limit per customer so that one large account cannot slow every other account.
What the Interviewer Grades
Candidates report interviewers who ask repeatedly about trade-offs rather than about the names of parts, so state the requirements before you draw anything, and name the alternatives you rejected and the reason.
Reports mention database design and query writing inside the design round, so be ready to write a schema and a query. In the class design problems, extensibility decides the result, because the interviewer adds a requirement and checks whether your classes handle it without a rewrite.
Common Mistakes in This Round
- Skipping multi-tenancy. Data separation between customer companies is the defining constraint here, so raise it before the interviewer does.
- One giant class. In the LLD problems, a single class holding all the logic fails, so separate allocation, pricing, and storage into different classes.
- No database detail. Reports describe close questioning on schema, indexing, and caching, which means "I will use a database" is not an answer.
- Ignoring failure. Say what happens when the queue grows faster than the workers drain it, or when a downstream service is unavailable.
- Designing for scale you do not need. State the expected load first, then size the system for it.
How to Prepare
- Learn the building blocks. Grokking the System Design Interview covers caching, indexing, queues, and consistent hashing.
- Practice class design. Grokking the Object Oriented Design Interview covers parking lot and similar problems of the kind this round uses.
- Rehearse one walkthrough out loud. Practice the seven steps above in under 40 minutes.
- See the full loop. The design round is one part of the Freshworks interview process, next to the motivation question and the wait for a decision.

GET YOUR FREE
Coding Questions Catalog

$99

$197

$72