Agoda Senior Software Engineer Interview Experience
Summary
I interviewed for a Senior Software Engineer role at Agoda, cleared the coding and system design rounds, but was rejected before the final managerial/culture-fit interview.
Full Experience
Recently interviewed with Agoda for Senior Software Engineer role. Sharing the interview process and questions asked.
Outcome: Received rejection before final managerial/culture-fit round despite clearing earlier rounds.
Round 1 - Coding Round (60 mins)
Problem 1: Feasibility of Printing Within Given Days
Given:
- Array representing pages in book chapters
- Fixed daily printing limit
- Number of days D
Constraints:
- Chapters must remain in order
- Chapter cannot be split across days
Task: Determine whether printing all chapters within D days is possible.
Example: Pages = [100, 200, 300, 400] Daily limit = 500 D = 3
Output: true
Main concepts:
- Greedy simulation
- Binary search feasibility style thinking
Problem 2: Minimum Daily Printing Limit
Given:
Pages array Number of days D
Task: Find minimum daily printing limit required to finish printing within D days.
Example: Pages = [100, 200, 300, 400] D = 3
Output: 500
Main concepts:
- Binary Search on Answer
- Feasibility function
Round 2 - System Design Round (60 mins)
Design a Flight Booking System
Topics discussed:
- End-to-end service flow
- REST APIs for search and booking
- Scalability
- Load balancing
- Observability/monitoring
- Handling network failures
- CAP theorem tradeoffs
- Different types of testing applicable to this system
Discussion went deep into:
- Booking consistency
- Concurrent seat booking
- Failure scenarios
- Distributed systems concepts
Round 3 - Preliminary HR/Discussion Call (15 mins)
Topics:
- Previous round feedback
- Preferred location: Singapore or Gurugram
- Salary expectations
- Relocation willingness
- Notice period
Round 4 - Techno Managerial / Culture Fit (Scheduled but not reached)
Was informed rejection before this round.
Hope this helps others preparing for Agoda backend/system design interviews.
Interview Questions (3)
Feasibility of Printing Within Given Days
Given an array representing pages in book chapters, a fixed daily printing limit, and a number of days D, determine whether it is possible to print all chapters within D days. Chapters must remain in order and cannot be split across days.
Example: Pages = [100, 200, 300, 400] Daily limit = 500 D = 3
Output: true
Minimum Daily Printing Limit
Given an array of pages per chapter and a number of days D, find the minimum daily printing limit required to finish printing within D days while keeping chapter order and not splitting chapters.
Example: Pages = [100, 200, 300, 400] D = 3
Output: 500
Design a Flight Booking System
Design an end-to-end flight booking system. Discuss REST APIs for search and booking, scalability, load balancing, observability/monitoring, handling network failures, CAP theorem tradeoffs, testing types, booking consistency, concurrent seat booking, failure scenarios, and other distributed systems concepts.