I recently did a phone screen with Anthropic. I actually had a lot of goodwill toward this company going in, but the interview experience was extremely bad — I felt like the interviewer led me straight into a trap. Writing this to recap what happened, and also to ask everyone here for advice: when you run into an unprofessional interviewer during an interview, how do you save yourself? And is the success rate for appealing afterward actually high?
Background: The prep materials the recruiter sent before the interview explicitly said Concurrency would be tested. I'm a Java candidate. Then the question I actually got in the interview was a web crawler. I had specifically prepared concurrency, and the whole interview turned into something totally inexplicable.
Problems I ran into:
The interviewer forced me to write single-threaded: Right at the start I proactively asked whether I could write this problem with concurrency or as single-threaded BFS, since the prep materials had mentioned concurrency — so I said I'd write the concurrent BFS. He just said: "Let's start with single-threaded."
He wouldn't let me show my concurrency skills: After I finished the single-threaded version and all the test cases passed, I still had more than half the time left. I proposed again to start implementing the multi-threaded version, but the interviewer just kept grabbing onto follow-up questions about the single-threaded version, dragging it out until the interview ended. The whole time I very politely followed his lead, and ended up with zero chance to show my core strength.
The interviewer admitted he didn't know Java: The most absurd part — the interviewer flat out said during the interview that he doesn't write Java and doesn't really know it well. Before the interview the recruiter specifically asked me what language I wanted, and it was specifically arranged — and then they gave me an interviewer who doesn't know that language?
Result: Sure enough, I got the rejection letter. If I got rejected because I "didn't write multithreaded," this kind of misleading steering really broke me.
Things I want to ask everyone:
How do you "push back" gracefully during the interview? When the interviewer's instructions clearly deviate from what's supposed to be tested (like not letting you write the core point from the prep materials), should you stick to your guns and just write it, or go along with them? Is there any way to phrase it that doesn't offend them but still pulls things back on track?
What do you do when the interviewer's background doesn't match the role? Once you realize the interviewer doesn't know your primary language, besides explaining your code logic on the spot, is there any other way to salvage it?
Feedback after the fact: I already emailed the recruiter to appeal, focusing on the interviewer's misleading guidance and the language mismatch. Has anyone here had a successful appeal? Does Anthropic actually give you a chance to interview with a different team?
I really value this opportunity, but failing this way feels so unfair. Would really appreciate some guidance from everyone!
I saw a friend who ran into the same question — they wrote it up quickly, did both versions, congrats to them.
But I still have a point of confusion I want to get everyone's take on.
From what I understand, the intent of this Web Crawler / Concurrency question should be to have candidates break the problem down step by step: first understand the requirements, clarify some edge cases, then gradually design the solution, and finally extend it to the concurrent version. That way it tests both technical ability and communication / problem-decomposition skills.
For example, I personally think these are the kinds of things worth confirming early on in a normal interview flow:
- Does the URL always include
HTTP schemeorHTTPS scheme? - Does the URL always end with a
/? - Could it contain a fragment (
#...)? - Does the URL need to be normalized?
- What's the termination condition for the crawler?
These are all details that genuinely need to be clarified in real system design.
But I've also noticed that this question is already pretty widely circulated online now, and a lot of people prepare a fixed solution ahead of time, or even memorize the concurrent implementation outright. So the questions that are supposed to be explored step by step during the interview end up getting replaced by a "default answer" — everyone just starts writing code right away.
This leaves me a little confused: if a candidate really takes the time to carefully clarify these details, it might actually make them look slow. But if they just write out the standard answer directly, it kind of looks like they prepared the question in advance.
From the candidate's side, this is actually a pretty delicate situation — sometimes you worry that if you write too fast, too by-the-book, the interviewer might think you've seen the question before.
So I'm curious how everyone usually handles this:
- Do you follow the normal flow — clarify some details first, then start writing? (This is what I do every single interview, and counting this fail, I've now failed this way twice.)
- Or do you just implement it directly based on your own understanding? (I used to do this back when I was younger, and it felt great — but after failing three times I stopped using that strategy.)
- How do interviewers usually judge whether a candidate has seen the question before?
- How do you choose between the two strategies — write directly, or clarify step by step?
Would love to hear everyone's experience too.
Discussion
Loading comments…