Cracking the Zerodha SDE Interview
Zerodha is India's largest stockbroker, but it operates like a boutique tech company. They have a remarkably small engineering team (often under 50 engineers) that manages billions of dollars in daily trading volume. Their interview process is highly unconventional: they look for "hackers," open-source contributors, and engineers who deeply understand systems, rather than candidates who just grind LeetCode.
Phase 1: The "Hacker" Evaluation
Zerodha rarely uses standard recruiting pipelines.
- Open Source & Projects: They care deeply about your GitHub. If you have built meaningful side projects, contributed to open-source tools, or written a deep technical blog, you are already halfway there.
- Take-Home Assignment: You will likely be given a complex, real-world take-home assignment. Example: "Build a low-latency order matching engine in Go or Rust" or "Build a real-time market data ticker using WebSockets." You have a few days to complete it.
- The Evaluation: They review your assignment for clean architecture, error handling, performance optimization, and how you structure a Git repository.
Phase 2: Technical Deep Dive
This round is a deep technical conversation, not a whiteboard coding test.
- Systems Knowledge: You must understand how computers actually work. Expect questions on Linux internals, TCP/IP networking, how the kernel handles memory, and how databases write to disk (fsync).
- 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 understand locks, channels (in Go), and event loops.
- Language Internals: Since they use Go and Python heavily, expect deep questions on Go's garbage collector, Goroutines, or Python's GIL (Global Interpreter Lock).
Phase 3: High-Level System Architecture
Zerodha's systems must be 100% reliable. A minute of downtime costs millions.
- The Scenario: "Design the backend architecture for Kite (their trading platform) to handle a market crash where traffic spikes 10x instantly."
- Key Components to Discuss:
- High Throughput & Consistency: You must discuss using Redis for caching, PostgreSQL for ACID-compliant ledgers, and Kafka for streaming market data.
- Fault Tolerance: How do you ensure the system recovers instantly if a primary database node dies during trading hours?
Top 3 Technical Questions to Prepare
- Design a low-latency Order Matching Engine. How do you structure the data in memory (e.g., using Order Books) 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?
- How would you design a real-time ticker tape that pushes price updates to 5 million concurrent WebSocket connections without crashing the server?



