Coding Interview Guide

Interview Tips

  • Ask Clarifying Questions
  • Data Structures, Edge Cases, Input Methods, Handle Cases, Limits for data, Complexity, Return TypesTest Solutions on example data and edge cases dataWrite Clean, Structured and Compact CodeCreate Test Cases that may break initial solutionSolution Thoughts
  • Can the inverted problem be solved more compactly? Can the problem be reduced? Complement Conditions?Methods
  • Brute Force, Recursion, LoopingPossible Edge Cases
  • Duplicates, Empty/nullFocus on solving problems, and not your ability to solve it Identify limits for variables usedAnalysis
  • Time, Space, Network, Power, CPU Registers

Data Structures

  • Arrays
  • Unordered Sets
  • Linked Lists
  • Heaps
  • Stacks
  • Queue
  • Hash Tables
  • Maps
  • Binary Trees
  • Graphs
  • Spanning Trees

Tasks

  • Searching - Binary, Linear
  • Sorting - Selection, Insertion, Merge, Heap Sort, Quick Sort
  • Tree Traversal - BFS, DFS
  • String Manupulation
  • Bit Manipulation

Algorithmic Methodologies

  • Divide and Conquer
  • Greedy
  • Dynamic Programming
  • Branch and Bound
  • Backtracking