Qual é a melhor maneira de se preparar para uma entrevista de design de sistema para a Amazon?

Melhor resposta

O design de sistema é obrigatório para preparar entrevistas para todos os candidatos experientes. O design do sistema significa problemas de design do sistema escalável (como Uber, feed de notícias do Facebook, design webcrawler, etc.). Como você pode ver em todos esses sistemas, bilhões de usuários têm acesso. As empresas também querem um engenheiro que possa projetar o sistema que possa lidar com milhões de solicitações de uma vez e o sistema deve sempre ser robusto com latência muito baixa. Geralmente, a preparação do design do sistema leva 2 meses se você for um iniciante. Mas sim, você precisa aplicar um bom esforço para aprendê-lo.

Antes de prosseguir, deixe-me dar uma boa ideia sobre como é a entrevista do sistema

A rodada de design do sistema deve sempre comece com

  1. Uma discussão detalhada sobre os requisitos e quais coisas nosso sistema suporta e quais coisas podemos ignorar
  2. Após o requisito, é melhor dar o entrevistador uma ideia justa sobre a estimativa de quantas pessoas vão usar o sistema
  3. Discuta a API (API REST) ​​envolvida no sistema através da qual o usuário acessa nosso serviço
  4. Tente desenhar De ponta a ponta o fluxo do Design de alto nível do design
  5. Pense e crie os componentes do sistema que envolvem o sistema e também o fluxo entre os componentes do sistema
  6. No final, criar um design de baixo nível do sistema

É muito importante fazer uma discussão saudável com o entrevistador e tente ter a ajuda dele / dela com ile resolvendo um problema. Ficará uma boa impressão se o candidato também for um bom jogador de equipe . Mesmo se você souber a solução Nunca comece a resolver o problema de design sem discuti-lo com o entrevistador. O entrevistador dará uma boa ideia sobre o requisito e fornecerá as dicas. Se você tentar resolvê-lo diretamente, o entrevistador pensará que você já conhece a solução e é isso que você será rejeitado .

Antes de começar a resolver um problema com base no design do sistema, é muito importante preparar o básico. Abaixo estão alguns dos tópicos básicos

Para preparar um problema de design de sistema, as primeiras coisas são, naturalmente, sua experiência irá ajudá-lo . Como você pode ter se envolvido em vários ciclos de vida de desenvolvimento de projeto, isso ajuda para responder durante o processo de entrevista.

Mas, a maioria dos candidatos “não obterá muita exposição na indústria principalmente porque o fato é 70-75\% das pessoas em TI estão trabalhando em um projeto de manutenção em que precisam adicionar APIs e desenvolver pequenos componentes. Portanto, imagem de ponta a ponta de qualquer projeto que não conseguiram. Para eles, você pode aprender design de sistema participando de alguns cursos / treinamentos online. Esses recursos online me ajudam na preparação para as entrevistas.

  • Você pode aprender design de sistema no curso Logicmojo . Este é o curso online de aulas de vídeo para Preparação de Design de Sistema, bem como Algoritmos. Este curso lhe dará uma boa visão de todos os componentes de design do sistema e cobre quase todas as perguntas de design feitas nas entrevistas. Eles incluíram alguns mais de 40 problemas de design , o que é bom o suficiente, eu acho.
  • Então temos um blog muito famoso chamado Alta escalabilidade . Esses blogs fornecem os detalhes dos componentes do sistema, API e estimativas, parte dos famosos problemas de design do sistema. Embora abranja muitos detalhes do sistema, você também precisa extrair os detalhes úteis e relevantes
  • Além disso, há um bom curso online educativo curso de design de sistema grokking. Essa também é uma boa coleção de problemas de design de sistema. Você precisa ler o conteúdo completo e lê-lo como seus recursos baseados em texto

Além disso, você precisa participar de todos os reuniões de design acontece em seu projeto atual no escritório porque, nessa reunião, o arquiteto sênior discute a discussão do projeto e as falhas no projeto existente do sistema. Isso dá uma boa ideia de como escolher o design de qualquer sistema. Além disso, tente ler e compreender o documento de design de todos os projetos anteriores. Isso também ajuda você durante as entrevistas de design do sistema

Resposta

Não se deixe sobrecarregar. Prepare-se passo a passo e divida-o durante sua preparação, e faça o mesmo quando estiver na entrevista real. O projeto de sistemas é complicado – você tem que lidar com a natureza não estruturada da entrevista, mas com prática extra, você estará preparado para lidar com qualquer coisa que jogarem contra você .

  • Entenda os objetivos da entrevista – Esclarecer ambigüidades logo no início é fundamental. Certifique-se de saber o que eles querem saber.
  • Estabeleça o escopo – tente definir todos os recursos do design que você pensa por sua importância para o usuário para o cenário fornecido.
  • Design para a escala certa – O mesmo conjunto de recursos requer uma abordagem muito diferente para escalas diferentes. É fundamental determinar a escala para que você saiba se seus dados podem caber em uma máquina ou se você precisa dimensionar as leituras.
  • Comece em alto nível e, em seguida, vá descendo – Comece cobrindo o processo de ponta a ponta, com base nas metas que você estabeleceu. Isso pode incluir o detalhamento de diferentes clientes, APIs, serviços de back-end, processos offline, arquitetura de rede, armazenamento de dados e como todos eles se reúnem para atender aos requisitos
  • Estruturas de dados e algoritmos – não se esqueça de levar em consideração seus requisitos de escala, onde a análise do tempo de execução e da complexidade da memória torna-se útil.

Pratique o máximo possível nas semanas que antecedem sua reunião na Amazon. Ser consistente com a preparação da entrevista e agendá-la em sua rotina semanal nas semanas que antecedem a entrevista será a maior ajuda para fazer certeza de que você está pronto. A prática da qualidade também é mais importante do que a quantidade. Certifique-se de não se distrair durante as sessões e de estar focado nos problemas em questão e trabalhando nas coisas que são desafiadoras para você. Se você praticar apenas o mais fácil, terá surpresas desagradáveis ​​e estresse durante a entrevista real.

Uma excelente maneira de melhorar suas habilidades para uma entrevista é com sessões de entrevista simulada. A experiência faz com que você se acostume com a sensação ao se reunir com o gerente de contratação. Confira Pramp , uma plataforma de entrevista simulada ponto a ponto, para começar.

O Pramp oferece prática de entrevista simulada de design de sistema para usuários para trabalhar com um colega. Juntos, vocês desempenharão o papel de entrevistador e entrevistado, para que possam aprender com seus pontos fortes e fracos também. É benéfico assistir outra pessoa completar sua entrevista de design de sistema e vê-la da perspectiva do entrevistador. Você também receberá feedback após a experiência, que pode ser usado para identificar em quais componentes você precisa trabalhar antes de se reunir com o gerente de contratação da Amazon.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *