I currently work at Google, I recently inteviewed with Facebook, Amazon, and Apple and I got offers at the same level for all three of them.
I can't mention which questions I was asked specifically because of NDAs but I'll go over my experience and offers.
I prepared for 3 weeks probably solving around 40 mediums and 10 hards. Keep in mind I am already at Google so I am not starting from zero.
I think the best metric you could use is that you should be able to solve LC mediums in 25 minutes or less on average.
Facebook was the easiest of all three because Facebook asks questions exactly as they appear here. I recommend going through this list:
https://leetcode.com/discuss/general-discussion/675445/facebook-interview-experiences-all-combined-from-lc-till-date-07-jun-2020
Also if you can afford it, pay at least a month of LC premium and trying the Mock FB phone-screen and on-site interviews as well. I got repeated questions ocasionally but the timed questions really help put pressure on you.
Coding
All interviews are 45 minutes long, I got 4 coding and 1 systems design.
One problem I can see some people struggle with is that some interviewers will either ask 1 hard or 2 medium or 1 medium+behavioral. You also have the intro chit-chat and a couple minutes can be lost between interviewers switching.
So you really should aim to solve LC medium in around 20 minutes.
I think solving LC medium on 20 minutes is challenging unless you have done hundreds, but the good thing about practicing the questions I linked above is that it's almost guaranteed they will ask them to you so even if it took 40 minutes when you practiced on LC, you should be able to solve them in 20 minutes the second time.
However.. don't just jump to coding. Go over your solution verbally first, and pay attention to hints.
System Design
For the system design, I got a question regarding a Frontend, API design, DB design, and common serving problems such as caching.
For this I think these 2 resources were very useful to me, but again, keep in mind I'm already at Google so system design and distributed systems are not unfamiliar to me:
Offer:
200 base
650 RSU quarterly over 4 years
70 sign-on
No deadline, recruiter said I can accept even after 6 months but I may need to take a phone screen if I wait longer than 3 months.
Amazon which I consider to have the lowest bar for entry level was definitely not the easiest this time. Just like Google, Amazon asks questions that are similar in nature to LC but they have a twist to it. Expect the interviewer to ask follow up questions on your solution.
Coding
I had 2 coding rounds, 1 LC medium on each, nothing exciting to mention here except that interviewers asked follow up questions.
You have to understand what you're doing on LC, don't just do pattern matching, understand what you're doing.
Behavioral
Look for the STAR method and get at least 5 or 10 situations.
Everyone will ask behavioral question but Amazon seems to care the most about this!
System Design
1 REST API design question, it was easy but I think I did the worst here as I was a bit nervous.
1 Frontend design question, this question was about making design choices on your tech stack as well as considering tradeoffs. I think the best way to describe this question is "What would you do if you are the TL?".
For both questions 2 things may be relevant, Amazon cares about localization, this means that you need to think about translations and currencies. When talking about money don't use a numeric value, use an object with value+currency, and remember there are taxes too!
Offer:
160 base
600 RSU over 4 years 5%/15%/40%/40%
350 guaranteed cash monthly (200 year 1, 150 year 2)
1 week deadline
Apple was the weirdest one and half of the interview I didn't even know what was going on.
I read that the interview process depends a lot on your team so YMMV.
I also think Apple was the friendliest one out of all, but the least diverse.
Coding
I only got 1 coding question about implementing a function for an API and then adding unit tests and handle errors.
I had 2 interviewers and 1 of them was kinda lost with my answers so I was very lucky the other one understood what I was doing.
Apple was the only one who actually asked me to RUN THE CODE! This can be scary because of course you'll forget a comma here and there.
System Design
I had 3 design questions
One was full-stack and API design, but we went off on a tangent and we ended up discussing the implementation of a tool and how I would make it better.
Another one was regarding frontend development and scaling challenges.
And the last one was regarding distributed systems but we also went off on a tangent and we ended up discussing about infrastructure and my opinions about some things.
Now, I think my case is probably going to be different than most, but I think the reason we went off on a tangent is probably because they didn't want to discuss a toy problem and instead they noticed I had hands-on experience on something they work on and it's probably easier to eveluate a candidate based off a real example.
Offer:
200 base
600 RSU quarterly over 4 years
70 sign-on
3 week deadline
I interviewed Facebook > Amazon > Apple, and I got the offers in Amazon > Facebook > Apple order.
Amazon gave me a verbal offer of 330k but I didn't accept as this would be a lateral move for me, they increased their offer to what I posted above. I think Amazon was the juciest one but there is a catch with their Total Target Compensation policy.
In short, Amazon sets a target for your compensation and looks at your current vesting stock to determine how much new stock to grant in a refresher. So if Amazon stock performs well you don't get more refreshers. There's also no year-end cash bonus.
Amazon also has very little holidays and it offers the least amount of benefits, especially if you plan to have children soon.
Facebook gave me the same numbers you see on levels.fyi but pushed upwards because of Amazon offer. The recruiter was very friendly but they wanted me to give them my numbers. I'm not very good at keeping things hidden so I just gave them my numbers.
Apple said they would not negotiate after the verbal offer so I should tell them my numbers, this is kind of annoying but I just gave them my numbers plus some extra push. They actually gave me less of what I asked but not by much.
I ended up going with Apple, I can always go back to Facebook's offer if I don't like Apple, but all three are amazing companies to work at, so I expect either option would have been a good decision.