Agoda | Staff Software Engineer
860

This was around July 2026, for the role of Senior Software Engineer (Frontend) at Agoda's Bangkok office, with relocation and visa support. All interview rounds were online on HackerRank. Each round happened with a gap of a week.

I applied directly through Agoda career website. The invite and interview round timing coordination were done on email entirely.

Actually I had applied for "Staff Software Engineer" but after round 2, I was down leveled to "Senior Software Engineer".

Round 1

Two DSA questions, easy level, on HackerRank, total 1 hour.

Question 1 was Leetcode 1331 - Rank Transform of an Array

Question 2 was Leetcode 70 - Climbing Stairs with a modification of jumping up to 1, 2 or 3 steps at a time.

Solve the question, explain the time/space complexity. Two additional quick verbal questions were:-

  • If you had to test this function you wrote, what all test cases you will write. Also tell other kinds of testing such unit tests, e2e tests...
  • Before raising a PR, what all we should check/do?

Round 2

This was a focused 1-hour Q&A on web fundamentals. These are the questions I can remember.

  • Techniques to optimize page landing speed
  • A bit about SSG, SSR, CSR, ISR
  • List core entities for hotel booking page.
  • What things would you cache in CDN, how updates will happen to them.
  • How CDNs work?
  • What are different ways to store data on client side? (local storage, session storage, ...)
  • Where will you store the authentication token? What are advantages, disadvantages, and security implications of each storage
  • What is CSRF and XSS? How they happen? What is the mitigation for it?
  • What are different ways to store data or do state management in React? (local state, props, context api. External state management libs like redux)
  • On hotel booking page, what are different ways we can store the state of selected filters? (state, query params ...)
  • How do you measure web page performance? (Core web vitals performance metrics)
  • How would you track the funnel conversion i.e. How many users went through this flow of search -> view -> book -> pay, and how many at each stage?
  • Different testing strategies and best practices for them? (Unit test, integration test, screenshot test and example/boundary for each)
  • How would you manage test failures happening not because of your own code? (mocking those external deps, using mock servers, add a retry for flaky test, make tests independent of each other ...)

Round 3

This was a 1-hour round focused on frontend architecture. The question was:-

Design a hotel search page from scratch. The design should be scalable, maintainable, and observable. It should have real-time chat integration. It should support a million users, multiple teams, have flexibility of deploying multiple features with fast iterations. The UI should be like this:-

  • inputs for from/to date, city, people count on top
  • on left side have filters for hotels like rating, amenities, pet friendly etc.
  • And on right have search result cards showing hotel name, price, location, reviews, images etc.

Do note that no diagram-drawing was expected. The page UI wireframe was already there in the question. The discussion went on lines of Micro-frontends, monorepo/multi-repos, how will it be built & deployed, how teams will deploy being independent. Why will you select a lib/framework/tech stack, what do you use today, what have you used earlier and why, and deeper follow up questions from the answer given. How would you store the selected filters on the search page? How will you break this page in components? Where will you keep the input box and filter states on UI, in which components? Other topics were bundler selection, testing architecture, monitoring.

Result

I got rejection email after round 3. I think I was not able to answer monorepo & micro-frontends how/why/what/when well enough.

I wish you luck with your interview.

Comments (1)