0% found this document useful (0 votes)
149 views

Coding Interview Prep: Milestone 0: Learning A Programming Language

The document provides an 8 milestone plan for preparing for coding interviews. It includes learning programming languages, data structures, algorithms, object oriented programming, system design, and online presence. Milestones cover basics, advanced topics, and practicing problems from sites like LeetCode, Hackerrank, and coding competitions.

Uploaded by

nikhil singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views

Coding Interview Prep: Milestone 0: Learning A Programming Language

The document provides an 8 milestone plan for preparing for coding interviews. It includes learning programming languages, data structures, algorithms, object oriented programming, system design, and online presence. Milestones cover basics, advanced topics, and practicing problems from sites like LeetCode, Hackerrank, and coding competitions.

Uploaded by

nikhil singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

CODING INTERVIEW PREP

By Neuromancers
Milestone 0: Learning a programming language
You should be confident with at least one language for both online and interview rounds. Prefer
C++/Python as we can write shorter codes which saves time.

Resources:
C : ​https://www.hackerrank.com/domains/c
C++ : ​https://www.hackerrank.com/domains/cpp
Python: ​https://www.hackerrank.com/domains/python
JAVA : ​https://www.hackerrank.com/domains/java

Solve questions as well as take a look at the Discussion and Editorial tabs.

Disclaimer (For Milestone 0)​:


Here, you are required to learn the basics until functions and classes. But this ​definitely
does not guarantee a strong background in that language. So, to sharpen your language
knowledge, do these:
1. For smart and sleek codes:
Practise algo/ds questions online in coding competitions:
a. CodeForces
b. CodeChef
2. For very deep language understanding and writing maintainable codes:
Work on projects, OOPs, Hackathons, contribute on ​Github​, etc

Milestone 1: Basic Data Structures


Data Structures are ​very​ important for cracking coding interviews. You should be thorough with all the
key questions related to each data structure. Below is a list of basic Data Structures and the relevant
resources:
1. Arrays: ​https://www.geeksforgeeks.org/category/data-structures/c-arrays/
2. Linked Lists:
https://medium.com/@codingfreak/linked-list-interview-questions-and-practice-problems-55f75302
d613
3. Stacks: ​https://www.geeksforgeeks.org/stack-data-structure/
4. Queues:
https://medium.com/@codingfreak/queue-data-structure-practice-problems-and-interview-questio
ns-f459bf0578db
Milestone 2: Basic Algorithms
Practice algorithms for at least 4 hours a day.
1. Algorithm analysis - Time & space complexity analysis -
https://codility.com/media/train/1-TimeComplexity.pdf
https://www.hackerearth.com/practice/basic-programming/complexity-analysis/time-and-space-co
mplexity/tutorial/
2. Searching -
- Theory: ​http://www.cs.carleton.edu/faculty/adalal/teaching/f04/117/notes/searchSort.pdf
- Questions:
https://www.geeksforgeeks.org/searching-algorithms/
3. Sorting - ​https://www.geeksforgeeks.org/top-10-algorithms-in-interview-questions/#algo4
- https://www.youtube.com/watch?v=pkkFqlG0Hds&list=PL2_aWCzGMAwKedT2KfDMB9YA5DgA
SZb3U
4. Recursion -
- Theory: ​https://www.youtube.com/watch?v=KEEKn7Me-ms
- Questions: ​https://www.geeksforgeeks.org/practice-questions-for-recursion/

Milestone 3: Advanced Data Structures I


1. Tree: ​https://www.youtube.com/watch?v=oSWTXtMglKE
2. Binary Tree: - ​https://www.studytonight.com/data-structures/introduction-to-binary-trees
https://www.geeksforgeeks.org/binary-tree-data-structure/
3. Binary Search Tree: ​https://www.youtube.com/watch?v=pYT9F8_LFTM
4. AVL Tree: ​https://www.youtube.com/watch?v=jDM6_TnYIqE
​https://www.geeksforgeeks.org/avl-tree-set-1-insertion/
5. Red-Black Tree: ​https://www.youtube.com/watch?v=ZxCvM-9BaXE
​https://www.geeksforgeeks.org/red-black-tree-set-1-introduction-2/
6. N-ary Tree: ​https://leetcode.com/articles/introduction-to-n-ary-trees/

Milestone 4: Advanced Data Structures II


1. Heap: ​https://www.youtube.com/watch?v=t0Cq6tVNRBA
https://www.geeksforgeeks.org/heap-data-structure/
2. Graph: ​https://www.youtube.com/watch?v=pcKY4hjDrxk
https://medium.com/@codingfreak/graph-data-structure-interview-questions-and-practice-
problems-22d5cd488855
3. Others: ​https://www.geeksforgeeks.org/advanced-data-structures/
Milestone 5: Advanced Algorithms I
1. Dynamic Programming: ​https://codeforces.com/blog/entry/43256
2. Greedy: ​https://www.topcoder.com/community/competitive-programming/tutorials/greedy-is-good/
https://www.geeksforgeeks.org/greedy-algorithms/
3. Divide and Conquer:
https://cp-algorithms.com/dynamic_programming/divide-and-conquer-dp.html
4. Backtracking:
https://www.hackerearth.com/practice/basic-programming/recursion/recursion-and-backtracking/tu
torial/

5. Bit Manipulation:
-​https://www.hackerearth.com/practice/basic-programming/bit-manipulation/basics-of-bit-
manipulation/tutorial/
6. Math-related: ​https://www.geeksforgeeks.org/number-theory-competitive-programming/
https://github.com/dylan007/winter-resources/wiki/Mathematics-in-Competitive-progr
amming

Milestone 6: OOPs
OOPs aka Object Oriented Programming consists of a major part of interviews. Mostly theoretical, but
one can be asked to write small codes using the same;

Basic Theory:
https://www.geeksforgeeks.org/oops-object-oriented-design/​ (Read all the recommended posts
given at the bottom of this link’s page)

Each language has some difference with respect to OOPs:


C++ : ​https://www.youtube.com/watch?v=ZOKLjJF54Xc&t=904s
Python: ​https://www.youtube.com/watch?v=qiSCMNBIP2g

Common Interview Questions:


https://www.geeksforgeeks.org/commonly-asked-oop-interview-questions/

Milestone 7: SYSTEM DESIGN


Companies like Gojek and Codenation generally ask these questions. Many great coders get stuck
here. These questions need the presence of mind as well as practice.
Reference: ​https://www.educative.io/courses/grokking-the-system-design-interview
Milestone - 8: Showing your online presence
A. Online Coding Competitions from your dream companies:
a. Google
i. KickStart, HashCode, and CodeJam: ​here
b. Facebook
i. HackerCup: ​here
B. ML Competitions:
a. Kaggle: ​here
C. Open Source Contributions:
a. GitHub: ​here
b. Google Summer of Code (GSoC): ​here
D. With a strong resume in hand (or in the cloud):
a. Connect with people on ​Linkedin
b. Grow your network
c. Post ​meaningful​ content based on your recent project works, participation in famous
competitions, etc.

You might also like