Walk me through the biggest technical decision you made on your current backend project
28/100
Your answer
I added Redis caching to our user service to make things faster.
Feedback
No specifics, no metrics, no tradeoff. "Make things faster" is the kind of line that loses you the round at Razorpay or PhonePe. Name the latency before and after, name the cache eviction policy, name why Redis over a local LRU
Strong answer looks like
Walks through the original p99 (e.g. 480ms), the cache choice with a stated tradeoff (Redis for cross-pod consistency vs in-memory), and the post-change number
Q2
What metric would you watch first if your API's p99 doubled overnight?
42/100
Your answer
I would check the database queries and see if there's any slow query running.
Feedback
Right instinct, weak structure. A real first-line investigation names the dashboard, the alert, and the dependency graph. Mention slow-query log, but also DB connection pool saturation and downstream service health
Strong answer looks like
Names a specific dashboard (Datadog APM, Grafana p99 panel), then a 30-second checklist: error rate, downstream timeouts, recent deploys, DB connection pool
Q3
Tell me about a time you shipped something you later wished you hadn't
78/100
Your answer
We rolled out a feature flag for our new payment retry logic. It worked in staging but caused 2 percent of payments to be double-processed in production. We had a rollback ready and reversed it in 12 minutes. Refunded everyone within 24 hours and added an idempotency check to our payment intent service.
Feedback
This is what a strong answer looks like. Concrete number (2%), concrete recovery time (12 min), and a structural fix at the end (idempotency check). The kind of answer a Razorpay interviewer remembers
Strong answer looks like
What you said, plus one sentence on why staging missed it (staging didn't simulate concurrent retries from the same payment intent)
Q4
How would you design a rate limiter for a public API?
55/100
Your answer
Token bucket algorithm. Each user gets X tokens, refilled at Y rate. Store in Redis with TTL.
Feedback
Solid on the algorithm choice, weak on the production-grade details. No mention of distributed coordination, no fallback for Redis being down, no discussion of how rate limits should differ per tier
Strong answer looks like
Adds: Redis cluster considerations, fail-open vs fail-closed when Redis is down, per-tier limits, and what HTTP status + headers you return on a 429
Q5
Why are you looking to leave your current role?
15/100
Your answer
Looking for more challenges and growth opportunities.
Feedback
Generic answer that triggers the interviewer to mentally write "unmotivated" on their notes. Be specific about what's missing in your current role and what you'd build differently. Vagueness here is a signal that you might be coasting in the new role too
Strong answer looks like
One specific thing your current role doesn't offer (e.g. "my current scope is read-side APIs only, I want to own a writeable system end-to-end") plus one concrete thing about the target role that fits
Your turn
Get your own report. Free first round
Same rubric. Same honesty. Tailored to your CV in 60 seconds