I applied through a recruiter. I interviewed at Amazon (Pekín, Pekín)
Interview
I'm applying for an android mobile development position.
First round: two InterviewStreet online test. Very simple.
Second round: One-hour interview with the hiring manager.
* behavioral question: What's the project that you think shows your technical ability the most?
The interviewer just want to hear my detailed description, but didn't discuss further with me about where to improve.
* coding: Given a string (0-9a-z), use run-length encoding to compress it. For non-consecutive letter, don't put 1 behind it in the compressed string.
Third round:
* Simple implementation of DFS/BFS
* Given one day's stock prices, find the buying/selling point that maximize the profit. (I've met this problem before, so the interviewer gave another one instead)
* Substring search, brutal-force and KMP. If the original string is very very large, how to optimize
Fourth round, HR: How are you doing this your current company? What's your major achievement (in technical detail)? Why want to change? Why choose Amazon? Why this position? What's your current salary and your expected salary?
Fifth round:
* Design a toll system for highways
* Same stock price problem with the third round
Sixth round:
* Describe the design of your little android game (I did some android dev causally before)
* Describe the design/architecture of one of the feature/system you own in your previous work. The interviewer will try to understand and propose some improvements, and you will try to give some solutions.
Interview questions [1]
Question 1
Notes:
* The last four rounds were taken in one afternoon for about five hours.
* Amazon HR is quick. Usually you will hear from them within a week.
* English skill is important in amazon.
* Read Amazon Values first before you go to its interviews.
* It seems conference rooms are always full in Amazon
Interviewed for silicon team. Have only been asked about the domain specific knowledge in 1st round and system design in 2nd round and C coding in 3rd round.
The interviews were 50 mins each.
First round with hr screening - 2 leetcode questions then hr manager screening then the loop which consists of 4 interviews each an hour long. The 4 interview questions they asked where three medium leetcode questions. And one system design interview question about how to shadow deploy a test software to millions of users.
The phone screen went longer than expected, focusing heavily on implementation details. The interviewer really grilled me on my approach to a Least Recently Used (LRU) cache, asking how I'd combine a hashmap with a doubly linked list. I felt well-prepared since I had gone through system design examples on PracHub, which made me comfortable discussing eviction policies. The later rounds included more technical questions and behavioral interviews, but in the end, I received an offer, though I ultimately decided to decline. Overall, I’d say the process was average, with solid questions.
Interview questions [1]
Question 1
Design and implement a Least Recently Used (LRU) cache supporting get(key) and put(key, value) in O(1) average time. Walk through combining a hashmap with a doubly linked list, eviction policy when capacity is exceeded, and how you'd extend it to handle thread-safe concurrent access.