[코딩 인터뷰] 화이트보드 코딩 인터뷰

코딩 인터뷰 시리즈

  1. [코딩 인터뷰] 코딩 인터뷰 및 코딩 테스트 소개
  2. [코딩 인터뷰] 국내 기업 코딩 테스트 플랫폼 활용 현황
  3. [코딩 인터뷰] 온라인 코딩 테스트의 사전 준비사항
  4. [코딩 인터뷰] 화이트보드 코딩 인터뷰 (현재 글)

이 글의 내용은 《파이썬 알고리즘 인터뷰》 책에 수록된 내용을 기반으로 작성하였습니다.

<목차>

화이트보드 코딩 인터뷰

오프라인에서 치러지는 화이트보드 코딩 인터뷰는 온라인 코딩 테스트와 비슷해 보이지만 차이점이 많습니다. 무엇보다 실제로 면접관과 마주보며 문제를 풀어야 한다는 점에서 어떤 분들은 더 자신 있어 할 수 있겠지만 대개는 오히려 위축되어 온라인에 비해 제 실력을 발휘하지 못하는 경우가 많습니다. 아무리 실력이 뛰어나다 할지라도 면접관 앞에서 제대로 문제를 풀이할 수 없다면 좋은 결과를 얻기 힘듭니다. 혼자서 개발하는 게 자신 있고 혼자서 일하는 게 편하더라도, 많은 사람 앞에서 문제를 잘 풀이하고 잘 얘기할 수 있는 능력을 꾸준히 키워나가는 게 중요합니다.

이외에도 온라인 코딩 테스트는 사소한 부분까지 챙겨서 실제로 오류 없이 구동하는 프로그램을 만들어야 합니다. 하지만 화이트보드 코딩 인터뷰의 경우에는 핵심을 관통하는 알고리즘을 중심으로 구현하면 됩니다. 물론 실행 가능할 정도로 정확하게 구현하지 않는 경우 감점 요소가 되기도 하지만, 적어도 온라인 테스트처럼 사소한 테스트 케이스 하나 때문에 계속해서 헤매는 경우는 발생하지 않습니다.

당연한 이야기지만, 화이트보드 인터뷰는 검색이나 인터넷의 도움을 전혀 받을 수 없습니다. 모르는 알고리즘을 찾아내서 설명하기는 사실상 매우 어렵습니다. LRU Least Recently Used가 뭔지 들어본 적이 없다면 끝까지 풀이하지 못할 것입니다. 물론 모른다고 계속 붙잡고 있을 수는 없습니다. 이 경우 면접관에게 끊임없이 질문을 던져서 힌트를 받아내야 합니다. 예를 들어 아마존의 경우 ‘어떤 질문을 하느냐’가 주요 평가항목이 되기도 합니다. 어떤 힌트를 받을 수 있는지는 면접관의 지식 수준 면접관이 어떤 성향인지에 따라 저마다 상이하기 때문에, 이런 점에서 화이트보드 인터뷰는 온라인에 비해 훨씬 더 까다롭다고 할 수 있습니다. 또한 아마존은 화이트보드 인터뷰에서도 실제로 실행되는 수준의 정확한 구현을 요구하는 편입니다.

페이스북의 경우 본사 기준으로 온사이트(대면 면접) 인터뷰는 반드시 화이트보드 코딩 테스트를 해야 한다는 게 원칙입니다. 주로 4가지 요소로 평가하는데, ‘문제해결-코딩-검증-커뮤니케이션’이 평가 기준이 됩니다. 화이트보드의 특성상 최적화에 집착하기보다는 일단 뭐라도 문제를 풀어낼 수 있는가, 그 알고리즘을 깔끔한 코드로 옮겨 적을 수 있는가, 그걸 검증할 수 있는가, 제대로 설명할 수 있는가 등을 중심으로 살펴봅니다. 이후에 『파이썬 알고리즘 인터뷰』 책 23장에서도 따로 얘기하지만 다이나믹 프로그래밍은 매우 어려운 풀이 방식이기 때문에, 적어도 화이트보드 인터뷰에서는 다이나믹 프로그래밍으로 최적화를 할 수 있는가보다는 30분 남짓 되는 짧은 시간 내에 어떻게든 문제를 풀어낼 수 있는가를 훨씬 더 중요한 평가 기준으로 삼습니다.

카카오의 경우에도 아마존이나 페이스북에 비해 크게 다르지 않습니다. 다만, 아마존처럼 정확한 구현을 요구하기보다는 핵심을 관통하는 알고리즘에 좀 더 높은 비중을 두는 편입니다. 또한 전사 가이드가 있는 온라인 코딩 테스트와는 달리, 화이트보드 코딩 인터뷰는 면접관의 재량에 맡겨두는 편입니다. 일부 면접관의 경우 매우 깊이있는 지식 수준을 요구 하기도 합니다.

is a collection of Papers I have written.
© 2000 - Sang-Kil Park Except where otherwise noted, content on this site is licensed under a CC BY 4.0.
This site design was brought from Distill.