-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# Chap 3. 시스템 설계 면접 공략법 | ||
|
||
### 효과적인 면접을 위한 4단계 접근법 | ||
|
||
1. **문제 이해 및 설계 범위 설정** | ||
|
||
요구사항 완전히 이해x ⇒ red flag | ||
|
||
요구사항 정확이 이해 필수 | ||
|
||
- 구체적으로 어떤 기능들을 만들어야 하나? | ||
- 제품 사용자 수는 얼마나 되나? | ||
- 회사의 규모는 얼마나 빨리 커지리라 생각하나? | ||
- 회사가 주로 사용하는 기술 스택은 무엇인가? 설계를 단순화하기 위해 활용할 수 있는 기존 서비스로는 어떤 것들이 있는가? | ||
2. **개략적인 설계안 제시 및 동의 구하기** | ||
- 설계안에 대한 최초 청사진을 제시하고 의견 구하기 | ||
- 핵심 컴포넌트를 포함하는 다이어그램 그리기 | ||
- 최초 설계안이 시스템 규모에 관계된 제약사항들을 만족하는지 개략적으로 계산 | ||
3. **상세설계** | ||
|
||
이미 달성한 부분 | ||
|
||
- 시스템에서 전반적으로 달성해야 할 목표와 기능 범위 확인 | ||
- 전체 설계의 개략적 청사진 마련 | ||
- 해당 청사진에 대한 면접관의 의견 청취 | ||
- 상세 설계에서 집중해야 할 영역들 확인 | ||
4. **마무리** | ||
|
||
설계 결과물에 관한 후속 질문 or 스스로 추가 논의 진행 | ||
|
||
- 시스템 병목구간/개선 가능한 지점 찾기 질문 : 설계가 완벽하다, 개선할 부분이 없다는 식의 답 X | ||
- 해결책 제시 후 설계 한 번 더 요약 | ||
- 오류 발생 시 발생 할 일 언급 | ||
- 운영 이슈 언급(메트릭 수집, 모니터링, 로그, 배포 등) | ||
- 미래의 규모 확장 요구에 대한 대처 | ||
- 세부적 개선사항들 제안 | ||
|
||
### 해야할 것 | ||
|
||
- 질문을 통해 확인하라(clarification). 스스로 내린 가정이 옮다 믿고 진행하지 않는다 | ||
- 문제의 요구사항을 이해하라 | ||
- 정답/최선의 답안 같은 건 없다 | ||
- 면접관이 사고 흐름을 이해할 수 있도록 하라 | ||
- 가능하다면 여러 해법을 제시하라 | ||
- 개략적 설계에 면접관이 동의하면, 각 컴포넌트의 세부사항을 설명하기 시작하라 (가장 중요한 컴포넌트부터) | ||
- 면접관의 아이디어 이끌어 내라 | ||
- 포기하지 말라 | ||
|
||
### 하지 말아야 할 것 | ||
|
||
- 전형적인 면접 문제에도 대비하지 않은 상태로 면접장에 가지 마라 | ||
- 요구사항이나 가정들을 분명히 하지 않은 상테에서 설계를 제시하지 말라 | ||
- 처음부터 특정 컴포넌트의 세부사항을 너무 깊게 설명하지 말라 | ||
- 진행 중 막혔다면, 힌트 청하기를 주저하지 말라 | ||
- 소통을 주저하지 말라, 침묵 속에 설계를 진행하지 말라 | ||
- 설계안을 내놓는 순간 면접이 끝난다고 생각하지 말라 | ||
|
||
### 시간배분 | ||
|
||
1. 문제 이해 및 설계 범위 확정 : 3-10분 | ||
2. 개략적 설계안 제시 및 동의 구하기 : 10-15분 | ||
3. 상세 설계 : 10-25분 | ||
4. 마무리 : 3-5분 |