1) You get contacted by phone by the recruiter. We discussed the usual: my past experience, why do I wanna work for them, and stuff like that.
2) If the recruiter thinks you are suitable for the job, he sends a link to solve a timed exercise. I don't remember the problem buy it was mid difficulty. Something to do with magic numbers and arrays.
3) I suspected they do not look at the solution, if the code passes the unit tests when you submit it, you are still on track, otherwise it ends here.
4) They offered to interview me in person in Santiago, Chile. If you do not live in the city, they pay for the plane ticket to get there. The technical interview consisted in 4 stages, each step with two developers and 45 minutes each, 2 were about solving algorithms in the whiteboard and 2 were a systems design question. I'll post the questions I remember.
I thought I did pretty well in 3/4 and the last one I struggled too much to solve it. I did not get an offer, it seems their decision has to be unanimous for a candidate to get an offer. I have to say that the devs were very nice and if you get stuck they help you get back on track (I suppose this is not good for you though in terms of points)
I put negative experience because I felt that if this was not for Amazon, I would had got an offer for sure. And let's face it, they are not NASA or something like that to only be targeting geniuses. Maybe I just did not fit their expected dev profile.