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.
- Complexity Analysis (a.k.a BigO)
- Arrays
- Stacks
- Queues
- Linked List
- Trees
- Tries
- Graphs (BFS and DFS)
- Hash Tables
- Heaps
Algorithms
Next, start by revising the most asked algorithms and the problems based on them.
- Searching and Sorting
- Greedy Algorithms
- Dynamic Programming
- Pattern Searching
- Other String Algorithms
- Backtracking
- Divide and Conquer
Searching Algorithms for an interview
- Linear Search
- Binary Search
- Jump Search
Sorting Algorithms for an interview
- Selection Sort
- Bubble Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
System Design -
System Design Basic Concepts
- Network Protocol
- Horizontal & Vertical Scaling
- Cache
- Load Balancers
- Content Delivery Network (CDN)
- Reverse Proxy
- Message Queue
- Consistent Hashing
- Database Sharding
System Design -
Large System Architecture
- Design Url Shortening Service (ex – bitly)
- Design Pastebin Architecture
- Desing Rate Limiter
- Parking Lot System
- Uber design
- Tinder Service
Operating Systems -
- Threads
- Locks
- Synchronization
- TLB
- Interrupt vs System Call
- Kernel
- Round Robin Algorithm
- Threads
- Concurrency
- Paging
- Page Replacement Algorithms
- Interrupts
- Scheduling
Database Management System:
- Introduction to DBMS
- Database Architectures
- ER Model, Relational Model 4.Keys in Relational Model
- Database Normalization
- Normal Forms
- Concurrency Control
- Indexing in Database
- B+ Tree Introduction and SQL.
Object-Oriented Design -
- Class & Objects
- Polymorphism
- Abstraction
- Inheritance
- Encapsulation
- Practice Questions
- Design an ATM.
- Design an elevator.
- Design a Parking System.
Resources to follow for Coding interview Preparation -
...
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
Some useful links/resources
Top comments (0)