Agoda Bangkok interview experience, Senior Software Engineer June-July 2025

Screening Round: 30 mins

Recruiter will ask a lot of questions why you want to join Agoda and Bangkok. They are pretty nice and be confident, also talk a bit about your experience, you should be fine. 30minutes

Coding Round: 1 hour

  1. Standard 3 Sum problem
  2. Longest Substring Without Repeating Characters

Platform Round: 1 hour

This was a bit different round. Test you on microservices concepts like rate-limiting, load-balancers, caching, sync vs async communication, message queues, db-replication, sharding/partitioning etc

They will provide a design and you have to figure out what can you improve. Some booking/data fetching system related to booking, like adding LB, rate limiter, messsage queue (based on design whatever you get)

Question asked: A service is exposed to external clients that can call it to fetch the bookings by providing the date range.

Ask is to enhance the design on different levels:

  1. Infra level: using caching, managing db load, checking db bottlenecks, rate-limiting
  2. Authentication & Authorisation of external clients
  3. Enhancing the request payload: Which data types/formats for start & end dates. Should we use UTC to avoid translation? Should there be a uniform date format or client may choose?

Architectural Round: 1 hour

I was given a rather unusual problem in this round. It was more of LLD round rather than HLD.
Question asked: I need to implement a shadow-testing framework. There is a function a() which is replaced by a_updated() in the new code release. We need to check the differences in the outputs for these two functions for different set of inputs. Also the testing-output needs to be persisted and test-run needs to be tagged with feature_id

How I approached:

  1. Clarified whether the ask was to create HLD for shadow testing component or write code stubs for LLD. Was told to proceed with LLD.
  2. Started simple: assumed a function signature int f1 (int a, int b)
  3. Then extended to use generics for data-type
  4. Then added the persistence layer support with supporting entities like feature, feature_tests, test_execution etc.

Hiring Manager Round: 1 hour

Was asked about mentorship, mistakes, experiment, trade off, conflict, etc, etc.
Overall: Agoda recruiters are pretty good with detailed feedback and how to prepare for interviews each and every round I mean. They provide docs and links to study for.

  1. Situation where team decided to take different approach than suggested by me
  2. Which one I prefer more: work on a new project from scratch, or that is already built and stable etc
  3. How would I respond if I am not given the type of work I wish to work on.
  4. Techinical questions related to building multi-module project. How to maintain the project dependencies. Usage of arch-unit etc
  5. Given a new project which needs to integrate with different external payment-instruments. How to model this in code-deisgn. Which principles to follow like Clean Code Arch, Domain Driven Design. When to break to micro-services etc.

Please upvote if you found this helpful. I decided to post this because I got immense help during my preparations from Leetcode Discuss :)
#Agoda

Comments (2)