0% completed
Who Should Take This Course?
On This Page
Who this course is for
What you need before starting
What you do not need
Where to go next
You may know this feeling. You have solved a few hundred practice problems. Then a new one appears, and you still do not know where to begin.
Random practice does that. Each solved problem gives you one answer, and interviews rarely repeat exact questions. This course teaches the technique underneath instead. Once you have it, a question you have never seen looks like one you have already solved.
Who this course is for
You are preparing for your first coding interview. The course opens with easy warmup problems, and the difficulty grows slowly. Every solution is explained step by step.
You work as an engineer, but you have not interviewed in years. Most day jobs rarely ask for algorithm work, so the skill weakens with time. This course rebuilds it in an organized way, one technique at a time.
You practice a lot but stopped improving. If every new problem still feels new, you are collecting answers, not techniques. Learning the pattern behind each answer fixes that.
Your interview is soon. You do not have time for a thousand problems, and you do not need it. One pattern, learned properly, covers dozens of problems at once.
What you need before starting
This course assumes three things.
- Common data structures. Array, LinkedList, HashMap, Stack, Queue, Heap, and Graph. You should know what each one stores and what it is good at.
- Big-O notation. You should be able to look at a loop and name its cost.
- Recursion. You should be able to read a function that calls itself and say what it returns.
If you want to review these first:
- Data structures: Grokking Data Structures for Coding Interviews
- Recursion: Grokking the Art of Recursion for Coding Interviews
- Big-O: Big-O Algorithm Complexity
What you do not need
- Prior interview practice. Every problem starts at the statement and explains each step to the answer.
- A computer science degree. The three items above are the whole requirement. Where you learned them does not matter.
- A fixed choice of language. Every problem is solved in Java, Python, C++, JavaScript, C#, and Go. You can switch languages inside the code editor on any problem.
Where to go next
The next lesson explains what a coding pattern is and what this course contains. The one after it answers the practical questions: the right order, the right pace, and when to read a solution.
For feedback, comments, or suggestions, write to us at contact@designgurus.org.
Happy learning!
Arslan Ahmad
Leo Alferez
· a year ago
Hi,
I am confused on whether or not this is a design patterns course? I started doing some of the warm up problems and I really like the course. Either way even if it's not a design pattern I still thing It is worth trying.
yubaraj.100mgr
· 3 years ago
Video explanation of each question solution would be very helpful, very hard to understand with just reading
Deepali Tolia
· 3 years ago
There are too many sources for these prerequisites making it difficult to select which one is good and compatible with how this course is designed as those courses also include the topics in this course and making the learning process confusing.
k
· 3 years ago
It will be helpful if you could suggest the course for basics. Any website/Course/Pdf will also work.
Prerequisites as mentioned in the course are:
"You need to have a basic understanding of common data-structures like Array, LinkedList, HashMap, Stack, Queue, Heap, and Graph. You should also be familiar with Recursion and Big-O."
Catz Tek
· 3 years ago
I think we should add a final test to cover all of the patterns with multiple problems and not show which pattern will be used in each problem.
CaptainKidd
· 4 years ago
One thing in general i'd like to try and clarify to set the tone for these lessons. What is the expectation on the problems before the challenge questions? Is the idea that we be able to solve all these questions based on the pattern introduced in the first problem?
d27saurabh
· 4 years ago
What are the timestamps below each section?
Reading Progress
0%
On This Page
Who this course is for
What you need before starting
What you do not need
Where to go next