3장: 시스템 설계 면접 공략법

바인하·2022년 9월 20일
0

시스템 설계 면접 : 모호한 문제를 풀기 위해 협력하여 해결책을 찾아내는 과정의 시뮬레이션
= 설계 기술 시연, 설계 과정에서 내린 결정들에 대한 방어 능력, 피드백을 건설적인 방식으로 처리할 자질 여부

  • 설계면접에서 면접관이 확인하는 것
  1. 협력에 적합한 사람인지
  2. 압박이 심해도 잘 헤쳐나가는지
  3. 모호한 문제를 건설적으로 해결할 능력이 있는지
  4. 좋은 질문을 던질 능력이 있는지

1단계 - 문제 이해 및 설계범위 확정 (3-10분)

  • 답부터 들이밀지 말고, 깊은 생각과 질문을 통해 요구사항과 가정들을 분명히 하라
    • 올바른 질문 / 적절한 가정 / 정보 모으기
    • 올바른 질문이란, 요구사항을 정확히 이해하는 데 필요한 질문
      1. 구체적으로 만들어야 할 기능
      2. 제품 사용자 수
      3. 회사 규모 성장세
      4. 기술스택

2단계 - 개략적인 설계안 제시 및 동의 구하기 (10-15분)

  • 면접관과 협력하여 진행하라
  • 설계안 초안을 제시하고 의견을 구하라
  • 핵심 컴포넌트 포함하는 다이어그램을 그려라
  • 최초 설계안이 시스템 규모에 관련된 제약사항들을 만족하는지 개략적으로 계산하라

3단계 - 상세 설계 (10-25분)

  • 면접관과 설계 대상 컴포넌트 사이의 우선순위를 정하라

4단계 - 마무리 (3-5분)

  • 설계에서 시스템 병목구간, 혹은 개선 가능한 지점을 찾아내라
  • 내가 한 설계를 요약하자
  • 오류가 발생하면 무슨 일이 생기는지 따져보자
  • 운영 이슈 논의 (메트릭 수집 방법, 모니터링, 로그, 시스템 배포에 관한 사항)
  • 규모 확장 요구에 어떻게 대처할 것인지 논의

면접에서 해야 할 것

  • 질문으로 확인하라
  • 요구사항은 확실하게 이해
  • 정답, 최선의 답안은 없다
  • 사고의 흐름을 면접관에게 이해시켜라
  • 가능하면 여러 해법 제시하라
  • 포기하지 말라

면접에서 하지 말아야 할 것

  • 요구사항, 가정을 분명히 하기 전 설계 제시하지마라
  • 소통을 주저하지 말라
  • 특정 컴포넌트 세부 사항을 너무 깊이 설명하지마라
profile
되면 한다

0개의 댓글