DEV Community

Harsha Vardhan
Harsha Vardhan

Posted on • Edited on

Preparation plan for placement interviews

3 Months interview preparation schedule

Week 0: Programming language
Week 1, 2 & 3: Data Structures
Week 4, 5 & 6: Algorithms
Week 7 & 8: System Design
Week 9 : Operating System
Week 10: Object-Oriented Design
Week 11: Database management
Week 12: Revision.

Programming language -

The best programming language for your #coding interviews is the language that
you’re most comfortable with. Prefer - #Java or CPP or #Python or #javascript

Brush up all the concepts of the #programming language of your choice.


Data Structures

Start by revising Computer Science Data Structures concepts.

  1. Complexity Analysis (a.k.a BigO)
  2. Arrays
  3. Stacks
  4. Queues
  5. Linked List
  6. Trees
  7. Tries
  8. Graphs (BFS and DFS)
  9. Hash Tables
  10. Heaps

Algorithms

Next, start by revising the most asked algorithms and the problems based on them.

  1. Searching and Sorting
  2. Greedy Algorithms
  3. Dynamic Programming
  4. Pattern Searching
  5. Other String Algorithms
  6. Backtracking
  7. Divide and Conquer

Searching Algorithms for an interview

  1. Linear Search
  2. Binary Search
  3. Jump Search

Sorting Algorithms for an interview

  1. Selection Sort
  2. Bubble Sort
  3. Insertion Sort
  4. Merge Sort
  5. Quick Sort
  6. Heap Sort
  7. Counting Sort

System Design -

System Design Basic Concepts

  1. Network Protocol
  2. Horizontal & Vertical Scaling
  3. Cache
  4. Load Balancers
  5. Content Delivery Network (CDN)
  6. Reverse Proxy
  7. Message Queue
  8. Consistent Hashing
  9. Database Sharding

System Design -

Large System Architecture

  1. Design Url Shortening Service (ex – bitly)
  2. Design Pastebin Architecture
  3. Desing Rate Limiter
  4. Parking Lot System
  5. WhatsApp
  6. Uber design 
  7. Instagram 
  8. Tinder Service

Operating Systems -

  1. Threads
  2. Locks
  3. Synchronization
  4. TLB
  5. Interrupt vs System Call
  6. Kernel
  7. Round Robin Algorithm
  8. Threads
  9. Concurrency
  10. Paging
  11. Page Replacement Algorithms
  12. Interrupts
  13. Scheduling

Database Management System:

  1. Introduction to DBMS
  2. Database Architectures
  3. ER Model, Relational Model 4.Keys in Relational Model
  4. Database Normalization
  5. Normal Forms
  6. Concurrency Control
  7. Indexing in Database
  8. B+ Tree Introduction and SQL.

Object-Oriented Design -

  1. Class & Objects
  2. Polymorphism
  3. Abstraction
  4. Inheritance
  5. Encapsulation
  6. Practice Questions
    • Design an ATM.
    • Design an elevator.
    • Design a Parking System.

Resources to follow for Coding interview Preparation -

  1. geeksforgeeks
  2. codechef
  3. Hackerrank
  4. leetcode
  5. interview bit

...

Revise Core CS topics also

1. Compiler design
2. Theory of computation
3. Discrete Mathematics
4. Microcontrollers/Microprocessors
5. Computer Architecture
6. software engineering
7. Computer networks
8. DBMS
Enter fullscreen mode Exit fullscreen mode

Some useful links/resources

  1. Interview-Questions
  2. Interview
  3. Leetcode-java
  4. Tech-Interview HandBook
  5. Algorithms
  6. Data-Structures
  7. Python
  8. System Design

Top comments (0)