[Offer] JioHotstar | Staff Software Engineer | Bangalore | Aug 2025
Summary
Cleared all rounds including System Design, Low-Level Design, Behavioral, and HR. Focused heavily on design principles, concurrency, and scalability.
Full Experience
Round 1 - High Level Design (1 Hour)
Question: Design Uber
- How to handle high throughput
- Discussion on GeoHashing vs Quad Tree
- Concurrency and Race Condition
- Fault Tolerance and Sudden Spikes
- Client-Server Communications
NOTE: Overall in depth discussion for any topics I had mentioned to check my technical depth.
Round 2 - Low Level Design (1 Hour)
Question: API Rate Limiting
- Discuss various algorithms
- Choose to implement one of them in Java
- Slight hint of DSA (<5%) during the implementation to understand my knowledge
- Had to have full running code
- Focus was on Design Patterns, Concurrency(Thread)
- Other optimization techniques (Background periodical memory cleanups and other AdHoc Edge cases).
- Scale & Performance Bottlenecks (Due to Single thread blocks using
synchronized)
Round 3 - Hiring Manager (1 Hour)
- Questions around
- Junior engineer mentoring
- Your role in current team/org
- How do you handle the vision of the team(tech roadmap)
- My approach towards oncall
- Various situational based (Tell me about a time when you did X).
- Questions around previous projects(in depth) and try to give me a situation to scale those system (Covered HLD).
Round 4 - Bar Raiser (1 Hour)
- Lots of discussion about my background and about life journey. He was mostly trying to understand what kind of person I am and what motivates me kind of thing.
- Towards the end he gave me problem, we discussed briefly and then he gave me 30 mins more (after the interview) to complete whatever I had discussed and share it with him.
Round 5 - HR Round (30 Mins)
- Basic HR based question, just do a ChatGPT. No curve ball.
Interview Questions (2)
Design Uber
Design the architecture for Uber considering the following aspects:
- How to handle high throughput
- Discussion on GeoHashing vs Quad Tree
- Concurrency and Race Condition
- Fault Tolerance and Sudden Spikes
- Client-Server Communications
API Rate Limiting Implementation
Implement an API rate limiting mechanism in Java using one of the discussed algorithms such as Token Bucket or Fixed Window Counter. The focus should be on:
- Using appropriate Design Patterns
- Handling concurrency issues (e.g., Thread safety)
- Optimization techniques like background cleanup tasks
- Avoiding performance bottlenecks due to synchronized methods