시스템 설계 면접
시스템 설계 면접은 설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리이며 면접관의 피드백을 건설적인 방식으로 처리할 자질이 있음을 보이는 자리다.
시스템 설계 면접 : 두 명 이상의 동료가 모호한 문제를 풀기 위해 협력하여 해결책을 찾아내는 과정을 시뮬레이션하는 것이다.
우리는 오버 엔지니어링, 완고함, 편협함과 같은 부정적 신호(red-flag)를 내비치지 말아야 한다.
면접에서 해야할 것
- 질문을 통해 확인하라. 스스로 내린 가정이 옳다 믿고 진행하지 말라.
- 문제의 요구사항을 이해하라.
- 정답이나 최선의 답안 같은 것은 없다는 점을 명시하라.
- 면접관이 사고 흐름을 이해할 수 있도록 하라. 소통하라.
- 가능한 여러 해법을 함께 제시하라.
- 개략적 설계에 면접관이 동의하면 각 컴포넌트의 세부사항을 설명하기 시작하라. 가장 중요한 컴포넌트부터 시작하라.
- 면접관의 아이디어를 이끌어내라. 좋은 면접관은 팀원처럼 협력한다.
- 포기하지 마라.
면접에서 하지 말아야 할 것
- 전형적인 면접 문제들에 대비하지 않은 상태에서 면접장에 가지 말라.
- 요구사항이나 가정들을 분명히 하지 않은 상태에서 설계를 제시하지 말라.
- 처음부터 특정 컴포넌트의 세부사항을 너무 깊이 설명하지 말라. 개략적 설계를 마친 뒤 세부사항으로 나아가라
- 진행 중에 막혔다면, 힌트를 청하기를 주저하지 말라. 소통을 주저하지 마라.
- 설계안을 내놓는 순간 면접이 끝난게 아니다. 의견을 일찍 그리고 자주 구하라.
시간 배분