3. Strategies for System Design Interviews
3장 시스템 설계 면접 공략법
1단계: 문제 이해 및 설계 범위 설정(3~10분)
첫 번째 단계는 주어진 문제를 철저히 이해하고, 설계 범위를 명확히 하는 것입니다. 이는 면접관과의 소통을 통해 정확한 요구사항을 파악하고, 설계의 범위를 한정하는 것을 포함합니다.
예시:
어떤 기능들이 포함되어야하나?
유저는 몇명인가?
회사의 규모는 얼마나 빨리 커지나?
주로 사용하는 기술 스택은 뭔가?
2단계: 개략적인 설계안 제시 및 동의 구하기(10~15분)
두 번째 단계에서는 개략적인 설계안을 제시하고, 면접관의 동의를 구합니다. 이 단계에서는 전체적인 시스템 아키텍처와 주요 구성 요소를 설명합니다.
설계에 대한 최초 청사진을 제시
다이어그램을 활용.
제약사항들을 만족하는지 면접관이 알 수 있도록 소리내어서 설명
구체적인 사용 사례도 포함하라
세부 적인 내용은 생략해라. (API등)
3단계: 상세 설계(10~25분)
세 번째 단계에서는 개략적인 설계를 기반으로 세부 설계를 진행합니다. 이 단계에서는 각 구성 요소의 내부 구조와 동작을 상세히 설명합니다.
시스템에서 전반적으로 달성해야할 목표와 기능 범위 확인
전체 설계의 개략적 청사진 마련 (데이터 베이스 스키마, API 설계, 알고리즘 등)
해당 청사진에 대한 면접관의 의견 청취
상세 설계에서 집중해야 할 영역들 확인
4단계: 마무리(3~5분)
마지막 단계에서는 몇가지 꼬리 질문에 대한 답 또는 스스로 추가 논의를 진행할 수 있습니다.
설계 요약
발생할 수 있는 오류들, 개선할 수 있는 부분들
운영 이슈. 모니터링, 로그, 배포 전략(카나리, 블루 그린, 롤링)
규모가 확장되어야할때 변경
나머지 세부적 개선사항
면접시 해야할것
질문을 통해 확인하라.
문제의 요구사항을 이해하라
정답은 없다. 요구사항을 다시 한번 확인해라.
면접관이 충분히 이해하면서 따라올 수 있도록 확인하라.
가능하면 다양한 해법들을 제시해라.
설계에 대해 면접관이 동의하면 세부사항들을 설명하라
면접관을 팀원이라 생각하고 아이디어를 이끌어내라.
면접시 하면 안되는것
특정 컴포넌트의 세부사항을 깊이 설명하지 마라.
힌트 요청을 주저하지 마라.
소통을 주저하지 마라.
설계안이 나온 후에 면접이 끝났다고 생각하지 마라.
Last updated