I actually thought it was much easier to get an offer from Facebook and Google than Apple. When I was a new grad a year ago, all I had to do to get an offer from FB or G was LeetCode. Interview questions were predictable. I actually saw all my FB questions from LeetCode. My interviews at Apple were much tougher. I felt “thank god I learned this at school” after my interviews. I was asked a series of questions on OS, TCP stack, distributed systems, concurrency, cryptography and of course some straight forward algorithm.
Apple and Microsoft are very much group dependent and difficult to generalize. Microsoft’s Hololens team interview is quite detailed (especially domain specific interviews) and I feel they have a relatively high hiring bar.
From what I have learnt from ppl who work there, there is no centralized and standardized hiring process like Amazon where fresh graduate hiring is now almost automated.
It’s really team dependent. Apple also thinks differently about hiring. It doesn’t care about every member being an expert, but it will pay ridiculous amounts to an expert and then they will be surrounded by not so experts to get work done who are probably paid lower than what FANG would offer.
Also I have found that being able to LeetCode is rarely a metric for engineering success. Team culture, leadership, communication and other skills matter more once you have an expert in the team.
I was hired a couple years ago. After about a year I was added to the interview panel rotation. I learned that when we’re on the fence about someone, it triggers an additional phase in the interview process. I went through that phase myself, so I know my panel was divided about me before I was hired.
Some people interview well and some don’t. It’s important not disqualify the latter and find ways of letting them prove their qualifications in other ways.