Anthropic Software Engineer Interview Experience — OA, a Python LRU Cache Phone Screen, and Rejection After a Full Onsite
Company: Anthropic
Role: Software Engineer
Round: Onsite
Seniority: General
Outcome: Rejected
Company: Anthropic
Role: Software Engineer
Round: Onsite
Seniority: General
Outcome: Rejected
Posting my Anthropic interview from a while back.
I felt like I nailed everything. The culture round and the hiring manager round also went okay. In the end I still didn't pass. It feels way too arbitrary. (Maybe my background just wasn't a great match — I was interviewing for a billing platform team, but I've never worked on payments.)
OA - recipe manager
Phone screen - coding Q2 - LRU cache, the usage was exactly like Python's functools.lru_cache. They had me write how to generate the key, and also how to restore the cache after a crash. I used a WAL (write-ahead log) approach. The interviewer seemed to like it. But I hadn't used Python in a while, so I was a bit nervous writing it, and I probably needed more hints than I'd like.
Onsite (VO) -
coding Q1 - web crawler
System design Q1 - batch GPU requests
Project deep dive
Culture round - grilled me with nonstop follow-up questions
Hiring manager - kept asking for details about my most impactful project, then asked some standard behavioral questions
Attaching the coding prep I put together myself (note: in my file, the Q2 LRU question doesn't exactly match the actual Q2 I got).
Interviewing with this company really does a number on your confidence. I had to go out and get a nice meal before I felt better.
Edit (2026-03-09 13:11 +08:00):
A lot of people asked what the LRU question actually looked like. Roughly like this:
class LRU:
def generate_key(*args, **kwargs):
# you need to implement logic here to generate a hashable key
pass
def call(func, input):
# func is callable, the logic here is provided.
# later followup is asking you to build logic to restore the cache if
# LRU object is lost
pass