MCPcopy Index your code
hub / github.com/aasthas2022/SDE-Interview-and-Prep-Roadmap

github.com/aasthas2022/SDE-Interview-and-Prep-Roadmap @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
11 symbols 21 edges 2 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SDE Interview and Prep Roadmap

Overview

Welcome to the SDE Interview Preparation Roadmap! This repository is not just about my personal journey; it's a collaborative space for collective learning. As I prepare for Software Development Engineer (SDE) interviews, I've created a comprehensive checklist to guide my preparation. By sharing this roadmap, I aim to foster a community of learners where we can all grow together. It covers various domains including Data Structures, Algorithms, System Design, Operating Systems, Networking, Databases, Programming Languages and Concepts, System Architecture, Problem-solving and Coding, as well as Behavioral and Soft Skills.

Printable PDF Version of Checklist - Click Here

Domains and Topics

  1. Data Structures

  2. [ ] Arrays

  3. [ ] Linked Lists
    • [ ] Singly linked lists
    • [ ] Circularly linked lists
    • [ ] Lock-free linked lists
    • [ ] Doubly linked lists
    • [ ] Circular doubly linked lists
    • [ ] Circular linked lists
    • [ ] Skip lists
    • [ ] Unrolled linked lists
  4. [ ] Stacks
    • [ ] Implementations using arrays and linked lists
    • [ ] Array-based stack
    • [ ] Linked list-based stack
    • [ ] Applications (e.g., expression evaluation, backtracking)
    • [ ] Priority stacks
  5. [ ] Queues
    • [ ] Implementations (e.g., array-based, linked list-based, priority queues)
    • [ ] Circular queue
    • [ ] Double-ended queue (Deque)
    • [ ] Applications (e.g., BFS, job scheduling)
  6. [ ] Trees
    • [ ] Binary Trees
    • [ ] Full binary tree
    • [ ] Complete binary tree
    • [ ] Perfect binary tree
    • [ ] Binary Search Trees (BST)
    • [ ] Self-balancing BST
      • [ ] Scapegoat tree
      • [ ] Tango tree
    • [ ] AVL Trees
    • [ ] Red-Black Trees
    • [ ] Splay Trees
    • [ ] B-Trees
    • [ ] Heap Trees (min-heap, max-heap)
    • [ ] Trie
    • [ ] Radix Trees
  7. [ ] Graphs
    • [ ] Representations (adjacency matrix, adjacency list)
    • [ ] Edge list
    • [ ] Incidence matrix
    • [ ] Traversal algorithms (DFS, BFS)
    • [ ] Weighted graphs
    • [ ] Directed graphs
    • [ ] Acyclic graphs
    • [ ] Bipartite graphs
    • [ ] Spanning trees (Minimum Spanning Tree, Maximum Spanning Tree)
    • [ ] Graphs with special properties (e.g., planar graphs, Eulerian graphs)
  8. [ ] Hash Tables

    • [ ] Collision resolution techniques (chaining, open addressing)
    • [ ] Hash functions
    • [ ] Perfect Hashing
    • [ ] Cuckoo Hashing
    • [ ] Robin Hood Hashing
    • [ ] Count-Min Sketch
    • [ ] Bloom Filters
  9. Algorithms

  10. [ ] Sorting Algorithms:

    • [ ] Bubble Sort
    • [ ] Selection Sort
    • [ ] Insertion Sort
    • [ ] Merge Sort
    • [ ] Quick Sort
    • [ ] Heap Sort
    • [ ] Shell Sort
    • [ ] Counting Sort
    • [ ] Radix Sort
    • [ ] Bucket Sort
    • [ ] Comb Sort
    • [ ] Cocktail Shaker Sort
    • [ ] Tim Sort
    • [ ] Cycle Sort
    • [ ] Pancake Sort
    • [ ] Bitonic Sort
    • [ ] Gnome Sort
    • [ ] Strand Sort
  11. [ ] Searching Algorithms:
    • [ ] Linear Search
    • [ ] Binary Search
    • [ ] Depth-First Search (DFS)
    • [ ] Breadth-First Search (BFS)
    • [ ] Jump Search
    • [ ] Interpolation Search
    • [ ] Exponential Search
    • [ ] Fibonacci Search
    • [ ] Ternary Search
    • [ ] Hashing (Hash Table)
  12. [ ] Dynamic Programming
    • [ ] Memoization
    • [ ] Tabulation
    • [ ] Longest Common Subsequence (LCS)
    • [ ] Longest Increasing Subsequence (LIS)
    • [ ] 0/1 Knapsack Problem
    • [ ] Coin Change Problem
    • [ ] Matrix Chain Multiplication
    • [ ] Edit Distance
    • [ ] Subset Sum Problem
    • [ ] Rod Cutting Problem
    • [ ] Fibonacci Series
    • [ ] Shortest Path Problems (e.g., Dijkstra's Algorithm using DP)
  13. [ ] Greedy Algorithms
    • [ ] Fractional Knapsack Problem
    • [ ] Activity Selection Problem
    • [ ] Huffman Coding
    • [ ] Job Sequencing with Deadlines
    • [ ] Prim's Algorithm (for Minimum Spanning Tree)
    • [ ] Kruskal's Algorithm (for Minimum Spanning Tree)
    • [ ] Dijkstra's Algorithm (for Single Source Shortest Path)
    • [ ] Greedy Coloring of Graphs
    • [ ] Greedy Set Cover
  14. [ ] Divide and Conquer
    • [ ] Binary Search
    • [ ] Merge Sort
    • [ ] Quick Sort
    • [ ] Strassen's Matrix Multiplication
    • [ ] Closest Pair of Points Problem
    • [ ] Karatsuba Algorithm (for Fast Multiplication)
    • [ ] Cooley–Tukey Fast Fourier Transform (FFT)
    • [ ] Finding Maximum Subarray Sum (Kadane's Algorithm)
    • [ ] Finding Peak Element in 1D/2D Array
  15. [ ] String Algorithms:

    • [ ] Rabin-Karp Algorithm
    • [ ] Knuth-Morris-Pratt (KMP) Algorithm
    • [ ] Z-Algorithm
    • [ ] Boyer-Moore Algorithm
    • [ ] Manacher's Algorithm
    • [ ] Suffix Array Construction
    • [ ] Longest Common Prefix (LCP) Array
    • [ ] Aho-Corasick Algorithm
    • [ ] Suffix Tree Construction
    • [ ] Suffix Automaton
    • [ ] Trie (Prefix Tree) Insertion and Search
    • [ ] Breadth-First Search (BFS) in a Trie
    • [ ] Depth-First Search (DFS) in a Trie
    • [ ] Edit Distance (Levenshtein Distance)
    • [ ] Hamming Distance
    • [ ] Longest Palindromic Substring
    • [ ] Longest Repeated Substring
    • [ ] Longest Common Substring
    • [ ] Longest Common Subsequence
    • [ ] Shortest Common Supersequence
    • [ ] Palindrome Check
    • [ ] Count and Say Sequence
    • [ ] String Hashing
    • [ ] Baker-Bird Algorithm
    • [ ] Burrows-Wheeler Transform (BWT)
  16. System Design

  17. Resources:

  18. [ ] Design patterns

    • [ ] Creational patterns
    • [ ] Singleton
    • [ ] Factory Method
    • [ ] Abstract Factory
    • [ ] Builder
    • [ ] Prototype
    • [ ] Structural patterns
    • [ ] Adapter
    • [ ] Bridge
    • [ ] Composite
    • [ ] Decorator
    • [ ] Facade
    • [ ] Flyweight
    • [ ] Proxy
    • [ ] Behavioral patterns
    • [ ] Chain of Responsibility
    • [ ] Command
    • [ ] Iterator
    • [ ] Mediator
    • [ ] Memento
    • [ ] Observer
    • [ ] State
    • [ ] Strategy
    • [ ] Template Method
    • [ ] Visitor
  19. [ ] Object-oriented design principles
    • [ ] DRY (Don't Repeat Yourself)
    • [ ] KISS (Keep It Simple, Stupid)
    • [ ] YAGNI (You Aren't Gonna Need It)
    • [ ] Law of Demeter (Principle of Least Knowledge)
    • [ ] Open/Closed Principle
    • [ ] SOLID principles
    • [ ] Single Responsibility Principle (SRP)
    • [ ] Open/Closed Principle (OCP)
    • [ ] Liskov Substitution Principle (LSP)
    • [ ] Interface Segregation Principle (ISP)
    • [ ] Dependency Inversion Principle (DIP)
  20. [ ] Scalability
    • [ ] Replication vs. Partitioning
    • [ ] Consistent Hashing
    • [ ] Auto-scaling
  21. [ ] Distributed systems
    • [ ] ACID vs. BASE
    • [ ] Eventual consistency
    • [ ] Leader election algorithms (Paxos, Raft)
    • [ ] Distributed tracing
    • [ ] Fault tolerance and resilience
  22. [ ] Microservices architecture
    • [ ] Choreography vs. Orchestration
    • [ ] API gateway
    • [ ] Circuit Breaker pattern
    • [ ] Saga pattern
    • [ ] Caching strategies
    • [ ] Cache aside
    • [ ] Write-through caching
    • [ ] Write-behind caching
    • [ ] Cache stampede prevention
    • [ ] Load balancing
    • [ ] DNS load balancing
    • [ ] Content Delivery Networks (CDNs)
    • [ ] Anycast routing
    • [ ] Adaptive load balancing algorithms
  23. [ ] Database design and optimization

    • [ ] Partitioning
    • [ ] Materialized views
    • [ ] NoSQL databases (document, key-value, column-family, graph)
    • [ ] Database normalization forms (1NF, 2NF, 3NF, BCNF)
  24. Operating Systems

  25. [ ] Processes

  26. [ ] Threads
  27. [ ] Thread synchronization mechanisms:
    • [ ] Mutexes
    • [ ] Semaphores
    • [ ] Monitors
  28. [ ] Deadlock detection and prevention
  29. [ ] Scheduling algorithms
    • [ ] Fair share scheduling
    • [ ] Earliest Deadline First (EDF)
    • [ ] Weighted Fair Queuing (WFQ)
  30. [ ] Memory management
    • [ ] Page replacement algorithms (LRU, FIFO, Clock)
    • [ ] Memory-mapped files
    • [ ] Buddy memory allocation
  31. [ ] File systems

    • [ ] Journaling file systems (ext3, ext4)
    • [ ] Network file systems (NFS, SMB)
    • [ ] File system encryption
    • [ ] Distributed file systems (HDFS, Ceph)
  32. Networking

  33. [ ] TCP/IP stack

    • [ ] OSI model layers
    • [ ] TCP vs. UDP
  34. [ ] HTTP protocol
    • [ ] Request methods (GET, POST, etc.)
    • [ ] Status codes
  35. [ ] DNS (Domain Name System)
    • [ ] Resolution process
  36. [ ] Routing algorithms

    • [ ] Shortest Path algorithms (Dijkstra's, Bellman-Ford)
  37. Databases

  38. [ ] Relational databases (SQL)

    • [ ] Normalization forms
    • [ ] First Normal Form (1NF)
    • [ ] Second Normal Form (2NF)
    • [ ] Third Normal Form (3NF)
    • [ ] Boyce-Codd Normal Form (BCNF)
    • [ ] Joins
    • [ ] Inner joins
    • [ ] Outer joins (left, right, full)
    • [ ] Cross joins
    • [ ] SQL Data Manipulation Language (DML)
    • [ ] SELECT statement
    • [ ] INSERT statement
    • [ ] UPDATE statement
    • [ ] DELETE statement
    • [ ] MERGE statement
    • [ ] TRUNCATE statement
    • [ ] UPSERT operations
    • [ ] Explicit vs. Implicit transactions
    • [ ] Control-of-flow language (e.g., CASE, IF-ELSE)
    • [ ] SQL Data Definition Language (DDL)
    • [ ] CREATE statement
    • [ ] ALTER statement
    • [ ] DROP statement
    • [ ] SQL Data Control Language (DCL)
    • [ ] GRANT statement
    • [ ] REVOKE statement
    • [ ] SQL Data Query Language (DQL)
    • [ ] Subqueries
    • [ ] Aggregate functions (e.g., SUM, AVG, COUNT)
    • [ ] GROUP BY and HAVING clauses
    • [ ] Window functions
    • [ ] Transaction Control
    • [ ] COMMIT statement
    • [ ] ROLLBACK statement
    • [ ] Database Constraints
    • [ ] Primary key
    • [ ] Foreign key
    • [ ] Unique constraint
    • [ ] Check constraint
    • [ ] Default constraint
    • [ ] Stored Procedures and Functions
    • [ ] Creation
    • [ ] Execution
    • [ ] Parameters
    • [ ] Triggers
    • [ ] Types of triggers (BEFORE, AFTER)
    • [ ] Trigger execution order
    • [ ] Views
    • [ ] Materialized views vs. regular views
    • [ ] Advantages and use cases
  39. [ ] NoSQL databases
    • [ ] Types
    • [ ] Document-based
    • [ ] Key-value
    • [ ] Column-family
    • [ ] Graph
    • [ ] Examples
    • [ ] MongoDB Interview Questions
    • [ ] Redis Interview Questions
  40. [ ] ACID properties
    • [ ] Atomicity
    • [ ] Consistency
    • [ ] Isolation
    • [ ] Durability
  41. [ ] Indexing
    • [ ] B-tree
    • [ ] B+ tree
    • [ ] Bitmap Indexing
  42. [ ] Transactions
    • [ ] ACID properties in transactions
    • [ ] Isolation levels
    • [ ] Read Uncommitted
    • [ ] Read Committed
    • [ ] Repeatable Read
    • [ ] Serializable
  43. [ ] Database design and optimization

    • [ ] Partitioning
    • [ ] Materialized views
  44. Programming Languages and Concepts

  45. [ ] Programming paradigms

    • [ ] Imperative programming
    • [ ] Declarative programming
    • [ ] Functional programming
    • [ ] Object-oriented programming
    • [ ] Procedural programming
    • [ ] Event-driven programming
    • [ ] Aspect-oriented programming
  46. [ ] Memory management
    • [ ] Stack vs. Heap
    • [ ] Manual vs. Automatic memory management
    • [ ] Garbage collection algorithms (e.g., Mark and Sweep, Generational GC)
  47. [ ] Concurrency
    • [ ] Threads vs. Processes
    • [ ] Synchronization primitives (locks, mutexes, semaphores)
    • [ ] Thread safety
    • [ ] Deadlocks
    • [ ] Race conditions
    • [ ] Parallelism vs. Concurrency
    • [ ] Asynchronous programming
  48. [ ] Error handling
    • [ ] Exceptions vs. Error codes
    • [ ] Exception handling mechanisms
    • [ ] Exception safety
    • [ ] Error propagation
    • [ ] Error recovery
  49. [ ] Functional programming
    • [ ] Higher-order functions
    • [ ] Closures
    • [ ] Lambda expressions
    • [ ] Pure functions
    • [ ] Referential transparency
  50. [ ] Object-oriented programming (OOP)
    • [ ] Encapsulation
    • [ ] Inheritance
    • [ ] Polymorphism
    • [ ] Abstraction
    • [ ] Composition vs. In

Core symbols most depended-on inside this repo

merged_sorted
called by 1
Algorithms/Two-Pointer-Algo.py
add_node_start
called by 1
Data Structures/LinkedList.py
add_node_after
called by 1
Data Structures/LinkedList.py
add_elem_end
called by 1
Data Structures/LinkedList.py
search_elem
called by 1
Data Structures/LinkedList.py
find_length_of_ll
called by 1
Data Structures/LinkedList.py
palindrom
called by 0
Algorithms/Two-Pointer-Algo.py
isPalindrome
called by 0
Algorithms/Two-Pointer-Algo.py

Shape

Function 9
Class 1
Method 1

Languages

Python100%

Modules by API surface

Data Structures/LinkedList.py7 symbols
Algorithms/Two-Pointer-Algo.py4 symbols

For agents

$ claude mcp add SDE-Interview-and-Prep-Roadmap \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page