One of my friends works for Amazon and helped get my info entered in their referral process. That connected me with a recruiter who would guide me through the interview process. Early on, my recruiter mentioned that there were many applicants currently interviewing and I'd have to wait a bit. I reached out to him every few weeks asking for updates but it was usually the same response. It was peak recruiting season, so I imagine I was slowly making my way through their queue. It wasn't until nearly 3 months after my initial contact that I could step out of the on-deck circle. And take my swing at home plate.
Similar to many of the SDE internship interview reviews here, I went through 3 stages:
1) The first stage consisted of an online assessment with two parts: a code debugging section with a 20-min limit and reasoning ability multiple choice section with a 35-min limit. The debugging portion was pretty straightforward. You're given existing code and asked to find the bugs in each. You're allowed to run the code and see what output it's currently giving. The reasoning ability was a bit tougher because it throws a bunch of (English) word problems at you and you need to concentrate pretty hard to determine the correct answer. Note: I ran out of time before answering every question in the reasoning section. Maybe answered like 80% of the answers.
2) One day later, I got an email for the next online assessment. This second stage involved a coding section for 70 minutes (in either Java, C, or C++) and a work style survey for 10 minutes. The coding section was tricky because the problem statements were pretty long. It's kind of intimidating when you're rushed for time and presented with a huge pile of words to digest. (But this is reality for online technical interviews!) Luckily, none of the questions were too difficult, and I was able to finish both of them in time. My solutions may not have been the prettiest and cleanest, but I documented my code well and tried my best to think about space and time efficiency. Note: I didn't pass every single test case. The 10-minute survey is mostly your personal preferences in a work environment. It wasn't stressful at all. I'm unsure if your answers here can affect whether you advance to the next round or not.
3) 5 days later, I got another email inviting me to respond with some dates/times I'd be free for a virtual interview with a current Amazon software developer. This (last) stage is designed to be 45 minutes to 1 hour and involves technical questions, in the form of basic programming questions and (as usual) algorithm questions. I think this experience differs from one applicant to another because it really depends which SDE you get paired with and the questions he/she asks you. My interviewer was attentive and willing to help whenever I got stuck. Most of the hour was spent on a single question consisting of multiple parts. Make sure you speak aloud what you're thinking, so that the interviewer can gauge your thought processes and also chime in with his/her own suggestions. The more comfortable you can appear with your interviewer, the better the situation will be and hopefully the more successful. Be enthusiastic. Be optimistic even if you get stuck. Doesn't hurt to send a follow-up/thank you letter afterwards.
About a week after the interview, I hadn't heard back yet, so I emailed my recruiter to see if any updates were available. He mentioned that they should get back to me within a week. But later that night, an email landed in my inbox: "Congrats from Amazon". Home run. Praise God.