Explain Big O notation with common complexities.
Assesses fundamental understanding of Data Structures & Algorithms conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
Big O describes how runtime or memory grows with input size, ignoring constants and lower-order terms.
From fastest to slowest:
- O(1) constant: hash lookup, array index.
- O(log n) logarithmic: binary search, balanced tree operations.
- O(n) linear: single pass over input.
- O(n log n): efficient comparison sorts (merge, heap).
- O(n^2): nested loops such as naive pair comparison.
- O(2^n) exponential: naive recursive subsets.
- O(n!) factorial: brute-force permutations.
Also cover best/average/worst cases (quicksort is O(n log n) average, O(n^2) worst), space complexity, and amortised analysis (dynamic array append is amortised O(1)).
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.