이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 베스트셀러
시스템 설계 면접 완벽 가이드
노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것
위키북스 2025.05.15.
베스트
IT 모바일 100위 IT 모바일 top100 2주
가격
35,000
10 31,500
YES포인트?
1,750원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 신청가능

위키북스 시스템 & 네트워크 시리즈

상세 이미지

책소개

목차

[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)

저자 소개2

Zhiyong Tan

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

품목정보

발행일
2025년 05월 15일
쪽수, 무게, 크기
508쪽 | 188*240*21mm
ISBN13
9791158395902

출판사 리뷰

★ 이 책에서 다루는 내용 ★

◎ 대규모 트래픽을 지원하기 위한 애플리케이션 확장
◎ 데이터 일관성을 보장하기 위한 분산 트랜잭션 기법
◎ API 게이트웨이 및 서비스 메시와 같은 기능 분할을 위한 서비스
◎ REST, RPC, GraphQL 등 일반적인 API 패러다임
◎ 트레이드오프가 있는 캐싱 전략
◎ 모든 시스템 디자인에 중요한 로깅, 모니터링, 알림 개념
◎ 엔지니어로서의 성숙함을 보여주는 커뮤니케이션 기술

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.

31,500
1 31,500