시스템 설계 및 아키텍처
켈 제 2 판은 여전히 진행중인 작업입니다.
이 책 시스템 설계 및 아키텍처는 2015 년부터 전세계 수백만 명의 소프트웨어 엔지니어가 인터넷 업계에서 성공하는 데 도움이되었습니다. 작동하는 이유는 다음과 같습니다.
- ? 실제 엔지니어링. 그것은 Fanng와 다른 많은 실리콘 밸리 회사의 실제 사례에서 비롯됩니다. 또한 실제 인터넷 제품 및 서비스를 구축하는 방법을 간략하게 설명합니다.
- ? 소화하기 쉽습니다. 올바른 추상화 수준의 시스템 설계는 가장 짧은 컷으로 목적지로 당신을 라우팅하는지도와 같습니다. 차트, 다이어그램 및 단계별 가이드가 있습니다. 시스템 설계 인터뷰를 탁월하고 구축을 시작하기 위해 최소한의 실행 가능한 지식을 얻을 수 있습니다.
- ? 완전한 커버. 그것은 당신이 백엔드에서 프론트 엔드, 제로에서 영웅으로 대부분의 시스템 설계 사용 사례를 마스터하기 위해 "책"이되기 위해 노력합니다.
- ? fr️ 4 단계 프레임 워크. 이 책은 체계적이고 반복 가능한 방식으로 문제를 접근하고 해결합니다. 1) 요구 사항을 명확하게 설명 2) 고급 디자인 스케치 3) 개별 구성 요소와 서로 상호 작용하는 방법 4) 사각 지대 또는 병목 현상으로 마무리하십시오.
2 판에서 다른 점은 무엇입니까? 2015 년부터 2022 년까지, 우리는 모바일이 세계를 먹었고, 클라우드 네이티브 컴퓨팅은 Kubernetes를 가로 질러 왔으며 Web3는 기복을 겪었습니다. 인터넷 업계에서 라이프 사이클의 다른 단계에 항상 새로운 회사가 있습니다. 나는 그들이 어떻게 일하는지에 관심이 있지 않습니까? 그래서 2 판에서는 할 것입니다
- 새로운 회사 및 제품에 더 흥미로운 콘텐츠를 추가하십시오.
- 업계의 새로운 트렌드로 기존 콘텐츠를 다시 작성하십시오.
- 단계별 가이드와 함께 더 많은 차트와 다이어그램을 추가하십시오.
- 책의 PDF 에디션을 추가하십시오.
- 각 디자인이 고유 한 추상화를 취하도록 반복적 인 컨텐츠를 제거합니다.
이 책의 범위는 무엇입니까?
- 특정 도메인에 대한 API 설계. Google의 API 디자인 가이드로 이동하십시오.
- 객체 지향 디자인. 그 중요성은 평범한 엔지니어들에 의해 상당히 과대 평가됩니다.
이 책을 사용하는 방법?
- 전문가 (Google L5 이상)의 경우 실제로 시스템 설계 로 직접 이동하십시오.
- 주니어 및 중간 프로그래머 (Google L3/L4)의 경우 시스템 설계 이론 으로 이동 한 다음 실제로 시스템 설계를 읽으십시오.
- 초보자는 인터뷰를 효과적으로 준비한 다음 시스템 설계 이론을 읽고 실제로 시스템 설계 로 이동하십시오.
실제로 시스템 설계
| 제품 | 질문 | |
|---|
| Instagram 또는 Pinterest 디자인 | |
| Uber 디자인 | |
| Facebook은 어떻게 소셜 그래프 스토어를 확장합니까? 타오 | |
| Netflix가 데이터를 보는 방법은 무엇입니까? | |
| idempotency를 사용하여 강력하고 예측 가능한 API를 설계하는 방법은 무엇입니까? | |
| 모바일 장치 용 HTTP를 통해 비디오를 스트리밍하는 방법은 무엇입니까? HTTP 라이브 스트리밍 (HLS) | |
| 분산 로깅 시스템 설계 | |
| URL 쇼트너 설계 | |
| 외부 스토리지가있는 KV 매장 설계 | |
| 분산 된 메모리 kv 스토어 설계 또는 memcached | |
| Facebook 사진 저장소 디자인 | |
| 증권 거래소 설계 | |
| 주가 변경에 대한 스마트 알림 설계 | |
| 정사각형 현금 또는 페이팔 자금 이체 시스템 설계 | |
| 결제 webhook 디자인 | |
| 메트릭 시스템 설계 | |
| 권장 시스템 설계 | |
| 에어 비앤비 또는 호텔 예약 시스템 설계 | |
| Lyft의 마케팅 자동화 플랫폼 - 심포니 | |
| Typeahead 검색 또는 자동 완성 설계 | |
| 로드 밸런서 또는 Dropbox Bandaid 설계 | |
| 반 감독 학습으로 사기 탐지 | |
| 온라인 판사 또는 leetcode 설계 | |
시스템 설계 이론
- 건축 소개
- 웹 서비스를 확장하는 방법?
- 산과베이스
- 데이터 파티션 및 라우팅
- 복제, 일관성 및 캡 정리
- 로드 밸런서 유형
- 동시성 모델
- 장애 조치로 가용성 향상
- 블룸 필터
- skiplist
- b 나무 대 B+ 트리
- 관계형 데이터베이스 소개
- 4 종류의 No-SQL
- 키 값 캐시
- 스트림 및 배치 처리 프레임 워크
- 클라우드 디자인 패턴
- 공개 API 선택
- 람다 건축
- iOS 아키텍처 패턴이 다시 방문되었습니다
- 소프트 스킬 인터뷰에서 무엇을 의사 소통 할 수 있습니까?
- 깊은 다이빙을 경험하십시오
- 3 프로그래밍 패러다임
- 견고한 디자인 원리
- 역량 계획을 수행하는 방법?
인터뷰를 효과적으로 준비하십시오
- 소프트웨어 엔지니어 인터뷰 소개
- 코딩 인터뷰를 깨뜨리는 방법은 무엇입니까?
- 인터뷰에서 의사 소통하는 방법?
- 깊은 다이빙을 경험하십시오
- 문화 적합
- 소프트웨어 엔지니어가 되십시오 - 영웅의 여정
[중국판]
Tian Pan은 누구입니까?
Tian Pan은 10 년 동안 샌프란시스코 베이 지역에서 근무하는 고성능 소프트웨어 엔지니어 및 엔지니어링 관리자였으며 이전에는 Uber, Oracle, IoTex 및 Microsoft에서 근무했습니다.
더 많은 토론을 위해 우리와 함께하십시오!
특허
GPL V3
이 자원이 도움이된다고 생각했다면, 그것을 줘? 그렇지 않으면 그것에 기여하고 그것을주십시오.