Right now I lead tech at a small maritime startup. Google gave me an L3 offer, toward the upper end of the band, and it was my first and only try.
Real system design was always my weakest area, even though I've always been decent at generalizing from specifics. Studying it properly left me calm and self-assured when the conversation turned to:
- how to scale reads or writes, and what each approach costs you
- sharding in real systems and what follows from it
Google only put me through DSA rounds, so none of that came up in the end (my visa situation is a separate story). What carried me was a huge amount of pattern-recognition practice on graphs, trees and similar topics.
I have ADHD, so my brain works differently from most, and these tips come from that angle. They're aimed mainly at people who have already shipped serious code at scale:
- Data structures and algorithms questions come down to patterns, so learn the patterns in the abstract rather than memorizing individual problems.
- Be willing to change course halfway through writing code. Adapting live matters more than it sounds.
- If you're mid-level or above, skip the 150+ LeetCode grind. Somewhere around 50-60 problems is plenty.
- The later rounds, the final one especially, lean toward realistic problems. Framing them well matters more than anything else.
- When you reach for an approach that isn't ideal in theory but would hold up in a real system, tell the interviewer explicitly. Examples: memoization where the cache holds the authoritative state, or a DFS driven by an explicit stack instead of Morris traversal.
- Algorithms are just tools. I'd estimate that understanding the problem and its constraints is 85-90% of the battle.
- Sketch pseudo-code for brute-force approaches. Polishing a flawless Python or Java solution for an O(n^2) idea eats up your 45 minutes.
- Begin with the simple version. Anyone who jumps straight to an O(n) answer on a Google-flavored twist of a problem is either a brilliant algorithms person or somebody with no instinct for when scaling matters or how to do it.
Discussion
Loading comments…