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

New Text Document

The document outlines a 3 month plan to prepare for data structure and algorithms interviews. It discusses focusing on fundamentals in stage 1, practicing more problems in stage 2, and improving weak areas and doing mock interviews in stage 3.

Uploaded by

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

New Text Document

The document outlines a 3 month plan to prepare for data structure and algorithms interviews. It discusses focusing on fundamentals in stage 1, practicing more problems in stage 2, and improving weak areas and doing mock interviews in stage 3.

Uploaded by

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

Target

Given any problem statement, you should be able to come up with possible solutions,
choose the one more suited to your problem and implement it in the form of a
working code.
Basic Requirement
You should know at least one language well: C, CPP, Java, or Python.
I’d suggest you to not pick up python as companies like Microsoft, Morgan Stanley
to name a few, are strongly focused around OOP concepts and unless you’re willing
to put in extra time for OOP, you’d rather not go ahead with it. Some of you might
disagree here but this is what I’ve learned from my experience.
Important Topics
I have listed down the important topics below in no particular order.
Linked List
Stacks and Queues
Target
Given any problem statement, you should be able to come up with possible solutions,
choose the one more suited to your problem and implement it in the form of a
working code.
Basic Requirement
You should know at least one language well: C, CPP, Java, or Python.
I’d suggest you to not pick up python as companies like Microsoft, Morgan Stanley
to name a few, are strongly focused around OOP concepts and unless you’re willing
to put in extra time for OOP, you’d rather not go ahead with it. Some of you might
disagree here but this is what I’ve learned from my experience.
Important Topics
I have listed down the important topics below in no particular order.
Linked List
Stacks and Queues
Binary Search
Dynamic Programming
Backtracking

Greedy
Trees: Binary Tree, Binary Sorted Tree
Graphs
String Manipulation
Hashing
Bit Manipulation
Detailed Timeline
The entire preparation spans over a period of 2.5–3 months and is divided into
three stages. Stage 1 would focus on building the basics and fundamentals, stage 2
would be more practice driven while stage 3 would be the one which will get you
your dream job. Let’s go through them one by one.

Photo by Emma Matthews Digital Content Production on Unsplash


Stage 1: Foundation Builder (20–30 days)
This stage would be focused on building a strong DSA foundation.
Cover each topic one by one.
Solve about 5-6 questions per day with appropriate conceptual understanding.
Prefer ‘GeeksForGeeks’ for concept building and ‘Leetcode ’for implementation.
Do not get swayed away by the recently asked or the most trending problems.
Understand the fundamentals irrespective of whether you think companies will
question you on them or not.
Operations such as inserting an element into a BST might seem like a trivial
concept from interview perspective but if your land across a problem where given an
array, you need to compute for each element the number greater than the current
number on the left side of the array then knowing how to insert elements into a BST
might come in handy.
Stage 2: Practice (30–40 days)
Take a step ahead and move from the basics to the DSA interview questions.
Switch to InterviewBit platform. It has about 350 problems (mostly easy, medium
with some hard ones)
Try to solve all the questions in 25–35 days which makes it around 10–14 questions
per day.
Interview bit has its questions arranged systematically under each topic which are
sub categorised into buckets. Each day solve questions parallelly from two topics
and pick them up from different buckets. This will help you better identify the
paradigm a question belongs to.
Once completed, switch to leetcode’s “top interview questions” list.
Half of the questions you will come across in this list would coincide with the
InterviewBit platform questions.
Pick up the remaining questions and try to complete them in the remaining 7–10
days.
Be conscious of the time taken to solve each question.
Stage three: Game Changer(15–20 days)
You will have prepared enough by now to get yourself into a decent job. Few
students might even terminate their preparations here but this is THE game changing
stage that will take you from a decent job to your dream job.
Identify the grey areas in your preparation. Pick up the concepts/ topics/
algorithms, if any, where you rely on your memory more than your understanding.
Give mock interviews and contests alternately to make yourself comfortable with
coding under pressure in a limited time.
Make your preparation more company centric. Practise company wise questions. (We’ll
talk about this later in the article)
To sum it all you’ll have to solve about 8–10 questions along with one mock/contest
per day.
(Optional) Pick up a few advanced Data Structures/concepts(eg trie, segment tree,
bit masking, binary lifting, etc). Switch back to GeeksForGeeks for concept
understanding.

Photo by Iñaki del Olmo on Unsplash


Resources:
There are tons of resources available on the internet but the ones that I found
most useful are mentioned below.
DSA core concepts/ fundamental building:
Geeksforgeeks — Data Structures
Geeksforgeeks — Algorithms
Basic problems
GeeksForGeeks — Must Do Coding Questions
Practice platforms
InterviewBit
Leetcode
Target
Given any problem statement, you should be able to come up with possible solutions,
choose the one more suited to your problem and implement it in the form of a
working code.
Basic Requirement
You should know at least one language well: C, CPP, Java, or Python.
I’d suggest you to not pick up python as companies like Microsoft, Morgan Stanley
to name a few, are strongly focused around OOP concepts and unless you’re willing
to put in extra time for OOP, you’d rather not go ahead with it. Some of you might
disagree here but this is what I’ve learned from my experience.
Important Topics
I have listed down the important topics below in no particular order.
Linked List
Stacks and Queues
Binary Search
Dynamic Programming
Backtracking

Greedy
Trees: Binary Tree, Binary Sorted Tree
Graphs
String Manipulation
Hashing
Bit Manipulation
Detailed Timeline
The entire preparation spans over a period of 2.5–3 months and is divided into
three stages. Stage 1 would focus on building the basics and fundamentals, stage 2
would be more practice driven while stage 3 would be the one which will get you
your dream job. Let’s go through them one by one.

Photo by Emma Matthews Digital Content Production on Unsplash


Stage 1: Foundation Builder (20–30 days)
This stage would be focused on building a strong DSA foundation.
Cover each topic one by one.
Solve about 5-6 questions per day with appropriate conceptual understanding.
Prefer ‘GeeksForGeeks’ for concept building and ‘Leetcode ’for implementation.
Do not get swayed away by the recently asked or the most trending problems.
Understand the fundamentals irrespective of whether you think companies will
question you on them or not.
Operations such as inserting an element into a BST might seem like a trivial
concept from interview perspective but if your land across a problem where given an
array, you need to compute for each element the number greater than the current
number on the left side of the array then knowing how to insert elements into a BST
might come in handy.
Stage 2: Practice (30–40 days)
Take a step ahead and move from the basics to the DSA interview questions.
Switch to InterviewBit platform. It has about 350 problems (mostly easy, medium
with some hard ones)
Try to solve all the questions in 25–35 days which makes it around 10–14 questions
per day.
Interview bit has its questions arranged systematically under each topic which are
sub categorised into buckets. Each day solve questions parallelly from two topics
and pick them up from different buckets. This will help you better identify the
paradigm a question belongs to.
Once completed, switch to leetcode’s “top interview questions” list.
Half of the questions you will come across in this list would coincide with the
InterviewBit platform questions.
Pick up the remaining questions and try to complete them in the remaining 7–10
days.
Be conscious of the time taken to solve each question.
Stage three: Game Changer(15–20 days)
You will have prepared enough by now to get yourself into a decent job. Few
students might even terminate their preparations here but this is THE game changing
stage that will take you from a decent job to your dream job.
Identify the grey areas in your preparation. Pick up the concepts/ topics/
algorithms, if any, where you rely on your memory more than your understanding.
Give mock interviews and contests alternately to make yourself comfortable with
coding under pressure in a limited time.
Make your preparation more company centric. Practise company wise questions. (We’ll
talk about this later in the article)
To sum it all you’ll have to solve about 8–10 questions along with one mock/contest
per day.
(Optional) Pick up a few advanced Data Structures/concepts(eg trie, segment tree,
bit masking, binary lifting, etc). Switch back to GeeksForGeeks for concept
understanding.

Photo by Iñaki del Olmo on Unsplash


Resources:
There are tons of resources available on the internet but the ones that I found
most useful are mentioned below.
DSA core concepts/ fundamental building:
Geeksforgeeks — Data Structures
Geeksforgeeks — Algorithms
Basic problems
GeeksForGeeks — Must Do Coding Questions
Practice platforms
InterviewBit
Leetcode
Mock interview
Pramp
Contest
Leetcode’s weekly/bi-weekly/virtual contest
A few extra ones
Coursera — Algorithms part1
Coursera — Algorithms part2
Mock interview
Pramp
Contest
Leetcode’s weekly/bi-weekly/virtual contest
A few extra ones
Coursera — Algorithms part1
Coursera — Algorithms part2
Binary Search
Dynamic Programming
Backtracking
Greedy
Trees: Binary Tree, Binary Sorted Tree
Graphs
String Manipulation
Hashing
Bit Manipulation
Detailed Timeline
The entire preparation spans over a period of 2.5–3 months and is divided into
three stages. Stage 1 would focus on building the basics and fundamentals, stage 2
would be more practice driven while stage 3 would be the one which will get you
your dream job. Let’s go through them one by one.

Photo by Emma Matthews Digital Content Production on Unsplash


Stage 1: Foundation Builder (20–30 days)
This stage would be focused on building a strong DSA foundation.
Cover each topic one by one.
Solve about 5-6 questions per day with appropriate conceptual understanding.
Prefer ‘GeeksForGeeks’ for concept building and ‘Leetcode ’for implementation.
Do not get swayed away by the recently asked or the most trending problems.
Understand the fundamentals irrespective of whether you think companies will
question you on them or not.
Operations such as inserting an element into a BST might seem like a trivial
concept from interview perspective but if your land across a problem where given an
array, you need to compute for each element the number greater than the current
number on the left side of the array then knowing how to insert elements into a BST
might come in handy.
Stage 2: Practice (30–40 days)
Take a step ahead and move from the basics to the DSA interview questions.
Switch to InterviewBit platform. It has about 350 problems (mostly easy, medium
with some hard ones)
Try to solve all the questions in 25–35 days which makes it around 10–14 questions
per day.
Interview bit has its questions arranged systematically under each topic which are
sub categorised into buckets. Each day solve questions parallelly from two topics
and pick them up from different buckets. This will help you better identify the
paradigm a question belongs to.
Once completed, switch to leetcode’s “top interview questions” list.
Half of the questions you will come across in this list would coincide with the
InterviewBit platform questions.
Pick up the remaining questions and try to complete them in the remaining 7–10
days.
Be conscious of the time taken to solve each question.
Stage three: Game Changer(15–20 days)
You will have prepared enough by now to get yourself into a decent job. Few
students might even terminate their preparations here but this is THE game changing
stage that will take you from a decent job to your dream job.
Identify the grey areas in your preparation. Pick up the concepts/ topics/
algorithms, if any, where you rely on your memory more than your understanding.
Give mock interviews and contests alternately to make yourself comfortable with
coding under pressure in a limited time.
Make your preparation more company centric. Practise company wise questions. (We’ll
talk about this later in the article)
To sum it all you’ll have to solve about 8–10 questions along with one mock/contest
per day.
(Optional) Pick up a few advanced Data Structures/concepts(eg trie, segment tree,
bit masking, binary lifting, etc). Switch back to GeeksForGeeks for concept
understanding.

Photo by Iñaki del Olmo on Unsplash


Resources:
There are tons of resources available on the internet but the ones that I found
most useful are mentioned below.
DSA core concepts/ fundamental building:
Geeksforgeeks — Data Structures
Geeksforgeeks — Algorithms
Basic problems
GeeksForGeeks — Must Do Coding Questions
Practice platforms
InterviewBit
Leetcode
Mock interview
Pramp
Contest
Leetcode’s weekly/bi-weekly/virtual contest
A few extra ones
Coursera — Algorithms part1
Coursera — Algorithms part2

You might also like