The process, round by round
Reported by candidates and, where we found one, the company itself. Each round shows how well it is reported. Processes change by team, level and year.
- 1
Timed online coding test with three problems, 90 minutes in both reports. The campus report calls all three mandatory (an easy string problem, a medium array problem and a knapsack variant); the SDE-2 report names HackerRank.
- arrays and strings
- dynamic programming
- binary-string flips
- budgeted selection
Varies: Campus SDE and experienced SDE-2 both reported it; not seen in the 2021 SDE-1 or SDE-2 posts.
What can be asked in a online assessment round
A timed test on a coding platform, taken alone. Usually two or three coding problems, sometimes with multiple-choice questions on CS basics, aptitude or SQL.
Array and string problems that need a hash map, two pointers or a sliding window
Read the constraints first, because they point to the technique. If n is 100,000, an O(n^2) scan will time out, so look for a hash map, two pointers on a sorted array, or a window that moves forward only. Sketch the brute force, find the repeated work, then remove it. For two-sum style pairs you might say: I store each value's index as I scan, so the complement lookup is O(1) and the whole pass is O(n).
DSA course →Greedy and sorting problems with a catch in the constraints
Greedy problems hide behind a sort. Ask what ordering makes the locally best choice safe, then try to argue why swapping two adjacent choices never helps. Interval scheduling is the classic case: sort by end time and take every interval that starts after the last chosen one. Check the catch in the constraints, such as overflow, ties or equal values, and test a tiny case by hand before submitting.
DSA course →A medium dynamic programming or graph-on-a-grid problem
Decide whether the problem is a graph walk or a recurrence. On a grid, a shortest path with equal step cost is breadth-first search from the start, with a visited set so each cell is processed once, giving O(rows x cols). For dynamic programming, define the state in one sentence, write the transition, set the base cases, then see if only the previous row is needed to save space.
DSA course →SQL queries with joins and group by
Start from the table that holds the thing being counted, join the others on their keys, filter rows with WHERE, group, then filter groups with HAVING. Remember that WHERE runs before grouping and HAVING after. Use LEFT JOIN when rows with no match must still appear, and COUNT of a column rather than star when nulls matter. Example: customers with more than three orders is GROUP BY customer_id HAVING COUNT(*) > 3.
Databases →Multiple-choice questions on OOP, operating systems, databases and networks
These reward quick, accurate recall rather than long reasoning, so revise the short list of definitions that recur. Know the difference between a process and a thread, the four ACID properties, what an index trades for faster reads, TCP against UDP, and the four pillars of OOP. Eliminate two wrong options first, then choose. Do not spend more than a minute on any single question, and flag it to return to if time remains.
Mock interviews →
Prepare with: Book · Online assessmentDSA course
2 sources for this round
- 2
One to three live coding rounds. The SDE-1 report (page updated 2021) had three rounds on screen share where interviewers wanted the approach explained before code; the campus report had one Zoom round with two medium-hard problems; the SDE-2 report had a one-hour face-to-face round.
- heaps and k-way merge
- recursion and permutations
- trees and graphs
- design of data-structure variants (LRU, min/max stack)
Varies: SDE-1 reports show more coding rounds; SDE-2 reports mix coding with design.
Practise for this round
- ReportedLRU cache with hash map and doubly linked list Offered as one of two choices in a post last updated 2021, with unspecified constraints.Candidate write-up ↗
- ReportedTrapping rain water One of four problems in a first coding round.Candidate write-up ↗
- ReportedMerge k sorted arrays Asked in a campus technical round; exact LeetCode match unsure.Candidate write-up ↗
- ReportedAlien dictionary ordering from a sorted word list Face-to-face round; candidate did not model it as a graph.Candidate write-up ↗
Reported prompts have no written answer yet. Read the linked page for context.
What can be asked in a data structures and algorithms round
A live coding round of 45 to 60 minutes with one or two problems. You are judged on how you clarify, reason, code, test and state the complexity, not on the answer alone.
Arrays, strings and hashing: pairs, windows, frequency counts, prefix sums
Name the pattern from the shape of the question. Pairs with a target use a hash map of seen values. A contiguous range with a condition uses a sliding window that grows on the right and shrinks on the left, so each element enters and leaves once, giving O(n). Range sums over many queries use a prefix sum array so each query is O(1) after O(n) setup. Count characters with a fixed-size array or map.
DSA course →Linked lists, stacks and queues, including design-a-structure problems such as an LRU cache
For an LRU cache, combine a hash map from key to node with a doubly linked list ordered by recency. Get moves the node to the front, put inserts at the front, and when over capacity you remove the tail node and its map entry. Both operations are O(1), and you say why: the map finds the node, the list reorders it without a scan. For stacks, mention a monotonic stack for next greater element.
DSA course →Trees and BSTs, graphs (BFS, DFS, topological sort, shortest paths) and grids
Decide the traversal from what is asked. Level by level or shortest path in an unweighted graph is BFS with a queue. Exploring all paths, components or cycles is DFS. A dependency order is topological sort: Kahn's algorithm repeatedly removes nodes with in-degree zero, and leftover nodes mean a cycle. Weighted shortest path with non-negative edges is Dijkstra with a heap, O((V + E) log V). On a BST, an in-order walk is sorted.
DSA course →Heaps and top-K, intervals, binary search on the answer
For the K largest items keep a min-heap of size K: push each element and pop the smallest when the heap exceeds K, so the cost is O(n log K) and memory is O(K). For intervals, sort by start, then merge by comparing the next start with the current end. For binary search on the answer, define a yes or no check that is monotonic, such as can ship within D days, and search the capacity range.
DSA course →Dynamic programming from one dimension up to knapsack and string DP
Define the state in a sentence, write the recurrence, fix the base cases, and decide the order of filling. Start with the recursive version with memoisation, then convert to a table. For 0/1 knapsack, dp[w] is the best value at capacity w, and in the one dimensional form you loop capacity downward so each item is used once. For string problems such as edit distance, the state is a pair of prefix lengths.
DSA course →Follow-ups: optimise space, handle streaming input, make it thread-safe
Treat follow-ups as a chance to show depth, and answer in the same calm order each time. To save space, ask which previous rows or values the recurrence actually reads and keep only those. For streaming input, say what summary you can keep, such as a heap of size K or a running count. For thread safety, name the shared state, guard it with a lock, and keep the critical section short.
Prepare with: Book · DSA roundDSA course
4 sources for this round
- 3
Build a small library or object model in code: a Java logging library with pluggable outputs in one report, an OOP bowling game as a one-hour written test in another. In the logging report the next round discussed the design and concurrency.
- object-oriented design
- extensibility and configuration
- concurrency handling
- code quality
Varies: Logging library reported by an SDE-2 candidate; the bowling game by an SDE candidate with no stated interview date. Not seen in the other Ola pages read.
Practise for this round
- ReportedDesign a logging library with multiple pluggable outputs Configurable format, low overhead, concurrent writes; design reviewed afterwards.Candidate write-up ↗
- ReportedDesign a bowling game with object-oriented code Timed one-hour written round; judged on coding skill and code quality with OOP (interview date not stated).Candidate write-up ↗
Reported prompts have no written answer yet. Read the linked page for context.
What can be asked in a machine coding round
You build a small working system in your own editor in 60 to 120 minutes, then walk through it. Clean entities, extensibility, a runnable demo and tests matter more than clever algorithms.
Parking lot, library or inventory system with several entity types
Spend the first ten minutes on requirements and entities, not code. For a parking lot you might list Vehicle, Slot, Ticket and Lot, with slot types as an enum and the allocation rule hidden behind an interface so a nearest-slot strategy can be swapped. Keep the code runnable early, write a small demo in main, and add a few tests. Say what you would add with more time, such as pricing rules.
Whiteboard →Splitwise-style expense sharing, a wallet or a ledger
The core of expense sharing is a balance ledger: for each pair or each user, store the net amount owed. An expense has a payer, an amount and a split type such as equal, exact or percent, handled by a split strategy per type. Validate that exact splits sum to the total and handle rounding explicitly. To simplify debts, compute each person's net balance and match the largest creditor with the largest debtor.
Snake and ladder, tic-tac-toe, chess or another game engine
Model the board, players, dice or moves, and a game controller that owns the turn loop, with rules kept out of the board class. For tic-tac-toe, keep counters per row, column and both diagonals, so a win check is O(1) per move instead of scanning the grid. For snake and ladder, store jumps in a map from square to destination. Make board size and number of players configurable rather than hard coded.
An in-memory cache, key-value store, rate limiter or job scheduler
Start with the public interface and the invariants. For a rate limiter, a token bucket stores tokens and a last refill time per key, refills lazily on each call and allows the request if a token remains. For an LRU or key-value store, say the data structure and the complexity. For a scheduler, a priority queue ordered by run time with a worker that waits for the earliest job.
Elevator, vending machine or ATM as a state machine
Draw the states and transitions before coding. An elevator is idle, moving up, moving down or doors open, and each event such as a button press or arrival is handled by the current state. A vending machine moves through idle, has money, dispensing and out of stock. Implement it with a state interface or an enum and a transition table, so invalid actions are rejected in one place instead of with scattered if statements.
Follow-ups: add a new rule without rewriting, make it concurrent, add persistence
Show that your design bends without a rewrite. For a new rule, say you add a new class that implements the existing interface and register it, leaving old code unchanged. For concurrency, name the shared state and protect it with a lock per resource, or atomic operations, keeping check-and-update in one critical section. For persistence, put a repository interface in front of storage so an in-memory version can be replaced by a database.
Mock interviews →
2 sources for this round
- 4
The SDE-2 post (updated 2021) pairs a resume deep-dive with a Spotify-like music streaming design. The Set 4 post lists application monitoring, a city-limit check that shows available cabs, and an array-sorting problem in a one-hour round, without saying they were design discussions.
- resume depth
- service design
- point-in-area check
- handling data from many applications
Varies: SDE-2 reports; none in the SDE-1 reports read.
Practise for this round
- ReportedDesign a music streaming app From a post last updated 2021; paired with a resume deep-dive.Candidate write-up ↗
Reported prompts have no written answer yet. Read the linked page for context.
What can be asked in a system design round
A 45 to 60 minute discussion of how to build a system at scale: requirements, numbers, APIs, data model, components, bottlenecks and trade-offs.
Short links, chat, news feed, notifications, search, rate limiting
Use one repeatable path: clarify scope and scale, estimate load, define the API, sketch the data model, draw the main components, then probe bottlenecks. For short links, store a mapping from a generated short id to the long url, generate ids with a counter encoded in base 62, cache hot links, and note reads far outnumber writes. For chat, mention persistent connections and a store ordered per conversation.
System design course →Payments, wallets and ledgers where money must never be lost or doubled
Money systems put correctness before speed. Use a double-entry ledger where entries are append-only and every transfer writes a debit and an equal credit in one transaction. Protect against doubled charges with an idempotency key stored with the result, so a retry returns the original outcome. For lost updates use a database transaction, and reconcile with the payment provider's records on a schedule.
System design course →Ride matching, maps and anything with live location
Split the problem into location ingestion, a geospatial index and matching. Drivers send updates every few seconds to a write-optimised store, often in memory, keyed by a grid cell such as a geohash or S2 cell. To find nearby drivers, query the rider's cell and its neighbours, then rank by distance and estimated time. Say how you handle a stale location and a driver who accepts two rides.
System design course →File storage and sync, video streaming and content delivery
For file sync, split files into chunks, hash each chunk and upload only chunks the server lacks, so a small edit transfers a small amount. Keep metadata in a database and chunks in object storage. For video, upload the original, transcode into several resolutions, store segments and serve them through a content delivery network with adaptive bitrate streaming, so the player switches quality as bandwidth changes.
System design course →Fundamentals: caching, sharding, replication, queues, consistency, failure handling
Treat each as a tool with a cost. A cache cuts read latency but adds staleness and invalidation. Sharding spreads write load but makes cross-shard queries hard. Replication gives availability and read scale but introduces lag. Queues smooth spikes and decouple services but require idempotent consumers. For failures, name timeouts, retries with backoff and a fallback. State what you give up whenever you choose.
System design course →Back-of-envelope estimates and what they decide
Estimates are there to choose a design, so finish each one with a decision. Use round numbers: a day has about 100,000 seconds, so 10 million requests a day is roughly 100 per second on average, with a peak of a few times that. Multiply object size by count for storage, and compare against one machine's capacity. If one database handles the load, say so and avoid sharding.
Capacity estimation →
Prepare with: Book · System designSystem design course
2 sources for this round
- 5
Reports agree on project and motivation questions (why leave, why Ola or a startup). Two add technical probes on scaling, caching, SQL vs NoSQL and HTTP methods; the Set 4 report had none.
- project ownership
- scaling and caching concepts
- motivation for a startup
- SQL vs NoSQL, HTTP basics
Varies: Technical content was heavier in the SDE-2 and 1-year-experienced reports.
What can be asked in a hiring manager round
A conversation about your past work and how you would fit the team: depth on projects, ownership, decisions and trade-offs, sometimes a design problem.
Pick a project and go deep: why this design, what broke, what you would change
Choose a project you can discuss at every layer. Explain the problem and who it served, the options you considered, why you chose one, what broke and what you would change now. Be clear which parts you did and which the team did. Admitting a flaw earns trust. Opening line: the main constraint was latency, so I chose a cache in front of the database, and I would now add an invalidation strategy.
Resume grilling chapter →A time you disagreed with a teammate or pushed back on a decision
Use situation, task, action, result, and keep the disagreement about the work, never the person. The listener is checking that you can hold a view with evidence, listen, and commit once the decision is made. Describe what you proposed, the data or reasoning you used, how you reached agreement or accepted the other path, and what happened. Do not invent a story: use a real one, even a small one.
Behavioural chapter →How you prioritise when everything is urgent
Show a method rather than a claim of being busy. Describe how you judge impact and deadline, ask who needs the result and when, and say no or renegotiate scope early when two things clash. Mention communicating the trade-off to stakeholders so nobody is surprised. A sentence you could adapt: I list what is blocking others first, then what has a fixed date, then what moves a metric.
Behavioural chapter →What you want from the next role and the team
Answer honestly and tie it to what the role offers. Say what you want to learn or own next, such as larger systems, more ownership of design, or mentoring, and what kind of team helps you do it. Then ask what the team is trying to achieve this year and how the work is reviewed. The listener checks that your wishes match the job and that you have thought about it.
Prepare with: Book · Resume grillingBook · Behavioural
4 sources for this round
- 6
20-minute Zoom video chat on knowledge of Ola, an issue faced with Ola Cabs and how a developer would fix it, projects, remote-internship challenges and comfort with the office location.
- company awareness
- projects
- culture and logistics fit
Varies: Campus hiring report only.
What can be asked in a hr and offer round
The closing conversation: motivation, expectations, notice period, compensation and how the offer is structured. Prepared answers and a clear number help here.
Current and expected compensation, and how to answer without boxing yourself in
Be honest and avoid giving a single number too early. Share your current pay only if you are comfortable, and make clear what is fixed and what is variable. For expectations, say you are flexible for the right role, and offer a researched range based on level and market. If pushed, state a figure you can justify. Never state a number you cannot support, because offers are often checked.
HR and the number chapter →Notice period, joining date and relocation
Give the facts exactly as they are in your contract. State the notice period, whether early release or a buy-out is truly possible, and the earliest honest joining date. Do not promise a date your employer has not agreed to. For relocation, say whether you can move, how soon, and whether you would need support. Clear, early information helps the recruiter plan and shows you are reliable.
HR and the number chapter →Why you are leaving and what you are looking for
Keep it positive and forward looking. Talk about what you want more of, such as larger scale, ownership or a stronger team, rather than criticising your current employer. The listener checks that you will not leave this job for the same reason. Opening line: I have learned a lot in the current role, and I now want to work on problems at a bigger scale.
Levels, equity and how the offer is built
Ask for the structure rather than only the total. Find out the level and title, base salary, bonus and whether it is guaranteed, equity amount, vesting schedule and cliff, joining bonus and any clawback. Compare offers on a yearly total with the same assumptions. If equity is in a private company, ask how it is valued and what happens on leaving. Asking calmly is normal and expected.
Levels and equity chapter →
Prepare with: Book · HR & the numberBook · Levels & equity
1 source for this round
Preparing for the people rounds at Ola
The hiring manager, behavioural and offer conversations. Candidate reports shape the themes; the answers and frames are written for this site, so use them as a structure and bring your own stories.
What Ola says it valuesOfficial ↗
- Impact orientedWork quickly and hard so that the effect of what you do is felt soon.
- PassionateListed as its own heading, but the page repeats the impact text, so read it as drive and urgency.
- Ambitious GoalsSet audacious goals, on the belief that ambitious goals make for outstanding achievements.
- Obsessively hyperlocalUnderstand India's own transport needs closely and build solutions that fit local conditions.
- Infectious EnergyKeep ideas, experiments and discussion constantly in motion across the team.
- EnterprisingHave the courage to be creative and try new opportunities when they appear.
Themes candidates report being probed
- Strengths, weaknesses, best and worst moments
- Why change and why this company
- Project questions with scaling and caching follow-ups
- Behavioural talk mixed with technical probes
- Knowledge of the product and an issue faced as a user
- Location comfort and remote-work challenges
Questions to rehearse
What are your strengths and weaknesses?One report
What is being checked. A candidate reports these in a forty-five minute managerial round described as basic questions; the listener looks for honest self-assessment that matches the work you describe elsewhere.
How to frame it. Pick strengths with proof, and a weakness that you are actively managing with a concrete habit. Keep the answer under two minutes. An opening you can adapt: 'My strongest area is [strength], which showed when [short example]; I used to struggle with [weakness], and now I [habit].'
Candidate write-up ↗
Tell me about your best and your worst moments in your career so far.One report
What is being checked. The same candidate reports a best and worst moments question; it shows what you value and how you handle setbacks.
How to frame it. Choose a best moment tied to impact you caused, and a worst moment where you can show accountability and what changed in your behaviour. Do not blame others. An opening you can adapt: 'My best moment was when [outcome you drove], and the lowest point was [setback], which taught me [specific change].'
Candidate write-up ↗
Why do you want to change jobs now?One report
What is being checked. It is reported in a managerial round, and the listener wants to see whether you are moving toward something or only away from something.
How to frame it. Give one forward-looking reason, one fact about your current situation that supports it, and avoid criticising your employer. An opening you can adapt: 'I have learned [skills] in my role, and the next thing I want is [scope or problem type], which the work here offers.'
Worked example in the Interview book →Candidate write-up ↗
Why do you want to work at this company, and what do you know about it?Several reports
What is being checked. An internship HR round and an SDE-2 managerial round are reported to include what you know about the company or why Ola, and the careers page stresses local, fast-moving work, so specific knowledge will help.
How to frame it. Refer to a product or problem area you have actually looked at, connect it to the local-market focus on the careers page, and link it to your skills. An opening you can adapt: 'What interests me is [specific problem], because it needs [skill I have], and I have seen it myself when [short real context].'
Worked example in the Interview book →Candidate write-up ↗Candidate write-up ↗Official ↗
Tell me about a technical decision you made, and how that system behaves when parts of it fail.One report
What is being checked. An SDE-2 candidate describes a hiring manager round of general and behavioural talk mixed with technical topics such as circuit breakers, schedulers, load balancing and caching, so stories may be tested on technical depth.
How to frame it. Pick a story where you can explain the technical mechanism, the alternatives you rejected and how the system behaved under failure. Be ready to move from story to design details. An opening you can adapt: 'I chose [approach] over [alternative] because [constraint], and the failure case I planned for was [case].'
Candidate write-up ↗
Walk me through a project you built, and how it would change if traffic grew many times over.Several reports
What is being checked. One candidate reports project questions and vertical versus horizontal scaling in the hiring manager round, and another reports scaling and caching probes in theirs, so the listener checks you understand your own system's limits.
How to frame it. Describe the architecture briefly, the likely first bottleneck, whether you would scale vertically or horizontally, and what you would cache or partition. Admit what you have not measured. An opening you can adapt: 'The first thing to break would be [component], so I would [scaling step], and I would verify it by [measure].'
Worked example in the Interview book →Candidate write-up ↗Candidate write-up ↗
Think of a problem you faced as a user of this company's product. How would you fix it as a developer?One report
What is being checked. An internship candidate reports being asked about an issue faced as a user, which tests product sense and the ability to turn a complaint into an engineering plan.
How to frame it. Describe the problem from the user's side, name the likely cause on the system side, and propose a fix plus how you would measure improvement. Keep it concrete. An opening you can adapt: 'As a rider, the issue I noticed was [issue]; I think it comes from [cause], and I would fix it by [change].'
Candidate write-up ↗
How comfortable are you with the office location and working on site with the team?One report
What is being checked. The internship report includes whether the office location suits you and the challenges of a remote internship, so the listener is checking logistical fit and how you cope without close collaboration.
How to frame it. Answer plainly about commute or relocation, mention how you have collaborated closely with teams before, and be honest about any constraint rather than hiding it. An opening you can adapt: 'I am comfortable working from the office, and I have already planned [commute or relocation detail].'
Worked example in the Interview book →Candidate write-up ↗
The offer conversation
- None of the reports found describe a compensation or notice-period conversation, so there is nothing reported to summarise here.
- As general advice, ask for the full breakdown of fixed and variable pay, confirm the level and band, clarify the notice period and any buy-out, and avoid naming a figure before you know the scope.
What we could not verify. The four candidate reports give no interview dates; two pages were last updated in 2021 and two in 2025, which is an edit date, not an interview date. No compensation account was found. The careers page speaks for the wider mobility group, including Electric, so treat its values as indicative for any one team.
What we could not verify. LeetCode, Naukri Code360 and Glassdoor returned 403 or only showed in search snippets, so newer reports (for example 2024-2025 SDE-1 and SDE-2 with LRU cache, load balancer, URL shortener, rate limiter) could not be cited. The GfG pages give 'last updated' dates, not interview dates, so no Ola round could be confirmed with a 2022+ interview date and every round is graded one at most. Ola Electric and Ola Cabs are not always distinguished in the reports. No official process page found.