가상면접으로 배우는 대규모 시스템 설계 기초
3장 시스템 설계 면접 공략법
효과적 면접을 위한 4단계 접근법
- 문제 이해 및 설계 범위 확정
- 깊이 생각하고 질문하여 요구사항과 가정들을 분명히 하라
- 구체적으로 어떤 기능들을 만들어야 하나?
- 제품 사용자 수는 얼마나 되나?
- 회사의 규모는 얼마나 빨리 커지리라 예상되나?
- 회사가 주로 사용하는 기술 스택은 무엇인가?
- 설계를 단순화 하기위해 활용할수 있는 기존 서비스로는 어떤것이 있나?
- 개략적인 설계안 제시 및 동의 구하기
- 설계안에 대한 최초 청사진을 제시하고 의견을 구하라
- 화이트보드나 종이에 핵심 컴포넌트를 포함하는 다이어그램을 그려라
- 시스템 규모에 관계된 제약사항을 만족하는지 개략적으로 계산해 보어라 계산과정을 소리내어 설명하라
- 상세 설계
- 시스템에서 전반적으로 달성해야할 목표와 기능확인
- 전체 설계의 개략적 청사진 마련
- 해당 청사진에 대한 면접관의 의견청휘
- 상세 설계에서 집중해야 할 영역들 확인
- 마무리
- 시스템 병목구간 혹은 좀더 개선가능한 지점을 찾아내라
- 만든 설계를 한번 다시 요약해주는 것도 도움이 될 수 있다.
- 오류가 발생하면 무슨 일이 생기는지 따져보면 흥미롭다
- 운영이슈도 논의할 가치가 충분하다.
- 미래에 닥칠 규모 확장 요구에 어떻게 대처할 것인지도 흥미로운 주제다
- 필요하지만 다루지 못했던 세부적 개선사항들을 제안 할수 있다.
참조