Skip to lesson
Exit
The Interview Loop: Stages, Formats & How to Prepare1 / 2

2 min lesson

The take-home / small project

Put yourself in this case: "You have eight hours for a gateway take-home and can't finish everything. What do you prioritize and how do you handle the gap?" Give the clearest next step.

Step 1 of 2

Senior IC loops commonly include a four-to-eight-hour take-home and the onsite is explicitly built around “a small project.” Both reward the same instinct: treat it as production code you'd own on day one, not a throwaway demo.

The likely shape maps straight onto the team's work: build or extend a gateway, router or proxy with a provider abstraction, timeouts, retries and a little observability. The brief will be slightly underspecified on purpose.

  1. 1Scope first, then build a walking skeleton. Get one request flowing end to end through the abstraction before you add features.
  2. 2Make the provider abstraction the spine. Onboarding a second “provider” should be config or a small adapter, not a rewrite - that's the real design signal.
  3. 3Handle failure explicitly. Timeouts, retries with a budget and a clear behavior when a provider is down beat extra features.
  4. 4Instrument it. Even a request counter, an error counter and a latency log signals SLO thinking.
  5. 5Write a short README. State your tradeoffs, what you cut and what you'd do next - that paragraph often carries as much weight as the code.
The reviewer's checklist

Reviewers skim for: does it run from a clean clone, does it fail gracefully when a provider errors, can I add a provider without touching core logic and is the latency/error path observable. Optimize for those four before any clever feature.

  • Correctness and clear failure handling over feature count.
  • Readable code a teammate could own - names, small functions, no dead cleverness.
  • A README that argues your tradeoffs honestly, including what's unfinished.
  • One or two metrics that show you think in SLOs, not just happy paths.
Interview move

End the README with a crisp “what I'd do next”: hedging slow requests, circuit-breaking an unhealthy provider, a prefix cache for repeated prefixes. Naming what you didn't build - and why it was the right cut for the time box - reads as senior judgment, not as an excuse.