시스템 설계 면접은 당황스러울 때가 많다.

“널리 알려진 제품 X를 설계해 보라”는 식으로 막연한 문제가 나올 때도 있다.

이런 질문들은 모호하고, 범위도 지나치게 넓다.

수 백명, 수 천명의 엔지니어들이 참여하여 개발한 제품을 어떻게 한 시간 안에 설계한단 말인가?

대체 시스템 설계 면접이 있는 이유는 무엇인가?

이는 두 명의 동료가 모호한 문제를 풀기 위해 협력하여 그 해결책을 찾아내는 과정에 대한 시뮬레이션이다.

이 문제에는 정해진 결말도 없고, 정답도 없으며, 단지 설계 과정에서 내린 결정들에 대한 방어 능력을 보이자.

많은 사람들이 시스템 설계 면접은 지원자의 설계 능력의 기술적 측면을 평가하는 자리일 거라 생각한다.

사실은 그 이상이다. 시스템 설계 면접이 잘 진행되면, 아래를 파악할 수 있다.

  1. 지원자가 협력에 적합한 사람인지
  2. 압박이 심한 상황도 잘 헤처 나갈 자질이 있는지
  3. 모호한 문제를 건설적으로 해결할 능력이 있는지