Spolsky • MS Excel PM, Trello 공동 창업자 , StackOverflow CEO • “코딩을 하는 사람을 뽑으면서 코드 테스트도 안 보고 뽑는 게 말이 돼?” • 간단한 문제를 C 언어로 화이트보드에 풀도록 하고, 여러 각도에서 코드의 헛점을 지적하며 어떻게 대처하는가를 봄 • Reverse String • atoi • itoa • Reverse queue
코드 문제를 다 잘 푼다고 꼭 좋은 엔지니어는 아니더라.. à 보다 쉬운 문제를 기반으로 테스트 • Write a function that determines if a string starts with an upper-case letter A-Z • Write a function that determines the area of a circle given the radius • Add up all the values in an array
어려워 짐. 학부에서 배웠으나 다 까먹었을 알고리즘 문제도 흔히 출제됨 • 이건 다 구글 탓? No! • 여전히 수요-공급 불균형이 있지만 SW 엔지니어의 연봉 급상승으로 공급 증가(인도, 동유럽 등) à 선택의 폭이 늘어남과 동시에 서류 전형으로 판단이 어려워 짐 • Deep learning, Full-stack engineering의 강조로 폭넓은 능력과 동시에 더욱 깊은 특정 domain 지식을 같이 요구하는 추세
원래는 간단한 퀴즈만 냈었으나 요즘은 결코 쉽지 않음 • 2차 code test 1 (on Web) - 미리 대비하지 않았다면 풀기 어려운 수준의 문제들을, 90분 내로 풀어야 함 • 3차 code test 2 – homework! • 4차 onsite interview - cs/java, UI, infrastructure, design, experience
• IT • https://www.nikkei.com/article/DGXM ZO41027710X00C19A2QM8000/?n_ci d=NMAIL007 • 구인난에도 불구하고 일본도 곧 세계적 조류에 동참하게 될 것 à 반대 급부로 높은 임금 수준에 맞는 까다로운 입사 전형이 요구될 것
전직 Googler가 쓴 공전의 히트작 • 코드 테스트에 대비할 수 있는 다양한 문제를 제공 • 해답이 바로 나오지 않고, 3단계의 힌트 그 후 정답 제시 형태 • 알고리즘 문제, 개발 언어 문제, DB, 객체지향 설계, 아키텍처 문제 등 다양한 주제의 문제가 있기 때문 에 이직을 준비하지 않더라도 실력 향상에 큰 도움 이 됨. • 주의: 일어도 한국어도 번역 품질에 문제가 있다는 평이 있음
한 문제씩 풀고 푼 내용과 소요 시간을 기록 • 대략 9개월이면 다 풀 수 있음 (평일 기준) • 회사 업무에도 의외로 도움이 됨. “강 상은 뭘 짜도 순식간에 짜더라..“ • 나중엔 마음이 맞는 직장동료 2명과 함께 (비밀히) 스터디 • 매주 화요일 2시간 동안 Scala와 Ruby로 문제 풀이 후 각자 비교
• 효과적인 homework를 위해서, 그리고 심층 기술 면접 대비를 위해서 자 기 만의 code template을 미리 구비해 놓는 것이 좋음 • 팁: 회사에서 만든 코드를 6개월 정도 뒤에 다른 형태로 재구현해보면? • 자주 하는 실수: 필요는 없지만 최신 기술이라는 이유로 회사 프로젝트 에 억지로 적용하는 경우.. • 참 잘했어요: 회사의 이익에 가장 부합되는 기술을 적용하되 항상 기술 의 원리, 철학, 기반 소스를 집요하게 파기
Disclaimer again: 어디까지나 개인적인 의견입니다. • 의문1: “난장이가 되서, 60초 후에 작동하는 믹서기에 빠졌다. 어떻게 탈 출할래?” • 요즘은 그렇게 짖궂은 질문까지는 안 한다지만.. 그것보다.. 애초에 그런 류의 질문을 하는 목적이 뭘까? • 의문2: 매우 독특한 면접 과정 • 힌트1: 내가 아는 G러들의 공통점 • 힌트2: 기자들말고, 직접 접해봤다는 사람들의 증언 • 패인: 언어의 효과에 대한 과대 평가
1차 Screening.. 인사 담당자가 아니라 개발자가 면접관으로..-_-; • 2차 코드 테스트: Hacker Rank - 상당히 난이도가 높음 • 3차 코드 테스트 2: 1주일 동안 샘플 프로젝트. 근데 요건이.. • 4차 기술 면접: 90분 • 최종 면접: 역시 90분 • 이렇게까지 해야겠니? @.@