brunch

You can make anything
by writing

C.S.Lewis

by MrCC Jan 15. 2019

온사이트 인터뷰 - 리프트

Episode 9. Onsite Interview - Lyft

(사진: Lyft)

온사이트 인터뷰 마라톤의 첫 시작은 Lyft이다. 

사정상 시애틀 오피스에서 오후에만 보게 되었다. 
사실 Lyft와의 인터뷰는 중간에 사정이 생겨서 취소를 할뻔했지만 다행히 리크루터가 시애틀 오피스에서 오후만 시간을 써서 인터뷰를 볼 수 있도록 스케줄 조정을 해줘서 진행을 할 수 있었다. 

Lyft 시애틀 오피스는 바닷가에서 한 블록 떨어진 빨란 벽돌 건물에 위치하고 있었는데 길가에서 보이는 Lyft 간판이 보이는 1층 사무실로 들어갔다. 


(사진: Lyft Blog)


사람이 꽤나 북적였고 안내 데스크로 보이는 곳에서 줄을 서 있었는데 처음엔 인터뷰 보는 사람이 굉장히 많구나 하는 생각을 하면서 순서를 기다리고 있었는데 알고 보니 Lyft Driver Hub이었다...

 한참 동안 줄을 서 있다가 리크루터에게 연락이 돼서 위층에 위치한 오피스로 찾아갈 수 있었다.
 
4층에 위치한 Lyft 오피스는 생각보다 규모가 작았고 금요일이라 그런지 사무실이 많이 비어 보였다. 
안내 데스트에서 check-in을 한 후 오늘의 인터뷰 스케줄을 받고 첫 인터뷰를 기다렸다. 
인터뷰 오기 전에 리크루터를 통해 간단히 설명을 오늘 인터뷰 스케줄에 대해 간단히 들었지만 인터뷰 당일 스케줄을 이렇게 자세히 프린트를 해서 주는 경우는 처음이었다. 
덕분에 기다리는 동안 인터뷰어가 어떤 사람인지 또 어떤 팀에 있는지 알아볼 수 있었다. 


(사진: Onsite Interview Schedule)




오후에 보는 인터뷰라 보통 온사이트 인터뷰에 비해 인터뷰 수가 적은 듯하였다. 
1시간 반 동안 보는 Laptop Coding Test 한 개와 각각 한 시간씩 주어진 System Design/Architecture 두 개 인터뷰 총 3개의 테크니컬 인터뷰가 스케줄 돼있었다. 

Coffee Break과 Close는 인터뷰라기보다 중간과 마지막에 Lyft 직원들과  이야기를 할 수 있는 시간을 제공해 주는 듯하였다.  

잠시 후 시간에 맞춰 리크루터가 인터뷰 룸으로 안내해주었고 곧이어 첫 인터뷰어가 인터뷰룸으로 들어왔다. 


(사진: freeCodeCamp)

첫 번째 인터뷰는 Laptop Coding Test

인터뷰라기보다 말 그대로 코딩 테스트에 가까웠는데 Lyft가 새로 시도하는 포맷인듯하였다. 
보통 온사이트 인터뷰에서 코딩 인터뷰는 화이트보드에 손 코딩이 대부분인데 효율성 면에서 말이 많아서 Lyft에선 컴퓨터를 이용한 현장 테스트 방식으로 좀 더 효율적으로 지원자를 시험하려고 하는 듯하였다. 
만일 아무것도 모르는 상태에서 화이트보드 손 코딩을 예상하고 왔다가 마주치면 조금 당황스러울 수도 있었겠지만 다행히 Lyft 온사이트 인터뷰 방식에 대한 사전 조사로 Laptop Coding에 대해서 듣고 미리 어느 정도 준비를 해서 왔다. 
내 Laptop 컴퓨터를 쓰는 것이 허용이 돼서 Java로 간단한 Template을 미리 만들어서 처음 셋업 하는데 낭비되는 시간을 버릴 수 있었다. 

서로에 대해 간단한 소개를 하고 인터뷰어가 문제를 프린트 한 용지를 전달해주었다. 

문제는 Autocomplete 프로그램을 짜는 것
Sample input과 output이 용지에 나와 있었는데 단순 autocomplete이 아니라 살짝 복잡하게 문제를 꼬아 놓았다 주어진 조건이 간단해 보이진 않았다. 
인터뷰어가 문제에 대한 간략한 설명을 마치고 내가 남은 시간 동안 코딩에 집중할 수 있도록 자리를 피해 주었다. 
코딩을 하는 동안 인터넷을 쓰는 것이 허용이 되었고 주어진 시간 내로 코딩을 완성해서 jar file을 준비해놓아야 했다. 

소개와 문제 설명을 마치니 대략 1시간 15분 정도의 시간이 있었다. 
코딩을 시작하기 전에 10분 정도를 문제 이해와 문제 해결을 위한  Data structure를 생각하는데 쓰고 어느 정도 방향을 잡고 코딩을 하기 시작했다. 

1시간이 무척이나 짧게 느껴질 정도로 시간이 빡빡했다. 
주어진 시간을 끝까지 전부 다 쓰고 나서야 겨우겨우 완성할 수 있었다. 
남은 시간이 얼마 없어서 간단하게 내가 완성한 프로그램에 대해 설명을 하고 jar file을 제출하고 나서야 Coffee Break으로 넘어갈 수 있었다. 

(사진: www.airbalticblog.com)


Coffee break 시간은 한숨 고르며 Lyft 엔지니어와 대화를 할 수 있는 시간이었다. 

Microsoft를 다니다가 1년 전에 Lyft에 조인한 엔지니어였는데 내가 하는 질문들에 대해서 주로 답을 해주었다. 
Lyft에서 engineering culture는 어떤지, Microsoft와 비교해서 장단점이 무엇인지, 엔지니어 하루 일과가 어떤지 등등 내가 궁금했던 내용들을 질문을 했다. 
Lyft는 아직 스타트업이라서 큰 회사들에 비해 자유로 운듯하였고 엔지니어들이 원하는 프로젝트를 하기 위해 팀도 자주 옮길 수 있다고 하였다. 
단점은 많은 팀들이 샌프란시스코 오피스에 주로 있어서 시애틀 오피스에선 화상 콘퍼런스콜을 해야 하거나 출장을 가야 하는 일이 잦다고 하였다. 
그리고 회사가 빠르게 성장하면서 어느 정도 성장통을 겪고 있는 것 같다는 솔직한 이야기도 해주었다. 

이렇게 30분 동안 coffee break을 마치고 다음 인터뷰로 넘어갔다. 

(사진: Hacker Noon)


다음 인터뷰는  Design / Architecture 인터뷰

이번에도 역시 Microsoft 출신에 Lyft에서 일한 지는 6개월 정도 됐다는 엔지니어가 인터뷰어로 들어왔다. 
시간 낭비 없이 간단한 소개를 마치고 바로 인터뷰로 들어갔다. 
첫 번째 질문은 video sharing system design을 하는 게 나왔다. 
이 문제는 video라는 media type의 큰 사이즈의 파일을 어떤 식으로 받아서 서버에 업로드를 하고 어떻게 프로세스를 해서 또 어떻게 end-user들이 받아 볼 수 있게 할 건지를 생각해야 했다. 

이런 식의 system design 문제는 어떤 방향으로 흘러 갈지 알 수가 없기 때문에 내가 알고 있는 모든 방법과 경험을 최대한 발휘를 해서 문제를 하나하나 해결해나가야 한다.
인터뷰를 진행하면서 인터뷰어가 좀 더 자세한 설명을 요구하기도 했고 중간중간에 많은 질문들을 했다. 
쉽진 않았지만 신중을 기해서 설명을 하고 질문의 답을 하면서 진행해 나갔다.
인터뷰 문제를 마무리할 즈음 시간이 조금 남았는지 뜬금없이 코딩 문제를 한 개 던져주었다.
sorting algorithm 관련 문제를 주고 화이트보드에 코딩을 하라고 했는데 크게 어려운 문제는 아니었지만 시간이 촉박해서 간단히 pseudo code로만 쓰고 말로 내가 생각하는 algorithm을 설명해 주면서 마무리를 하였다.

시간이 다 되자 바로 다음 인터뷰어가 들어와서 다음 인터뷰로 이어졌다. 
이번 인터뷰어는 Amazon 출신. 
시애틀 오피스라 시애틀 근처에 위치한 기업들 출신이 많은듯하였다. 
이번 인터뷰 질문은 tiny url system을 만드는 문제가 나왔다. 
tiny url system 문제는 사실 system design 인터뷰 문제 예제로 많이 나오는 문제라 실제 온사이트 인터뷰에서는 쓰이지 않는데 의외였다. 


전에 몇 번 이런 예제를 통해서 봤던 터라 큰 어려움 없이 system design을 완성해 나가고 있었는데 예상하지 못한 데서 문제가 생겼다.
인터뷰어랑 의견 충돌이 발생한 것이다.
내가 생각하기엔 단순히 문제 제기를 위해 딴죽을 거는 식으로 질문을 해와서 그래도 나름 방어를 하면서 대답을 했는데 성에 안 찬듯하였다. 
사실 중간에 좀 억지를 부린다고 생각이 들어서 문제 제기를 한 것에 대해 동의를 하지 않는다는 식으로 대답을 했더니 거기서 틀어진 듯하였다.
마지막에 의견 충돌이 있긴 하였지만 그래도 전반적으론 나쁘지 않았다. 
한 시간 동안의 인터뷰가 끝나고 다음 close session을 위해 다른 엔지니어가 들어왔다. 

close session은 인터뷰를 마무리하면서 coffee break과 비슷하게 30분 동안 엔지니어와 대화를 할 수 있는 시간이었다. 
close session에 들어온 엔지니어는 Lyft 내에서도 유명한 엔지니어라고 소개를 들어서 기대를 잔뜩 했는데 솔직히 실망만 컸다. 
그냥 기본적으로 귀찮은 듯 보였다. 
일이 바쁜데 어쩔 수 없이 시켜서 하는 듯한 태도를 보여서 스케줄 된 30분을 다 안 쓰고 중간에 질문이 더 이상 없다고 하고 일찍 마쳤다. 




이렇게 이번 온사이트 인터뷰 마라톤에 첫 인터뷰를 마쳤다. 
아쉬운 점도 조금 있었지만 전반적으로 나쁘지 않은 스타트였다. 
Lyft를 가장 처음에 스케줄 한 것도 그다음 이어지는 인터뷰 회사 리스트 메인 그룹에 있던 Netflix와 Facebook 인터뷰 전 실전 연습의 목적도 있었는데 다행히 Lyft와 인터뷰를 통해 연습도 충분히 되고 적당한 긴장감도 갖게 되었다. 
그리고 매번 느끼는 거지만 온사이트 인터뷰는 정말이지 쉽지 않다는 것을 다시 한번 느꼈다.

다음 에피소드에서는 Netflix와의 온사이트 인터뷰 경험을 공유하도록 하겠다.

매거진의 이전글 온사이트 인터뷰 준비
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari