[시스템 디자인 면접 아직 화이트 보드에 하시나요?]

최근에 시스템 디자인 (특히 Scalable Distributed Systems) 인터뷰 모의 면접을 많이 봤습니다. 코로나 이전에는 지원자들이 파이널 면접 볼 때 본사로 초청됬었습니다. 본사 미팅 룸에서 면접관과 지원자가 함께 화이트보드에 시스템 디자인을 했었습니다. 하지만 최근 2년간 면접은 온라인으로 진행되었기 때문에, 시스템 설계하는데 어려움이 많습니다. 시스템 디자인 면접을 간단하게 소개하면서 시스템 디자인 면접할 때 사용하기 좋은 도구 몇 가지 소개합니다. 💻 시스템 디자인 인터뷰란? 시스템 디자인이란, 말 그대로 주어진 서비스의 시스템을 어떻게 설계할 것인지 물어보는 질문입니다. 🤔 시스템 디자인 문제 예: 1️⃣ 엘리베이터 시스템 디자인하기 2️⃣ Twitter와 같은 소셜미디아 디자인하기 3️⃣ URL단축 설비스 설계하기 등등 많습니다. 시스템 디자인 문제 리스트가 정해져 있는 게 아니라 면접관이 직접 문제를 만들어낼 수도 있습니다. 저의 경우, 모의 면접할 때 인터넷에서 문제를 찾지 않고 직접 문제를 만들어서 제출합니다. 따라서, 시스템 디자인 면접은 문제 솔루션을 외우기만 하면 통과할 수 있는 게 아닙니다. 시스템 설계 방법을 제대로 알고, 여러 가지 디자인 방법을 유창하게 설명할 수 있어야 합니다. (해외 취업 준비 중이라면, 영어 키워드를 제대로 사용해서 설명하는 것도 중요합니다.) ⚠️ Scalable Distributed Systems 디자인 통상적으로 많이 하는 설계법은 Component Design입니다. 하지만 특정 회사나 포지션 (예: 시니어, 프린시펄 이상)에 따라 Scalable Distributed System 디자인을 요구하기도 합니다. Scalable Distributed System은 단순 설계뿐만 아니라 시스템 확장을 어떻게 설계하는 것인지까지 물어보는 질문입니다. 여러 가지 시스템 확장 방법, 각 방법의 장점과 단점, 시스템 확장 레이어 (app- vs database-layer optimization) 등등 시스템 확장 설계 관련 수 십 가지가 넘는 토픽을 커버해야 합니다. 시스템 디자인과 Scalable Distributed System 면접 관련 이야기나 정보는 각각 다른 포스팅에서 다루어 볼게요. 궁금한 점은 코멘트에 남겨주세요, 포스팅에 반영하겠습니다. 🔨 시스템 디자인 면접 툴 1️⃣ draw.io https://app.diagrams.net 실제 현직에서 많이 사용하는 툴입니다. 시스템 설계 문서 작성 시 삽입하는 다이어그램(diagram)을 만들 때 자주 사용하는 도구입니다. 면접 볼 때 또는 연습할 때 사용해도 좋습니다. 수 백가지 형태의 도형이 제공되고 그 외 텍스트 삽입까지 가능합니다. 시스템 설계할 때 현직에서 많이 사용하는 도구이기 때문에 알아두면 유용합니다. 2️⃣ getoasys.io https://getoasys.io 최근에 알게 된 툴인데 시스템 디자인 인터뷰할 때 사용하기 좋습니다. 면접볼 때 자주 사용하는 도형만 제공되고 그 외 노트를 받아 적을 수 있는 섹션이 따로 있어서 인터뷰용으로 많이 사용합니다. 그리고 화이트보드처럼 그림 그릴 수 있는 캔버스까지 제공됩니다. 화이트보드에 시스템 설계하는 것이 익숙한 사람들에게 아주 유용한 기능인 것 같습니다. 제가 직접 사용해본 결과 면접용으로 적합하고 실제 현직에서 디자인 설계할 때는 조금 한계가 있습니다. 3️⃣ Google Jamboard https://jamboard.google.com 잼 보드는 화이트보드처럼 그림 그리면서 온라인으로 디자인 설계를 할 수 있는 툴입니다. 마우스를 사용하는 경우 그리기가 어렵고 트랙패드와 태블릿 펜이 없으면 사용하기 꽤 어렵습니다. 그 외, 블라인드 포스팅 답글에 보면 Wacom tablet, Lucidchart 그리고 Microsoft paint를 주로 사용한다고 나와있네요. ⚠️ 회사에 따라 면접 중에 외부 도구 사용을 금지하는 경우도 있습니다. 시스템 디자인 인터뷰가 잡혔다면, 위 도구를 사용해도 되는지 미리 회사 측에 문의해보는 것이 좋습니다. 📄 연관글 읽어보기: - FAANG 미국 & 캐나다 IT 대기업 면접관의 팁: https://careerly.co.kr/comments/49332?utm_campaign=self-share - 당신이 연봉 협상의 신이 되어야 하는 이유: https://careerly.co.kr/comments/49342?utm_campaign=self-share - 좋은 영문 이력서 작성을 위해 절대 하면 안되는 실수: https://careerly.co.kr/comments/49380?utm_campaign=self-share

What tools to use for diagrams in system design interview

Blind

What tools to use for diagrams in system design interview

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 1월 28일 오후 9:06

댓글 0