본문으로 바로가기
태극기이 누리집은 대한민국 공식 전자정부 누리집입니다.
평면표지(2D 앞표지)
입체표지(3D 표지)
2D 뒤표지

시스템 설계 면접 완벽 가이드

노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것


  • ISBN-13
    979-11-5839-590-2 (93000)
  • 출판사 / 임프린트
    주식회사 위키아카데미 / 위키북스
  • 정가
    35,000 원 확정정가
  • 발행일
    2025-05-15
  • 출간상태
    출간
  • 저자
    지용 탄
  • 번역
    나정호
  • 메인주제어
    시스템분석 및 디자인
  • 추가주제어
    -
  • 키워드
    #시스템 설계 #면접 #인터뷰
  • 도서유형
    종이책, 반양장/소프트커버
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    188 * 240 mm, 508 Page

책소개

시스템 설계 면접 인터뷰는 소프트웨어 엔지니어링 채용 과정에서 마주하게 될 가장 어려운 도전 중 하나이다. 《시스템 설계 면접 완벽 가이드》는 자신 있게 인터뷰를 성공적으로 이끌어 나가는 방법을 배울 수 있는 좋은 참고서이다. 쉽게 기억할 수 있는 인터뷰 기법들을 따라가며, 질문을 신속하게 평가하고 유리한 접근법을 파악한 후, 인터뷰어에게 명확하게 아이디어를 전달하는 방법을 배울 수 있다. 

 

이 책을 통해 성공적인 인터뷰 스킬뿐 아니라, 뛰어난 시스템 디자인을 실제로 구현할 수 있는 능력도 함께 얻을 것이다. 아마존, 애플, 바이트댄스, 페이팔, 그리고 우버 등에서 개발자들이 취업 제안을 받을 수 있도록 도와준 실제적인 인터뷰 기법과 시스템 디자인에 대한 인터뷰 기술을 공개한다.

 

★ 이 책에서 다루는 내용 ★

 

◎ 대규모 트래픽을 지원하기 위한 애플리케이션 확장

◎ 데이터 일관성을 보장하기 위한 분산 트랜잭션 기법

◎ API 게이트웨이 및 서비스 메시와 같은 기능 분할을 위한 서비스

◎ REST, RPC, GraphQL 등 일반적인 API 패러다임

◎ 트레이드오프가 있는 캐싱 전략

◎ 모든 시스템 디자인에 중요한 로깅, 모니터링, 알림 개념

◎ 엔지니어로서의 성숙함을 보여주는 커뮤니케이션 기술

목차

[1부]

 

▣ 01장: 시스템 설계 개념 둘러보기 

__1.1 트레이드오프 논의 

__1.2 이 책을 어떻게 읽어야 할까? 

__1.3 이 책의 개요 

__1.4 시스템의 다양한 서비스 확장 방식 

__요약 

 

▣ 02장: 일반적인 시스템 설계 면접 흐름 

__2.1 요구사항 명확화와 트레이드오프 논의 

__2.2 API 명세 초안 작성 

__2.3 사용자와 데이터 간의 연결과 처리 

__2.4 데이터 모델 설계 

__2.5 로깅, 모니터링, 경보 

__2.6 검색창 

__2.7 기타 논의 가능한 주제 

__2.8 면접 후 회고와 평가 

__2.9 회사 면접하기 

__요약 

 

▣ 03장: 비기능적 요구사항 

__3.1 확장성 

__3.2 가용성 

__3.3 내결함성 

__3.4 성능/지연 시간과 처리량 

__3.5 일관성 

__3.6 정확성 

__3.7 복잡성과 유지보수성 

__3.8 비용 

__3.9 보안 

__3.10 프라이버시 

__3.11 클라우드 네이티브 

__3.12 추가 자료 

__요약 

 

▣ 04장: 데이터베이스 확장 

__4.1 저장 서비스의 이해 

__4.2 데이터베이스 사용 결정 

__4.3 복제 

__4.4 샤딩된 데이터베이스로 저장 용량 확장하기 

__4.5 이벤트 집계하기 

__4.6 배치와 스트리밍 ETL 

__4.7 비정규화 

__4.8 캐싱 

__4.9 독립 서비스로서의 캐싱 

__4.10 캐시할 수 있는 다양한 종류의 데이터와 캐싱 방법 예시 

__4.11 캐시 무효화 

__4.12 캐시 워밍 

__4.13 추가 자료 

__요약 

 

▣ 05장: 분산 트랜잭션 

__5.1 이벤트 기반 아키텍처(EDA)

__5.2 이벤트 소싱 

__5.3 변경 데이터 캡처 

__5.4 이벤트 소싱과 CDC 비교 

__5.5 트랜잭션 감독자 

__5.6 사가 패턴 

__5.7 다른 트랜잭션 유형 

__5.8 추가 자료 

__요약 

 

▣ 06장: 기능적 분할을 위한 공통 서비스 

__6.1 다양한 서비스의 공통 기능 

__6.2 서비스 메시/사이드카 패턴 

__6.3 메타데이터 서비스 

__6.4 서비스 디스커버리 

__6.5 기능적 분할과 다양한 프레임워크 

__6.6 라이브러리와 서비스 

__6.7 일반적인 API 패러다임 

__요약 

 

[2부] 

 

▣ 07장: 크레이그리스트 설계 

__7.1 사용자 스토리와 요구사항

__7.2 API 

__7.3 SQL 데이터베이스 스키마 

__7.4 초기 고수준 아키텍처 

__7.5 모놀리스 아키텍처 

__7.6 SQL 데이터베이스와 객체 스토리지 사용 

__7.7 마이그레이션은 번거롭다 

__7.8 게시물 작성과 읽기 

__7.9 기능적 분할 

__7.10 캐싱 

__7.11 CDN 

__7.12 SQL 클러스터로 읽기 확장 

__7.13 쓰기 처리량 확장 

__7.14 이메일 서비스 

__7.15 검색 

__7.16 오래된 게시물 제거 

__7.17 모니터링과 알림 

__7.18 아키텍처 논의 내용 요약 

__7.19 기타 논의 가능한 주제

__요약 

 

▣ 08장: 속도 제한 서비스 설계 

__8.1 속도 제한 서비스의 대안과 그것이 실현 불가능한 이유 

__8.2 속도 제한을 하지 말아야 할 때 

__8.3 기능적 요구사항 

__8.4 비기능적 요구사항 

__8.5 사용자 스토리와 필요한 서비스 구성 요소 

__8.6 고수준 아키텍처 

__8.7 상태 저장 접근 방식/샤딩 

__8.8 모든 호스트에 모든 카운트 저장 

__8.9 속도 제한 알고리즘 

__8.10 사이드카 패턴 적용 

__8.11 로깅, 모니터링, 경보 

__8.12 클라이언트 라이브러리로 기능 제공 

__8.13 추가 읽을거리 

__요약 

 

▣ 09장: 알림/경보 서비스 설계 

__9.1 기능 요구사항 

__9.2 비기능적 요구사항 

__9.3 초기 고수준 아키텍처 

__9.4 객체 스토리지: 알림 구성과 전송 

__9.5 알림 템플릿 

__9.6 예약된 알림 

__9.7 알림 수신자 그룹 

__9.8 구독 취소 요청 

__9.9 실패한 전달 처리 

__9.10 중복 알림에 관한 클라이언트 사이드 고려사항 

__9.11 우선순위 

__9.12 검색 

__9.13 모니터링과 경보 

__9.14 알림/경보 서비스의 가용성 모니터링과 경보 

__9.15 기타 논의 가능한 주제

__9.16 최종 참고사항 

__요약 

 

▣ 10장: 데이터베이스 배치 감사 서비스 설계 

__10.1 감사는 왜 필요한가? 

__10.2 SQL 쿼리 결과에 대한 조건문으로 유효성 검사 정의 

__10.3 간단한 SQL 배치 감사 서비스 

__10.4 요구사항 

__10.5 고수준 아키텍처 

__10.6 데이터베이스 쿼리 제약

__10.7 과도한 동시 쿼리 방지

__10.8 데이터베이스 스키마 메타데이터의 사용자 

__10.9 데이터 파이프라인 감사

__10.10 로깅, 모니터링, 경보 

__10.11 기타 감사 가능 유형

__10.12 기타 논의 가능한 주제 

__10.13 참고 문헌 

__요약 

 

▣ 11장: 자동 완성/타입어헤드 

__11.1 자동 완성의 가능한 사용 사례 

__11.2 검색 vs. 자동 완성 

__11.3 기능 요구사항 

__11.4 비기능적 요구사항 

__11.5 상위 수준 아키텍처 계획 

__11.6 가중치 트라이(Trie) 접근법과 초기 고수준 아키텍처 

__11.7 상세 구현 

__11.8 샘플링 접근 방식 

__11.9 저장소 요구사항 처리하기 

__11.10 단일 단어 대신 구문 처리하기 

__11.11 로깅, 모니터링과 경보 

__11.12 기타 논의 가능한 주제 

__요약 

 

▣ 12장: 플리커 설계 

__12.1 사용자 스토리와 기능 요구사항 

__12.2 비기능적 요구사항 

__12.3 고수준 아키텍처 

__12.4 SQL 스키마 

__12.5 CDN에서 디렉터리와 파일 구성하기 

__12.6 사진 업로드하기 

__12.7 이미지와 데이터 다운로드하기 

__12.8 모니터링과 경보 

__12.9 기타 서비스 

__12.10 기타 논의 가능한 주제 

__요약 

 

▣ 13장: 콘텐츠 배포 네트워크 설계하기 

__13.1 CDN의 장단점 

__13.2 요구사항 

__13.3 CDN 인증과 권한 부여 

__13.4 상위 수준 아키텍처 

__13.5 저장소 서비스 

__13.6 일반적인 작업 

__13.7 캐시 무효화 

__13.8 로깅, 모니터링, 경보 

__13.9 미디어 파일 다운로드에 대한 기타 가능한 논의 

__요약 

 

▣ 14장: 문자 메시징 앱 설계 

__14.1 요구사항 

__14.2 초기 구상 

__14.3 초기 고수준 설계 

__14.4 연결 서비스 

__14.5 발신자 서비스 

__14.6 메시지 서비스 

__14.7 메시지 전송 서비스 

__14.8 검색 

__14.9 로깅, 모니터링, 경보 

__14.10 기타 논의 가능한 주제 

__요약 

 

▣ 15장: 에어비앤비 설계 

__15.1 요구사항 

__15.2 설계 결정 

__15.3 고수준 아키텍처 

__15.4 기능적 분할 

__15.5 목록 생성 또는 업데이트 

__15.6 승인 서비스 

__15.7 예약 서비스 

__15.8 가용성 서비스 

__15.9 로깅, 모니터링, 경보 

__15.10 기타 논의 가능한 주제 

__요약 

 

▣ 16장: 뉴스 피드 설계 

__16.1 요구사항 

__16.2 상위 수준 아키텍처 

__16.3 사전에 피드 준비하기 

__16.4 검증과 콘텐츠 조정 

__16.5 로깅, 모니터링, 경보 

__16.6 기타 논의 가능한 주제

__요약 

 

▣ 17장: 판매량 기준 아마존 상위 10개 제품 대시보드 설계 

__17.1 요구사항 

__17.2 초기 구상 

__17.3 초기 고수준 아키텍처 

__17.4 집계 서비스 

__17.5 배치 파이프라인 

__17.6 스트리밍 파이프라인 

__17.7 근사 

__17.8 람다 아키텍처를 사용한 대시보드 

__17.9 카파 아키텍처 접근 방식 

__17.10 로깅, 모니터링, 경보 

__17.11 기타 논의 가능한 주제 

__17.12 참고 문헌 

__요약 

 

[부록] 

 

▣ 부록A: 모놀리스 vs. 마이크로서비스 

__A.1 모놀리스의 장점 

__A.2 모놀리스의 단점 

__A.3 서비스의 장점 

__A.4 서비스의 단점 

__A.5 참고 문헌 

 

▣ 부록B: OAuth 2.0 인가와 OpenID Connect 인증

__B.1 인가 vs. 인증 

__B.2 개요: 간단한 로그인, 쿠키 기반 인증 

__B.3 단일 로그인 

__B.4 단순 로그인의 단점 

__B.5 OAuth 2.0 흐름 

__B.6 다른 OAuth 2.0 흐름 

__B.7 OpenID Connect 인증 

 

▣ 부록C: C4 모델 

 

▣ 부록D: 2단계 커밋(2PC)

본문인용

-

서평

-

저자소개

저자 : 지용 탄
페이팔의 매니저다. 이전에는 우버의 시니어 풀스택 엔지니어, 테라데이터의 소프트웨어 엔지니어, 여러 스타트업의 데이터 엔지니어로 일했다. 수년간 수많은 시스템 설계 면접에서 면접관과 지원자 양쪽 입장을 경험했다. 또한 아마존, 애플, 바이트댄스/틱톡 같은 유명 기업에서 귀중한 입사 제안을 받기도 했다.
번역 : 나정호
클라우드 아키텍처 및 대규모 시스템 설계 분야에서 10년 이상의 경험을 보유하고 있다. 금융, 제조, IT 서비스 등 다양한 산업에서 클라우드 전환, 시스템 아키텍처 설계, DevOps 및 CI/CD 자동화 환경 구축을 통해 대규모 시스템의 확장성과 안정성을 최적화하는 데 주력해 왔다. 특히, 금융 및 핀테크 분야에서는 클라우드 기반 금융 시스템 운영과 마이크로서비스 아키텍처(MSA) 설계를 통해 안정적이고 확장 가능한 인프라를 구축하였으며, 제조 분야에서는 디지털 전환(DT) 플랫폼 구축과 Vision AI/MLOps 환경 최적화를 주도했다. 이와 같은 실무 경험을 바탕으로 《시스템 설계 면접 완벽 가이드》 번역을 진행하였으며, 이 책을 통해 국내 개발자들이 시스템 디자인 인터뷰를 효과적으로 준비하고 실무에서 활용할 수 있는 인사이트를 얻기를 기대한다.
상단으로 이동
  • (54866) 전북특별자치도 전주시 덕진구 중동로 63