Agoda | Staff SE | OA
Staff SEAgoda | SSE - Backend | Gurugram
SSE - BackendAgoda interview experience - Staff Backend - July 25
Staff BackendAgoda Bangkok interview experience, Staff Software Engineer July-Aug 2025
Staff Software EngineerSenior Software Engineer Interview Experience
Senior Software Engineer6 more experiences below
Summary
I recently completed an Online Assessment for a Staff Software Engineer role at Agoda. The assessment included two problems: one focused on Data Structures & Algorithms and another on REST API design. Unfortunately, I received an automatic rejection shortly after submitting my solutions.
Full Experience
I applied for a Staff Software Engineer position at Agoda through LinkedIn Easy Apply. Following my application, I was invited to an Online Assessment hosted on the Hackerrank platform. The assessment had a strict 90-minute time limit and presented two distinct challenges. The first was a Data Structures & Algorithms problem, while the second involved designing a REST API. After submitting my solutions, I unfortunately received an automatic rejection email, which left me feeling that it might have been a ghost hiring scenario.
Interview Questions (2)
Given an array of integers, find the minimum number of operations required to make all array elements equal. In one operation, you can either increment or decrement an element.
Example:
Input: [1, 2, 3]
Output: 2 (To make all elements 2: 1 -> 2 (1 operation), 2 -> 2 (0 operations), 3 -> 2 (1 operation). Total operations: 1 + 0 + 1 = 2)
Design a simple REST API to manage a list of books. The API should support basic CRUD operations (Create, Read, Update, Delete) for books. Each book should have attributes such as an ID, title, author, and ISBN. Additionally, the design should incorporate pagination for listing books and robust error handling mechanisms.
Summary
I recently interviewed with Agoda for a Senior Software Engineer (Backend) role in Gurugram, India. After a recruiter screen, I completed a coding round successfully by solving two problems, and I am currently awaiting the results for the next steps.
Full Experience
Hi Fam,
I am currently an SSE at Walmart with 6.3 years of experience. I recently applied to Agoda for an SSE - Backend position in Gurugram through their careers website. The interview platform used for codepairing and interviews was Hackerrank.
Recruiter Phone Screen (15 min)
My journey started with a Recruiter Phone Screen which lasted about 15 minutes, conducted by a TA from Bangkok. During this screen, I was asked:- Why I was interested in Agoda.
- If I was willing to relocate to Gurgaon, and they mentioned they provide a relocation bonus.
- To give an introduction about myself.
Round #1 (Coding - 1 hour)
Next was Round #1, a Coding round, which was 1 hour long and conducted by a Staff Engineer from Bangkok. I was presented with two problems:- A variation of the LeetCode problem Eliminate Maximum Number of Monsters. The problem scenario involved airplanes instead of monsters. I approached and solved this using a Greedy strategy.
- The second problem involved calculating the total weight of a chemical formula. I was given the weights for three atoms: Carbon (C -> 12), Hydrogen (H -> 1), and Oxygen (O -> 8). For instance, CH4 would result in 16, and H(CH4)2 would be 33. I solved this problem using a Stack-based approach.
Interview Questions (2)
This was a variation of the LeetCode problem 'Eliminate Maximum Number of Monsters'. The problem scenario was rephrased to involve airplanes instead of monsters. The goal is likely to determine if it's possible to eliminate all incoming targets (airplanes) given their arrival times and speed, using a similar greedy approach as the original problem.
Given the weights of three specific atoms: Carbon (C -> 12), Hydrogen (H -> 1), and Oxygen (O -> 8). The task is to write a function that takes a chemical formula string as input and computes its total molecular weight. Examples provided were CH4 = 16, and H(CH4)2 = 33, indicating that nested structures with multipliers need to be handled.
Summary
My interview journey for a Staff Backend Engineer position at Agoda in Bangkok consisted of 5 rounds. I successfully cleared all the technical assessments and interviews but was ultimately rejected in the final Hiring Manager round due to a combination of undefended salary expectations and an unclear motivation for relocating.
Full Experience
My friend's interview process at Agoda for a Staff Engineer position in Bangkok was quite extensive, covering 5 distinct rounds.
R1: Online Assessment (HackerRank)
This round included two problems: one was a LeetCode Hard Data Structures & Algorithms (DSA) question, and the other was an API design problem. For the API design, it was crucial to demonstrate knowledge of plain vanilla HTTP client basics, without relying on abstract client frameworks like Spring.
R2: Live DSA (HackerRank)
This was a live coding round where I had to solve two coding questions (easy-medium difficulty). One was a variation of the classic Stock Buy/Sell problem, and the other was a Dynamic Programming (DP) problem similar to Jump Game. The expectation was to not only code but also run the solution and pass all test cases live.
R3: Platform Round
In this round, I was presented with a badly designed system and tasked with improving it. This involved elements of code review and discussions around database and technology choices. The interviewers thoroughly grilled me with numerous 'how / what / why / why not' questions related to my proposed solutions.
R4: System Design (HLD)
This round was a classic high-level system design exercise, where I had to design a scalable system from the ground up.
R5: Hiring Manager
The final round was with the Hiring Manager, focusing on behavioral questions and past experiences. Key questions included 'Why Agoda?' and my motivation for relocating. Salary expectations were also discussed. Interestingly, I cleared all the technical rounds but was rejected in this final round, not for technical reasons, but because I couldn't adequately defend my salary expectations and didn't have a clear, compelling reason for moving from Bangalore to Bangkok.
The moral of the story is definitely not to underestimate the Hiring Manager round; it's about much more than just soft skills—it's about alignment, clarity, and motivation.
Interview Questions (7)
A coding problem that was a variation of the classic Stock Buy/Sell problem. I was expected to code, run, and pass all test cases live during the interview.
A dynamic programming problem that was similar in nature to the Jump Game problem. I had to code, run, and pass all test cases live.
An API design question focused on demonstrating strong understanding of plain HTTP client basics, emphasizing solutions without relying on high-level frameworks like Spring or other abstract client libraries.
I was presented with a badly designed system and asked to propose improvements. The round also involved a code review component and discussion about database and technology choices, with a thorough grilling on 'how, what, why, why not' behind my decisions.
A classic high-level system design exercise was given, requiring me to outline the architecture of a large-scale system.
I was asked about my motivation for wanting to join Agoda.
I was asked to explain my reasons and motivation for relocating from Bangalore to Bangkok.
Summary
I recently interviewed for a Staff Software Engineer role at Agoda in Bangkok, undergoing multiple rounds including coding, system design, architectural design, and behavioral questions. My coding and problem-solving skills received strong positive feedback, and I appreciated Agoda's detailed feedback process.
Full Experience
I recently went through the interview process for a Staff Software Engineer position at Agoda in Bangkok. The journey started with a screening call from a recruiter who focused on my motivation for joining Agoda and relocating to Bangkok, as well as my general experience. It was a pleasant conversation, and confidence seemed key here.
Next, I had a HackerRank round which consisted of three coding problems in an hour. I encountered a question about pairs with a minimum absolute difference K, a classic 'Count Palindromic Substrings' problem where I passed all test cases but struggled with optimization, and a binary search problem very similar to 'Koko Eating Bananas' which I solved efficiently. I received strong feedback on my coding and problem-solving abilities for this round.
The 'Platform Round' was quite unique, focusing on system design, REST API design, code reviews, and QA. For system design, I was given an existing booking/data fetching system and tasked with identifying and proposing improvements like adding load balancers, rate limiters, or message queues. Connectivity management involved discussing how to improve REST APIs, various authentication types, and maintaining robust, secure sessions. There was also a code review task on a basic booking API implementation, where I suggested applying a strategy pattern and better error and exception handling.
The 'Architectural Round' was an hour-long deep dive into high-level design. I had to design a system for concert booking, similar to a flash sale system. The discussion focused on trade-offs, potential bottlenecks, and scalability. Metrics and telemetry were also heavily emphasized throughout this discussion.
Finally, the 'Values Round' was the longest, lasting 1.5 hours. It delved into behavioral aspects, covering topics like mentorship, learning from mistakes, experimentation, trade-offs, and conflict resolution.
Overall, Agoda's recruiters were very helpful, providing detailed feedback and even study resources for each round, which I found incredibly beneficial.
Interview Questions (9)
Given a set of numbers, find pairs such that the absolute difference between elements in each pair is equal to a given value K. The problem was described as a basic question.
Given an existing booking or data fetching system design, the task was to identify areas for improvement.
This involved suggesting architectural enhancements such as:
- Adding load balancers (LB)
- Implementing rate limiters
- Integrating message queues
The specific improvements depended on the design presented during the interview.
Discuss potential improvements for REST APIs, explore different types of authentication mechanisms, and explain strategies for managing robust and secure connectivity sessions.
Review a basic implementation of a booking API and provide corrections or suggestions for improvement.
Design a system for concert booking, conceptually similar to a flash sale system.
The discussion focused on demonstrating overall design skills, including:
- Analyzing trade-offs
- Identifying potential bottlenecks
- Planning for scalability
I was advised to start with a basic design and gradually introduce scaling considerations as the discussion progressed.
Detailed discussions focused on system metrics and telemetry throughout the architectural design process.
A series of behavioral questions covering topics such as mentorship, learning from past mistakes, experimenting with new ideas, navigating trade-offs, and handling workplace conflicts.
Preparation Tips
Agoda recruiters were incredibly helpful, providing detailed feedback and specific study materials, including documentation and relevant links, for each interview round. This guidance was instrumental in my preparation.
Summary
I interviewed for a Senior Software Engineer role at Agoda. While I performed strongly in the technical coding and system design rounds, I did not perform well in the culture fit round, which ultimately led to my rejection. The entire interview process spanned one week.
Full Experience
Current Role: Lead Software Engineer at EPAM
Round: Online Coding Interview (First Round)
I had two questions:
- 1. DSA: Based on binary search pattern to find maximum of minimum. (I do not remember the question exactly)
- 2. API: I needed to call an external endpoint and parse the response from the JSON (Easy)
Virtual Onsite:
Round 1: DSA (1 hour)
I was asked 1 medium and 1 easy level question.
- 1. Medium - Based on monotonic stack: Somewhat similar to next greater element.
- 2. Easy - Given 2 strings S1 & S2, S1 with some backspace character (#), determine if S1 & S2 are equal after processing # (I needed to delete the previous character in S1 if # is seen).
Self Verdict: Strong Hire
Round 2: Platform Interview (1 hour)
I was asked about my recent projects and its underlying architecture. Some in-depth questions on the tech stack used (KAFKA & DB related stuff).
I was asked if there was something I would like to improve in the design I gave.
Then in the next 30 minutes, I was asked to design a system where I am required to find the inventory of the hotels. I would be querying Agoda's internal data as well as calling external services like Makemytrip, Booking.com to get the inventory data.
This round went well, I was able to come up with a scalable and fault-tolerant design.
Self Verdict: Strong Hire
Round 3: Culture Fit (1 hour)
I was asked usual behavioral interview questions like working under a tight deadline, mentoring juniors, and a few concepts around agile and all.
I was not able to perform well in this round and hence, it led to rejection.
The overall interview experience was very awesome and it took 1 week to conduct the entire loop.
Interview Questions (2)
Given 2 strings S1 & S2, S1 with some backspace character (#), determine if S1 & S2 are equal after processing # (Need to delete the previous character in S1 if # is seen).
Design a system where you are required to find the inventory of the hotels. You will be querying the Agoda's internal data as well as call the external services like Makemytrip, Booking.com to get the inventory data as well.
Summary
I recently completed an online coding interview for a Senior Software Engineer role at Agoda. The round involved two coding questions of easy-to-medium difficulty, both of which I successfully solved using greedy and HashMap approaches.
Full Experience
Online Coding Interview Experience
I recently appeared for the first round of the Agoda Senior Software Engineer hiring process. The round was conducted on the Hackerrank platform and consisted of 2 coding questions, both of easy-to-medium difficulty. The total time was 90 minutes.
Question 1: Strings and Greedy
I was given a list of strings. The task was to return the minimum number of changes required so that no two adjacent characters in any of the strings are the same.
Key Concepts: String manipulation, Greedy algorithm
Approach: I traversed each string and used a greedy strategy to make minimal changes whenever two adjacent characters matched.
Status: ✅ Solved
Question 2: Discounts on Products
Given a list of products where each product could have 0 or more discounts, and discounts had tags and types (e.g., percentage, flat value, etc.). There could be multiple discounts with the same tag but of different types.
The goal was to find the minimum total cost to buy all the products after applying the most optimal combination of discounts.
Key Concepts: HashMap, Math/Greedy
Approach: I used a map to track the best discount for each tag and applied them optimally to each product.
Status: ✅ Solved
Interview Questions (2)
I was given a list of strings. The task was to return the minimum number of changes required so that no two adjacent characters in any of the strings are the same.
Given a list of products where each product could have 0 or more discounts, and discounts had tags and types (e.g., percentage, flat value, etc.). There could be multiple discounts with the same tag but of different types.
The goal was to find the minimum total cost to buy all the products after applying the most optimal combination of discounts.
Summary
I recently interviewed with Agoda for a Staff Engineer role in Bangkok, undergoing coding and system design rounds. Despite a month-long wait and several follow-ups, I ultimately received a rejection email.
Full Experience
I recently had the opportunity to interview with Agoda for a Staff Engineer position in Bangkok. The process began with an initial round with the recruiter where we discussed the role and the upcoming interview stages. Following this, I proceeded to a coding round where I was given problems related to the sliding window pattern and string manipulation, which I felt were both of medium difficulty. The next significant hurdle was the System Design Round, where I was challenged to design a platform similar to Booking.com, focusing specifically on its core search and booking functionalities. After these technical rounds, I had an expectation call with HR to discuss compensation. The plan was to have further rounds, including a Deep Tech Discussion and a Hiring Manager Round. However, after waiting for over a month and initiating 4-5 follow-ups, I regrettably received a generic rejection email, which prompted me to reflect on the time and energy invested.
Interview Questions (1)
Design a platform similar to Booking.com, with a particular focus on the search and booking services.
Summary
I successfully interviewed with Agoda for a Senior Software Engineer position in Bangkok, ultimately receiving an offer. The interview process spanned three months and included rounds focused on DSA, System Design, Architecture, and a final Cultural Fit/System Design discussion with the Hiring Manager.
Full Experience
I recently received an offer from Agoda for a Senior Software Engineer role in Bangkok. The interview process commenced in August and concluded after three months.
First Round: DSA (1 hour)
This round was quite distinct from a typical DSA interview. I was tasked with implementing code using OOPS principles in Java. While I couldn't recall the exact problem, it involved designing a system similar to a banking application. Additionally, a behavioral question was posed: "Why do you want to join Agoda?"
Second Round: System Design (1 hour)
The technical question for this round was to design a location-sharing application. The primary focus was on the database design to manage location sharing among users, particularly concerning constraints where, for instance, user1 could restrict user2's access based on time and location. I also encountered behavioral questions: "Why do you want to join Agoda?" and "What is your reason for switching roles?"
Recruiter Screen/Feedback Sharing
This stage involved discussions regarding my expectations and the feedback gathered from the preceding interview rounds.
Third Round: Architecture/Platform Design (1 hour)
The technical challenge here was to design WhatsApp. Behavioral questions were again part of this round, including "Why do you want to join Agoda?", "What is your reason for switching?", and several other related inquiries.
Fourth Round: Cultural Fit/System Design with HM (1 hour)
This round featured a Low-Level Design (LLD) question: to design an elevator system for a building. Standard behavioral questions were also asked, such as "Why do you want to join Agoda?", "What is your reason for switching?", along with a few more.
Interview Questions (3)
Design a location sharing application. The primary focus should be on the database design to manage location sharing among users, especially considering constraints where, for instance, user1 could restrict user2's access based on time and location.
Design the WhatsApp messaging application.
Design an elevator system for a building. This was specifically an LLD (Low-Level Design) question.
Summary
I interviewed for a Full Stack Engineer role at Agoda. I successfully cleared the DSA round but struggled with the machine coding part, ultimately not receiving an offer.
Full Experience
I interviewed for a full stack engineer role at Agoda. I have 3 years of experience, with 2 years focused on frontend development. Unfortunately, I did not receive an offer after the interview process.
The first round was a Data Structures and Algorithms (DSA) round where I was given two questions. I managed to solve both of them, which allowed me to proceed to the next round.
The second round started with a discussion about a tool or technology I'm currently using in my projects. I was asked to explain it in a very simple way, which I believe I did successfully. Following this, I was given a machine coding task: to build a flashcard application. I was confident I could do it, but I struggled due to my weak foundational knowledge. This was a significant learning point for me, and I see it as an opportunity to improve and come back stronger.
Interview Questions (3)
In a game, each plane has a starting position above the ground level and a speed at which it is descending. The player character has a gun that can shoot one aircraft each second. The game will end if any plane lands. Determine the maximum number of planes that can be prevented from landing.
A robot has to start from a matrix from top left corner (0,0) and it has obstructions in the matrix (denoted by 1). Find the number of ways it can reach to bottom right cell (n-1,m-1). It can only move right and down movement.
Design and implement a flashcard application.
Preparation Tips
I realize now that my basics are weak, which impacted my performance in the machine coding round. I need to focus on strengthening my foundational knowledge and practice more.
Summary
I interviewed for an SSE position at agoda in Gurgaon. The process involved four challenging technical rounds covering problem-solving, system design, low-level design, and design patterns, ultimately resulting in a rejection.
Full Experience
I interviewed for the SSE position at agoda in Gurgaon, with 4 years of experience. The interview process consisted of four technical rounds, starting on June 7th, 2023.
Round 1: Problem Solving (45 Min)
This round involved a LeetCode Medium problem, quite similar to the "longest non-repeating substring." I was also asked to write down all possible test cases for my solution, which I did. I felt this round went well.
Round 2: Technical Discussion (1 hour)
This round began with questions about my past experience and projects. Following that, I was asked to design a High-Level Design (HLD) for an event streaming platform. I proposed a solution utilizing Kafka for service decoupling and to ensure independent scaling between producers and consumers. I remember clearing this round.
Round 3: Technical Discussion (1 hour)
This round was scheduled two weeks after the first two and was conducted by an Engineering Manager. We had a deep dive into my projects from my previous organization. Since I had worked on the payment side, the interviewer was particularly interested in refund flows. I explained my contributions, and he cross-questioned my approaches. Afterwards, I was given a Low-Level Design (LLD) problem for a Hotel Booking System and was expected to explain the code. I outlined the entities, their relationships, and the necessary APIs. This round felt okayish.
Round 4: Technical Round (1 hour with Senior Manager)
The final round started with questions about the design patterns I had used in my projects. I was then asked to implement specific patterns like Strategy, Singleton, and Factory, and the interviewer seemed satisfied with my implementations. Next, I was tasked with designing a rate limiter. We had a long discussion covering tradeoffs, essential system components, and suitable database types. I proposed a solution using Redis with TTL, but the interviewer didn't react much, and the time for the round ended. Despite that, I felt it was a healthy discussion.
Two days later, I received a rejection email. Overall, it was a good learning experience.
Interview Questions (5)
I was asked a LeetCode Medium problem similar to finding the longest non-repeating substring. Beyond just solving it, I also had to write down all possible test cases for my solution.
I was tasked with designing a High-Level Design (HLD) for an event streaming platform. The core requirement was to ensure decoupling of services and independent scaling.
I was given a scenario to perform a Low-Level Design (LLD) for a Hotel Booking System and was expected to explain the underlying code. The focus was on the structure and interaction of components.
After discussing the design patterns I'd used in my projects, the interviewer asked me to implement specific design patterns: Strategy, Singleton, and Factory.
I was given a problem to design a rate limiter. The discussion was comprehensive, covering various aspects like design tradeoffs, essential system components, and suitable database types for implementation.
Summary
I recently interviewed at Agoda for a role in Bangkok, bringing 6 years of experience. The interview process included two rounds, covering SQL, data structures, algorithms, and fundamental design principles.
Full Experience
I recently had an interview experience with Agoda for a role in Bangkok, bringing 6 years of experience to the table. The process was structured into two main rounds.
Round 1: Technical Screening
This round focused heavily on problem-solving, covering SQL, linked lists, and string manipulation. I was asked to:
- Write an SQL query to find the customer with the most orders.
- Implement a function to add two numbers represented by linked lists in reverse order.
- Sort characters in a string by their frequency of occurrence.
Round 2: Design and Concepts
The second round delved into more theoretical and design-oriented questions. We discussed concepts like Dependency Injection and Inheritance. There was also a Low-Level Design (LLD) problem that required the use of a Set-like data structure.
Interview Questions (3)
Write an SQL query to find the customer_number for the customer who has placed the largest number of orders.Orders table:
+---------------+-----------------+
| order_number | customer_number |
+---------------+-----------------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 3 |
| 5 | 5 |
+---------------+-----------------+
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list.Input: l1 = [2,4,3], l2 = [5,6,4]
Output: [7,0,8]
Explanation: 342 + 465 = 807.
Input: l1 = [0], l2 = [0]
Output: [0]
Sort characters by frequency of occurrence.Input: s = "tree"
Output: "eert"
Input: s = "aabb"
Output: "bbaa"