SDET Interview Prep

Big-O • Data Structures • Algorithms • Python • Testing • System Design

Review Key Concepts First!

Tap each card to reveal the definition. Study these before you start the quiz.

Core Concepts

BIG-O
Big-O Notation
tap to flip
Describes how an algorithm's runtime or memory grows relative to input size. Focuses on the worst-case upper bound.
O(n) = linear, O(n^2) = quadratic
BIG-O
Time vs Space Complexity
tap to flip
Time = how many operations. Space = how much extra memory. You often trade one for the other.
Using a set adds O(n) space but turns O(n) lookup into O(1)
DATA STRUCTURES
Hash Map (dict)
tap to flip
Key-value store with O(1) average lookup, insert, and delete. Python's dict and set use hash tables.
counts = {}; counts[x] = counts.get(x, 0) + 1
DATA STRUCTURES
Two Pointers Pattern
tap to flip
Use two indices moving through an array (often from both ends toward the middle, or both from start at different speeds) to solve problems in O(n).
Palindrome check, removing duplicates from sorted array
DATA STRUCTURES
Sliding Window
tap to flip
Maintain a "window" (subarray) that expands/shrinks as you scan. Avoids recomputing from scratch each step.
Max sum of k consecutive elements, longest substring without repeats
SORT & SEARCH
Binary Search
tap to flip
Repeatedly halve a sorted search space. O(log n) time. Requires sorted input or a monotonic condition.
lo, hi = 0, len(a)-1; mid = (lo+hi)//2
SORT & SEARCH
Stack (LIFO)
tap to flip
Last-In, First-Out. Push to top, pop from top. Great for matching brackets, undo, DFS, and expression evaluation.
Python list as stack: append() to push, pop() to pop
TREES & RECURSION
BFS vs DFS
tap to flip
BFS = level by level (uses queue). DFS = go deep first (uses stack/recursion). Both visit all nodes in O(n).
BFS for shortest path. DFS for exploring all paths.
TREES & RECURSION
Dynamic Programming
tap to flip
Break a problem into overlapping subproblems. Store results to avoid recomputation. Memoization (top-down) or tabulation (bottom-up).
Fibonacci: memo[n] = memo[n-1] + memo[n-2]
PYTHON
List Comprehension
tap to flip
Concise way to build lists. Syntax: [expr for item in iterable if condition]. Preferred over map/filter in Python.
[x**2 for x in range(10) if x % 2 == 0]
PYTHON
collections.Counter
tap to flip
Dict subclass for counting hashable objects. Instantly gives frequency counts. Has most_common() method.
Counter("banana") => {'a': 3, 'n': 2, 'b': 1}
TESTING
Test Pyramid
tap to flip
Many unit tests (fast, cheap), fewer integration tests, fewest E2E tests (slow, expensive). Guides test strategy investment.
70% unit / 20% integration / 10% E2E
TESTING
Equivalence Partitioning
tap to flip
Divide inputs into groups where all values in a group should behave the same. Test one from each group to reduce test cases.
Age field: negative, 0, 1-17, 18-120, >120
TESTING
Boundary Value Analysis
tap to flip
Test at the edges of equivalence partitions. Bugs cluster at boundaries (off-by-one, overflow, empty inputs).
For range 1-100: test 0, 1, 2, 99, 100, 101
Questions AND answers shuffle every time!
All topics guaranteed: Big-O • Data Structures • Sort/Search • Trees/DP • Python • Testing
Score: 0 Question: 1 / 20 Streak: 0
45
sec
Total: 0:00

Quiz Complete!

0%
0
Correct
0:00
Time
0s
Avg/Question

Practice the Questions You Missed!