매일 아침 정리하는 세계의 흐름
해시스 브리핑
The Haesis Briefing
홈 › IT·과학
IT·과학

시니어처럼 시스템 설계하기, 3시간짜리 풀코스 강의가 다루는 5단계 접근법

약 3시간 분량의 시스템 설계 면접 대비 강의 영상이 공개됐다. 5단계 접근법을 먼저 배우고, 음악 스트리밍과 호텔 예약, 메시징 서비스를 실제로 설계하는 과정에 적용하는 구성이다.

면접이 보는 것

시스템 설계는 시니어와 스태프뿐 아니라 중급 엔지니어 면접에서도 중요하다. 완성된 아키텍처 하나가 아니라 소통과 협업, 구조화된 사고, 기술적 판단, 실무 깊이, 시간 관리를 본다. 라이브 코딩과 달리 요구사항이 모호하고 정답도 하나가 아니므로 범위를 정하고 사고 과정을 드러내는 능력이 핵심이다. 데이터베이스와 캐시, 메시지 큐를 익숙해서가 아니라 요구사항에 따라 고르고, 정상 경로뿐 아니라 부하와 장애까지 고려해야 한다.

60분을 쓰는 5단계 틀

1단계 요구사항 확인에 5~10분을 쓴다. 주요 사용 사례와 포함·제외할 기능, 일간·월간 활성 사용자, 읽기·쓰기 비율, 지연 시간, 허용 중단 시간을 확정한다. 2·3단계인 데이터·API 설계와 상위 아키텍처에는 각각 15~20분 안팎을 배분하고 순서는 바꿔도 된다. 4단계는 병목과 확장성, 신뢰성을 5~10분 점검하고, 5단계에서는 주요 결정과 포기한 부분, 10배 부하가 오면 무엇을 개선할지를 정리한다. 60분 안에 완벽한 설계를 내는 것이 아니라 설계를 발전시킬 수 있음을 보여 주는 단계다. 면접관을 동료처럼 대하고 단계마다 합의를 확인하며, SQL이 명백해 보여도 다른 선택지와 비교해 이유와 비용을 말하라는 조언이 붙는다.

예제 세 가지

음악 스트리밍은 사용자 50만 명, 곡 3,000만 개에서 출발한다. 표준 음질 곡당 3MB로 계산하면 원본 오디오가 약 90TB이고 복제와 버전 관리를 더하면 2~3배 이상이다. 저장과 대역폭 모두 오디오가 대부분이어서 객체 저장소와 서명된 URL, CDN으로 확장한다. 호텔 예약은 검색의 최종 일관성과 예약의 강한 일관성을 구분하고, 중복 요청을 막는 멱등성과 재고 행 잠금(Read Committed와 SELECT FOR UPDATE), 호텔 ID 기준 샤딩, 5분 TTL 재고 캐시, Elasticsearch 검색 인덱스를 변경 데이터 캡처로 동기화하는 방식을 다룬다. 메시징은 가입자 10억 명, 동시 연결 5,000만 개를 가정해 하루 최대 100억 개 메시지를 추정하고, WebSocket 기반 실시간 전달과 오프라인 수신, 여러 기기 동기화, 그룹 채팅과 미디어 전송, 샤딩, 암호화, 장애 복구로 단계적으로 확장한다.

출처: GeekNews · 원문 보기 ↗