코딩테스트를 통과하고, 몰로코 머신러닝 엔지니어 인턴(3개월) 스크리닝 면접을 봤다. 한 시간 남짓 화상으로 진행됐고, 앞부분은 지원 동기와 직무 이해, 뒤쪽은 내 프로젝트와 머신러닝·CS 기본기를 깊게 파는 흐름이었다. 결과는 불합격이었다.
무엇을 물었나
면접은 머신러닝 지식, CS 기본기, 그리고 모델링과 인프라 중 어느 쪽에 더 맞는 사람인지를 보는 자리였다.
동기와 직무 이해. 왜 몰로코인지, 떨어지면 어떻게 할지, 이 직무를 어떻게 이해했는지를 물었다. 한 번은 내 직무 설명이 한 번에 와닿지 않는다며, 공고와 회사 기술 블로그를 어떻게 읽었는지 되물었다. 대규모 실시간 광고 시스템의 처리량과 지연 감각을 블로그와 공고에서 짚어 봤다고 보강했다.
한화 UGV 이상탐지. 가장 길게 간 부분이다. 목표, 정답 데이터가 거의 없는 제약, 규칙으로 먼저 판단하고 Isolation Forest를 붙인 이유, 시작 직후의 빈 구간을 규칙과 모델을 섞어 메운 방법을 설명했다. Isolation Forest가 왜 이상을 고립시키기 쉬운지 같은 원리 질문도 이어졌다. "모델을 만들었다"는 표현이 시스템 전체인지 순수한 모델인지 짚었을 때는, 정답 없는 환경에서 모델 기반 파이프라인을 직접 만들어 운영 가능한 수준까지 가져갔다고 범위를 맞춰 답했다.
CS 기본기. 프로세스와 스레드, 동기화와 교착 상태를 물었고, 인턴 때 멀티스레드와 큐로 동시성을 맞춘 경험과 연결했다.
LG Aimers. 부스팅의 원리, XGBoost와 CatBoost의 차이, 극단적인 클래스 불균형에서 쓴 SMOTE-ENN이 무작위로 다수 클래스를 줄이는 것과 어떻게 다른지, 불균형에서 어떤 지표를 봤는지까지 꽤 구체적으로 들어왔다.
Google ML Bootcamp. QLoRA와 4비트 양자화로 작은 GPU에서 미세 조정한 이야기에서, 추론 때 기본 모델과 LoRA가 어떻게 합쳐지는지 같은 추가 질문이 나왔다.
시나리오와 도구. 광고 전환 예측을 해커톤처럼 만든다면 어떻게 할지, PyTorch의 역전파가 어떻게 동작하는지를 물었다.
어디서 강했고, 어디서 아쉬웠나
강했던 건 준비의 깊이였다. UGV 이상탐지는 끝까지 설명할 수 있게 준비해 뒀고, LG Aimers의 부스팅과 불균형 처리도 한 줄 요약이 아니라 멈춰서 설명할 수 있었다.
아쉬운 건 두 가지다. 초반 오디오 문제로 같은 말을 반복하게 됐고, 직무를 설명하는 첫 답이 한 번에 전달되지 않았다.
남은 것
면접 분위기로는 꽤 잘 풀렸다고 느꼈다. 대화가 길게 이어졌고 대부분의 질문에 끊기지 않고 답했다. 그래도 떨어졌다. 이유는 알 수 없어서 추측으로 단정하지는 않겠다.
다만 이렇게 정리해 둔다. 잘했다고 느낀 자리에서 떨어졌다면, 내 기준과 회사가 보는 기준 사이에 아직 차이가 있다는 뜻이다. CatBoost의 내부 동작, 양자화가 계산을 어떻게 바꾸는지, 광고 전환 예측처럼 이번에 나온 축은 말로만 아는 수준에서 한 단계 더 파고들 생각이다. 그리고 첫 답 30초 안에 직무를 한 번에 설명하는 연습도.