<aside> 💡

"널리 알려진 제품 X를 설계해 보라" 라는 식의 막연한 시스템 설계 질문은 모호하고, 범위도 지나치게 넓다. 이러한 시스템 설계 면접의 경우, 최종적으로 도출된 설계안이 중요하기보다는, 면접을 통해 설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리이며, 면접관의 피드백을 건설적인 방식으로 처리할 자질이 있음을 보이는 것이 중요하다.

시스템 설계 면접은 지원자의 설계 능력의 기술적 측면과 더불어 지원자가 협력에 적합한 사람인지, 압박이 심한 상황도 잘 헤쳐 나갈 자질이 있는지, 모호한 문제를 건설적으로 해결할 능력이 있는지 등을 살펴보는 면접이다. 좋은 질문을 던질 능력이 있는지도 중요하다.

훌륭한 면접관은 부정적 신호(red flag)도 놓치지 않는다. 설계의 순수성에 집학한 나머지 타협적 결정(tradeoff)를 도외시하고 과도한 엔지니어링(over-engineering)을 하고 마는 엔지니어들이 현업에도 많고, 오버엔지니어링의 결과로 시스템 전반의 비용이 올라간다는 사실을 알아채지 못하는 일이 많다. 오버엔지니어링 외에도 완고함, 편협함 등이 부정적 신호의 또다른 예이다.

</aside>

효과적 면접을 위한 4단계 접근법


📌 1단계 문제 이해 및 설계 범위 확정


예제

⇒ 이렇게 면접관에게 던질 수 있는 질문 사례를 살펴 보았고, 요구 사항을 정확히 이해하고 모호함을 없애는 것이 이 단계를 통해 얻고자 하는 핵심이다.