아마존 온사이트 후기입니다 (1주일 전에 올린 글 후기입니다)

  • #3384031
    아마조온 103.***.3.10 4380

    안녕하세요, 약 2주일전에 아마존 온사이트 가는길이라고 올렸던 글쓴이입니다.

    SDE III 포지션이며 결과부터 말씀드리면 오퍼를 받지 못했습니다.

    그래도 경험을 공유해드리면 준비하시는 분들께 미력하나마 도움이 될까 몇자 남겨볼까 합니다.
    저는 해외에 거주하고 있고 10년차 개발자입니다. 이번이 두번째 아마존 온사이트 인터뷰였습니다. 첫번째는 작년 5월에 시애틀에서 봤고, 이번에도 역시 시애틀에서 보았습니다.
    작년같은 경우는 미국 테크회사들의 인터뷰 포맷이나 흐름을 아예 알지도 못한채 업무 경험만 믿고 (운좋게 폰인터뷰는 통과하였습니다만) 온사이트에 가서 쩔쩔 매다가 왔었어요. 해외에 있는 나를 비행기와 숙박, 보조금까지 보조해주면서 나를 초청했다는 것은 대단한 신호라며 대단한 착각으로 시원하게 인터뷰를 말아먹었습니다.

    NDA가 있으니 어떤 문제가 출제되었는지 여기에 남길 순 없지만 어떤 식으로 진행을 했는지 공유해드리겠습니다.

    인터뷰 준비
    1. LeetCode – 일주일 2~3시간씩 약 1년 (인터뷰 2달전부터 매일 2시간)
    2. Geeks for Geeks – 일주일 3~4시간씩 약 1년
    3. Youtube (System designs) – 약 2달

    인터뷰 과정

    1. 폰인터뷰 – LP + 알고리즘
    폰인터뷰는 아마존 뿐만 아니라 많은 기업들에게서 받아보았기 때문에 크게 걱정하지 않았습니다.
    다만 이 단계에서 LP를 물어볼줄은 몰랐기 때문에 준비를 안했었는데 다행히 전 해에 보았던 경험을 살려 임기웅변으로 어떻게 대답만 간신히 했습니다.
    알고리즘 난이도는 LeetCode Medium 레벨 정도의 문제가 나왔고, DFS를 이용하여 풀이했습니다. 풀이과정 후에는 코드를 복기하며 설명을 해야 했고, 시간/공간 복잡도도 확인했습니다.
    분명 잘 풀었는데도, 전화를 끊고 나서는 이걸 잘못했나 저걸 잘못했나 혹시 발 동동 구르며 불안했습니다.
    1주일 정도 후에 온사이트 인터뷰 초청 이메일을 받았습니다. 생각보다 결과가 나오는데 오래 걸려 의아했고 사실 반쯤 포기상태였습니다. 연락을 받고 두 해에 걸쳐 연속으로 온사이트 초청을 받아서 더할나위 없이 기뻐서 신나게 집 구석구석 뛰어다녔네요.

    2. 온사이트 1라운드 – LP + 자료구조 + 알고리즘
    아래 남긴 글처럼, 홍콩에서 환승을 하여 시애틀로 갑니다. 인터뷰 하루 전 밤 9시에 도착을 했는데, 심카드에 우버 셋업하고 하다보니 늦어서 호텔에 도착하니 밤 12시가 되버렸습니다. 편의점에서 간단히 샌드위치를 먹고 핫샤워 후 취침했습니다.
    제 온사이트 인터뷰는 다음날 오후 1시부터 5시까지 진행되었습니다.
    1라운드 테크니컬 문제는 적절한 알고리즘과 자료구조들을 이용하여 풀이해 내는 문제였습니다. LeetCode Medium 레벨입니다. 익숙한 분야였기 때문에 완벽하게 풀어내었습니다. 시작이 정말 좋구나 속으로 생각하며 사력을 다해 풀었습니다.
    LP는 역시 준비를 해도 마음에 들게 대답하기는 어렵네요.

    3. 온사이트 2라운드 – LP + 시스템 디자인
    2라운드에서는 시스템 디자인을 물어봤습니다. 아마존의 시스템 디자인 문제같은 경우는 전반적인 시스템 디자인 스킬이 있다면 크게 어렵지 않게 풀어 낼 수 있는 것 같다는 개인적인 의견입니다. 질문을 받고 10분여정도 면접관과 질문 대답을 주고 받으며 requirement를 정확히 파악한 후에 화이트 보드에 그려나가기 시작했습니다.
    제가 이것저것 확인차 질문했던 것들이 주효했고 면접관 또한 그에 대해 굉장히 흡족해 했습니다. 1라운드에 이어 이번 라운드도 잘 본 것 같아 속으로 쾌재를 불렀습니다.
    LP는 역시 준비를 해도 마음에 들게 대답하기는 어렵네요.

    4. 온사이트 3라운드 – LP + 문제해결
    3라운드에서는 문제 해결 능력을 물어봤습니다. 여전히 코딩을 해야하는 부분인데, 이건 자료구조를 테스트 하는 라운드는 전혀 아니었으며 알고리즘이라고 부르기도 어렵습니다.
    문제 자체는 심플합니다. 이 문제를 어떤 방식으로 접근해서 어떻게 풀어나가는지, 또 코딩이 끝난 후 refactor 할 부분이 있는지 토론했습니다. 제게는 이번 라운드가 난해하게 다가왔습니다. 무언가 준비한 것으로 해결해 볼 수가 없는 어떤 복잡 미묘한…
    이번 라운드에서는 내가 잘한건지 못한건지 스스로 평가를 내리기 애매 모호했습니다. 이 때부터 불안감이 살짝 엄습했지만, 첫 두라운드를 워낙 잘 보았기에 여전히 이때까지는 낙관적이었습니다.
    LP는 역시 준비를 해도…

    5. 온사이트 4라운드 – LP + 알고리즘
    마지막 라운드는 LeetCode 기준 Hard 레벨의 알고리즘 문제가 나왔습니다. 여러 풀이법이 있겠지만, 나중에 복기해보니 Two pointer/sliding window를 이용하여 풀 수 있는 문제였습니다.
    사실 LeetCode 준비하며 Hard는 거의 손을 대질 않았기 때문에, 이정도 난이도의 문제를 받으니 가슴이 철렁 내려앉고 머리가 하얘졌습니다. 긍정적인 느낌을 유지하려고 했는데 “아, 못풀겠다. 떨어지겠구나.” 하는 생각이 매 초 저를 괴롭혔습니다. 인터뷰도 많이 봐보았고 이러면 안되는거 아는데도 컨트롤하기 정말 어렵네요. 한참을 설명하다 버벅대고를 반복했습니다. 면접관은 굉장히 친절한 편이셨고 저를 도와주려고 힌트도 주시고 많이 노력하셨습니다.
    긴장+당황+수면부족+시차가 한꺼번에 겹치면서 정말 말 그대로 아무생각이 나질 않았습니다. 당혹스러울정도로 머리가 멈추더라구요. 이 순간을 떠올리면 지금도 가슴이 철렁 내려앉습니다. 최소한 brute force 방법으로라도 풀었어야하는데 말씀드렸던 것처럼 머리가 정지하여 그마저도 못했습니다.
    LP는 역시 simba….

    다시 생각하고 싶지 않았지만 결국 다시 복기하고 확인해본 결과 알고리즘 문제들은 모두 LeetCode에서 경험할 수 있는 것들이고 난이도는 Medium – High 였습니다. Easy – Medium을 기대하고 준비했던 제게는 조금 충격이었죠.
    여기까지가 제 온사이트 후기입니다.

    제가 생각하는 개발자는 두 부류가 있다고 생각합니다.
    – 정말 타고난 머리를 가지고 있어서 적은 노력으로 알고리즘 / 자료구조를 손쉽게 이해하고 다루며 생소한 문제를 받아도 쉽게 응용해낼 수 있는 부류.
    – 그리고 저처럼 평범한 능력치를 가지고 온전히 시간과 노력을 투입하여 근근히 따라가는 타입. 전에 비슷하게라도 경험해 보지 않은 문제라면 당황하는…

    그래서 저같은 부류의 사람은 실력빨보다는 준비빨에 더 의존을 해야해서, 운7기3이 참 크게 작용한다 생각합니다. 제가 준비했고 자신있게 풀 수 있는 문제들을 받는다면 오퍼를 받을 확률이 오를 것이고, 그렇지 못한 경우는 응용력이 부족한 탓에 이번처럼 또 고배를 마셔야 하는 것 같습니다.

    작년 첫 온사이트에서 떨어졌을 때는 뭣도 모르고 그냥 도전했던 거니까 잠시 기분 나쁘고 말았어요. 이번엔 1년여의 시간동안 짬을 내어 차분히 준비했고 자신감도 꽤 붙어 있었습니다. 와? 내가 이제 이런 문제를 풀어? Easy 묻고 Medium 더블로 가! 이러면서 말이죠. (물론 그 1년 사이에 수많은 인터뷰를 봤습니다. 온사이트까지 간 것도 몇 개 있지만 아마존 인터뷰만큼 스스로 준비가 잘 되었다고 느낀 것은 없습니다.)
    온사이트 마지막 라운드에서 문제를 받았을때 머리가 하얘지던 경험에서 제가 느낀 것은 단순히 문제를 풀지 못해서 오는 당혹스러움이 아니라, 제 능력의 한계를 느끼게 되는 그런 종류의 어떤 절망감이 아니었나 싶습니다.

    도대체 어떻게 더 준비를 해야하는걸까?
    나는 진정 훌륭한 개발자가 될 수는 없는걸까?
    미국의 테크회사들은 내겐 넘을 수 없는 큰 산인걸까?
    나같은 사람은 LeetCode 1000문제를 다 풀어보고 가야 붙을 수 있는걸까?
    준비를 더하면 붙을 수나 있는걸까? 더 준비하는게 의미가 있을까?

    스스로를 힘들게 하는 많은 부정적인 생각들이 아직 후유증이 되어 저를 휘감고 있습니다. 며칠 더 속앓이를 할 것 같아요. 그렇게 시간이 지나고 나면 제가 다시 한번 도전할 힘이 생길지는 지켜 봐야할 것 같습니다. 체력적, 정신적으로 지쳤고 또 가장 큰 부분은, 스스로의 한계와 마주하고 나니 자신감이 많이 떨어져 재도전은 사실 잘 모르겠습니다.

    제 인터뷰 경험의 공유와 짧은 푸념 읽어주셔서 감사합니다. 혹 더 정보가 필요하신 분들은 이메일 남겨주시면 제가 따로 이메일 드리겠습니다.
    준비하시는 모든분들께 행운을 빕니다!

    p.s: 전에 올렸던 게시글에 응원 댓글 달아주신 분들께 진심으로 감사드립니다.

    • 71.***.157.82

      좋은 경험 나눠주셔서 감사합니다. 리트코드 하드쯤 가면 문제 잘못 걸리면 힌트를 아무리 줘도 정말 머리가 하얘지더라고요.

    • aoi 71.***.176.35

      좋은 경험담 나눠 주셔서 감사합니다! 저도 모르던 문제를 받고 머리가 하얗게 되버린다는게 무슨 의미인지 실제로 경험을 해봐서 그런지 작성자님이 어떤 기분이셨을지 조금 이해가 가네요.

      제가 느낀 부분도 비슷한것 같습니다. 저도 평범한 능력을 지니고 있어서 모르는 문제를 보고 즉석에서 aha moment를 기대하기는 어렵다는 결론을 내려서 최대한 문제풀이 준비를 많이 하고 있어요. 지금 Top liked 위주로 200문제 가량 풀었는데 여전히 제한시간내에 풀지 못하는 문제들도 많이 보이네요. 하지만 점차 빨라지고 유형정리가 되가는건 좋은것 같습니다.

      혹시 System design은 유트브에서 어떤걸 보고 준비해셨나요?

    • X 24.***.127.165

      LP가 뭔가요?

      • 직장 156.***.122.250

        아마존 Leadership Principals 입니다. 14개가 있는데, 본인의 스토리를 여기에 맞게 정리 해서 STAR (Situation/ Task/ Action/ Result) 방식으로 답변을 해야 해요. 질문은 여러가지 방식으로 만들어질수 있는데 어떤 LP를 묻는 건지 알아야 합니다. 보통 인터뷰어가 어느정도 힌트를 주고 다른 방향으로 답변을 하면 바로 잡아주기도 합니다. 아마존은 직급이 올라갈수록 테크니컬 한 것보다 LP가 더 중요하기도 합니다. 보통은 테크니컬 50% LP 50%이렇게 준비하는것 같습니다.

    • 직장 156.***.122.250

      수고 많으셨어요. 인터뷰를 하다보면 자꾸 떨어지게 되고 그러다 보면 맘이 상하거나 기운이 빠지거나 하게 되는것 같습니다. 미국에서 세번째 직장에 다니고 있지만 이직은 언제나 쉽지 않은것 같아요. 정말 열심히 준비해서 인터뷰 했는데 안되기도 하고 정말 신경 안쓰고 인터뷰 했는데 붙기도 하고 그러니 말입니다. 이직은 결혼이랑 비슷하지 않나 싶네요. 많은 신부감이 있으면 좋지만 결국 딱 맞는 한사람만 있으면 되는것 같아요. 아마존이 아마도 원글님의 짝이 아니었나 생각하시고 실력이나 능력이 떨어져서 그런게 아니다 라고 생각하시면 좋을것 같네요. 지난주에 아마존 온사이트 하고 월요일에 다시 한번 더 폰인터뷰 하고 결과 기다리는 중인데 어차피 활 시위를 떠난 화살이라 내가 할수 있는 일이 없는 상태니 하고 기다리는 중입니다. 결과 있으면 업데이트 하겠습니다. 혹시 들어가게 되면 연락처 물어볼게요. 아마존에 들어가서 한번 자리를 찾아봐 드리겠습니다. 힘내세요.

    • 후기 67.***.132.12

      고생 많으셨습니다! 맘이 싱숭생숭하실텐데도 이러한 후기 남겨주신게 대단하다고 생각이 듭니다.
      작년보다는 이번년도에 본인이 더 나아지셨다고 하셨으니, 다음에 또다시 도전하신다면 반드시 합격하시리라 생각합니다.
      이런 분들이 보통 끝에서 크게 웃으시더라고요. 본인의 실력과 운의 탓이 아닙니다. 다만 시기가 맞지 않는거라 생각하시고 지금처럼 쭉 앞으로 전진하세요.
      크게 성공하실것 같습니다.

    • asdfg 70.***.11.146

      문제 몇 개 망친다고 오퍼가 오지 않는것은 아닙니다. 오히려 아는 문제를 너무 잘 풀면 알고 있는 거였네… 하고 면접자로써는 별로 감흥이 없습니다. 이런 것도 대답하네… 같은 느낌을 받아야 리뷰가 잘 나갑니다.

      글구 꼭 아마존, 애플, 마이크로 소프트 같은 회사로 시작하셔야 하나요? 그.. 몇몇 회사를 빼고는 한국 사람들은 고려를 잘 안하시는데… … 그 외의 회사가 수천개가 넘습니다. 정말 오시고 싶으신거라면 먼저 넘어오는 방향으로 진행하시길 조언해봅니다.

      • 보통 24.***.9.125

        ‘정말 오시고 싶으신거라면 먼저 넘어오는 방향으로 진행하시길 조언해봅니다’

        저도 이 말에 동감합니다. 산호세에 먼저 정착한 친구가 먼저 그 지역에 들어오고 나면 기회가 많다는 얘기를 몇 번 하더군요. 로컬에 있는 사람은 인터뷰 기회가 많다고. 지원하는 입장에서도 비행기타고 가고, 호텔에서 불편한 밤 보내고 긴장하고 시험보고 비행기타고 돌아오고.. 몇 번 하면 많이 힘들어요.

    • . 73.***.177.26

      위의asdfg님 말씀에 동감합니다. 일단 건너오고 영주권 해결하면 언급된 회사들 오퍼가 훨씬 수월한거 같습니다.

    • 한국투미국 64.***.159.5

      저도 이제 빅포 목표로 준비하고 있는데 정말 공감가는 부분이네요.. 제 머리를 의심하게 만드는 상황 ㅜㅜ
      댓글 보고 용기얻어 한발 더 나아가려고 노력하겠습니다

    • 24.***.9.125

      심경을 적어 놓은 글을 보니.. 사람 마음 다 비슷하구나 싶네요.

      그래도 계속 부딪히는 사람이 결국에는 이겨내더라구요.

      이미 온사이트까지 갔으면 적어도 확률 30%라고 보고.. 한 3번 하면 한 번은 되지 않을까 싶네요.

    • 1111 24.***.198.123

      좋은 글 감사해요~

    • AAA 71.***.181.1

      수고많이 하셨네요.
      맘이 괴롭다는 부분 이해가 되지만 한편으로 아마존에 그렇게 뛰어난 인재가 많은것도, 일하기 훌륭한 회사도 아닙니다.
      그렇게 목맬만한 회사는 아닙니다.

      암튼 인터뷰는 할수록 경험과 자신감이 붙으니 좋은 회사 곧 될겁니다.

    • 몰라 73.***.189.247

      LP문제에 대해 아마존이 선호하는 답변유형이 있나요?
      어디서 찾아볼수있을까요?

      • AAA 68.***.29.226

        각 LP에 해당하는 과거 일관련 경험을 얘기해주면 좋아합니다.
        예를 들어 ownership이면 그와관련된 본인이 실행했었던 일.

    • ㅇ_ㅇ 54.***.196.174

      SDE3 포지션이면 상당히 어려울 것 같습니다. 코딩 뿐 아니라 시스템디자인,리더쉽 능력을 아마존 스타일로 보여줘야할텐데 FANG급에서 전직하는게 아닌 이상 10년 훨씬 넘는 경력 있는 분들도 SDE2로 가는 분들이 다수인 듯 합니다.

    • 사과후기 156.***.10.47

      늦게나봐 봤네요. 저도 얼마전에 SDE3 로 보고 시원하게 떨어졌습니다 (심지어 보고나서 스스로 잘 본줄 착각했죠). 위에 분 말씀대로 SDE3 로 바로 아마존에 들어오는 경우는 정말 힘들다고 합니다. 떨어지는게 대부분이고 그나마도 SDE2 로 다운레벨 된다고 하네요. 저의 경우 다른 FANG 회사는 아마존 SDE3만큼 그정도 어려운 난이도의 문제가 안나왔습니다. 준비 잘하셨으니 곧 좋은 결과 있으실 것 같네요.