Agoda Interview Experience (Software Engineering Intern)
Summary
I interviewed for a Software Engineering Intern role at Agoda, cleared an online assessment and two onsite rounds covering DSA and system design, and received an offer.
Full Experience
Hi everyone! I recently interviewed at Agoda for a Software Engineering Intern position, and I wanted to share my interview experience. Hopefully, this helps anyone preparing for the process.
Online Assessment
The online assessment consisted of 3–4 coding questions, primarily focused on:
- Arrays
- Stacks
- Graphs
I was able to solve all the questions successfully.
About a week later, I received an email from the recruiter inviting me for the onsite interviews.
Onsite Interviews
There were 2 interview rounds.
Round 1 – DSA & Problem Solving
The first round focused on data structures, algorithms, and a few system-related discussions.
Coding Questions
1. Group Anagrams
I solved the problem using an O(n × k log k) approach by sorting each string. The interviewer acknowledged the solution but was expecting the optimized O(n × k) approach using character frequency counting.
2. Modified Version of Atomic Molecules
I identified the correct approach using a stack and implemented it. Although my solution had a few minor bugs, I was able to explain the overall logic clearly.
Discussion
Apart from coding, the interviewer also asked:
- Scenario-based questions on load balancing
- Different load balancing algorithms
- Rate limiting concepts
- Questions related to my resume and previous projects
Questions I Asked
At the end of the interview, I asked:
- How Agoda ensures the reliability and availability of its platform at scale.
- Whether the interviewer had any feedback on my performance.
Round 2 – Platform / System Design
Fortunately, I progressed to the second round, which was much more focused on system thinking and design.
The interviewer began by asking me to introduce myself and explain one of my projects along with its architecture. He also suggested a few improvements that could make the design better, which I found very insightful.
System Design Question
I was asked to design a chat application with the following features:
- One-to-one messaging
- One-to-many messaging
- Read receipts (similar to WhatsApp)
I approached the problem by first defining:
- Functional Requirements
- Non-Functional Requirements
After that, I moved on to the database design. I chose a SQL database for the initial design and, with a few hints from the interviewer, completed the schema successfully.
Other Questions
The interviewer also asked:
- What Docker is
- Why Docker is used and the problems it solves
Questions I Asked
At the end of the interview, I asked:
- Whether the interviewer had any feedback on my interview.
- His opinion on Agoda's engineering culture and the organization.
Final Outcome
After almost one month of waiting, I finally received an email from the recruiter informing me that I had been selected.
Since this was my first software engineering interview, I was definitely nervous and fumbled at a few points. However, I made sure to communicate my thought process clearly, explain my approaches, and actively incorporate the interviewer's hints and feedback during the discussion.
Overall, it was a great learning experience, and I'm excited to begin this new journey at Agoda.
I hope this helps anyone preparing for their interviews. Feel free to ask if you have any questions. Good luck!
Interview Questions (2)
Group Anagrams
Given an array of strings, group the anagrams together. Return a list of groups where each group contains strings that are anagrams of each other.
Design a Chat Application
Design a chat application that supports one-to-one messaging, one-to-many messaging, and read receipts similar to WhatsApp. Include functional and non‑functional requirements, database schema, and discuss scalability considerations.