“페이스북의 뉴스 피드나 메신저, 유튜브, 구글 드라이브 같은 대규모 시스템은 어떻게 설계할까?”

IT 경력자라도 느닷없이 대규모 시스템을 설계하려고 하면 막막하다고 느낄 수 있다. 특히나 면접을 보는 상황이라면 더욱 눈앞이 캄캄해질 것이다. 복잡한 시스템을 설계할 때는 어디서부터 어떻게 시작해야 할까?

이 책은 면접 상황을 가정하고 단순한 시스템 설계에서 출발하여 시스템 확장에 따른 이슈와 요구 사항을 파악하면서 대규모 시스템을 구축해 나가는 방법을 설명한다. 또한 각 시스템 특성에 맞게 여러 설계안을 소개하고 장단점을 비교하여 가장 적합한 설계안을 제시한다. 단일 서버부터 복잡한 시스템까지, 여러 가지 사례로 면접관과 가상으로 대화를 주고받으며 이미지 트레이닝하다 보면 어떤 시스템이라도 설계할 수 있는 근육이 길러질 것이다.

대상

시스템 설계 질문이 나오면 말문이 막히는 개발자

✅ “이 서비스는 어떻게 설계할 건가요?”라는 질문에 어디서부터 이야기해야 할지 감이 안 잡히는 사람

✅ 단일 서버 수준의 구현 경험은 있지만 트래픽 증가, 확장성, 장애 대응을 고려한 설계 경험이 부족한 사람

✅ 시스템 설계 면접에서 정답 암기가 아니라, 사고 과정과 의사결정 근거를 말로 풀어내는 연습이 필요한 사람

🏁 Goal 🏁

단순한 시스템 설계에서 출발하여 시스템 확장에 따른 이슈와 요구 사항을 파악하면서 대규모 시스템을 구축하는 방법에 대해 깊이있게 학습합니다.

범위

1장 사용자 수에 따른 규모 확장성 ~ 9장 웹 크롤러 설계

기한

2026.1.27 ~ (약 2개월)

출석시트

스터디 자료 제출