translated more sessions

pull/760/head
valdemar.barros 2023-04-09 22:00:44 -03:00
parent e12c7b083f
commit 1f33eb7ce7
1 changed files with 73 additions and 73 deletions

View File

@ -150,113 +150,113 @@ Revise as [Diretrizes de contribuição](CONTRIBUTING.md).
* [Cache Web server](#web-server-caching) * [Cache Web server](#web-server-caching)
* [Cache de banco de dados](#database-caching) * [Cache de banco de dados](#database-caching)
* [Cache de Aplicação](#application-caching) * [Cache de Aplicação](#application-caching)
* [Caching at the database query level](#caching-at-the-database-query-level) * [Cache a nível de consulta de banco de dados](#caching-at-the-database-query-level)
* [Caching at the object level](#caching-at-the-object-level) * [Cache a nível de Objeto](#caching-at-the-object-level)
* [When to update the cache](#when-to-update-the-cache) * [Quando atualizar o cache](#when-to-update-the-cache)
* [Cache-aside](#cache-aside) * [Cache-aside](#cache-aside)
* [Write-through](#write-through) * [Write-through](#write-through)
* [Write-behind (write-back)](#write-behind-write-back) * [Write-behind (write-back)](#write-behind-write-back)
* [Refresh-ahead](#refresh-ahead) * [Refresh-ahead](#refresh-ahead)
* [Asynchronism](#asynchronism) * [Assincronísmo](#asynchronism)
* [Message queues](#message-queues) * [Fila de mensagens](#message-queues)
* [Task queues](#task-queues) * [Fila de tarefas](#task-queues)
* [Back pressure](#back-pressure) * [Contrapressão](#back-pressure)
* [Communication](#communication) * [Comunicação](#communication)
* [Transmission control protocol (TCP)](#transmission-control-protocol-tcp) * [Transmission control protocol (TCP)](#transmission-control-protocol-tcp)
* [User datagram protocol (UDP)](#user-datagram-protocol-udp) * [User datagram protocol (UDP)](#user-datagram-protocol-udp)
* [Remote procedure call (RPC)](#remote-procedure-call-rpc) * [Remote procedure call (RPC)](#remote-procedure-call-rpc)
* [Representational state transfer (REST)](#representational-state-transfer-rest) * [Representational state transfer (REST)](#representational-state-transfer-rest)
* [Security](#security) * [Segurança](#security)
* [Appendix](#appendix) * [Apêndice](#appendix)
* [Powers of two table](#powers-of-two-table) * [O poder de duas tabelas](#powers-of-two-table)
* [Latency numbers every programmer should know](#latency-numbers-every-programmer-should-know) * [Números de latência que todos programador deveria saber](#latency-numbers-every-programmer-should-know)
* [Additional system design interview questions](#additional-system-design-interview-questions) * [Questões adicionais de entrevistas sobre system design](#additional-system-design-interview-questions)
* [Real world architectures](#real-world-architectures) * [Arquiteturas do mundo real](#real-world-architectures)
* [Company architectures](#company-architectures) * [Arquitetura de empresas](#company-architectures)
* [Company engineering blogs](#company-engineering-blogs) * [Blogs de empresas de engenharia](#company-engineering-blogs)
* [Under development](#under-development) * [Em desenvolvimeno](#under-development)
* [Credits](#credits) * [Créditos](#credits)
* [Contact info](#contact-info) * [Informações de contato](#contact-info)
* [License](#license) * [Licença](#license)
## Study guide ## Guia de estudos
> Suggested topics to review based on your interview timeline (short, medium, long). > Tópicos sugeridos para revisar baseados na linha do tempo da sua entrevista (curta, média, longa).
![Imgur](images/OfVllex.png) ![Imgur](images/OfVllex.png)
**Q: For interviews, do I need to know everything here?** **Q: Para o entrevitador, Eu preciso saber tudo que está aqui?**
**A: No, you don't need to know everything here to prepare for the interview**. **A: Não, você não precisa saber tudo aqui para se preparar para a entrevista**.
What you are asked in an interview depends on variables such as: O que você será perguntado na entrevista depende de variáveis como:
* How much experience you have * O quanto você tem de experiência
* What your technical background is * Qual é o seu background técnico
* What positions you are interviewing for * Para qual cargo você será entrevistado
* Which companies you are interviewing with * Com quais empresas você será entrevistado
* Luck * Sorte
More experienced candidates are generally expected to know more about system design. Architects or team leads might be expected to know more than individual contributors. Top tech companies are likely to have one or more design interview rounds. Os candidatos mais experientes espera-se, geralmente, saber mais sobre system design. Arquitetos ou Líderes de time é esperado saber mais do que contribuidores individuais. Empresas Tech líder de mercado são mais prováveis de ter uma ou mais rodadas de entrevistas sobre Design System.
Start broad and go deeper in a few areas. It helps to know a little about various key system design topics. Adjust the following guide based on your timeline, experience, what positions you are interviewing for, and which companies you are interviewing with. Comece amplo e vá mais fundo em algumas áreas. Isso irá ajudar a saber um pouco mais sobre vários assuntos-chave dos tópicos sobre system design. Ajuste o guia a seguir baseado na sua linha do tempo, experiência, vagas que será entrevistado e que empresas será irão entrevista-lo.
* **Short timeline** - Aim for **breadth** with system design topics. Practice by solving **some** interview questions. * **Linha do tempo curta** - Mirar em **ampliar** conhecimentos dos tópicos sobre system design. Pratique resolvendo **algumas** perguntas das entrevistas.
* **Medium timeline** - Aim for **breadth** and **some depth** with system design topics. Practice by solving **many** interview questions. * **Linha do tempo média** - Mirar em **ampliar** e com **alguma profundidade** dos tópicos sobre system design. Pratique resolvendo **várias** perguntas das entrevistas.
* **Long timeline** - Aim for **breadth** and **more depth** with system design topics. Practice by solving **most** interview questions. * **Linha do tempo longa** - Mirar em **amplicar** e **mais a fundo** dos tópicos sobre system design. Pratique resolvendo **a maioria** das perguntas das entrevistas.
| | Short | Medium | Long | | | Curto | Médio | Longo |
|---|---|---|---| |----------------------------------------------------------------------------------------------------------------------------------------------|---------|--------|---------|
| Read through the [System design topics](#index-of-system-design-topics) to get a broad understanding of how systems work | :+1: | :+1: | :+1: | | Leia os tópicos sobre [System design](#index-of-system-design-topics) para ter um entendimento mais abrangente de como os sistemas funcionam | :+1: | :+1: | :+1: |
| Read through a few articles in the [Company engineering blogs](#company-engineering-blogs) for the companies you are interviewing with | :+1: | :+1: | :+1: | | Leia alguns artigos nos [blogs de engenharia das empresas](#company-engineering-blogs) pelas quais você será entrevistado | :+1: | :+1: | :+1: |
| Read through a few [Real world architectures](#real-world-architectures) | :+1: | :+1: | :+1: | | Leia sobre [Arquiteturas do mundo real](#real-world-architectures) | :+1: | :+1: | :+1: |
| Review [How to approach a system design interview question](#how-to-approach-a-system-design-interview-question) | :+1: | :+1: | :+1: | | Reveja [como abordar as perguntas de entrevistas sobre system design](#how-to-approach-a-system-design-interview-question) | :+1: | :+1: | :+1: |
| Work through [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Some | Many | Most | | Trabalhe com [as resoluções das perguntas das entrevistas sobre System design](#system-design-interview-questions-with-solutions) | Algumas | Muitas | Maioria |
| Work through [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Some | Many | Most | | Trabalhe com [as resoluções das perguntas sobre design orientado a objetos](#object-oriented-design-interview-questions-with-solutions) | Algumas | Muitas | Maioria |
| Review [Additional system design interview questions](#additional-system-design-interview-questions) | Some | Many | Most | | Reveja [questões adicionais em entrevistas sobre system](#additional-system-design-interview-questions) | Algumas | Muitas | Maioria |
## How to approach a system design interview question ## Como abordar perguntas em entrevistas sobre system design
> How to tackle a system design interview question. > Como lidar com uma pergunta de entrevista sobre system design.
The system design interview is an **open-ended conversation**. You are expected to lead it. Entrevistas sobre system design é uma **conversa aberta**. Espera-se que você a lidere.
You can use the following steps to guide the discussion. To help solidify this process, work through the [System design interview questions with solutions](#system-design-interview-questions-with-solutions) section using the following steps. Você pode usar os seguintes passos para guiá-lo na discussão. Para ajudar a solidificar este processo, trabalhe [as resoluções das perguntas das entrevistas sobre System design](#system-design-interview-questions-with-solutions) seguindo os passos.
### Step 1: Outline use cases, constraints, and assumptions ### Passo 1: Descrever casos de uso, restrições e suposições
Gather requirements and scope the problem. Ask questions to clarify use cases and constraints. Discuss assumptions. Reunia os requisitos e os escopos do problema. Faça perguntas para esclarecer os casos de uso e as restrições. Discuta suposições.
* Who is going to use it? * Quem irá usá-lo?
* How are they going to use it? * Como eles irão usá-lo?
* How many users are there? * Quantos usuários existem?
* What does the system do? * O que o sistema faz?
* What are the inputs and outputs of the system? * Quais serão as entradas e as saídas do sistema?
* How much data do we expect to handle? * Quantos dados esperamos manipular?
* How many requests per second do we expect? * Quantos requests por segundos é esperado?
* What is the expected read to write ratio? * Qual é a proporção esperada de leitura para escrita?
### Step 2: Create a high level design ### Passo 2: Crie um design de alto nível
Outline a high level design with all important components. Descreva um design de alto nível com todos os componentes importantes.
* Sketch the main components and connections * Rascunhe os principais componentes e conexões
* Justify your ideas * Justifique as suas ideias
### Step 3: Design core components ### Passo 3: Design os componentes principais(core components)
Dive into details for each core component. For example, if you were asked to [design a url shortening service](solutions/system_design/pastebin/README.md), discuss: Mergulhe nos detalhes de cada component. Por exemplo, se você for perguntado para [desenhar um serviço de encurtador de url](solutions/system_design/pastebin/README.md), discuta sobre:
* Generating and storing a hash of the full url * Gerando e armazenando um hash da url inteira
* [MD5](solutions/system_design/pastebin/README.md) and [Base62](solutions/system_design/pastebin/README.md) * [MD5](solutions/system_design/pastebin/README.md) e [Base62](solutions/system_design/pastebin/README.md)
* Hash collisions * Colisões Hash
* SQL or NoSQL * SQL ou NoSQL
* Database schema * Esquema do banco de dados
* Translating a hashed url to the full url * Traduzindo a url encurtada ma url inteira
* Database lookup * Pesquisa de banco de dados
* API and object-oriented design * API e design orientado a objetos
### Step 4: Scale the design ### Passo 4: Escale o design
Identify and address bottlenecks, given the constraints. For example, do you need the following to address scalability issues? Identify and address bottlenecks, given the constraints. For example, do you need the following to address scalability issues?