Skip to content

libbysereda/tech_interview_prep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Technical Interview Preparation Plan

Learn data structures and algorithms from scratch

How To:

  1. Data structure: take notes, draw concepts
  2. Algorithms for this data structure: take notes, draw concepts
  3. Implement data structure and its algorithms from scratch

Implementation routine:

  1. Read problem specification
  2. Write unit tests: corner cases, general usage, stress test
  3. Design problem solution
  4. Write code in IDE
  5. Test it

Tools:

  1. Unit testing system
  2. Valgrind
  3. Debugging
  4. Profiler

Modules:

  • Array
  • Stack
  • Queue
  • Deque
  • Linked List
  • Heap
  • Recursion
  • Priority Queues and Disjoint Sets
  • Hash table
  • Trees
  • Greedy Algorithms
  • Divide and Conquer
  • Sorting and Searching
  • Dynamic Programming
  • Graph
  • String
  • Linear Programming
  • NP-complete

Practice problem solving on LeetCode

How To:

  1. Learn technique's concepts if it's new: take notes, draw concepts
  2. Solve 15 problems for each module\technique: 5 easy, 5 medium, 5 hard

Implementation routine:

  1. Read problem specification
  2. Write unit tests: corner cases, general usage
  3. Design problem solution
  4. Write code in paper
  5. Test it with unit tests
  6. Write stress test in IDE
  7. Write solution in IDE
  8. Test it

Techniques:

  • Two Pointers
  • Backtracking
  • Sliding Window
  • Minimax
  • Random
  • Rejection Sampling
  • Reservoir Sampling
  • Memorization
  • Brainteaser
  • Geometry
  • Combinatorics
  • Math
  • Bit Manipulation
  • Dynamic Programming
  • Divide and Conquer
  • Greedy

Modules:

  • Array
  • String
  • Tree
  • Hash Table
  • Depth-first Search
  • Binary Search
  • Breadth-first Search
  • Stack
  • Design
  • Linked List
  • Heap
  • Graph
  • Sort
  • Union Find
  • Binary Search Tree
  • Trie
  • Queue
  • Segment Tree
  • Binary Indexed Tree
  • Topological Sort
  • Map

Mock Interviews: practice on InterviewBit and participate in KickStart Coding Competition

  • Mock Interviews
  • InterviewBit: practice for mock interviews
  • KickStart Rounds

About

Technical Interview Preparation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages