I applied through a recruiter. The process took 5 weeks. I interviewed at Amazon (Seattle, WA) in Dec 2011
Interview
2 rounds of phone interviews, then 6 on-site.
Standard tech interview questions: binary trees, string parsing. Lots of discussion of memory management, performance, managed vs unmanaged code. Whiteboard coding of course.
I ended up in a conference room where the interviewers came to me... this means that there were no breaks in between, so it ended up being rather rapid-fire and I wasn't thinking as clearly by the end of the day. All the interviewers were really nice though and would have been good coworkers.
Amazon seems like a fast-moving company with a lot of cool stuff happening. They're getting big but they haven't realized it yet... they need to grow up a bit and realize that working people to the bone is not sustainable nor does it produce good long-term results. They offer a lot of money but it's not so mind-blowing once you figure in healthcare costs, no annual bonus, etc. Lots of stock in the compensation, so your comp is strongly dependent on how you think the stock will do. At a P/E of > 100 (as of 12/11), there's not a lot of headroom there.
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.
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.
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.