Search⌘ K
AI Features

The Coding Exercise

Learn how to approach the coding exercise in Anthropic's Forward Deployed Engineer interview. Understand escalating requirements through multi-level software tasks, develop adaptable and testable code, practice debugging, and communicate your reasoning clearly under time pressure to succeed in this unique interview format.

The coding exercise in the FDE loop is built differently from a typical algorithm interview. Instead of several unrelated problems, it asks us to build one small piece of software and then extend it, level by level, as new requirements arrive. Candidates report two common forms. One is a general systems problem, often on CodeSignal for about 90 minutes using only the Python standard library. The other builds on Claude itself, often in a Colab notebook for about an hour with documentation open.

Both forms change what success looks like. A clever solution to the first level means little if the code has to be torn apart when the next level adds a requirement we did not anticipate. The candidates who do well write code that stays easy to change, keep moving through the levels, and explain their thinking as they go.

The general systems form shows the escalation pattern most clearly.

How the exercise escalates

The general form is commonly described as one problem split into four levels. Each level adds requirements to the code from the previous one, and a level usually unlocks only after its predecessor’s tests pass, so a failing test early on can block everything after it. Reported problems include an in-memory key-value store, a simple banking system, a file system, and an LRU cache. The domain matters less than the pattern.

The sketch below shows a typical progression for an in-memory store.

Level 1 Store and read values
set(key, value), get(key), delete(key)
Level 2 Add expiry
set_with_ttl(key, value, ttl, timestamp)
get(key, timestamp) returns nothing once the key has expired
Level 3 Add queries
scan(prefix, timestamp) returns live keys that start with a prefix,
in sorted order
Level 4 Add history or transactions
restore the store to its state at an earlier timestamp, or group
operations into a transaction that commits or rolls back together

Each level is reasonable on its own. The difficulty comes from carrying the earlier levels forward, because a Level 1 design that stored only plain values has no place to keep an expiry time, and a design that read the system clock cannot be tested with the timestamps Level 2 passes in.

The same escalation appears when the exercise is built around Claude.

When the exercise uses Claude

In the ...