I interviewed with all of FAANG last year and got rejected at the onsites. I mostly used to memorize leetcode solutions and make notes on those questions which went wrong or took long time. I am slowly getting back to interview prep but feel like I cannot improve my ability. What can I do to prepare better for FAANG interviews? Not sure if there is a better way to grind as I end up spending long time on the problem and give up.
Keep trying. Every failure is another step to success. There is luck involved also.
Great post. Was about to go and memorize leetcode. Seems it doesn't really work
You had me at “memorize Leetcode solutions” - there you go FANG, please hire your Best People - bunch of Leet-fappers
Stop wasting your time memorizing and "grinding". If you can't explain what your code is doing and why, or adapt it to new constraints, then you might get through a phone screen if the interviewer is tired, but you'll fail onsite. Focus more on being able to break down problems you haven't seen before and turn them into code. Work on a variety of projects and learn which approaches are useful and readable. In other words, get good at programming.
I got hired by Google without ever even knowing about any of the interview prep sites. I now interview at Google, and I still don't really know what those sites teach, but I'm pretty sure they won't help much with my interviews. I give simple straightforward coding and design questions, based on real life requirements I've encountered. No puzzles, no esoteric algorithms. I'm looking for you to turn my vague requirements into a design, asking me lots of clarifying questions to make sure you understand. I'm expecting you to turn that design into code that is idiomatic and demonstrates your familiarity with the programming language. I'm expecting you to be able to have some sense of the big-O complexity of what you are building, but I'm not fussy of you get it exactly right. I expect you to talk about corner cases and testing. Most of all I expect you to communicate clearly. I'll also ask you non-technical questions in the form of case studies probing your product sense, your user focus, and your ability to handle tricky people-issues in a team.
This is ideally how it's supposed to be done. Sadly, the industry is turning to leetcode.
Can you provide a sampling of some technical and non-technical questions?
I check the solutions of those which i am unable to solved..but I dont write code rightaway, instead revisit them after a week and try to solve them without referring any solution..
I was experienced non fang
Leetcode without fundamental CS knowledge is pointless. You should be doing zero memorization of Leetcode stuff. The point of doing Leetcode exercises is to be able to come up with the solution yourself - not to look at the solutions! You need to sit down with Cormen’s Algorithms and a few other data structures and algorithms textbooks, really understanding them. Your crystallized knowledge here should be the trade offs in computational and space complexity for different operations on different data structures. When you know that, you can pick the right data structures for the given problems and constraints. With that knowledge, your practice would have been useful to you, you’d be able to explain your reasoning better, and you would be more likely to get offers.
Take an active interest at work to suck up and learn from the bright engineers on your team. Go home and translate that into what level of thinking it takes to become a better engineer. Make CTCI your bed time reading material. Read 5 pages per day. Then leetcode medium on the weekends. Weekday leetcoding should strickly be leetcode easy. Do this for 6 months. After sometime you will notice that leetcode mediums are easy for you and you will start doing them during the weekday, leaving leetocde hard for the weekends.
easy LC during weekday..Good suggestion man!!..thanks
Forgetting a solution is pretty common for me..Do you guys revise every month or so.