배경
SWE 경력 8년, 모바일 앱 개발 (한국 대기업 3년, 싱가포르 1.5년, 미국 스타트업 3.5년)
미국 빅테크 경력 X, 리트코드 스타일 코딩 인터뷰 통과 경험 X
인터뷰 과정
메타가 채용을 확대하던 시기와 맞물려, 레퍼럴로 지원한 후 반나절 만에 리쿠르터한테 연락이 와서 면접 절차를 시작했습니다. 리쿠르터와 짧은 콜을 마친 후 스크리닝 면접 일정을 잡았습니다. 메타는 커리어 포털 사이트가 잘 구축돼 있어서 면접 자료 확인, 일정 조율 등을 후보자가 온라인으로 직접 할 수 있습니다. 개인 사정으로 일정 변경이 필요한 경우에도 간편하게 처리할 수 있었습니다. 또한 면접 단계별로 상세한 안내와 평가기준이 담긴 pdf 문서를 주는데 꼼꼼히 읽어보는게 도움이 많이 됩니다.
리쿠르터 콜
30분: 이력 소개, 왜 이직하려고 하는지 등등 기본적인 얘기 나누고 채용 단계 설명을 해줍니다.
목표 직급을 논의하고 결정합니다. 리쿠르터가 경력을 토대로 추천해주지만 본인이 특별히 원하는 직급이 있다면 이때 말하고 조율하는 것이 좋습니다. 폰 스크리닝부터 직급에 따라 면접 종류가 달라지기 때문에 그 이후에 바꾸는 것은 쉽지 않습니다.
스크리닝
15분 Behavioral(E6 이상만) + 40분 LC easy/medium 2문제
저는 medium 두 문제를 받았습니다.
3일 뒤 합격 결과를 이메일로 받았습니다.
Meta Connection with Ambassadors (선택)
스크리닝을 통과하면 면접과는 별개로 최대 3명의 메타 직원을 선택해서 각각 30분 동안 화상 통화 할 수 있는 기회가 생깁니다.
비슷한 직군의 개발자 2명을 선택해서 근무 환경, 평가 제도 등 여러가지 질문을 했습니다. 업무 자유도가 굉장히 높다는 점이 마음에 들었습니다. 무슨 프로젝트를 누구와 할지 본인이 선택할 수 있으며 내부 팀 이동이 쉽다는걸 배웠습니다.
입사 후엔 공식적으로 모두가 똑같은 “Software Engineer”이며 프론트엔드, 백엔드, 모바일 등의 직군 구분이 약해서 상대적으로 자유롭게 자신이 하고 싶은 프로젝트에 참여할 수 있습니다.
자율적인 개발 문화에 대해 긍정적인 느낌을 받아서 더욱 동기부여가 됐습니다.
Virtual Onsite (“full loop”)
본 면접이라고 할 수 있는 온사이트는 45분짜리 세션 4~5개로 구성되며, 하루에 모두 진행하거나 이틀에 나눠 진행할 수 있습니다. 모든 세션의 마지막 5분은 후보자가 질문하는 시간이라 실제 면접은 40분 이하라고 보면 됩니다. 저는 세션이 5개였기 때문에 이틀로 나눠 면접을 잡았고 특히 코딩 인터뷰 2개를 하루에 몰아 효율적으로 준비할 수 있었습니다.
시스템 디자인 2번
40분 동안 시스템 설계 1개를 완성합니다.
내가 테크리드라고 상상하면서 시스템을 설계하며 적절한 의사결정을 내리는 과정을 보여줍니다. 요구사항 정립부터 고수준 설계 및 세부 전략까지 다뤄야합니다.
웬만해선 코드는 작성하지 않습니다만, 면접관에 따라 다를 수 있습니다.
온라인 협업 툴 excalidraw를 사용합니다. 텍스트 추가, 도형 그리기, 화살표 연결하기 등 미리 연습해가길 추천합니다.
면접 종료 후, 잘 봤거나 아예 망쳤을수도 있다고 생각이 들었습니다. 시스템 디자인 면접을 보는게 처음이기도 했고, 정해진 답이 없는 면접이기도 하거니와 면접관들마다 원하는 방향이 완전히 달라서 결과에 대한 감을 느끼기 어려웠습니다.
미리 준비해간 내용을 달달 읊는 것보다 실전에서는 유연한 태도로 면접관이 검증하고 싶어하는게 뭔지 실시간으로 파악하는게 중요한거 같습니다. 시니어 이상 포지션이라면 내가 주제와 대화를 리드해야하는 것도 맞지만 ‘Is that clear for you?’, ‘Do you have any questions?’, ‘Do you have anything else you want me to cover?’ 이런식으로 틈틈이 반응을 살폈습니다.
코딩 인터뷰 2번
40분 동안 medium 2문제를 풉니다.
CoderPad를 사용하는데 코드를 실행하지는 않습니다. 따라서 코딩 완료 후에는 구두로 로직을 검증합니다.
모든 문제에서 follow up 질문을 받았습니다. 추가 공간을 안쓰는 방법이 있을지, 조건이 이렇게 바뀌면 어떻게 로직을 수정할 것인지 등등
면접관이 물어보지 않아도 시간/공간 복잡도는 꼭 언급해야 합니다.
Behavioral
전형적인 질문들이었고 리쿠르터가 공유해준 공식 준비 자료에 나와있는대로 질문 받았습니다.
STAR 프레임워크에 맞춰 답변을 하는걸 추천합니다.
간과하기 쉽지만 레벨을 결정하는 중요한 면접입니다. 이야기가 약하면 downlevel 될 수 있습니다.
Onsite 면접 종료 후
빠르면 일주일, 늦어도 3주 안에는 최종 결과가 나오는거 같습니다. 면접 종료 후 일주일 이내에 리쿠르터한테 연락이 없다면 한번 팔로업 이메일을 보내보는게 좋습니다만, 리쿠르터마다 응답 속도나 연락 빈도가 차이가 있습니다. 무소식이 희소식이라고 최대한 평상시처럼 일상을 보내려고 노력해봤지만 결과를 기다리는 주말이 제일 힘들었습니다. 맨날 블라인드 앱 들어가서 다른 사람들은 인터뷰 결과 얼마나 걸렸나 검색해보고, 오래 걸리는게 안좋은 징후인지 이런거 찾아봤는데 다 부질 없었습니다.
인터뷰 합격 후
면접 종료 후 3주 뒤에 전화로 합격 소식을 알려줬습니다. 하지만 여기서 끝이 아니었습니다. 면접을 통과하고 팀 매칭까지 성공해야 비로소 오퍼가 나옵니다. 팀 매칭은 빠르면 일주일, 늦으면 3달 이상까지도 걸립니다. 희망 근무 위치와 포지션에 따라서 채용 인원이 다릅니다. 특히 메타 직원도 채용 공고를 보고 부서 이동으로 지원할 수 있기 때문에 더욱 까다롭고 시시각각 바뀝니다. 제가 면접을 통과했을 때 뉴욕 오피스에는 채용 중인 팀이 없었는데, 다행히 다른 오피스에 있는 매니저들이 뉴욕에서 일할 수 있게 해줘서 팀 매칭이 성사될 수 있었습니다.
팀 매칭
면접에 합격하고나면 내 프로필을 마음에 들어하는 매니저들과 일대일 ‘sell call’ 30분이 잡힙니다. 매니저는 자신의 팀이 무슨 일을 하는지, 왜 우리 팀에 오면 좋은지 어필하고 나 또한 팀에 적합한 사람이라는걸 보여줘야 합니다.
매니저 입장에선 내부 후보자와 신규 입사자 중에서 선발하기 때문에 더욱 적극적인 어필이 필요합니다. 내부 후보자는 온보딩이 필요 없고 바로 일할 수 있으니 더 유리할거 같습니다.
팀 매칭 확률을 높이고 싶다면 특정 업무/도메인/스타일에 너무 강한 선호를 드러내기보다는 다양한 역할과 환경에서 기여할 의사가 있다는걸 강조하는게 좋은거 같습니다.
팀 매칭이 성공하고 리쿠르터가 다음날 최초 오퍼를 제시했습니다.
오퍼
최초 오퍼를 받은 후에 현재 연봉과 최종 합격한 다른 회사에서 받은 오퍼를 알려줬습니다. 리쿠르터가 그 숫자들을 참고하여 보상 위원회에서 새 오퍼를 승인 받아왔습니다.
메타의 보상 패키지는 base+bonus/RSU/sign-on 으로 이뤄져있는데 bonus는 레벨 별로 %가 정해져있어서 협상 불가하고 base, RSU, sign-on 이 협상 대상입니다.
메타는 annual refresher 제도가 업계 최상급이어서 다른 오퍼와 비교할 때 참고했습니다. 근데 이미 리프레셔를 제외하고도 현재 채용 시장에서 메타보다 높은 오퍼를 찾는건 쉽지 않아 협상에서 우위를 점하지는 못한거 같습니다.
협상 후에는 업데이트된 오퍼가 있다고 또다른 메일이 옵니다. 커리어 포털에서도 확인할 수 있습니다.
전화 통화로 오퍼를 수락하면서 입사 날짜를 조율한 후, 몇 시간 뒤에 싸인할 전자 문서가 왔고, 이를 싸인하면서 길었던 여정이 끝났습니다. 커리어 포털도 Welcome으로 바뀌었습니다!
준비 전략
👨💻 코딩 인터뷰
저는 리트코드 문제를 정말 못 풀어서 경력 내내 코딩테스트를 통과해 본 적이 없습니다. 카카오, 배민 신입 공채 광탈, 구글 인턴 광탈을 한 적이 있습니다. 근데 메타 면접 잡혔을때 서류 통과한 회사가 2개 밖에 없어서 간절한 마음이었습니다. 옛날에는 한 문제 풀릴때까지 1시간 이상 붙들고 있었는데 이번에는 준비 시간이 부족하니 전략을 바꿔서 10분 고민해보고 안되면 ChatGPT한테 답을 물어서 풀이를 외웠습니다.
근데 60 문제 정도 최대한 외우고 나니까 신기하게도 처음 보는 문제도 풀 수 있게 됐습니다. 그래서 메타 면접 준비하면서 총 140 문제 (easy 60, medium 70, hard 10) 풀었는데 이걸 3세트 반복했습니다. 실제 면접에서는 빨리 풀고 시간이 남아서 면접관들이랑 수다를 많이 떨었습니다. 최근에 가장 재밌었던/기억에 남는 프로젝트가 뭔지 물었고, 진심으로 흥미롭고 대단하다고 칭찬해줬습니다.
⚙️ 시스템 디자인
시스템 디자인을 처음 연습 해봤을때는 패닉에 빠졌습니다. 40분 동안 어버버 하다가 끝났습니다. 헤쳐나갈 수 있었던건 (1) 이론 공부 + (2) 모의면접 이었습니다. 가장 도움이 많이 됐던 자료는 HelloInterview, Jordan has no life, 테크 기업들의 공식 블로그 등 입니다. 저는 모바일 개발 분야인데 관련 자료가 매우 빈약합니다. 그래서 퀄리티 높은 백엔드 시스템 디자인 예제를 본 뒤, 해당 시스템을 지원하는 모바일 앱 시스템을 구현해보는 식으로 연습했습니다. 또한 여러 앱들을 Reverse Engineering 해보면서 아이디어를 얻었습니다.
시스템 디자인 유료 모의 면접을 6회 정도 했습니다(회당 $250 정도). 이 면접을 한번도 해본 적이 없으신 분들에게는 모의 면접을 절대적으로 추천합니다. 시스템 디자인 인터뷰는 시간 관리가 핵심이라서 익숙하지 않으면 시간 분배를 제대로 못해서 충분한 합격 신호를 못 줄 수 있습니다. 그럼 탈락하거나 downlevel 될 수 있습니다. E5 이상을 노릴수록 시간 관리를 잘해서 Deep Dive까지 여유 있게 마쳐야 합니다.
👫 Behavioral
이야기들을 STAR 프레임워크에 맞춰 준비했습니다. HelloInterview의 스토리 빌더(링크)도 좋고, LLM의 도움을 받아 이야기를 틀에 맞춰 정리하면 좋습니다. 최대한 스코프가 큰 프로젝트를 선별하는게 좋습니다. 개발 기간이 길었던, 참여 인원이 많았던, 내가 리드했던, 난이도가 높았던 프로젝트 등이 적합합니다. 면접을 보는 포지션 직급과 역할을 수행할 수 있다는걸 증명해야 합니다.
개인적으로 가장 까다로웠던 것은 이야기의 길이를 조절하는 것이었습니다. 답변이 너무 짧으니 디테일을 더 넣으라는 피드백도 있었고, 반대로 더 간결하게 얘기하라는 피드백도 받았습니다. 결국 짧은 버전과 긴 버전 모두 대비해놓고 면접관의 성향에 맞추려고 노력했습니다. 면접관이 이야기를 쭉 잘 듣는거 같으면 조금 길게 얘기하고, 급해보이거나 말을 자르는 스타일이면 일단 간결하게 답한 뒤 추가 질문을 하면 그때 살을 붙이는 식으로 했습니다.
마무리하며
메타는 커뮤니케이션을 매우 중요시한다는 인상을 받았습니다. 면접관들 역시 기본적으로 소통 능력이 뛰어났습니다. 시스템 디자인, Behavioral은 말할 것도 없고 심지어 코딩 인터뷰에서도 코드 작성하는 5~10분 제외하고는 계속 대화를 하기 때문에 자신의 생각을 명료하게 전달하고, 상대방의 말을 이해하고, 설득하는 능력이 중요했습니다. 기술적인 준비 뿐 아니라 커뮤니케이션 능력도 점검해보고 강화하는 것이 필수라고 느꼈습니다.
후기 잘 봤습니다!! 혹시 이 플랫폼 말고 다른 플랫폼도 이용하시나요?
자세한 후기 감사합니다.
혹시 미국에서 어떤 비자로 근무하시는것인지 공유가능하실까요?