첫 Anthropic loop를 왜 그렇게 망쳤을까. 답을 알게 된 건 다른 AI 연구소에서 일하던 예전 동료 덕분이었다. 면접에 들어가기 전 알았어야 할 것들을 그 동료가 하나씩 짚어 줬다. 그런 다음 몇 주가 흐르고 Anthropic과 OpenAI 두 곳에서 모두 offer를 받았다. 첫 시도와 두 번째 시도 사이에서 무엇을 바꿨는지, 이 글에서는 그 얘기를 해 보려고 한다.
간단하게 말하면 이 곳의 코딩 라운드는 90분짜리 구현 작업이다. 전형적인 화이트보드 문제를 생각하면 안 된다. 내 문제는 key-value store를 만드는 것이었다. SET GET DELETE로 시작해서 조건부 scan으로 넘어갔고, 그다음은 timestamp를 이용한 TTL 만료, 마지막에는 압축을 겸한 파일 저장까지 붙었다. 총 4단계를 앞에서 짠 코드 위에 차례로 올려야 했다. 여기까지만 들으면 할 만해 보일 수도 있다. 그런데 매 단계를 끝낼 때마다 면접관이 바로 제약을 추가했다.
스프린트 중간에 사양을 계속 바꾸는 동료와 함께 일하는 것 같아 짜증이 났다. 아니, 실제로는 미칠 것 같았다. OpenAI에서도 스크린을 치러 간 예전 동료는 비슷한 경험을 했다. 주어진 1시간 동안 진짜 작동하는 무언가를 만들어야 했다고 한다. OpenAI에서는 한 단계를 더 거친다. 본인이 만든 시스템을 발표하고 나면, 면접관이 그 안의 결정을 하나씩 뜯어보는 deep dive가 이어진다.
나를 당황하게 만든 부분은 코딩 실력이 아니었다. 왜 이렇게 풀었는지 면접관과 얘기하는 일이었다. 90분이라는 시간이 주어져도, 내 코드를 지켜보는 사람이 15분마다 조건을 더하면 입이 잘 떨어지지 않는다. 두 번째로 면접을 볼 때는 반대로 했다. 먼저 문제를 내 말로 바꿔 면접관에게 다시 들려줬고, 예시로 쓸 input을 몇 개 적어 본 뒤에야 코딩을 시작했다. 예전 동료와 연습할 때도 같았다. 내가 한참 설명하고 있으면 그 동료가 중간에 "좋아, 그런데 corner case는 뭐야?"라고 끊었다.
준비해 둔 답을 외우는 게 아니라 생각하는 과정을 말로 보여 줘야 했다. 그러니 키보드부터 잡지 않고, 접근법과 복잡도를 먼저 얘기하면서 면접관에게 이 방향이 괜찮은지 확인했다. 코드는 그다음에 천천히 썼다. 끝낸 뒤에는 앞서 만든 예시를 넣어 디버깅했다. 연습할 때는 속이 터질 만큼 느리게 보였지만 실제로는 시간을 아꼈다. 엉뚝한 길로 갔다가 만든 것을 다 지우고 새로 짜는 일이 없어졌기 때문이다.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan Free시스템 설계는 얘기가 또 다르다. FAANG 시스템 설계를 준비하며 공부한 건 전부 잊는 편이 낫다. URL shortener를 설계해 보라는 사람은 없었다. 차라리 URL shortener였으면 좋았을 텐데. 채팅 서비스도 나오지 않았다. Anthropic은 서로 다른 크기의 모델을 돌리면서 GPU 사용률을 높게 유지하고, 수백만 건의 요청을 처리할 inference serving infrastructure를 설계하라고 했다. 결국 batching, KV cache memory management, 알맞은 instance로 보내는 routing, transformer pipeline을 지날수록 latency가 어떻게 누적되는지를 이야기해야 했다.
내 면접관은 그 회사의 serving stack을 직접 만든 사람이었다. 말 그대로 본인이 코드를 썼다. 내 준비가 뻔한 YouTube 영상에서 나왔다는 걸 알아채는 데 2분도 걸리지 않았다. 전 직장 동료도 이 점을 미리 경고했다. 그 사람이 본 OpenAI 시스템 설계 주제 역시 inference scaling이었고, 면접관은 실제 production system을 직접 다뤄 본 사람이었다. 이런 일을 진짜로 해 본 경험이 필요하다. 예전 직장에서 serving infrastructure를 조금 만져 본 경험 덕분에 살았지만, 내가 아는 내용을 20분 동안 횡설수설하지 않고 설명할 수 있게 정리하는 데도 2주가량 걸렸다. 한 가지 요령이 있다. distributed queue가 필요하지만 써 본 적이 없다면 그냥 "distributed queue"라고 부르면 된다. 방어할 수 없는 세부 사항까지 스스로 파고들지는 말자.
그래서 두 번째 Anthropic 도전과 몇 차례 OpenAI 모의 면접에서는 InterviewMan을 켜 뒀다. 코딩 과제 중에는 다음 단계로 넘어가기 전에 read에서 TTL을 확인하지 않았다는 걸 잡아냈다. 4단계까지 가는 데 정신이 팔려 있었다면 딱 놓쳤을 부분이다. safety 라운드에서는 alignment와 관련해 말할 거리를 건네줬고, 이번에는 tool use와 hallucinations 질문 앞에서 얼어붙지 않고 답했다. 시스템 설계에서는 면접관이 질문을 다 읽기도 전에 GPU usage와 batching이 핵심이라는 걸 짚었다.
Zoom, Replit, CodeSignal을 띄운 상태에서 dock, process list, Activity Monitor를 전부 확인했다. 아무것도 보이지 않았다. 연간 결제 기준 월 12달러, 1년이면 144달러다. session cap은 없고, 공개 counter에는 사용자 57,000명, review 257개에서 별점 4.8이 표시된다. 기본으로 들어 있는 stealth feature도 20개가 넘는다. Interview Coder는 299달러인데 coding만 지원한다. 이런 회사에서는 safety 라운드와 시스템 설계가 점수의 절반쯤을 차지할 수도 있으니, coding만 되는 도구는 쓸모가 없다. 이 분야를 좀 더 넓게 비교한 글로는 InterviewMan vs Interview Coder 2 비교가 가장 가깝다.
대부분이 잘못 준비하는 부분은 behavioral이다. 사실 제대로 된 behavioral 면접이라고 보기도 어렵다. Anthropic은 면접 전에 values 문서를 보냈고, 지원자가 읽고 오기를 기대했다. 첫 질문은 LLM의 어떤 failure mode가 가장 걱정되느냐는 것이었다. 이어서 agent에게 tool use 권한을 주면 무엇이 달라지는지 물었다. STAR는 도움이 되지 않았고, 팀 내 갈등을 다룬 내 behavioral 사례도 아무 소용이 없었다. 이들은 지원자가 자기 코드가 배포된 뒤 어떤 일을 일으키는지 정말 신경 쓰는 사람인지 알고 싶어 한다. OpenAI도 이 부분을 본다.
항상 묻는 사람이 있으니 일정도 적어 둔다. Anthropic은 recruiter call부터 결과가 나오기까지 약 3주가 걸렸다. 전 직장 동료는 OpenAI가 6주 걸렸다고 했다. 기다리다 죽는 줄 알았다고. Anthropic은 final round를 서로 다른 2번의 half-day session으로 나누고, session마다 2개 또는 3개의 round를 진행한다. OpenAI는 하루에 길게 몰아서 한다. 둘 다 단계 사이에 연락이 끊기는 건 흔하다. recruiter들이 일이 쌓여 꼼짝 못 하는 경우가 많다. offer를 받으면 면접관 중 한 명에게 30분에서 45분 정도 따로 질문할 시간을 요청하자. 그때는 회사가 지원자를 설득하는 단계이니, 답을 잘 들어야 한다.
실제 면접에서 AI를 쓰는 문제를 두고 의견이 많다는 건 안다. 이 글에서는 가상의 라운드가 아니라 실제 라운드, 그중에서도 frontier lab 쪽 경험에 초점을 맞췄다. 내게는 효과가 있었다. 그렇다고 모두에게 효과가 있다는 뜻은 아니다.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.

