0% found this document useful (0 votes)
113 views2 pages

DSA Topics

The document provides recommendations on data structures and algorithms to study for software engineering interviews. It classifies linked lists, stacks, queues, binary trees, heaps, and graph traversal as essential to know. Tries, advanced graphs, and bit manipulation are also important but less likely to be asked. Dynamic programming, sorting/searching, and probability/number theory are highlighted as extremely or very important topics. The document recommends sufficient knowledge of the highlighted areas in addition to concepts like memory management, geometry, divide-and-conquer, and greedy algorithms.

Uploaded by

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

DSA Topics

The document provides recommendations on data structures and algorithms to study for software engineering interviews. It classifies linked lists, stacks, queues, binary trees, heaps, and graph traversal as essential to know. Tries, advanced graphs, and bit manipulation are also important but less likely to be asked. Dynamic programming, sorting/searching, and probability/number theory are highlighted as extremely or very important topics. The document recommends sufficient knowledge of the highlighted areas in addition to concepts like memory management, geometry, divide-and-conquer, and greedy algorithms.

Uploaded by

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

Stick to Basics.

I would classify the following data structures as


**must know**

1. Linked List - Single and Doubly


2. Stack
3. Queues
4. Binary Search Trees or general Binary Tree
5. Heaps
6. Basic Graph Traversal and Shortest Path
7. Hashing
Following data structures may be asked. I would say that their
probability of being asked is between 50 to 75% -

1. Tries
2. Advance Graphs like flow and min-cut etc.
3. Bit Manipulation
You will probably crack interviews with sufficient knowledge of
above.

Following have very low probability of being asked ( < 25%) :

1. Segment Trees / Binary Indexed Trees


2. AVL Trees
3. B+ Trees
Other hard data structures are absolutely unnecessary.

Following Algorithms / Tricks / Topics may also be important :

1. Memory Management
2. Basic Co-ordinate geometry - Manhattan Distance, Closest Point Pair
3. Divide and Conquer
4. Greedy
5. Dynamic Programming - Extremely important
6. Probability and basic Number Theory
7. Sorting and Searching
Following topics is important for Knowledge / Experience based
questions :
1. OS - Threads, Processes and Locks using Mutex, Semaphores
(Operating systems Archives - GeeksforGeeks)
2. Scalability Issues, RPCs, Rate limiter, etc.
3. OOP Concepts
4. Databases - SQL, NoSQL, Writing simple Queries, Transactions,
ACID
5. Linux Commands - sed, grep, ps, etc.
Resources :

GeeksforGeeks | A computer science portal for geeks

Programming Interview Questions | CareerCup

Coding Interview preparation made easy

Buy Cracking the Coding Interview: 150 Programming Questions and


Solutions Book Online at Low Prices in India (Bible - Seriously)

Edit: Related Answer : Ashish Kedia's answer to How should one


start preparing for the Google APAC?

You might also like