• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. O que é System Design e como estudar para entrevistas

    O que é System Design e como estudar para entrevistas

    12 min12 minutos de leitura

    system design

    12 min12 minutos de leitura

    Publicado: 3 de Outubro

    Última atualização: Hoje

    1. O que a entrevista de system design avalia?
    2. O que é system design?
    3. Como funciona a entrevista de system design?
    4. Quais conceitos estudar para system design?
    5. Como responder a uma pergunta de system design?
    6. Como estudar system design para entrevistas?
    7. Quais erros evitar na entrevista de system design?
    8. Prepare-se para a próxima entrevista técnica
    9. FAQ sobre system design

    A pessoa que entrevista pede para você desenhar um encurtador de links. Em menos de um minuto, já tem um banco de dados no quadro, antes de qualquer pergunta sobre quantos usuários o sistema vai atender ou quanto tempo um link precisa durar.

    Esse começo apressado é um dos erros mais frequentes em entrevistas de system design, a etapa que avalia como você projeta sistemas grandes. Ela costuma pesar em vagas de back-end, principalmente a partir do nível pleno.

    Neste guia, você vai entender o que é system design, como a entrevista funciona, quais conceitos estudar e como montar uma rotina de preparação, inclusive com a ajuda da inteligência artificial.

    O que a entrevista de system design avalia?

    Uma entrevista de system design, ou projeto de sistemas, avalia a sua capacidade de transformar um problema amplo e aberto em uma arquitetura que escale, funcione com confiabilidade e tenha uma estrutura clara.

    Como não existe uma única resposta certa, quem entrevista observa o caminho até a solução. Entram na avaliação a forma como você toma decisões, identifica gargalos e justifica os trade-offs, ou seja, o que ganha e o que perde com cada escolha.

    Por isso, a conversa importa tanto quanto o diagrama. Como mostramos no artigo sobre como a IA está mudando os processos seletivos em tech , a seleção passou a valorizar quem explica as próprias escolhas. O system design é a etapa em que essa cobrança fica mais evidente.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    O que é system design?

    System design é o processo de definir como as partes de um sistema se organizam para atender aos requisitos de um produto. Envolve escolher componentes, como servidores, bancos de dados, filas e caches, e decidir como eles se comunicam por meio de APIs.

    O tema conversa com a arquitetura de software, mas olha para uma escala maior. A pergunta central é como o sistema se comporta quando o número de usuários, de dados ou de requisições cresce muito.

    Vale um alerta para quem pesquisa o assunto: system design é diferente de design system, a biblioteca de componentes visuais usada por times de produto e de front-end. Os nomes parecem, mas os temas são bem distintos.

    Requisitos funcionais e não funcionais

    Todo projeto parte de dois tipos de requisito. Os funcionais descrevem o que o sistema faz, como criar um link curto e redirecionar quem clica nele.

    Os não funcionais descrevem como ele precisa se comportar: tempo de resposta, disponibilidade, segurança e custo. O framework Well-Architected da AWS organiza essas preocupações em seis pilares, entre eles confiabilidade, eficiência de desempenho e otimização de custos.

    Como funciona a entrevista de system design?

    Essa etapa costuma ocupar uma sessão inteira do processo técnico e aparece com mais frequência em vagas de nível pleno e sênior. Em seleções para estágio e júnior, a tendência é uma versão menor, focada em modelagem de dados ou no desenho de uma API.

    O formato é aberto. Você recebe um problema genérico, como um sistema de mensagens, um feed de notícias ou um encurtador de links, e conduz a conversa desenhando em um quadro, físico ou virtual.

    Quem entrevista participa o tempo todo. Faz perguntas, muda requisitos no meio do caminho e pede detalhes de um componente específico, para ver como você reage a mudanças.

    Há variações por área. Vagas de front-end podem pedir o desenho de uma aplicação do lado do cliente, com gerenciamento de estado e desempenho. Em dados, o foco costuma ser o fluxo de pipelines.

    A conversa também testa comunicação. Narrar o raciocínio, confirmar hipóteses e admitir o que não sabe contam pontos, assim como a forma de conduzir a entrevista desde a apresentação, assunto do artigo sobre como se apresentar em entrevista [LINK PENDENTE: slug proposto para o artigo 3/8].

    Alt-text: Duas pessoas sentadas lado a lado diante de um notebook analisam um esboço de diagrama no papel, e uma delas aponta um trecho com a caneta.

    Legenda: Esboçar a arquitetura enquanto explica o raciocínio aproxima o estudo do formato da entrevista.

    Quais conceitos estudar para system design?

    Alguns conceitos aparecem em quase toda entrevista. Dominar cada um deles, com exemplos de quando usar e quando evitar, dá repertório para qualquer problema.

    Escalabilidade e balanceamento de carga

    Escalar verticalmente significa dar mais recursos a uma máquina. Escalar horizontalmente significa adicionar máquinas, o que exige um balanceador de carga para distribuir as requisições entre elas.

    Em ambientes de cloud, a escala horizontal costuma ser automatizada, com ferramentas de orquestração de contêineres como o Kubernetes.

    Bancos de dados, replicação e particionamento

    A escolha entre bancos relacionais e não relacionais depende do formato dos dados e do tipo de consulta. As diferenças estão no artigo sobre SQL e NoSQL. Já o guia de banco de dados cobre os fundamentos.

    Em escala, entram a replicação, que copia os dados para outras máquinas e aumenta a disponibilidade, e o particionamento, que divide os dados entre servidores para distribuir a carga.

    Cache e CDN

    O cache guarda em memória o resultado de consultas frequentes para responder mais rápido. Ferramentas como o Redis são comuns nesse papel. A CDN faz algo parecido com arquivos estáticos, servindo o conteúdo de servidores próximos de quem acessa.

    Na entrevista, o ponto importante é saber quando o dado em cache fica desatualizado e como invalidá-lo.

    Filas e processamento assíncrono

    Filas de mensagens permitem que uma parte do sistema entregue uma tarefa e siga em frente, enquanto outra processa no seu ritmo. Há um exemplo prático no artigo sobre mensageria com Amazon SQS.

    Esse desenho combina com arquiteturas de microsserviços, assunto do artigo sobre microsserviços ou monolito, e ajuda a absorver picos de acesso sem derrubar o sistema.

    Consistência, disponibilidade e o teorema CAP

    O teorema CAP, proposto por Eric Brewer em 2000, diz que um sistema distribuído não consegue garantir ao mesmo tempo consistência, disponibilidade e tolerância a partições de rede. Quando a rede falha, é preciso priorizar uma das duas primeiras.

    Na prática, um sistema de pagamentos tende a priorizar consistência, enquanto uma rede social aceita mostrar um contador de curtidas atrasado em troca de ficar no ar. O livro de SRE do Google, aberto para leitura on-line, aprofunda como grandes empresas lidam com confiabilidade.

    Para entender como esses serviços funcionam na nuvem, vale assistir a este episódio do nosso canal no YouTube:

    https://www.youtube.com/watch?v=wev9fMrg-TU

    Como responder a uma pergunta de system design?

    Ter um roteiro evita o começo apressado da cena do início. Os passos abaixo funcionam para a maioria dos problemas e deixam claro para quem entrevista como você pensa.

    1. Esclareça os requisitos

    Pergunte o que o sistema precisa fazer e o que fica fora do escopo. No encurtador de links, vale saber se os links expiram, se haverá links personalizados e se a empresa quer estatísticas de cliques.

    2. Estime a escala

    Faça contas aproximadas em voz alta. Em um cenário hipotético de 100 milhões de links novos por mês e 100 leituras para cada link criado, o sistema recebe cerca de 40 escritas e 4 mil leituras por segundo.

    Se cada registro ocupar 500 bytes, cinco anos de dados somam perto de 3 terabytes. Os números não precisam ser exatos, mas mostram que você considera volume antes de escolher tecnologia.

    3. Desenhe a visão geral

    Monte os blocos principais e o caminho de uma requisição: o cliente chama a API, o serviço gera o código curto e grava no banco, e a leitura passa por um cache. Fundamentos de algoritmos ajudam aqui, por exemplo na forma de gerar códigos curtos sem colisão.

    Defina também os endpoints principais, como uma requisição para criar o link e outra que redireciona a partir do código curto.

    4. Aprofunde um componente

    Escolha, com quem entrevista, uma parte para detalhar. Pode ser o modelo de dados, a estratégia de cache ou a forma de distribuir os links entre servidores.

    No encurtador, o cache é um bom candidato. Se a maior parte dos acessos se concentrar em poucos links populares, guardar esses redirecionamentos em memória alivia o banco de dados.

    5. Discuta gargalos e trade-offs

    Feche apontando o que pode falhar e como o sistema reage. Diga o que você trocaria se a escala dobrasse e quais custos cada escolha traz, porque é aí que a avaliação de trade-offs aparece de forma mais clara.

    Um exemplo: códigos curtos sequenciais são simples de gerar, mas facilitam adivinhar links de outras pessoas. Códigos aleatórios evitam o problema, ao custo de checar colisões a cada criação.

    O episódio abaixo, também do nosso canal, reúne dicas para entrevistas de vagas com Java, uma das linguagens mais comuns em back-end:

    https://www.youtube.com/watch?v=vqkmbUyXrXc

    Como estudar system design para entrevistas?

    O estudo rende mais em fases. Avançar para estudos de caso sem os fundamentos costuma levar a respostas decoradas, que desmoronam na primeira pergunta de aprofundamento.

    Fase 1: fundamentos

    Revise redes, bancos de dados, APIs e a diferença entre front-end e back-end. O curso Fundamentos da Arquitetura de Software Moderna, da Alura, cobre a evolução dos monólitos para arquiteturas modernas, requisitos não funcionais e a documentação de decisões.

    Fase 2: componentes e padrões

    Estude cada conceito da seção anterior com um exemplo real de uso. Para a parte de escolhas e consequências, o curso Decisões arquiteturais: ADRs, trade-offs e governança técnica aprofunda o registro e a análise de trade-offs.

    Fase 3: estudos de caso

    Pratique problemas clássicos, como encurtador de links, chat, feed de notícias e sistema de reservas. Blogs de engenharia de empresas de tecnologia contam como sistemas reais foram desenhados e são uma boa fonte primária.

    Para cada caso, escreva requisitos, estimativas e um diagrama antes de comparar com soluções publicadas. A comparação mostra o que você deixou de considerar.

    Fase 4: simulações

    Treine em voz alta, com um quadro e um cronômetro. Um simulador de entrevista com IA pode fazer o papel de liderança técnica e questionar as suas escolhas. Uma simulação com alguém da área completa o treino.

    Para quem já usa IA no trabalho, vale estudar também como ela muda a rotina de arquitetura. Em engenharia de software na era da IA, mostramos por que o julgamento técnico ganhou peso.

    Quais erros evitar na entrevista de system design?

    Alguns hábitos derrubam boas soluções técnicas:

    • Pular os requisitos: começar pelo banco de dados antes de entender o problema leva a decisões sem justificativa.
    • Decorar arquiteturas prontas: quem entrevista muda um requisito e a resposta decorada deixa de servir.
    • Desenhar em silêncio: o raciocínio precisa aparecer em voz alta, mesmo quando você ainda está em dúvida.
    • Ignorar falhas e custos: todo componente pode cair e tem um preço, e falar disso mostra maturidade técnica.
    • Esquecer a segurança: autenticação, proteção de dados e limites de uso fazem parte do projeto, como mostra o guia de segurança da informação.

    Prepare-se para a próxima entrevista técnica

    System design se aprende com prática e com repertório de sistemas reais. As carreiras da Alura organizam os estudos de back-end e arquitetura. Já o guia sobre como construir carreira em TI ajuda a planejar a próxima etapa.

    O Talent Lab, da Alura, oferece orientação de carreira, mentorias, curadoria de vagas e networking. Você pode conhecer o programa e ver como ele funciona.

    Treine a conversa técnica no Modo Entrevista da Alura

    O Modo Entrevista, da Alura, simula processos seletivos de tecnologia a partir da vaga que você quer disputar. Você informa o cargo e o foco da conversa, técnico ou comportamental, e pode colar a descrição de um anúncio real.

    A entrevista se adapta às suas respostas e passa por histórico profissional, hard skills e soft skills, com a opção de responder em áudio. No fim, um relatório aponta acertos, falhas técnicas e comportamentais e pontos a explorar melhor.

    É um bom lugar para ensaiar a explicação das suas decisões técnicas antes da entrevista de verdade. Experimente o Modo Entrevista e use o relatório para decidir o que estudar em seguida.

    FAQ sobre system design

    O que é system design?

    System design, ou projeto de sistemas, é o processo de definir como os componentes de um sistema se organizam e se comunicam para atender aos requisitos de um produto, considerando escala, confiabilidade e custo.

    Qual é a diferença entre system design e design system?

    System design trata da arquitetura de sistemas, como servidores, bancos de dados e filas. Design system é uma biblioteca de componentes visuais e padrões de interface usada por times de produto e de front-end.

    Quem precisa estudar system design?

    Principalmente quem disputa vagas de back-end, full stack e infraestrutura de nível pleno ou sênior, em que a entrevista é mais comum. Para júnior, os fundamentos de banco de dados e APIs já ajudam bastante.

    Quanto tempo leva para estudar system design?

    Depende da base de cada pessoa. Quem já domina banco de dados e APIs costuma precisar de algumas semanas de estudo de conceitos e estudos de caso, além de simulações em voz alta antes da entrevista.

    Preciso saber programar para a entrevista de system design?

    Nem sempre se escreve código, mas a entrevista pressupõe experiência com desenvolvimento. É ela que permite justificar escolhas de banco de dados, filas e APIs com exemplos concretos.

    Como treinar system design sozinho?

    Escolha um problema clássico, siga o roteiro de requisitos, estimativas, visão geral, aprofundamento e trade-offs e explique em voz alta. Um assistente de IA pode fazer perguntas de aprofundamento. Antes da entrevista, uma simulação com alguém da área ajuda a validar a explicação.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 06/11/2023

      Django: o que é, para que serve e um Guia desse framework Python

      Ler mais
    • 28/05/2018

      Clonando personagens no Scratch

      Ler mais
    • Alura
      25/11/2012

      Lendo arquivos texto em Java com Scanner

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura