Ship code under pressure

Python, SQL, and Coding Foundations

Build the implementation speed and data fluency needed for coding, SQL, and ML-from-scratch rounds.

Featured topics

3 topic cards built for interview prep

Each topic includes a summary, practical learning goals, representative interview prompts, and a suggested roadmap day.

Practice prompts

Daily-plan topics tied directly to this pillar

These are pulled from the same 133-day roadmap content used by Browse Questions.

Day 29SWE · OOPS & SOLID

Encapsulation, inheritance, polymorphism, abstraction

  • Walk through the four pillars of OOP with code examples.
  • When does composition beat inheritance?
Day 29SWE · OOPS & SOLID

SOLID: SRP, OCP, LSP, ISP, DIP

  • Walk through each SOLID principle with a real example.
  • Which SOLID principle do you violate most often, and why?
Day 29SWE · OOPS & SOLID

Common OO design mistakes (god class, anemic models, deep inheritance)

  • Spot a god class — what would you refactor it into?
  • Why are deep inheritance hierarchies usually a smell, and what do you reach for instead?
Day 30SWE · Design patterns

Creational: factory, builder, singleton

  • When is a singleton an anti-pattern in tests?
  • Compare factory vs abstract factory vs builder.
Day 30SWE · Design patterns

Structural: adapter, decorator, facade

  • When would you reach for an adapter vs a facade?
  • Where does the decorator pattern show up cleanly in an ML inference pipeline?
Day 30SWE · Design patterns

Behavioral: strategy, observer, command

  • Show how the strategy pattern lets you swap ML models without touching call sites.
  • When does observer cause subtle bugs in a high-throughput system?
Day 31SWE · Concurrency in Python

Python GIL — what it does and doesn't lock

  • Explain the GIL and why threading helps I/O-bound but not CPU-bound work in CPython.
  • When does multiprocessing beat threading for ML workloads?
Day 31SWE · Concurrency in Python

asyncio: event loop, coroutines, gather

  • When is asyncio the right choice over threads/processes?
  • What are common pitfalls with mixing sync and async code?