The loop at a glance
Five rounds, one bar: quality of thinking and quality of code, not "did it pass."
- Screen. An online test (2 medium DSA) or a recruiter call. Gate on raw coding speed and correctness.
- Coding round. 45 to 60 minutes of DSA, scored as much on clean, readable code as on the algorithm.
- Machine coding. The signature round: build a working in-memory mini-app from a spec, runnable, well-factored. This is where strong DSA candidates fall.
- System design (SDE-2 and up). Fintech-flavored systems where idempotency and money-safety are the point.
- Bar-raiser and HM. A senior from another team who can veto the offer. Probes ownership, taste, and product sense through your stories.
1Snapshot, read this first#
| Roles | SDE / Backend / Frontend / Android / iOS / Full-stack; some SRE, Data, ML |
| Levels | SDE-1 (new grad / 0-2y), SDE-2 (2-5y), SDE-3 / Senior, Staff |
| Process length | Usually 2-4 weeks end to end; faster for strong referrals |
| Rounds | Screen (online test or recruiter call) then 2-3 coding/machine-coding, then 1 design, then 1 hiring-manager/bar-raiser/culture |
| What wins | Clean working code, fast correct DSA, strong fundamentals, product sense, ownership stories |
| What fails | Buggy "almost working" code, no edge-case handling, weak communication, naming things poorly, over-engineering |
| India comp (approx) | SDE-1 ~₹24-38L total, SDE-2 ~₹40-70L, Senior ~₹70L-1.2Cr+, with meaningful stock/ESOPs |
The one thing to understand about CRED:
- They are not a volume-hiring services company. They optimise for a small number of high-craft engineers.
- The bar in each round is quality of thinking and quality of code, not just "did it pass."
- A solution that passes the test cases but reads like spaghetti still loses.
- Half-right answers get rejected. They would rather hire one great engineer than three good ones.
- They will leave a seat empty for months rather than lower the bar.
Every round is scored on craft, not completion. "It compiles and passes" is the floor, not the win. Plan your time so the last five minutes go to cleanup, edge cases, and a dry run, not to cramming in one more feature.
2Getting the call (the part most guides skip)#
CRED does not run a giant campus-dragnet like a services firm. Most hires come through three doors, in rough order of effectiveness.
1. Referrals (by far the strongest).
- A referral from a current CRED engineer is the single strongest signal, and it is not close.
- Find people on LinkedIn who joined in the last two years (search "CRED" plus filter by "started in the last year").
- Send a short, specific note: one line on why CRED, one line on a thing you actually shipped, and a link.
- Weak: "Hi, can you refer me?"
- Strong: "I built an idempotent payments retry layer at X that killed our double-charge bug; CRED is the one fintech where that work is the core product, would you refer me?"
- Referrals skip the resume black hole and often land you straight on a recruiter's calendar.
2. The careers page and targeted applications.
- CRED posts roles on its own site and LinkedIn.
- Apply to the specific level and stack that matches you, not ten roles at once.
- Applying to both "SDE-1 Android" and "Senior Backend" in the same week reads as spray-and-pray and gets you ignored.
3. Recruiter inbound.
- If your GitHub or LinkedIn shows real shipped work, CRED recruiters do reach out.
- What counts: a side project with real users, open-source contributions with merged PRs, a repo with a clear README and tests.
- A green commit graph alone does nothing. One repo that solves a real problem and runs cleanly does a lot.
Resume rules.
- One page for anything under 8 years.
- Lead every bullet with impact and a number.
- Weak: "Worked on payments backend."
- Strong, the kind that signals ownership, measurement, latency awareness, and correctness all at once:
Rebuilt the refund reconciliation job; cut p99 processing time from 4.2s to 380ms and eliminated ~1,200 stuck transactions/day by batching DB writes and adding an idempotency key.
- Every bullet should answer three questions in order: what did you do, what moved because of it, and by how much.
- If a bullet has no number, either find the number or cut the bullet.
ATS keywords that help.
- Backend-leaning SDE: Java/Kotlin or Go, Spring Boot, microservices, Kafka, Redis, PostgreSQL/MySQL, idempotency, concurrency, REST/gRPC, AWS, CI/CD, system design.
- Mobile: Kotlin/Swift, coroutines, Jetpack Compose/SwiftUI, MVVM, offline-first.
- Mirror the exact words from the JD, but only for things you can defend in a follow-up.
- A recruiter keyword-matches your resume; the interviewer asks you to explain the Kafka line you put on it. Do not list what you cannot talk about for five minutes.
3The loop at a glance#
| Round | Length | What it tests |
|---|---|---|
| Online assessment / screen | 60-90 min | 2 DSA problems (medium) or a take-home; sometimes a recruiter call instead |
| Coding round 1 | 45-60 min | DSA, arrays, strings, hashing, two-pointer, recursion; code quality |
| Coding / machine-coding round | 60-120 min | Build a working mini-app or module from a spec; OOP, clean design, tests |
| System design (SDE-2+) | 45-60 min | Scalable, consistent fintech-style systems; tradeoffs |
| Hiring manager / bar-raiser | 45-60 min | Depth on your past work, product sense, ownership, culture fit |
How the loop bends by level:
- Freshers and SDE-1 may get an extra DSA round instead of a full system design.
- Seniors get a deeper design round and sometimes two.
- The bar-raiser is usually a senior engineer from a different team who did not meet you earlier.
- Their job is to be the person who can veto the offer, so treat that round as seriously as the coding ones, not as a cool-down chat.
4The coding / technical rounds, patterns, not problems#
CRED reuses patterns, not specific questions. Target medium-to-hard LeetCode fluency, but the differentiator is that your code must actually run and be clean. Chasing a count of problems solved is the wrong goal; picking the right pattern in 60 seconds and writing it cleanly the first time is the right one.
The recurring patterns:
- Hashing and frequency maps: group anagrams, subarray-sum-equals-k, first unique character, LRU-style counting.
- Two pointers and sliding window: longest substring without repeats, minimum window substring, container-with-most-water.
- Arrays and intervals: merge intervals, meeting rooms II, next-greater-element with a monotonic stack.
- Trees and graphs: BFS/DFS, level-order traversal, lowest common ancestor, topological sort, number-of-islands, shortest path with BFS or Dijkstra.
- Recursion and backtracking: subsets, permutations, combination sum, word search on a grid.
- Dynamic programming: coin change, longest increasing subsequence, edit distance, house robber; usually one DP, framed in a real-world wrapper rather than stated as "find the LIS."
- Heaps and priority queues: top-k frequent elements, merge k sorted lists, median from a stream.
How to practice:
- Do roughly 120-150 problems spread across these buckets.
- For each one, after solving, rewrite it clean, name variables well, and state time and space complexity out loud.
- CRED interviewers care about the second draft, the readable one.
- A useful drill: solve a problem, close the editor, and re-type it from scratch the next day. If you cannot, you memorised an answer instead of learning a pattern.
Reveal the answer
How to win the round (this is the real skill):
- Clarify first. Restate the problem in your own words, confirm input ranges, ask about duplicates, empty input, negatives, and whether the input fits in memory. 60 seconds here saves a wrong 20-minute solution.
- Think out loud. Say your brute-force idea first, name its complexity, then say the optimisation and why it is better. Silence reads as "stuck." The interviewer is scoring how you think, and they cannot score what they cannot hear.
- State complexity before coding. "This is O(n log n) time, O(n) space, is that acceptable or should I push for linear?" This signals you know the cost before you pay it.
- Write clean code. Real method names, no single-letter soup, small functions, early returns over nested ifs. CRED weighs readability as a first-class signal, not a tiebreaker.
- Test it yourself. Walk through one normal case and one edge case before they ask. Dry-run on paper with a real input. Finding your own bug and fixing it unprompted is a huge positive; being told about the bug is a negative.
I am scoring the gap between your first draft and the code you would check in. If you solve it fast and then just sit there, you left the best points on the table. The candidates I remember are the ones who, unprompted, tighten the names and say "let me walk an edge case before I call this done."
5The machine-coding / low-level-design round#
This is CRED's signature round and where many strong DSA candidates fall.
What the round is:
- You get a spec, for example "build an in-memory ride-matching service," "model a Splitwise expense-sharing system," "a parking lot," "a rate limiter," or "an in-memory key-value store with TTL."
- You get 60-120 minutes to produce working, well-designed code with a runnable demo (usually a
main()plus a few assertions, not a UI).
What they are scoring:
- Clean OOP and correct abstractions.
- SOLID-ish separation: one class, one responsibility; depend on interfaces, not concretes.
- Extensibility at the obvious seams.
- The fact that it actually runs.
What they are not scoring:
- Frameworks or databases. Keep everything in memory. Do not reach for Spring or a real DB.
- A candidate who spends 20 minutes wiring a database connection in a 90-minute in-memory problem has already lost.
Beautiful class diagrams and no working main(). Code that compiles but was never run is treated as code that does not work. If you spend your last ten minutes polishing a class instead of getting one full flow to execute with assertions, you have optimised for the thing CRED does not score.
A framework that works under time pressure:
- Read the spec, list the entities and the required operations (2-3 min). Write them as a short comment block at the top first. For a parking lot that is:
ParkingLot,Floor,Spot,Vehicle,Ticket; operations arepark,unpark,findSpot,calculateFee. - Define interfaces and classes for the core nouns, each with a single responsibility. For a rate limiter: a
RateLimiterinterface, aSlidingWindowLimiterimplementation, and aClockabstraction so you can inject a fake clock and test withoutThread.sleep. - Code the happy path end to end first, then add validation and edge cases. A working 80% beats a broken 100%. Get one full flow executing before you polish any single class.
- Make it extensible at the obvious seam. If they asked for fixed-window, structure it so a sliding-window strategy drops in behind the same interface. Reach for Strategy or Factory only where it genuinely removes an if-else chain, not to show off. Naming a pattern you did not need is a red flag, not a green one.
- Write 4-6 assertions in
main()that prove it works, including one edge case (park into a full lot, deduct from an empty balance, hit the rate limit then wait and retry). This is the detail that separates offers from "good but no."
Prompts seen at CRED and similar fintechs:
- Splitwise, parking lot, elevator system.
- In-memory cache with eviction (LRU or LFU), rate limiter, logging framework.
- A simplified Swiggy or BookMyShow booking, a tic-tac-toe or snake-and-ladder engine.
- Practice three of these cold, timed, to a runnable state, not just a class diagram.
For SDE-2 and above, expect a true system design round too.
- Use this spine: clarify requirements and scale, then define the API, then the data model, then high-level components, then deep-dive one hard part, then bottlenecks and tradeoffs.
- Put a number on the scale early ("assume 10M users, 1,000 writes per second peak") so your design choices have something to answer to.
- CRED-flavored prompts lean fintech: a payments or UPI flow, a credit-card bill reminder and reconciliation system, an idempotent transaction ledger, a rewards or cashback engine, a notification fan-out system, or a feature-flag service.
- Always raise idempotency, consistency vs availability, exactly-once vs at-least-once, and money-safety without being asked.
- In fintech, double-charging a user is the cardinal sin. Talk about how you prevent it (retries with idempotency keys, an append-only ledger, reconciliation jobs that catch drift) before the interviewer has to pull it out of you.
6Behavioral & culture fit#
CRED frames its culture around being extremely high-craft and user-obsessed.
Who they hire:
- People who care deeply about detail and quality.
- People who take ownership end to end.
- People with strong taste and product sense.
- People who are intrinsically motivated rather than title- or process-driven.
- Builders, not ticket-closers. They can tell the difference fast by how specific your stories are.
Prepare 5-6 STAR stories (Situation, Task, Action, Result) covering:
- A hard bug you owned end to end.
- A time you pushed back on a bad spec and were right.
- A time you raised the quality bar for a team.
- A project you drove without being told to.
- A failure you learned from.
- Always land on a measurable result. Vague stories ("we improved performance a lot") get probed until they break; specific ones ("p99 went from 4.2s to 380ms") get a nod and a follow-up about how.
One worked STAR example:
- S: Our checkout service was silently double-charging ~0.3% of users during retries on flaky networks.
- T: I owned payments reliability; I had to stop duplicate charges without blocking legitimate retries.
- A: I introduced an idempotency key per payment intent, stored it in Redis with a 24h TTL, and made the charge path check-and-set atomically before hitting the gateway. I added a reconciliation job to auto-refund any duplicates already in flight and wrote integration tests simulating retry storms with artificial packet loss.
- R: Double-charges dropped to zero over the next quarter, we auto-refunded ₹4.1L of stuck duplicates, and the pattern became the team's standard for all money-moving endpoints.
Why that story lands:
- It hits money-safety, ownership, and a hard number, exactly CRED's wavelength.
- It is "I" doing the work with a clear decision, not "the team decided."
- Keep the "we" for context and the "I" for the actions you personally took.
Specific beats impressive. "₹4.1L of duplicates auto-refunded" outscores "I led a major reliability initiative" every time.
7Your prep plan#
4-week plan
- Week 1: DSA foundations, arrays, strings, hashing, two pointers, stacks and queues. ~5 problems a day, and rewrite each one clean after you solve it.
- Week 2: Trees, graphs, recursion and backtracking, heaps. Add timed 45-minute mock problems so the clock stops being a surprise.
- Week 3: DP plus one machine-coding problem every two days (parking lot, Splitwise, rate limiter), coded to a runnable state with assertions.
- Week 4: System design if SDE-2 or above, full mock loops, and writing out your 6 STAR stories word for word. Go back and re-solve your weakest bucket.
2-week plan
- Days 1-5: The highest-yield patterns, hashing, two-pointer and sliding window, trees, graphs, and one DP type a day.
- Days 6-9: Two machine-coding builds, timed and runnable. One system design walkthrough per day, out loud.
- Days 10-14: Mixed timed mocks, STAR stories, and re-solve every problem you got wrong one more time from scratch.
2-day crash plan
- Day 1: Re-solve 2 problems from each core pattern (hashing, two-pointer, trees, graphs, DP). Build ONE machine-coding problem end to end, timed, with a working
main(). - Day 2: One system design dry run out loud, write your 4 strongest STAR stories, review complexity analysis for the patterns, sleep early. Walk in calm: clarify, think out loud, test your own code.
8Why people get rejected at CRED#
- Code that "almost works." An off-by-one or an unhandled null that the interviewer catches, not you. Correctness is non-negotiable in fintech, and a bug they find costs you more than the same bug you catch and fix.
- Machine-coding that does not run. Beautiful class diagrams but no working
main(). They need to see it execute; code that compiles but was never run is treated as code that does not work. - Poor naming and messy structure. CRED reads your code like production code.
int a, b, temp2tanks you even if the tests pass, because they are imagining this code in their repo six months from now. - No edge-case or money-safety thinking. In design, forgetting idempotency, retries, or concurrency on anything that touches money. If you never say the word "idempotency" in a payments design, you have told them something.
- Weak ownership signal. Behavioral answers full of "we" and "the team decided," with no clear thing you drove, decided, and measured. They are hiring a person, not a committee.
- Over-engineering. Reaching for Kafka, microservices, and six design patterns on a 90-minute in-memory problem. Taste means knowing what not to build, and a candidate who adds a message queue to a parking lot has shown the wrong instinct.
9The offer, comp & negotiation#
CRED pays above typical Indian market, with a real equity component.
Rough total-comp ranges:
- SDE-1 ~₹24-38L.
- SDE-2 ~₹40-70L.
- Senior ~₹70L-1.2Cr+, Staff higher.
- Structure is usually fixed base plus a joining or retention bonus plus ESOPs or stock, with a smaller variable component than a services firm.
- The base is a smaller share of total comp here than you might be used to, so judging an offer on base alone will undersell or oversell it.
Negotiation tips specific to CRED:
- Compete on the whole package, not just base. ESOPs are a big lever here. Ask about the vesting schedule, the cliff, the strike price, and the latest 409A or internal valuation basis. Work out what the equity is realistically worth at the current valuation before you treat it as money, and ask what liquidity events have happened for past grants.
- Use competing offers honestly. A genuine competing offer, especially from another well-paying product company, moves numbers far more than a vague "market rate" claim. Share the structure, not just the headline. Never bluff with a fake offer; recruiters in this circle talk to each other and it backfires badly.
- Anchor on level, not just salary. If your experience justifies SDE-2, make that case during the loop itself, not after the offer. The band difference between SDE-1 and SDE-2 dwarfs any within-band haggling, so get the level right first and the number mostly follows.
10FAQ#
Q: Is DSA or machine-coding more important at CRED? Both gate you, but machine-coding is where strong candidates most often get filtered, because most people under-practise it. Do not neglect it. Build runnable systems, timed, until a parking lot or rate limiter in 60 minutes feels routine.
Q: Which language should I use? Whatever you are fastest and cleanest in. Java, Kotlin, Go, and C++ are all common; Python is fine for DSA. Pick one and be fluent in it, including its testing idioms and its standard collections, so you are not fighting the language while the clock runs.
Q: Do they ask LeetCode-hard problems? Mostly medium, occasionally hard, but framed in a real scenario rather than stated bluntly. The difficulty is as much in clean, correct, well-communicated code as in the raw algorithm, so a medium you solve messily can score worse than a medium you solve cleanly.
Q: How much fintech or domain knowledge do I need? You do not need to be a payments expert, but showing awareness of idempotency, money-safety, consistency, and reconciliation in the design and behavioral rounds is a strong differentiator. Knowing why double-charging is the one unforgivable bug goes a long way.
Q: How long until I hear back? Usually within a few days to two weeks per stage. A short nudge to your recruiter or referrer after 7-10 days of silence is reasonable and expected; it reads as interest, not impatience.
"Your machine-coding solution runs. How would you extend it from fixed-window to sliding-window rate limiting?"
"In your payments design, a request times out and the client retries. How do you guarantee one charge, not two?"
"Your story is all 'I'. Where did the team actually help?"
"You passed all the test cases in the coding round. Why did you spend the last five minutes not adding features?"
"For a 90-minute parking-lot problem, when would you reach for Kafka or a database?"
What you can now explain in the room
- How the five rounds map to the bar: craft and correctness over completion at every stage.
- Why the machine-coding round filters strong DSA candidates, and the five-step framework that beats it.
- Why a working 80% with a runnable `main()` outscores a beautiful but unexecuted class diagram.
- How to raise idempotency, money-safety, and reconciliation unprompted in a fintech design.
- How to tell an ownership story with a clear "I", a real decision, and a hard number.
- How to read a CRED offer on total comp and level, not base salary alone.
Want this turned into a personalized, dated study schedule that fits your timeline and target level? Build your plan and walk in ready.
Get a prep plan built around your CRED interview
Tell us the role and your interview date. We will send back a dated, day by day plan. Free.