시니어 엔지니어처럼 소프트웨어 시스템 설계하기 - 풀코스 [동영상]

4 hours ago 4

약 3시간 짜리 시스템 설계 면접 대비 강의. 5단계 접근법을 배우고 Spotify, Booking.com, WhatsApp과 유사한 시스템을 설계하는 과정에 적용 시스템 설계 면접은 완성된 아키텍처뿐 아니라 소통과 협업, 구조화된 사고, 기술적 판단, 실무 깊이, 시간 관리를 평가하며, 모호한 요구사항을 구체화하는 과정이 중요함 영상은 요구사항 확인 → 데이터/API와 상위 아키텍처 설계 → 확장성과 장애 검토 → 절충점 정리 순서로 진행. 정답을 외우기보다 가정을 확인하고 선택 이유를 설명하는 능력에 초점 음악 스트리밍에서는 오디오 저장량과 전송 비용을 계산하고, 객체 저장소와 서명된 URL, CDN을 활용해 단순한 구성에서 수천만 사용자 규모로 확장 호텔 예약에서는 검색의 최종 일관성과 예약의 강한 일관성을 구분. 중복 요청을 막는 멱등성, 재고 행 잠금, 캐시와 검색 인덱스의 역할을 다룸 메시징에서는 WebSocket 기반 실시간 전달과 오프라인 수신, 여러 기기 동기화부터 그룹 채팅, 미디어 전송, 샤딩, 암호화와 장애 복구까지 단계적으로 확장 시스템 설계 면접이 평가하는 역량 시스템 설계는 시니어와 스태프뿐 아니라 중급 엔지니어 면접에서도 중요하며, 코드 구현을 넘어 구성요소 간 상호작용과 절충점을 이해하는지 확인함 면접 형식은 화이트보드에서 새 시스템이나 기능을 설계하는 것 외에도 기존 인프라 병목 논의, 과거 프로젝트 아키텍처 설명, 개념 이해도 질문으로 나타남 라이브 코딩과 달리 요구사항과 출력이 명확하지 않고 정답도 하나가 아니므로, 범위를 정하고 사고 과정을 드러내는 능력이 중요함 주요 평가 축은 다음 다섯 가지임 소통과 협업: 불명확한 요구사항을 질문하고, 가정을 확인하며, 함께 일하기 쉬운 방식으로 논의함 구조화된 사고: 모호한 문제를 단계별 작업으로 나누고, 현재 단계와 다음 단계를 명확히 함 기술적 판단: 데이터베이스, 캐시, 메시지 큐를 익숙함이 아니라 요구사항에 따라 선택함 실무 깊이: 정상 경로뿐 아니라 부하, 장애와 실패 가능성을 고려함 시간 관리: 특정 영역에 시간을 모두 쓰지 않고 면접관과 집중할 부분을 조율함 60분 면접을 위한 5단계 틀 1단계, 요구사항 확인에 5~10분을 사용하며, 설계를 시작하기 전에 기능과 제약을 확정함 주요 사용 사례, 사용자와 플랫폼, 포함할 기능과 제외할 기능을 정함 일간/월간 활성 사용자, 읽기/쓰기 비율, 지연 시간, 허용 중단 시간을 확...

Read Entire Article