Ode (Ode with Anthropic) Software Engineer Interview Experience — Java TDD Pairing Round Building a Set

Ode·Software Engineer·Nov 2026
Technical Screenmedium

Background: the recruiter reached out to me. Ode with Anthropic used to be Fractional AI. It is an AI services company set up jointly by Anthropic, Blackstone and others, and the work leans toward FDE / consulting. The role is Member of Technical Staff (San Jose). Hybrid: three days in San Jose, Thursday in SF, Friday WFH.

Process: recruiter call → 60-minute Collaborative Pairing Interview (this round) → onsite (system design + behavioral).

Format: Zoom, and the interviewer shares her IDE. The interviewer types and you talk her through it out loud, using Java + JUnit. The question is the same for every candidate and the interviewer has to walk through it in a fixed order. She said they mainly look at collaboration and thought process, not whether you can write a complete implementation. It is strict TDD, red → green → refactor: at every step you first write a test that fails, then write the minimal implementation that makes it pass, even if it looks nothing like a real set.

The question: implement a Set (you can't use java.util).

  • isEmpty: a newly created set should assert isEmpty is true, and the minimal implementation is just return true.
  • After add, isEmpty should be false: this is where you introduce a size field. The interviewer will ask what else you could do without size, and the answer is that a single boolean is enough.
  • size: add one and then two elements and assert the size. I wrote the duplicates test too (add the same element twice, size is still 1), and the interviewer said to skip it for now and come back to it later.
  • contains: on an empty set contains always returns false, so just return false. After add, contains should be true, and I stored the element in a single Object field. After adding two different elements the single field gets overwritten and the test fails, so I changed it to a fixed-capacity array with a for loop comparing using equals.
  • remove: after finding the element, set it to null and then size--. The interviewer pointed out that this leaves a "hole". I first said shift everything left, and she asked whether we could avoid moving all the elements, since shifting left is O(n). (The rest of the content and the result were missing from the post.)

A few takeaways:

You have to see red first. The first time I just said return true directly and was reminded to make the test fail first.

"Minimal" really means minimal. The interviewer keeps asking "even more minimal", so if you can hardcode it, hardcode it first and then break it with the next test.

After every green she asks what else there is to test or refactor, so think about how you'll answer that in advance.

When you narrate, be specific down to the line of code, like "add size++ inside add", because the interviewer types exactly what you say.

The interviewer told me to use Object as the element type and compare with equals.

Remove, looking back: a set is unordered, so you can move the last element into the removed slot and then size--. That is O(1), and simpler than shifting everything left or skipping over nulls. I didn't think of it at the time.

The question is the same as the earlier Ode interview post on the forum, so you can practice it ahead of time.

Overall the experience was good. The pace was relaxed, and it felt more like real pairing than an algorithms test. Good luck everyone!

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Ode
Role
Software Engineer
Rounds
Technical Screen
Difficulty
medium
Interview date
Nov 2026
Questions from this interview
1 question

Related interview experiences

Explore more interview rounds, questions, and outcomes.

Browse interview experiences