시스템 설계 면접 완벽 가이드 (노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것 | 반양장)

시스템 설계 면접 완벽 가이드 (노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것 | 반양장)

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

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

★ 이 책에서 다루는 내용 ★

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

지용탄

저자:지용탄(ZhiyongTan)
페이팔의매니저다.이전에는우버의시니어풀스택엔지니어,테라데이터의소프트웨어엔지니어,여러스타트업의데이터엔지니어로일했다.수년간수많은시스템설계면접에서면접관과지원자양쪽입장을경험했다.또한아마존,애플,바이트댄스/틱톡같은유명기업에서귀중한입사제안을받기도했다.

역자;나정호
클라우드아키텍처및대규모시스템설계분야에서10년이상의경험을보유하고있다.금융,제조,IT서비스등다양한산업에서클라우드전환,시스템아키텍처설계,DevOps및CI/CD자동화환경구축을통해대규모시스템의확장성과안정성을최적화하는데주력해왔다.특히,금융및핀테크분야에서는클라우드기반금융시스템운영과마이크로서비스아키텍처(MSA)설계를통해안정적이고확장가능한인프라를구축하였으며,제조분야에서는디지털전환(DT)플랫폼구축과VisionAI/MLOps환경최적화를주도했다.이와같은실무경험을바탕으로《시스템설계면접완벽가이드》번역을진행하였으며,이책을통해국내개발자들이시스템디자인인터뷰를효과적으로준비하고실무에서활용할수있는인사이트를얻기를기대한다.

목차

[1부]

▣01장:시스템설계개념둘러보기
__1.1트레이드오프논의
__1.2이책을어떻게읽어야할까?
__1.3이책의개요
__1.4시스템의다양한서비스확장방식
__요약

▣02장:일반적인시스템설계면접흐름
__2.1요구사항명확화와트레이드오프논의
__2.2API명세초안작성
__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.2API
__7.3SQL데이터베이스스키마
__7.4초기고수준아키텍처
__7.5모놀리스아키텍처
__7.6SQL데이터베이스와객체스토리지사용
__7.7마이그레이션은번거롭다
__7.8게시물작성과읽기
__7.9기능적분할
__7.10캐싱
__7.11CDN
__7.12SQL클러스터로읽기확장
__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.2SQL쿼리결과에대한조건문으로유효성검사정의
__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.4SQL스키마
__12.5CDN에서디렉터리와파일구성하기
__12.6사진업로드하기
__12.7이미지와데이터다운로드하기
__12.8모니터링과경보
__12.9기타서비스
__12.10기타논의가능한주제
__요약

▣13장:콘텐츠배포네트워크설계하기
__13.1CDN의장단점
__13.2요구사항
__13.3CDN인증과권한부여
__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:OAuth2.0인가와OpenIDConnect인증
__B.1인가vs.인증
__B.2개요:간단한로그인,쿠키기반인증
__B.3단일로그인
__B.4단순로그인의단점
__B.5OAuth2.0흐름
__B.6다른OAuth2.0흐름
__B.7OpenIDConnect인증

▣부록C:C4모델

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