- 시스템 설계 interview는 두 명의 동료가
모호만 문제
를 풀기 위해협력
해 그해결책을 찾아가는 과정
의 시뮬레이션이다 - 나의
설계 기술을 시연
하는 자리이고, 설계 과정에서 내린결정들
에 대한방어 능력
을 보이는 자리이며, 면접관의피드백을 건설적으로 처리
할 자질이 있음을 보이는 자리이다 협력
에 적합한 사람인지,압박
이 심한 상황에도 잘 해쳐나갈 수 있는 사람인지,모호한 문제를 건설적으로 해결
할 능력이 있는지 등을 살펴볼 수 있다- 부정적 신호를 주지 않도록 주의하자
완곡함
,편협함
,오버 엔지니어링
1단계 - 문제 이해 및 설계 범위 확정
- 생각 없이 바로 답을 내놓지 말자
- 요구사항을 완전히 이해하지 않고 답을 내놓는 것은
완벽한 부정적 신호
이다 올바른 질문
을 하자적절한 가정
을 하자시스템 구축
에 필요한정보
를 모으자- 질문
구체적으로 어떤 기능
을 만들어야 할까- 제품
사용자 규모
는 어떻게 되는가 서비스의 규모
는 얼마나 빠르게성장
할 것으로 예상되는가- 회사가 주로 사용하는
기술 스택
이 무엇인가
2단계 - 개략적인 설계안 제시 및 동의 구하기
- 설계안에 대한
개략적인 설계안을 제시
하라 - 화이트보드나에 핵심 컴포넌트를 포함하는
다이어그램
을 그려라 최초 설계안
이 시스템 규모에 관게 된제약사항들을 만족하는지
개략적으로계산
해보라- 이런 개략적인 추정이 필요한 지 미리 물어보자
- 2단계까지 마쳐야 할 것
- 시스템 전반적으로 달성해야 할
목표
와기능 범위
확인 - 전체 설계의 개략적 청사진 마련
- 해당 청사진에 대한 의견 청취
- 상세 설계에서 집중해야 할 영역 확인
- 시스템 전반적으로 달성해야 할
3단계 - 상세 설계
- 내가 선택한 컴포넌트의
세부사항
을깊이 있게
설멍하기를 원한다 - 어떤 함수를 사용한다면 구체적으로 어떻게 설계한 것인지 구현에 대한 내용을 듣고 싶을 수 있다
- 사소한 세부사항을 설명하느라 긍정적 신호 전달을 놓칠 수 있다
규모 확장 가능한 시스템
을 설계할 능력이 있다는 것을 입증하는데 신경써야한다
4단계 - 마무리
- 설계 결과물에 관한 후속 질문 + 스스로 추가 논의를 진행하도록 할 수 있는 단계이다
시스템 병목 구간
혹은개선 가능한 지점
을 찾으라는 주문이 오면,반드시 찾아내라
(개선할 점은 언제나 있기 마련이다)- 내가 만든 설계를
다시 한번 요약해서 전달
하자 - 에러가 발생하면
어떤 에러가 발생할 지 예측
해보는 것도 좋다 모니터링
,로그
, 시스템은 어떻게배포
할지에 대한 내용도 좋다- 미래에 닥칠
규모 확장에 대한 얘기
도 좋다
해야할 것
질문을 통해 확인
하라- 스스로 내린 가정이 옳다고 진행하지 말자
- 문제의
요구사항을 반드시 이해
하자 - 정답이나 최선의 설계는 없다는 것을 명심하자
- 요구사항에 대한 구현은 각 회사가 처한 환경에 따라 다를 수 있다
- 내
사고의 흐름을 드러내자
소통
하자여러 해법을 제시
하자- 개략적 설계에 대한 동의를 얻으면, 가장 중요한 세부사항부터 설명하자
면접관의 아이디어
를 이끌어내자- 포기하지 말자
하지 말아야 할 것
- 전형적인 면접 질문에 당연히 대비해야 한다
- 요구사항이나 가정들이 분명하지 않은 상태에서 설계를 제시하지 말자
- 처음부터 특정 컴포넌트에 대해 너무 깊이 설명하지 말자
- 진행중에 막혔다면,
힌트
를 청하기를 주저하지 말자 소통
을 주저하지 말자침묵속에 설계하지 말자
- 설계안을 내놓는 순간 모든게 다 끝이라고 생각하지 말자.
의견을 일찍, 그리고 자주 구하자
시간 배분
- 전체 시간을 45분으로 가정한다
- 1단계 - 문제 이해 및 설계 범위 확정 : 3 ~ 10 분
- 2단계 - 개략적 설계안 제시 및 동의 구하기 : 10 ~ 15분
- 3단계 - 상세 설계 : 10 ~ 25분
- 4단계 - 마무리 : 3 ~ 5분
반응형
'개발 > 대규모 시스템 설계' 카테고리의 다른 글
5. 안정 해시 설계 (2) | 2023.03.12 |
---|---|
4. 처리율 제한 장치의 설계 (0) | 2023.03.05 |
2. 개략적인 규모 추정 (0) | 2023.02.19 |
1. 사용자 수에 따른 규모 확장성 (0) | 2023.02.12 |
대규모 시스템 설계 카테고리 오픈 (0) | 2023.02.08 |
댓글