First time for me interviewing with one of these big companies but I think it was a fairly common thing. I've been doing mobile and all sorts of other stuff for over a decade.
I failed at the first face to face round after passing their initial coding test round so the following might just be me being a bit bitter but in a way I was happy not to have to do 3 more rounds of interviews like the first face to face one I'll describe below.
The coding test round was just one of those online here's a coding problem now come up with a solution thingies that all these companies use. Unfortunately for a company that brags about hiring the best and all that the one Amazon has developed is basically terrible. Think of someones idea of rewriting Intellij in JS and giving up when the code completion works to the point that it'll insert random lumps of complete garbage into your input. Having a timed session with the tools fighting against you is incredibly frustrating to say the least.
Anyhow the problems there weren't especially difficult. If you pick a language that has a decent standard library like Java does you should have no problem doing most of it with some branching and loops. I would not suggest picking C even if you are Dennis Ritchie incarnate because you wouldn't enough time to implement all the small tools you get for free with the other languages available.
The face to face round consisted of a question to make sure you're the right personality fit (Google the Amazon principles, make up an answer that suggests you care for each) and then a whiteboard coding exercise.
I think I messed up at this stage because I was basically trying to show to the interviewer that I know about the language, know about how code gets reused and why to do it cleanly in the first place etc when basically the interviewer is looking for a solution and name dropping some data structures.
Yes, you should be name dropping data structures. It doesn't matter that you're going to be developing a mobile app and the most complex thing you'll touch is a tree.
I was asked what data structure I would use for something and I said I'm using recursion so I'm using a/the stack and I wasn't sure what the guy was getting at as it was pretty obvious to me. Anyhow that messed up my thinking and I didn't fully solve the problem and it was basically over at that point.
I think the interviewer was nice enough to humour me by letting me ask him questions about the company etc before ending the interview but I was pretty sure it was already done with.
For anyone considering Amazon I would say go for it. It's one of the very few places you could work in Japan without JLPT 1/N1 and earn a decent salary. However I would suggest preparing for the interview process as if you were preparing for a computer science exam and not as if they are actually trying to work out if you can do the job.