FAANG 취업 도전기 - 1. 코딩 테스트 준비 & leetcode를 효율적으로 사용하는 방법


개발자라면 누구나 한 번쯤 FAANG (Facebook, Apple, Amazon, Netflix, Google)에서 일해보는 것이 꿈일 것이다. 코로나 19로 인해 여러 회사들이 fully remote로 전환하면서 타주의 사람들도 실리콘 밸리에 있는 회사에 지원과 일을 할 수 있는 뜻하지 않은 좋은 기회가 생겼다. 내가 있는 노던 버지니아 (Northern Virgnia) 지역에 FAANG 급의 회사는 두 번째 본사를 Arlington에 구축하고 있는 아마존 밖에 없기에 도전을 해보기로 결심했다.


준비 과정 준비 (?!)

코딩 테스트를 준비해본 사람들이라면 알 것이다. 코테는 하루 이틀 공부한다고 되는 것이 아니다. 더군다나 나같이 알고리즘의 알짜도 모른다면 시간이 더 많이 걸릴 것이다. 나는 현시점에서 3개월로 잡았다.

맨땅의 헤딩이란 정말 어렵다. 하지만 분명히 다른 사람들도 처음엔 나와 같은 것을 겪고, 경험을 공유하는 사람들이 있을 것이기에 찾아보았다.

코딩 테스트는 leetcode로부터 시작된다. leetcode는 알고리즘 풀이 사이트 중 탑이라고 보면 된다. 기본 무료이고 구독하면 특정 회사들이 자주 내는 문제들을 골라 볼 수도 있다. 글 작성 기준 총 1493 문제가 존재한다.

여러 검색을 통해 파악한 가장 효율적으로 공부하기 위한 두 가지 방법이 있다.


첫번째 공부 방법

https://leetcode.com/problemset/algorithms/ 로 이동하면 모든 문제들이 나온다. 

Difficulty 컬럼 헤더를 두 번 클릭하면 Easy -> Hard 순으로 정렬되면서 Acceptance Rate도 같이 정렬된다. 그러면 Easy 중에서도 Acceptance Rate이 가장 높은, 바꿔 말하면 난이도가 제일 낮은 문제들 순으로 볼 수 있게 된다. 



 원글: https://leetcode.com/discuss/career/450215/How-to-use-LeetCode-to-help-yourself-efficiently-and-effectively-(for-beginners)


두번째 공부 방법

Facebook의 Blind 유저가 올린 75 추천 문제 위주로 풀이. 글 작성 기준 작성자는 Leetcode 400-500 문제를 풀었다고 하며 자기의 경험과 FAANG 회사들이 주로 물어보는 문제 유형을 합쳐서 만든 리스트인데 달린 댓글들을 보면 좋은 반응들이 많다. 

https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU



공부 방법이 정해져 있는 건 아니다. 내 생각엔 그냥 무조건 많이 풀어보는 게 초반에는 좋은 것 같다. 처음부터 Easy라도 조금 난이도 있는 문제를 풀려고 시도하면 시간을 많이 낭비한다. 기초적인 알고리즘을 알고 있다면 바로 두 번째 방법으로 공부해도 좋다. 모든 문제에 Solution이 있는 건 아니지만 Discussion 탭이 있다. 유저들이 자기들만의 풀이를 올리고 공유하는 공간으로 여러 종류의 풀이 방법을 보고 똑같이 시도해보는 것도 중요하다. 

몇 문제들을 풀면서 느낀 건 각 문제마다 특정 알고리즘을 사용하지 않으면 풀 수 없는 것들이 있다. 문제 풀이를 보면서 배우는 것도 좋은데 유튜브에 올라와있는 MIT Algorithms도 시간 날 때마다 보면서 같이 보완하는 식으로 하면 더 효율적일 것 같다.

MIT Algorithms: https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&ab_channel=MITOpenCourseWare


내가 참고하는 사람이 직접 풀이와 설명해주는 두 유튜버들:

Nick White: https://www.youtube.com/watch?v=U6-X_QOwPcs&list=PLU_sdQYzUj2keVENTP0a5rdykRSgg9Wp-&ab_channel=NickWhite

Kevin Naughton Jr. : https://www.youtube.com/watch?v=IhJgguNiYYk&list=PLi9RQVmJD2fZxMEHWe4u1Yq86eHEZzS2m&ab_channel=KevinNaughtonJr.


다음 글: FAANG 취업 도전기 - 2. 가고 싶은 회사 찾기