I am Phd student in CS.
I recently got an intern offer from Google for Summer 2020. I have been practicing LeetCode problems for more than two years. Other than the LC problems, I have used the educative courses to help me prepare the coding interviews.
I found Educative: Interactive Courses for Software Developers is a great platform to learn how to do coding interviews correctly. They offered several courses for coding interviews, among others. What I like most is that they would tell you the ins and outs of these coding questions. And they break questions into different groups, patterns, as they say.
For example, in their Grokking the Coding Interview: Patterns for Coding Questions, they have patterns like:
In their Grokking Dynamic Programming Patterns for Coding Interviews course, they break problems into:
Usually, the author would go through the questions and solve them with
This is great since we practice three ways of problem solving at a time.
I was trying grinding LeetCode for the past year, but that was kind of intimidating, since there are more than 1000 questions here now. So we need to do the preparation in a smarter and more efficient way.
The above two courses helped me the most to prepare coding interviews. Of course, you will find their System design, and OOD courses there as well.
LOTS of people recommended the System design to prepare the System Design interviews, especially for those who are looking for senior positions.
I think that the combination of educative and LeetCode is a perfect match, in order to excel at our coding interviews! As we know that the LC discussions are the best to learn from our fellow friends and coders!
Big thanks to educative.io and I will definitely keep learning from you and get better!
Happy learning and coding!