Agoda Interview Experience (Software Engineering Intern)

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!

Comments (2)