Design e arquitetura do sistema
️ A 2ª edição ainda é um trabalho em andamento.
O design e a arquitetura do sistema de livros ajudaram milhões de engenheiros de software em todo o mundo a terem sucesso na indústria da Internet desde 2015. Aqui está por isso que funciona:
- ? Engenharia do mundo real. Ele vem de exemplos do mundo real da Fanng e de muitas outras empresas do Vale do Silício. E descreve como criar produtos e serviços da Internet do mundo real.
- ? Fácil de digerir. O design do sistema no nível certo de abstração é como um mapa para direcioná -lo para o seu destino com o corte mais curto. Existem gráficos, diagramas e guias passo a passo-tudo para você adquirir o conhecimento mínimo acionável para destacar as entrevistas de design do sistema e começar a construir.
- ? Cobertura total. Ele se esforça para ser "o livro" para você dominar a maioria dos casos de uso do design do sistema, de back-end ao front-end e de zero e herói.
- ? ♀️ Estrutura de 4 etapas. Este livro se aproxima e resolve problemas de maneira sistemática e repetível: 1) Esclareça os requisitos 2) Esboce o design de alto nível 3) Discuta componentes individuais e como eles interagem entre si 4) encerrarem pontos cegos ou gargalos.
O que há de diferente na 2ª edição? De 2015 a 2022, vimos os móveis comeram o mundo, a computação nativa em nuvem apareceu em Kubernetes e a Web3 passou por altos e baixos. Sempre existem novas empresas em diferentes estágios de seus ciclos de vida assumindo a liderança na indústria da Internet. Estou interessado em como eles funcionam, não é? Então, na 2ª edição, eu irei
- Adicione conteúdo mais interessante com novas empresas e produtos.
- Reescreva o conteúdo existente com novas tendências no setor.
- Adicione mais gráficos e diagramas com guias passo a passo.
- Adicione uma edição em PDF do livro.
- Conteúdo repetitivo deduplicado para que cada design requer sua abstração exclusiva.
O que está fora do escopo deste livro?
- Design da API para domínios específicos. Por favor, vá ao Guia de Design de API do Google.
- Design orientado a objetos. Sua importância é bastante superestimada pelos engenheiros medíocres.
Como usar este livro?
- Para profissionais (Google L5 ou acima), vá diretamente para o design do sistema na prática .
- Para programadores juniores e intermediários (Google L3/L4), acesse teorias de design do sistema e leia o design do sistema na prática .
- Para iniciantes, vá para se preparar para uma entrevista de maneira eficaz , leia as teorias do design do sistema e finalmente vá para o design do sistema na prática .
Design do sistema na prática
| Produto | Pergunta | |
|---|
| Projetando o Instagram ou Pinterest | |
| Projetando Uber | |
| Como o Facebook escala sua loja de gráficos sociais? Tao | |
| Como a Netflix serve dados de visualização? | |
| Como projetar APIs robustas e previsíveis com idempotência? | |
| Como transmitir vídeo sobre HTTP para dispositivos móveis? HTTP Live Streaming (HLS) | |
| Projetando um sistema de registro distribuído | |
| Projetando um encurtador de URL | |
| Projetar uma loja KV com armazenamento externo | |
| Projetando uma loja KV em memória distribuída ou memcached | |
| Projetando armazenamento de fotos no Facebook | |
| Projetando bolsa de valores | |
| Projetando notificação inteligente das mudanças no preço das ações | |
| Projetando dinheiro quadrado ou sistema de transferência de dinheiro do PayPal | |
| Projetando webhook de pagamento | |
| Projetando um sistema métrico | |
| Projetando um sistema de recomendação | |
| Projetando airbnb ou um sistema de reserva de hotel | |
| Plataforma de automação de marketing da Lyft - Symphony | |
| Projetando pesquisa de cabeça de cabeça ou preenchimento automático | |
| Projetando um balanceador de carga ou Dropbox bandaid | |
| Detecção de fraude com aprendizado semi-supervisionado | |
| Projetando juiz online ou leetcode | |
Teorias de design do sistema
- Introdução à arquitetura
- Como escalar um serviço da web?
- Ácido vs base
- Partição de dados e roteamento
- Réplica, consistência e teorema do CAP
- Tipos de balanceador de carga
- Modelo de simultaneidade
- Melhorando a disponibilidade com failover
- Filtro de flor
- Skiplist
- B Árvore vs. B+ Árvore
- Introdução ao banco de dados relacional
- 4 tipos de não-sql
- Cache do valor da chave
- Estruturas de processamento de stream e lote
- Padrões de design de nuvem
- Escolhas públicas da API
- Arquitetura Lambda
- Padrões de arquitetura iOS revisitados
- O que podemos nos comunicar em entrevista de habilidades sociais?
- Experimente o mergulho profundo
- 3 paradigmas de programação
- Princípios de design sólidos
- Como fazer o planejamento de capacidade?
Prepare -se para uma entrevista efetivamente
- Introdução à entrevista de engenheiro de software
- Como quebrar a entrevista de codificação, de verdade?
- Como se comunicar na entrevista?
- Experimente o mergulho profundo
- Cultura adequada
- Seja um engenheiro de software - a jornada de um herói
[Edição chinesa]
Quem é Tian Pan?
A Tian Pan é um engenheiro de software de alto desempenho e gerente de engenharia que trabalha na área da baía de São Francisco há 10 anos, trabalhou anteriormente na Uber, Oracle, Iotex e Microsoft.
Junte -se a nós para uma discussão mais aprofundada!
Licença
GPL V3
Se você achou esse recurso útil, dê um? Caso contrário, contribua para isso e dê um ️.