HackTheRounds Interview Experiences
Anthropic AI Research Engineer Interview Experience (2026) - Safety Filter & Constitutional AI Pipeline, Offer
Anthropic Research Engineer loop from a UCL PhD candidate: ResponseSafetyFilter OA, Constitutional AI pipeline coding, alignment training platform design, offer
By Anonymous ยท 2026-04-12
Background
I'm wrapping up a PhD in CS at UCL, concentration in AI/ML, and applied to Anthropic's Research Engineer track at their Canadian office in December 2025. Two things pushed me to apply specifically to RE rather than scientist: I had production engineering experience from a previous software role, and the RE job description was the closer match to what I had actually been doing in my last year of grad school, which was more infrastructure-heavy than theory-heavy.
The Anthropic RE loop is substantially different from the SDE loop. The OA is shorter, the coding rounds ask you to implement alignment-flavored systems rather than generic data structures, and the system design round is specifically about training infrastructure at scale.
Timeline
- December 18, 2025: Submitted application
- January 22, 2026: Initial screening (40 min)
- February 4, 2026: OA on CodeSignal (90 min)
- February 10, 2026: Virtual onsite, 4 rounds of 60 min each
- February 19, 2026: HR follow-up and salary discussion
- March: Offer
Total: about 11 weeks end to end. Anthropic's main recruiting window for Research positions concentrates in Q1.
Initial Screening (40 min)
Not a technical round in the coding sense. The screener was a research engineer who asked me to walk through my PhD work for ten minutes and then pivoted to what I consider the three filter questions for any Anthropic Research role:
- What does RLHF actually do at a mechanism level, and what are its known failure modes?
- What is Constitutional AI trying to fix about RLHF?
- If a deployed model started exhibiting a new unsafe behavior, how would you triage it?
I had a prepared answer to all three because I had been reading Anthropic's papers in the weeks leading up. RLHF: fine-tune a reward model from human preference pairs, then optimize the base model's outputs against that reward with PPO or a DPO-style loss, and its known failures are reward hacking, sycophancy, and mode collapse on preferred-style outputs. Constitutional AI: replace most of the human labeling with self-critique against a set of written principles, which reduces labeling cost and makes the training signal auditable. Triage: reproduce, isolate along time or prompt axes, and only then hypothesize about what training signal might have caused it.
The screener did not grade for textbook accuracy. She graded on whether my explanations were grounded in papers I had actually read rather than summaries I had skimmed.
OA (90 min, CodeSignal)
One coding question plus two short-answer theory questions. The coding question was to implement a simple ResponseSafetyFilter class. The theory questions were open-ended short essays about specific alignment concepts.
The coding question was closer to a system design exercise than a typical OA problem. I had to build a filter that:
- Checks a response against multiple rule categories (bias, harmfulness, privacy leakage, hallucination)
- Produces a safety score in `[0, 1]` per rule plus an aggregate
- Exposes a `strictness` parameter that adjusts the aggregate threshold
- Caches results keyed on the prompt and response hash
- Returns an explanation object so the decision is auditable
The architecture I landed on was a Strategy pattern: each rule implements a common SafetyRule interface, a composite SafetyFilter aggregates their scores with configurable weights, and an LRU cache wraps the public evaluate method. Each rule returns both a score and a short structured explanation (rule name, score, reason, evidence). The aggregate score is a weighted mean, and strictness scales the decision threshold.
The theory questions were "explain RLHF in 200 words" and "describe a concrete failure mode of Constitutional AI and how you would measure it." I wrote about sycophancy as a CAI failure mode and sketched a measurement approach using held-out prompts designed to elicit deference and then comparing the distribution of agreeing responses across versions of the model.
Practice it: [[problem/595?company=7|Stack Traces Parser with Denoising]]
Onsite Round 1: Coding โ ResponseSafetyFilter (extended)
The coding onsite opened with "pull up your OA submission." The interviewer had my code on screen and wanted to walk through it together. We spent the first twenty minutes reviewing my design, and then he started layering extensions.
The first extension: make the rule evaluation concurrent so that four rules run in parallel when scoring a single response. I refactored the core evaluate call to use a thread pool (asyncio would have worked too; the interviewer was indifferent on the choice as long as I could explain the tradeoff). Threads are fine here because rule evaluation is often I/O bound when rules call into external classifier APIs.
The second extension: make the cache work across multiple machines. I sketched a Redis-backed shared cache keyed on (prompt hash, response hash, model version) , with stampede protection via a short-lived "in-flight" marker. The interviewer pushed on the stampede: what if two machines both miss the cache simultaneously and both start evaluating? My answer was a best-effort single-flight using a Redis SETNX with a short TTL; other callers see the marker and wait or return a cached-but-stale result rather than duplicate the work.
Onsite Round 2: Coding โ Constitutional AI Pipeline Sketch
Problem: Implement a simplified Constitutional AI pipeline that does the critique-and-revise loop end to end, plus a light training glue. You are not expected to train a real model; the goal is to exercise the pipeline shape.
My approach broke it into four stages. A Principles store that held a small set of constitutional rules, either sampled uniformly or ordered by priority. A CritiqueAndRevise function that takes an initial response, samples a principle, asks a critic model for a critique, and produces a revised response. A TrainingDataBuilder that collects enough (prompt, revised response) pairs to run a toy SFT loop. A RewardModelTrainer that constructs preference pairs from the revised-vs-original outputs and runs a short RLAIF-style training step.
I coded the first three stages and sketched the fourth. The point was not to produce a trainable artifact but to show that I understood the data flow and the interface contracts between components. The interviewer specifically wanted to see that I knew where the actual learning signal comes from (the preference pairs) and where the human-in-the-loop attack surface is (principle drafting, critic model selection).
Onsite Round 3: System Design โ Alignment Training Platform
Problem: Design a platform that supports training multiple alignment models in parallel, with terabytes of human-feedback data, real-time safety monitoring on inference, A/B testing across versions, and auditable explanations for every decision.
My design stacked in layers.
Data layer: a versioned data lake on S3 with an Iceberg or Delta Lake table format, DVC for data artifact versioning, and a separate feature store for frequently-joined features. Versioning is non-negotiable because training reproducibility depends on it.
Training layer: multi-model parallelism via Ray plus DeepSpeed or Megatron-LM for very large models. Data parallelism plus model parallelism plus ZeRO sharding so that we can scale up without hitting per-GPU memory walls. A scheduling layer above that routes jobs to available GPU pools and handles preemption.
Inference layer: the ResponseSafetyFilter from round 1 sits in front of inference, scoring responses in real time. Prometheus plus Grafana for dashboards on safety score distributions. Alert rules that fire when a rule's score distribution shifts beyond a threshold compared to the previous window.
A/B testing: traffic routing by model version, with canary releases at 1 percent then 10 percent then 50. Feedback aggregation combines user signals with safety scores so we can roll back on either.
Auditability: every inference emits a structured log containing principles referenced, critique traces, and the safety filter output. These land in a queryable audit store with a separate access control plane.
The interviewer pushed hardest on tradeoffs. Cost versus latency on the inference-time safety check. Accuracy versus coverage on the alert rules. Real-time versus batch for A/B test result aggregation. My framing for each was "what is the worst thing that happens if we get this tradeoff wrong," which she seemed to appreciate.
Practice it: [[problem/334?company=7|Design Distributed Model Deployment]]
Onsite Round 4: Culture and Leadership
This round is the quiet filter. No coding, no design, just a conversation about values, team dynamics, and long-term thinking.
The interviewer was looking for three things. Do you actually care about AI safety beyond the paycheck. Can you work on a team and change your mind in response to colleagues' input. Do you think on a time horizon longer than the next quarter.
The three explicit red flags the round is filtering for are: candidates who say they want to work at Anthropic "because it's hot right now," candidates who push back on the premise that AI safety is a serious concern, and candidates who frame every past experience as a solo heroic effort with no team context. I avoided all three by grounding my answers in specific research papers that had changed how I thought about the field, a specific disagreement with a mentor that I initially lost and then reconsidered, and project stories that named collaborators by name and contribution.
The interviewer used STAR framing explicitly and asked for tradeoffs on every behavioral story. "What would you do differently" was her most common follow-up.
Result
Offer came in March. Research Engineer role on the Canadian alignment team, with a relocation package. Compensation was within the expected band for the level. I accepted after a week of due diligence on team fit.
Tips
- Read at least three Anthropic papers before the initial screen. RLHF, CAI, and a recent interpretability paper at a minimum. The screener will ask about mechanisms, not summaries. If you only know summaries, it shows.
- The RE track coding rounds are system design in disguise. Candidates who prep LeetCode mediums and nothing else will pass the OA and fail the first coding onsite, because the expected answer is "design a pipeline with these components and explain the tradeoffs," not "write Dijkstra." Prep by implementing small alignment-adjacent systems from scratch.
- Know your caching stampede answer cold. Single-flight with `SETNX`, TTL-guarded in-flight markers, stale-while-revalidate semantics. This came up in my coding round and in the system design round, and I have heard from other RE candidates that it shows up in theirs too.
- For the alignment training platform design, emphasize reproducibility over raw scale. Anthropic cares that the same training run produces the same artifact. Data versioning, seed pinning, and audit logs are not optional add-ons; they are the core design requirement.
- For the culture round, name collaborators. If your stories do not include specific colleagues with specific contributions, the interviewer will assume you work alone. Pick two stories and rehearse them with the collaborator names in them.
- Do not treat the RE loop as a researcher loop. You will not be asked to derive a loss function or propose a novel architecture. You will be asked to build, scale, and audit the infrastructure that researchers use. Prep accordingly.