kaonmir
Sign In
시스템 설계 면접 공략법
면접관들의 관점
•
면접관의 피드백을 건설적인 방식으로 처리할 수 있는가
•
협력에 적합하고, 압박을 잘 헤쳐 나갈 수 있는가
•
모호한 문제를 건설적으로 해결할 수 있는가
•
설계의 순수성에 집착한 나머지 tradeoff를 도외시하지는 않는가
4단계 접근법
1. 문제 이해 및 설계 범위 확정
•
천천히 요구사항과 가정들을 깊이 생각하고 질문하라
•
올바른 질문을 하는 것, 적절한 가정을 하는 것, 그리고 정보를 모으는 것이 가장 중요하다.
◦
구체적인 기능?
◦
제품 사용자 수
◦
서비스의 성장 속도
◦
기술 스택 …
2. 개략적인 설계안 제시 및 동의 구하기
•
최초 설계안을 제시하고 면접관들과 대화하면서 의견을 구하라
•
핵심 컴포넌트를 포함하는 다이어그램을 그려라
•
최초 설계안이 제약사항들을 만족하는지 계산하라. 계산은 소리내서
•
구체적인 사용 예시도 살펴보자
•
설계하는 시스템의 규모에 따라 지나치게 세부적인 내용은 하지 말자
3. 상세 설계
•
설계 대상 컴포넌트 사이의 우선순위를 정하자
•
사소한 세부사항을 설명하다 시간을 낭비하지 말자
•
면접관이 요구하는 깊이만큼 설명하자
4. 마무리
•
모든 설계에는 개선점이 있다. 개선할 점을 보이자
•
설계를 요약하자
•
오류가 발생하면 어떻게 되는지 따져보자
•
메트릭/로그 수집, 모니터링 등 운영 이슈도 논의해보자
•
미래에 닥칠 확장 요구를 어떻게 대처할 것인지 이야기하자
해야할 것 vs 하지 말아야 할 것
해야할 것
•
문제의 요구사항을 이해하고 질문을 통해 확인하라
•
정답은 없고 기업의 규모나 상황에 따라 설계가 달라진다
•
가능하면 여러 해법을 제시하고, 면접관과 소통하면서 설명하라
•
면접관의 아이디어를 끌어내라
•
포기하지 말라
하지 말아야 할 것
•
전형적인 문제는 대비하자
•
요구사항이나 가정을 분명히 하자
•
처음부터 특정 컴포넌트의 세부사항을 깊이 설명하지 말자
•
막혔다면 힌트를 청하자. 끊임없이 소통하라
시간 배분
시스템 설계는 보통 광범위한 영역을 다루기 때문에 45분이나 한 시간 정도로는 부족할 수도 있따.
1.
문제 이해 및 설계 범위 확정 - 3~10분
2.
개략적인 설계안 제시 및 동의 구하기 - 10~15분
3.
상세 설계 - 10~25분
4.
마무리 - 3~5분
Made with Slashpage