Currently I am prepping targeting Google in mind. Focused on improving my problem solving skills through leetcode. Currently I am targeting to solve medium LC in 30 mins. Are there any other areas I need to work on? I have come across a couple of posts where they mention to work on Math/statistics? Is that true? If so. Are there any guidelines/topics I need to cover? YOE: 2 Tc: $120k TIA
Yes, you can get asked math and statistics questions. Basic counting probability should suffice, but unless you review it, it can be hard to remember on the spot. Also, you need to target LC Medium at 20 mins to be competitive.
Is there any book I could follow?
Elements of programming interviews does a great job explaining how you would approach each problem if you were given that problem in an actual interview. Skienna Algo design manual is great for general concepts in algorithm design. For the probability questions, if you took a discrete math course in college, reviewing that material would be helpful cause you’ve already used it before.
Yes, I currently spend max 2 hours on a question and try to solve for few working test cases if not 100% through LC. I am currently solving the top liked/top interview questions to cover a broad range of questions
That’s good initially but you’ll find you’re weak in some areas and strong in others after 20 or so problems. Give more attention to your weak areas after you figure out what they are.
Sometimes I solve a question after spending an hour on it. But when I return to the same question after couple of weeks, my speed is usually the same. How do u suggest I improve on speed
🍿
I wouldn’t worry too much about stuff like LC. You need: - A solid understanding of your chosen language, including string APIs. - Basic data structures, trees, arrays, sets and hash tables. Understand the complexity for each (I think it is useful to understand the implementation for hash tables and dictionaries but it isn’t really necessary). - Be able to break down a problem quickly and verbalize a solution. You need to do this before you start coding because not understanding the problem is a sure way to tank an interview. - Be able to code without an IDE, either on the whiteboard or a basic text field. Code should look like it would compile. - Be able to talk through a solution to ensure it works. - Understand how you can do basic optimizations, typically using some sort of cache (dictionary/map table) to avoid repeated computation. - Basic O(n) stuff. - Understand that you really only have about 30 minutes of coding time. Questions are designed to reflect this. So should your answers. - For more specialized areas, you need some domain knowledge. The interview process is not that hard, candidates fail for a variety of reasons, but I never think it is due to insufficient LC. Having practice on a variety of problems may help but if you focus too much on that you are missing a lot of key skills.
Great advice 🤘
As much as I want to agree with this, it’s not always true. I had an interview at Google where I was asked LC hard question that had a specific trick ( I learned it afterwards). I could not get the “optimal solution” in 30 mins.
When you mention "key skills", what are you referring to
The things I listed above.
Ok got it! Thank you! This helps
Two other things: - Ask clarifying question. Problems are often intentionally vague. - Listen to your interviewer. If they say something like “can you think of a situation where that won’t work” it almost certainly means they can.
I first watch courses on Coursera for DS&Algo topics than try to solve question under 30 minute. I spend 15 min to come up with most optimal solution. Next 15 min spent on coding and debugging. Most of the time I come up with some solution for LC Easy/Medium. If I don’t able to found any solution under 30 min I search on internet and try again. Once my solution is Accepted by system than I read the solution provided by LC. - Make sure you are very good at system design if you are experienced.
Tech Industry
15h
1691
What is the appeal to NVIDIA?
2024 Presidential Election
16h
1429
If you vote for Biden this year, don't complain about layoffs
Software Engineering Career
5h
2369
28 terrorist worshipping idiots just got themselves fired and I've never been prouder to work at Google.
Layoffs
12h
8313
Google CFO confirms "large-scale" layoffs today (Apr 17)
Tech Industry
18h
5898
Goog Employees Arrested
Just do a lot of leetcode. Important : Don't try to view the solution unless u try a lot and absolutely give up.
View the solution after you’ve been thinking pass 20-30 minutes. Anything after is inefficient.
How does this improve ur problem solving skills. I did this in the beginning, but I almost never could solve it again after spaced repetition