Data Structure - LLDs - ( 1 Week )

List of data structures

  • Lists
  • Stacks
  • Queue
  • Hashtable
  • BST
  • Heaps
  • Tries (PrefixTree, suffixTree)
  • Red Black Tree
  • Fibonacci Heaps
  • Disjoint Sets
  • Interval Trees/Segment Tree
  • Other Tree Data Structures(Graphs)

Algorithms - Analysis Time and Space - ( 3 Weeks )

  • Sorting                                                                          - 2 Days

  • Quick Sort
  • Radix Sort - Maximum Gap
  • Topological sort - Covered in Graphs

  • Divide-and-Conquer                                                                 - 2 Days
  • The substitution method for solving recurrences
  • The recursion-tree method for solving recurrences
  • The master method for solving recurrences

  • Dynamic Programming                                                        - 2 Days

  • Greedy Algorithms                                                                 - 2 Days

  • Graph Algorithms                                                                 - 6 Days

Leetcode Pattern 1 | DFS + BFS == 25% of the problems

  • DFS
  • Shortest Path Algos -
  • Floyd-Warshall
  • Johnson’s algorithm
  • The Ford-Fulkerson method

  • Number-Theoretic Algorithms                                                - 2 Days
  • Powers of an element
  • The RSA public-key cryptosystem
  • Integer factorization

  • String Matching                                                                - 2 Day
  • The Rabin-Karp algorithm
  • String matching with finite automata
  • The Knuth-Morris-Pratt algorithm

  • Approximation Algorithms                                                        - 3 Days
  • The vertex-cover problem
  • Randomization and linear programming
  • The subset-sum problem

  • Randomized Algorithms                                                        - 1 Day

Concepts Problems and Math - ( 1 Week )

  • Matrix Operations
  • Linear Programming
  • Polynomials - DFT, FFT
  • Computational Geometry
  • GCD and LCM
  • Prime Factorization and Divisors
  • Fibonacci Numbers
  • Prime numbers and Primality Tests
  • Sieve Algorithms
  • Divisibility and Large Numbers
  • Series
  • Number Digit
  • Triangles

Networks - ( 1 Week )

Leetcode

  • Network Topology, OSI Architecture
  • TCP/IP models
  • TCP and UDP
  • Firewall, DNS, Domains, workgroups
  • Protocols i.e ICMP

OS - ( 1 week )

Operating System Tutorial
Shared Memory Systems

  • Cache
  • Multithreading
  • Producers-consumers problem
  • Dining philosophers problem
  • Cigarette smokers problem
  • Readers–writers problem
  • Web Crawler Multithreaded
  • Scheduling algorithms
  • Deadlock
  • Virtual Memory
  • Mutex and semaphore
  • Kernels
  • Paging

Software Design Principles - ( 2 weeks )

System Design Primer

Start learning about Theory of Distributed Systems?

Challenges with distributed systems

Microservices Design Guide 👨‍🏫 - Platform Engineer

Cloud design patterns - Azure Architecture Center

Design patterns for microservices | Azure Blog and Updates

TO READ:

Domain Driven Design (DDD) | Bounded Context (BC) | Polyglot Persistence (PP)| Command and Query Responsibility Segregation (CQRS) | Command Query Separation (CQS) | Event-Sourcing (ES) | CAP Theorem | Eventual Consistency | Twelve-Factor App | SOLID Principles |

Just some things to focus on.

  • Load balancer
  • API gateway
  • Microservices - Scale Cube Concept, MVC - READ
  • Database Sharding
  • SQL vs NoSQL - Cassandra, Postgres, Hadoop, Data lake, other algorithms related to data lake, CAP Theorem

Leadership Principles - LPs - ( 1 Week )

TO BE UPDATED

Resume and Miscellaneous

#ADD WHATEVER YOU HAVE PUT IN RESUME

  • Algos you have mentioned
  • Project work and related references to read
  • Achievements and information about it

REFERENCES

Introduction to Algorithms - Cormen

Leetcode