Apna Team Lead Interview Experience
I recently appeared for the Team Lead interview at Apna
and the process was quite extensive, testing both my low-level design (LLD), high-level design (HLD),
project knowledge and behavioral skills.
Here’s a detailed breakdown of my interview journey:
Round 1 – Low-Level Design (LLD)
Topic: BookMyShow System Design
The interviewer asked me to design the complete flow of BookMyShow. The discussion covered:
- Database Schema – designing tables for users, movies, theaters, seats, bookings, etc.
- API Blueprint – I had to list all possible APIs, including:
- Recommendation API (GET) – called when a user first opens the app
- Search API (GET) – when a user searches for a city or movie
- Booking API (POST) – for selecting seats and booking tickets
- Payment API (POST) – to handle payment confirmation
- Booking Status API (GET) – to check ticket confirmation details
For each API, I was expected to write the HTTP method, request payload, and response payload.
Key Follow-Up Question:
How do you handle the scenario where multiple users try to book the same seat at the same time?
- We discussed concurrency handling using:
- Transactions
- Database locks
- Redis for distributed locking
- The interviewer went deep into Redis usage.
Round 2 – High-Level Design (HLD)
Topic: Design a LeetCode-like Platform with Leaderboard
This round focused on scalability and system design concepts. The interviewer asked me to:
- Design a coding practice platform similar to LeetCode.
- Add leaderboard features to rank users.
- Explain components like:
- API Gateway
- Database schema
- Caching strategy
- Load balancing
- Ranking algorithm
Since I had already read similar design breakdowns from HelloInterview’s LeetCode system design article and Alex Xu's System Design Interview Vol.2 (Leaderboard problem), many follow-up questions were familiar and manageable.
Round 3 – HLD + Project Discussion
Topics: Subscription-Based Service + Past Project Work
In this round, the interviewer wanted a deep dive into system design plus my previous work experience.
Subscription Service Design
The company offers three plans:
- Weekly Plan: 60 minutes of content OR 1 week expiry (whichever comes first).
- Monthly Plan: Unlimited content but max 10 interviews per day.
- Quarterly Plan: Same as monthly, valid for 3 months.
I was asked to focus on:
- Database schema – user plans, usage tracking, expiry logic.
- Payment handling – integration with payment gateways, retries, transactions.
- Plan expiration logic – based on time or usage limits.
Project Deep Dive
- Questions on system design decisions I had taken in my previous organization.
- Focus on challenges, trade-offs and scalability.
Round 4 – Behavioral Interview
The final round was a behavioral discussion. Some of the standard questions included:
- Tell me about yourself and your journey so far.
- Challenges faced in past projects and how I solved them.
- How do you handle conflicts in a team?
- Why Apna, and what motivates you to join?
- Where do you see yourself in 3–5 years?
This round mainly tested communication skills, cultural fit and problem-solving mindset.
My Insights
- Be thorough with LLD and HLD concepts – from designing schemas to explaining APIs.
- Practice system design problems like BookMyShow, LeetCode platform and subscription services.
- Be ready to discuss concurrency handling and tools like Redis.
- Revise core CS fundamentals (databases, caching, scalability patterns).
- Prepare for behavioral questions – they carry more weight than most candidates assume.
