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

Y·2022년 11월 2일
0

*<가상 면접 사례로 배우는 대규모 시스템 설계 기초> 을 참고하여 작성한 게시물입니다.

시스템 설계 면접 공략법

  • 1단계 : 문제 이해 및 설계 범위 확정
    • 바로 답하지 말것. 속도를 늦추고 깊이 생각하고 질문하여 요구사항과 가정을 분명히 할 것.
    • 구체적으로 어떤 기능을 만들어야 하나? 제품 사용자 수는 얼마나 되나? 회사의 규모는 얼마나 빨리 커지리라 예상하나? 석 달, 여섯 달, 일년 뒤의 규모는 얼마나 되리라 예상하나? 횟가 주로 사용하는 기술 스택은 무엇인가? 설계를 단순화하기 위해 활용할 수 있는 기존 서비스들로는 무엇이 있는가? 등의 질문을 할 수 있다.
  • 2단계 : 개략적인 설계안 제시 및 동의 구하기
    • 최초 청사진 제시. 핵심 컴포넌트를 포함하는 다이어그램. 제약사항을 만족하는지를 계산.
  • 3단계 : 상세 설계
    • 설계 대상 컴포넌트 사이의 우선순위를 정하는 것.
  • 4단계 : 마무리
    • 후속 질문, 혹은 스스로 추가 논의 진행.

=> 면접에서 해야할 것과 하지 말아야 할 것.

  • 해야 할 것

    • 질문을 통해 확인하라. 스스로 내린 가정이 옳다 믿고 진행하지 말라.
    • 문제의 요구사항을 이해하라.
    • 정답이나 최선의 답안 같은 건 없다는 점을 명심하라. 스타트업을 위한 설계안과 수백만 사용자를 지원해야하는 중견 기업을 위한 설계안이 같을 리 없다. 요구사항을 정확하게 이해했는지 다시 확인하라.
    • 면접관이 여러분의 사고 흐름을 이해할 수 있도록 하라. 면접관과 소통하라.
    • 가능하다면 여러 해법을 함께 제시하라.
    • 개략적 설계에 면접관이 동의하면, 각 컴포넌트의 세부사항을 설명하기 시작하라. 가장 중요하나 컴포넌트부터 진행하라.
    • 면접관의 아이디어를 이끌어 내라. 좋은 면접관은 여러분과 같은 팀원처럼 협력한다.
    • 포기하지 말라.
  • 하지 말아야 할 것

    • 전형적인 면접 문제들에도 대비하지 않은 상태에서 면접장에 가지 말라.
    • 요구사항이나 가정들을 분명히 하지 않은 상태에서 설계를 제시하지 말라.
    • 처음부터 특정 컴포넌트의 세부사항을 너무 깊이 설명하지 말라. 개략적 설계를 마친 뒤에 세부사항으로 나아가라.
    • 진행 중에 막혔다면, 힌트를 청하기를 주저하지 말라.
    • 다시 말하지만, 소통을 주저하지 말라. 침묵 속에 설계를 진행하지 말라.
    • 설계안을 내놓는 순간 면접이 끝났다고 생각하지 말라. 면접관이 끝났다고 말하기 전까지는 끝난 것이 아니다. 의견을 일찍, 그리고 자주 구하라.
profile
개발자, 학생

0개의 댓글