I applied online. The process took 4 weeks. I interviewed at Agoda (Bangkok) in Nov 2017
Interview
Applied online and heard back after a couple weeks. First stage was a discussion with HR regarding the position and my background. After that I had several interviews with team members
Interview questions [1]
Question 1
Why this position?
Why do you think your experience is suitable for the position?
I applied online. The process took 3 months. I interviewed at Agoda (Bangkok) in Aug 2019
Interview
It was lengthy and rigorous. We took a deep dive into threading. Upto OS level. Yes you read that right.
So the process started in the month of September when I was given a hackerrank test. I cleared that and Agoda scheduled 2 tech interview rounds in a single day on bluejeans. These were moderate level rounds.
I was, after 10 days, told that the position has been closed and they will contact me back in a few months once they have a position open. But the contacted me again after 20 days. They scheduled one final round of bluejeans interview which was also of moderate difficulty.
I cleared this round and was called to Bangkok for face-to-face interviews with development managers. I faced 5 technical interview rounds from morning 10 to evening 5 with a 2 hour lunch break. The interviews were difficult. They focused on my technical knowledge and design skills.
The interview didn't have general problem solving like those at Amazon or Google. They had problem solving of their own kind which expected less code and more tech skills and design skills.
The tech discussions went as deep as how are threads created and managed by the OS. We also discussed a lot about projects on my resume. Went too much in depth of those projects too.
Finally after 4 days of the interview, I was called again on bluejeans and was extended the offer of a Senior Software Engineer at Bangkok.
Interview questions [1]
Question 1
1. How can you manage thousands of requests at the same time? All the requests cannot be processed at the same time. How are you gonna keep them waiting? Explain the architecture.
2. A global variable `x` is initialized to `0`. A function `f()` has a loop which runs from i=0 to 5 and increments value of `x` at each iteration. If `f()` is called once, when `f()` completes, the value of `x` will be 5. Now in our `main()` function, we create another loop which runs from j=0 to 5 and create a new thread in each iteration, and each thread calls `f()`, what is the maximum and minimum possible value of `x` after this loop ends?
3. I had a project on my resume in which I had implemented traffic distribution to different servers using percentages. For ex. if I have 3 servers A,B and C and I need to distribute 20,50 and 30% of traffic to each respectively, I could configure my system to do that distribution approximately. It is possible that there may be fluctuation of 3-4% at the end of the day in the distribution. So instead of A getting 20%, it gets only 18% while C gets 32% of the traffic.
So the interviewer asked me to implement a system that distributes traffic to my servers strictly as configured and not approximately. Then also added a use case that what happens if I introduce a server D and want to divert exactly 1000 requests to it per hour? Not percentage wise but request count wise this time.
4. A new user signs up and a new integer id is to be assigned to a newly created user. And this needs to happen in parallel. And needs to be replicated across 5 data centers. Design a system to do the same.
5. Design an elevator system. Draw class diagram for same. The elevator system of the office building was very high-tech. If you are at elevator labelled `G` and you press the up button, you won't necessarily get elevator `G` but you might end up getting elevator labelled `F` if `F` is nearer.
I applied online. The process took 2 weeks. I interviewed at Agoda (Kuala Lumpur) in Oct 2019
Interview
1. phone interview by a recruiter from Hong Kong 2. took a written test 3. face-to-face interview. I was told by a friendly recruiter that the interview would not be carried out the usual, traditional way, it would be more fun, just like a chit-chat, but persoanlly, I think that interviewers are quite solemn (recruiter and interviewers are differnt ppl). I am not a fresh graduate and I was told that I am the oldest in the department I was interviewing. The interviewers made it clear to me that age is an issue in this company, which I think is understandable. I mean they were just worried that I could not adapt to their culture. But I would appreciate it if my application was rejected in the first place since my age and years of working experience are clearly reflected in my resume.
Interview questions [1]
Question 1
What is your career vision? I agreed that you have relevant working experience, but that was ten years ago. Do you still it is still useful? Do you mind if your superior is younger than you?