Cracking the Zerodha Backend Engineer Interview
Backend Engineers at Zerodha are responsible for an infrastructure that processes millions of orders and streams billions of market ticks daily, all with a team of less than 50 core engineers. The interview process is highly unconventional: they ignore LeetCode puzzles and instead focus intensely on systems engineering, networking, Go/Python internals, and building low-latency, fault-tolerant architectures.
Phase 1: The "Hacker" Evaluation & Take-Home Assignment
Zerodha looks for builders, not algorithm memorizers.
- The Assignment: You will likely be given a complex, real-world take-home project. Example: "Build a high-throughput, low-latency order matching engine in Go" or "Build a Redis-like in-memory key-value store from scratch."
- The Evaluation: They review your assignment for clean architecture, concurrency handling (Goroutines/Channels), memory management, error handling, and how you structure a Git repository.
Phase 2: Technical Deep Dive (Systems & Internals)
This round is a deep technical conversation. You cannot fake this.
- Systems Knowledge: You must understand how computers and networks actually work. Expect questions on Linux kernel internals, TCP/UDP sockets, file descriptors, and how databases write to disk (fsync, WAL).
- Concurrency & Low Latency: "How do you handle a scenario where 1 million users try to sell a stock at the exact same millisecond?" You must deeply understand locks, mutexes, event loops, and avoiding race conditions in financial transactions.
- Database Internals: "Explain the difference between PostgreSQL and Redis in terms of how they handle memory and persistence. When would you use one over the other?"
Phase 3: High-Level System Architecture
Zerodha's systems must be 100% reliable. A minute of downtime during trading hours is catastrophic.
- The Scenario: "Design the backend architecture for the Kite trading platform to handle a market crash where traffic spikes 10x instantly."
- Key Components to Discuss:
- High Throughput & Consistency: Discuss using Redis for caching session data, PostgreSQL for ACID-compliant financial ledgers, and Kafka for streaming market data asynchronously.
- Fault Tolerance: How do you ensure the system recovers instantly if a primary database node dies? (Master-slave replication, failover strategies).
Top 3 Technical Questions to Prepare
- Design a low-latency Order Matching Engine. How do you structure the data in memory to match buy and sell orders in microseconds?
- Explain the concept of optimistic concurrency control. How would you use it to prevent two concurrent requests from modifying a user's trading margin incorrectly in PostgreSQL?
- How would you design a real-time ticker tape service that pushes price updates to 5 million concurrent WebSocket connections without crashing the server?



