I've been actively struggling with FAANG interviews. Came to a few realizations I wanted to share:<p>- As much as they tell you it's about showing how you "think", that's only true if you get to the solution with very little help
- It's mostly luck that you'll get questions that you've seen before while practicing
- It seems like most companies are using Leetcode medium/hard now for anything that isn't a new grad
- You're racing against the clock to find the trick to the question<p>First point, many times I would get stumped and interviewer offers hint. The moment the interviewer needs to offer you a hint, it's likely you're done. Unfortunately the bar seems to be really high in that regard. This might be a bit of luck, where you get a compassionate enough interviewer who understands that nerves always come into play, but who knows.<p>Second point, it really builds from the first point. The more problems you do, the easier it is to pattern match, and the more likely you are to not get stumped or need hints.<p>Third point, I think that things like CCTCI and LeetCode have essentially forced companies to raise the bar. Now everyone will grind leetcode to get through, so it creates a feedback cycle where interview committees think that their questions might be too easy, so they need to raise the bar.<p>Finally, you only really have about 15-20 mins to solve a problem in a given 45 min interview. You lose about 5-10 mins of chat with the interviewer. You're left with 30 mins, of which you probably need to think through the problem for about 10-15 mins to find the optimal solution. DON'T bother implementing inefficient solutions. Others will have grinded leetcode and will "figure" out the optimal solution in a few minutes. If you can't do same, you've likely lost the interview at that point unfortunately.<p>Beyond that, any tips here to help a fellow developer? Any inside perspectives that suggest what I'm saying is completely biased and wrong?