페이스북 그룹인 생활코딩의 []입니다. 학부생 미국 취직 팁:

1. 영어 기본
2. 학점 (<2)점대로 말아먹은 게 아니면 별 필요 없습니다. 구글 빼고 물어보는 회사 없었어요.
3. 기본 자료구조는 모두 time space complexity와 사용법 사용처 외우기.
4. 알고리즘은 다이내믹 프로그래밍까지, 다익스트라랑 A*같은 거 대충 알아두면 플러스. NP문제 대충 알아볼 정도로.
5. 해쉬 관련 알고리즘과 자료구조 잡학지식은 무조건 자다 일어나도 말할 수 있도록.
6. 읽을 수 있는 건 최대한 많이 읽어두세요. 소프트웨어 하드웨어 잡학은 많이 알아놓을 수록 좋습니다. “누구는 relational 데이터베이스의 본질적 문제 XX 땜에 다른 걸 쓴다더라…” 같은게 은근 도움이 됩니다.
7. 특정 언어나 스택 알아두면 이력서 스크리닝에서 도움이 되지만 그 밖에 큰 차이는 없습니다. 다만 전 5개 이상의 언어를 쓸 줄 안다고 쓴게 도움이 됐습니다, (폴리글랏)
8. 알고리즘용 언어 하나(보통 파이썬)랑 메모리 조작용 언어 하나(C) 기본문법 완벽하게 알아두고, 기본 자료가 어떤 구조로 implement됐는지, 기본적인 언어 이론(파싱, 스코프, 클로저, first class, 람다, statement vs. expression 등등) 알아야 합니다.
9. 하드웨어 시피유, 캐시, 메모리, 가상메모리, IO, 쓰레드와 프로세스, race condition 등 알아두세요. 그 자체로 대답할 일은 없고 “..란 해답이 있긴 한데 이러이러해서 실용성 없다”같은 대답에 필요합니다.
10. 시스템 디자인 알아두세요. 예를 들어 “구글 서치와 페이지랭크를 어떻게 만드냐” 질문은 첫째로 어떤 기능이 있는지, 그러고나선 어떻게 유기적으로 연결이 되어야 하고 각각 속도를 위해서는 어떤 자료구조와 알고리즘 하드웨어가 필요하고 어떤 데이터베이스가 필요한지 얘기한 후, 리소스가 무한한 경우랑 유한한 경우를 나누어서 뭘 바꿔야 하는지 얘기해야 합니다. 연습 많이 해야해요.
11. API 문서만 읽고 한번도 다룬 적 없는 모듈과 언어로 코딩할 준비 하세요.
12. Cracking the Coding Interview가 왕입니다.
13. 스타트업은 AngelList에서.

추가:
14. CareerCup 문제 많이 풀어보세요. 그냥 푸는 게 아니라 문제의 제한사항, 가능한 모든 해결법과 왜 그게 작동하는지, 각각 time space complexity와 굳이 그걸 신경쓸 필요 있는지(예: 작은 데이터엔 O(n2) 삽입정렬이 퀵소트보다 빠릅니다), 코드의 어떤 부분을 주의해야 하는지, 그리고 최후에 기본 테스팅까지 쉬지 않고 (영어로) 중얼중얼 설명할 수 있어야 합니다.
15. 손지민님 추가: LinkedIn 만드세요. 잘 만드는 법은 여기서 말하기엔 길기에 /in/saklee
16. 레주메 잘 쓰기. 링크드인과 비슷합니다.
17. 자료구조는 힙과 해쉬가 깡패입니다. 두개만 있으면 왠만한 질문은 다 대답할 수 있어요. 언제 빠르고 언제 느리고 어떻게 고치는지(힙은 construction, hash는 collision과 avalanche, salting, resizing)그래프 나타내는 방법들에 대해 알아놓으시고…
18. 인턴쉽 하나 없던 제게 제일 도움된 건 혼자, 혹은 비-컴공계 교수님과 같이 만든 수많은 프로젝트가 이력서를 가득 채운 점이었던 것 같습니다. 개인 프로젝트 많이 만드세요. 회사들은 공부만 한 사람들 그렇게 좋아하진 않습니다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.