728x90
효과적 면접을 위한 4단계 접근법
[1단계] 문제 이해 및 설계 범위 확정
올바른 질문과 적절한 가정을 통해 요구사항을 이해하고 시스템 구축에 필요한 정보를 모으는 것이 중요
- 구체적으로 어떤 기능들을 만들어야 하나?
- 제품 사용자 수는 얼마나 되나?
- 회사 규모는 얼마나 빨리 커지리라 예상하나?
- 회사가 주로 사용하는 기술 스텍은 무엇인가?
- 설계를 단순화하기 위해 활용할 수 있는 기존 서비스로는 어떤 것들이 있는가?
[2단계] 계략적인 설계안 제시 및 동의 구하기
해당 단게에서는 개략적인 설계안을 제시하고 면접관의 동의를 얻는 것이 중요
- 설계안의 최초 청사진을 제시하고 의견을 구해야 함. 팀원과 얘기하는것처럼 설계를 공유하자.
- 핵심 다이어그램을 그려라. ex) client - server / DB / CDN / 캐시 / MQ 등등
- 시스템 규모에 관련된 제약사항들이 있는지 확인해야 함.
[3단계] 상세 설계
- 시스템에서 전반적으로 달성해야 할 목표 & 기능의 범위 확인
- 전체 설계에 대한 청사전 마련 및 면접관 의견 수렴
[4단계] 마무리
면접관은 마지막 단계에서 설계 결과물에 관련된 몇 가지 후속 질문을 던질 수도 있고 스스로 추가 논의를 진행하도록 할 수도 있다.
활용하면 좋을 지침
- 내가 만든 설계에 대한 개선점을 찾고자 노력하자. 비판적 사고 능력을 보여주자.
- 장애 대응에 대한 논의 (서버 오류, 통신 이슈 등)
- 메트릭 수집, 모니터링, 로깅, 배포 전략 등에 대해서도 논의
- 미래의 규모 확장 요구에 대해 논의 ( 1M -> 10M )
면접에서는 이렇게 하자
- 질문을 통한 문제의 요구사항 파악
- 면접관과의 소통을 통해 면접관이 내 사고흐름을 이해할 수 있게 하자.
- 개략적 설계에 동의 --> 세부 설계 설명
- 가능하면 여러 해법을 함께 제시
면접에서 이렇게는 하지 말자
- 요구사항이나 가정을 분명히 하지 않은 상태로 설계하지 마라.
- 너무 처음부터 세부 설계를 깊이 설명하지 마라.
- 막히면 힌트달라고 해라
- 소통해라. 침묵설계 ㄴㄴ
728x90
'대규모 시스템 설계 기초' 카테고리의 다른 글
[2장] 개략적인 규모 추정 (0) | 2025.01.18 |
---|---|
[1장] 사용자 수에 따른 규모 확장성 (0) | 2025.01.18 |