Interview experience
Freshworks interview experiences covering Online Assessment, Technical Round 1, Technical Round 2, Hiring Manager / HR. Round-wise notes, common questions, and what candidates report clears each stage.
Explore: Interview experience · HR interview questions · Overview · Placement papers · Preparation guide
Freshworks runs a compact 4-stage loop, but it leans closer to a product-company bar than a typical services-firm interview - medium-to-hard DSA, a real system-design round, and SaaS-specific scenario questions.
Interview experience
Freshworks interview experiences covering Online Assessment, Technical Round 1, Technical Round 2, Hiring Manager / HR. Round-wise notes, common questions, and what candidates report clears each stage.
HR interview questions
Freshworks HR interview questions with sample answer frameworks - motivation, relocation, STAR stories, and culture-fit prompts.
| Round | Duration | What they test |
|---|---|---|
| Online Assessment | 90-120 min | 2-3 coding problems (DSA) |
| Technical Round 1 | 45-60 min | DSA + detailed project discussion |
| Technical Round 2 | 45-60 min | DSA / system design basics |
| Hiring Manager / HR | 30-45 min | Behavioural + team fit |
These answers are compiled from public candidate reports, not from an official Freshworks notice, and drives differ by campus, role and year. The instruction screen of your own test is the final word.
| Question | Answer |
|---|---|
| Which platform is it on? | HackerRank in the campus reports that name one; TechPrep’s 2026 guide says HackerRank or Mercer Mettl, proctored. Experienced-hire loops often skip the online test and start with a phone screen. |
| How many questions and how long? | Usually 3-4 coding problems. One campus Software Developer test had 4 scenario-based problems in 75 minutes; a Software Engineer Trainee test had 4 problems (two easy, one medium, one hard). Other reports describe 2-3 medium-to-hard problems in 90-120 minutes, and TechPrep’s 2026 guide describes about three medium-to-hard DSA problems. |
| Is it coding only? | Mostly, but reports conflict. Most reports describe coding problems rather than aptitude MCQs, while a 2024 Backend Engineer report on placementpreparation.io (updated October 2025) says the OA covered DSA, aptitude and decision-making. One campus drive added a 40-minute written round about three weeks later, with two problems on OOP and linked lists in any language. |
| Does it have negative marking? | No. The online test is coding scored on test cases, and no candidate report mentions a penalty. |
| Is there a sectional cutoff? | There are usually no sections. In one campus drive, solving 3 of 4 problems cleared the test, and TechPrep’s 2026 guide says most candidates report needing all test cases on at least 2 of 3 problems. No score cutoff is published. |
| How much is the cutoff? | No test cutoff is published; shortlists are relative to the batch and tight (one campus report: about 300 took the test, 40 cleared it and 5 reached HR). Freshworks does not publish a CGPA rule, so follow your campus notice. |
| Which languages can I use? | Candidates report using Java, C and Python; the written round in one drive allowed any language. You do not need Ruby on Rails. |
| Is there a take-home task? | In some off-campus loops, yes: a front-end or back-end challenge with under 24 hours to submit, before the face-to-face rounds. TechPrep’s 2026 guide also says a 24-hour take-home can replace the first technical interview for some frontend and specialised backend roles, followed by a code walkthrough. |
These themes come from GeeksforGeeks candidate reports for Freshworks’ Chennai hiring. They show the level and style, not a fixed list.
| Role | Reported questions and topics |
|---|---|
| Software Engineer Trainee | Networking basics (how the web works, the parts of a URL, HTTP vs HTTPS), adding two doubly linked lists in C, tree terminology, Tower of Hanoi, predicting the output of nested loops, and a team-player scenario in the same round. |
| Software Developer (campus) | Draw the database table from your project, sort a table, inner join two tables, maximum-sum pair in O(n), swap two integers without a third variable, palindrome check, then puzzles and C, Java, Python, SQL and project questions in Round 2. |
| SE-1 (experienced, onsite) | Build a binary tree from inorder and postorder, smallest missing positive, N-Queens, maximum-sum square submatrix, reverse a linked list, thrashing and OS memory management, atomicity and consistency, then a URL shortener extended to a distributed setup with caching, plus rat in a maze. |
| Senior backend / developer | Design rounds framed around Freshworks’ own products (ticketing, CRM workflows, multi-tenant SaaS) on top of DSA, with deeper database and caching follow-ups. A 2024 Backend Engineer report lists array manipulation and graph traversal, SQL vs NoSQL choices, a URL shortener, database sharding, and a notification system with rate limiting and CAP trade-offs. |
Asked across every role: the database design behind your project, complexity of every solution, and why a SaaS product company over a services firm.
A timed coding test with 2-3 DSA problems that run medium to hard rather than easy warm-ups - candidates report questions spanning array manipulation, tree traversal, dynamic programming, and sliding-window strings, usually on a proctored platform like HackerRank or Mercer Mettl. Some off-campus loops add a take-home front-end or back-end challenge with under 24 hours turnaround before face-to-face rounds - read your invite carefully so you do not prep only for live coding.
Common questions
A DSA round paired with a detailed walkthrough of your strongest project - interviewers expect you to justify data-structure choices and explain time/space complexity out loud, not just arrive at a working answer.
Common questions
DSA continues, but this round is where Freshworks’ SaaS product angle shows up most - expect a lightweight system-design prompt scoped to what a strong fresher can reason through, not enterprise-scale distributed systems.
Common questions
A closing 30-45 minute conversation blending a managerial-style discussion (problem-solving, ambiguity, “why Freshworks”) with standard HR topics - compensation, joining date, relocation, and benefits.
Common questions
Sample answer frameworks for each of these are on the Freshworks HR interview questions page.
Unlike most large Indian IT employers, Freshworks builds and sells its own SaaS products (Freshdesk, Freshsales, Freshservice, Freshchat) rather than staffing engineers onto client projects. That shapes the interview in two ways: system-design prompts are framed around Freshworks’ own product domains (support ticketing, CRM workflows, multi-tenant SaaS architecture), and the HR round explicitly probes why you want a product company over a services firm - a generic “good brand name” answer lands worse than one tied to Freshworks’ actual products.
Combine a hash map with a doubly linked list. The hash map stores key to node pointer for O(1) lookup, and the doubly linked list keeps entries in recency order with the most recently used at the head and the least recently used at the tail. On get, find the node through the map and move it to the head. On put, insert at the head, and if capacity is exceeded, evict the tail node and remove its key from the map. A doubly linked list is essential because unlinking a node in O(1) needs its previous pointer, which a singly linked list does not have. Sentinel head and tail nodes eliminate most null checks, and Java’s LinkedHashMap with accessOrder set to true is the built-in equivalent.
The classic dynamic-programming solution defines dp[i] as the length of the longest increasing subsequence ending at index i, computed by scanning every earlier index j whose value is smaller and taking the best dp[j] plus one; the answer is the maximum over all dp entries, at O(n^2) time and O(n) space. The optimal solution is O(n log n): maintain an array tails where tails[k] holds the smallest possible tail value of an increasing subsequence of length k plus one, and for each element binary-search for the first tail greater than or equal to it, replacing it, or appending when none exists. The length of tails is the answer - but tails itself is not a valid subsequence, so reconstructing the actual sequence requires storing predecessor indices.
Start with entities: tickets, customers, agents, teams, comments, attachments and SLA policies, with a ticket carrying status, priority, requester, assignee and timestamps. The core flows are ticket creation from multiple channels such as email, web form and chat, routing to an agent by round robin or skill-based rules, and status transitions modelled as an explicit state machine. Reads dominate writes, so index on assignee and status for agent queues, use a search engine such as Elasticsearch for full-text ticket search rather than a LIKE query, and cache agent dashboards. SLA breach detection is best handled by a scheduled job or delayed queue message rather than polling every ticket, and notifications and attachment processing go through an async queue so ticket creation stays fast.
Multi-tenancy means one application instance serves many customer organisations while keeping their data separate. There are three common models. A separate database per tenant gives the strongest isolation and easiest per-tenant backup or restore, but costs the most and makes schema migrations across thousands of tenants painful. A shared database with a schema per tenant is the middle ground. A shared schema with a tenant_id column on every table is cheapest and most scalable and is what most SaaS products use, but every query must filter by tenant_id - one missing filter is a cross-customer data leak, which is why it is enforced at the ORM or row-level-security layer rather than left to individual queries. Large tenants are often moved onto dedicated infrastructure so one noisy customer cannot degrade the rest.
Model resources as nouns and let HTTP methods carry the verbs, so GET /tickets/123 and POST /tickets rather than GET /getTicket. Respect the semantics: GET is safe and cacheable, PUT is idempotent and replaces the whole resource, PATCH updates part of it, and DELETE is idempotent even though a second call returns 404. Use real status codes - 201 with a Location header on creation, 400 for a malformed request, 401 versus 403 for unauthenticated versus unauthorised, 409 for a conflict, 429 for rate limiting. Version the API in the path or a header so it can evolve without breaking clients, paginate every collection with cursor-based paging rather than offsets on large tables, and return structured error bodies with a stable machine-readable code.
Cache when a read is expensive and repeated and the data tolerates being slightly stale - agent dashboards, ticket-count aggregates and configuration all qualify, whereas the authoritative ticket record during an edit does not. Cache-aside is the usual pattern: the application checks Redis, falls back to the database on a miss, and writes the result back with a TTL. Write-through keeps the cache consistent at the cost of write latency, while write-behind is fastest but risks losing data on a crash. Invalidation is the hard part: a TTL is the simplest safety net, explicit invalidation on write is more accurate but easy to miss on some code path, and versioned cache keys sidestep deletion entirely. Also plan for stampedes, where one hot key expiring sends every request to the database at once - use a lock or probabilistic early refresh.
Level-order is BFS: push the root into a queue, then repeatedly pop a node, record it, and push its children. To emit one list per level, record the queue size at the start of each iteration and process exactly that many nodes. It runs in O(n) time with O(w) space, where w is the maximum width of the tree - for a complete tree about n/2, so BFS can use more memory than DFS on wide trees. Preorder, inorder and postorder are DFS variants distinguished by when the node is visited relative to its children, use O(h) stack space, and inorder on a binary search tree yields sorted output. Choose BFS for shortest paths and level-based questions, DFS for structural recursion like depth, diameter or subtree checks.
An abstract class can hold state - instance fields, constructors and fully implemented methods - and expresses an is-a relationship with shared implementation, but a class may extend only one. An interface declares a contract; since Java 8 it can carry default and static methods, and since Java 9 private helper methods, but it still cannot hold instance state, and a class may implement many. The practical rule is to use an abstract class when subclasses genuinely share code and fields, and an interface when unrelated classes need to expose the same capability. Prefer interfaces at dependency boundaries because they keep coupling loose and make test doubles trivial; when two interfaces supply colliding default methods, the implementing class must resolve the conflict explicitly.
Use a sliding window with a hash map from character to last seen index. Expand the right pointer; when you see a duplicate inside the window, jump the left pointer to one past the previous occurrence. Track the maximum window length - O(n) time, O(alphabet) space. Freshworks OA and tech reports often include string problems at medium difficulty where stating this pattern beats brute-force O(n³) expansion.
Run DFS with three colours (unvisited, visiting, done) or maintain an recursion-stack set: if you traverse an edge to a visiting node, a cycle exists. For dependency graphs (build pipelines, ticket workflows), this is the same logic as topological sort - a cycle means no valid ordering. State O(V+E) time and O(V) space; mention Kahn’s algorithm (in-degree queue) as the BFS alternative when you need an explicit topological order.
No. The Freshworks online assessment is a coding test, usually 3-4 problems on HackerRank scored on test cases, and no candidate report mentions a penalty. Campus shortlists are tight, so fully solving the easier problems matters more than a partial attempt at the hardest one.
It is a coding test of 3-4 problems, usually on HackerRank. One campus Software Developer test had 4 scenario-based problems in 75 minutes, and a Software Engineer Trainee test had two easy, one medium and one hard problem. Some campus drives add a separate written coding round on OOP and linked lists.
Freshworks interview process for SDE / Software Engineer typically includes: 1. Online Assessment (90-120 min): 2-3 coding problems (DSA), medium to hard difficulty. 2. Technical Round 1 (45-60 min): DSA plus a detailed project discussion. 3. Technical Round 2 (45-60 min): DSA and system design basics, often a SaaS-flavoured scenario like a ticketing system or multi-tenant API. 4. Hiring Manager / HR (30-45 min): Behavioural, team fit, and offer discussion. Timeline is usually 2-4 weeks from application to offer for campus drives.
Freshworks interviews commonly cover medium-to-hard DSA (arrays, trees, dynamic programming, LRU cache design), core CS (OOPs, SQL), a deep project walkthrough, and SaaS-specific system design - multi-tenant architecture, REST API design, and CRM/support-ticketing workflows. Behavioural rounds check ownership, teamwork, and why Freshworks over a services company.
Freshworks typically has 4 stages: Online Assessment (90-120 min), Technical Round 1 (45-60 min), Technical Round 2 (45-60 min), Hiring Manager / HR (30-45 min). Some drives split the managerial and HR conversations into two separate short rounds instead of one. Check that cycle’s college placement email for the exact count.
Yes, in Technical Round 2. It’s not full-blown distributed-systems design - expect SaaS-shaped prompts like designing a customer support ticketing system or REST APIs for a SaaS product, with follow-ups on database schema, caching, and scalability trade-offs at a level a strong fresher can reason through out loud.
Practise timed medium-to-hard DSA (not just easy problems), revise OOPs and SQL, prepare one crisp project narrative you can defend in depth, and read up on SaaS multi-tenant architecture and REST API design since Freshworks builds and sells its own SaaS products rather than staffing client projects. Use STAR for behavioural answers.
Generally yes. Freshworks is a product company (Freshdesk, Freshsales, Freshservice) rather than a staffing/services firm, so its bar leans closer to a product-company loop: harder DSA, a real system-design round, and interviewers who probe project depth and design trade-offs rather than just checking syntax knowledge.
No - candidate reports and prep guides consistently say freshers are hired on DSA and CS fundamentals; Rails/Ember are often learned on the job. Listing Rails you cannot defend is riskier than honest fundamentals plus one API/project story.
| Stage | Strong signal | Weak signal |
|---|---|---|
| OA (~90 min) | Two medium DSA with clean code | Aptitude-only prep; unfinished trees |
| Tech 1-2 | DSA + SaaS-lite design (tickets, rate limits, chat) | Cannot talk APIs without a TED script |
| Managerial | Ownership + collaboration without ego | Large-ego “I alone shipped” stories |
| HR | Chennai/Bengaluru relocation clarity | Bond/notice surprises after offer |
Freshworks is a coding company. Product awareness (Freshdesk, Freshservice, Freshsales, Freshchat) strengthens “Why Freshworks?” but does not replace DSA.
Good fit: You already finish two mediums in 90 minutes, you can talk about APIs without a TED script, and you will relocate to Chennai or Bengaluru.
Harder path: You only practiced aptitude dumps; you cannot write a tree problem; you want “no coding, only tools.” Freshworks is a coding company.
Use this as a default four-week loop before a Freshworks drive. Adjust to your invite timeline.
10-day crash version: Days 1-4 timed DSA, days 5-7 resume projects + CS fundamentals, days 8-9 mock interviews out loud, day 10 HR STAR stories on the HR page.
Candidate-reported fresher/early-career packages for Freshworks often cite SWE ~₹20-28 LPA (candidate-reported). Treat forum numbers as ranges, not guarantees - confirm the written offer letter for your team and location.
Interview process details and sample questions on this site are editorially organized from public candidate reports and hiring write-ups, with round structure, prep notes, and company-specific framing added by our team. For round-by-round stories, see the Freshworks interview experience page. For OA papers and coding drills, use Freshworks on placementpapers.app. OA quick answers and role-wise questions draw on GeeksforGeeks Freshworks interview experiences for Software Engineer Trainee, on-campus Software Developer and onsite SE-1 roles, placementpreparation.io’s Freshworks interview questions and experience page (updated October 2025) and TechPrep’s Freshworks interview process guide (2026).