"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Minha experiência de entrevista no Amazon SDE – 4 de maio

Minha experiência de entrevista no Amazon SDE – 4 de maio

Publicado em 2024-11-08
Navegar:459

Minha experiência de entrevista no Amazon SDE – maio de 2024

Em maio de 2024, tive a oportunidade de fazer uma entrevista para uma função de Engenheiro de Desenvolvimento de Software (SDE) na Amazon. Tudo começou quando um recrutador me procurou através do LinkedIn. Fiquei agradavelmente surpreso, pois é sempre emocionante.

Como tudo começou

O recrutador foi profissional e claro, me dando todos os detalhes necessários sobre o processo e a função. Após trocar algumas mensagens, recebi um link de teste para a primeira rodada da entrevista, que foi uma avaliação de codificação. A avaliação foi hospedada no HackerRank e incluiu duas questões de codificação.

Primeira Rodada – O Teste de Codificação

As perguntas eram diretas, mas um pouco demoradas. Aqui está um detalhamento:

1. Primeira pergunta: geração de código de barras
A tarefa era gerar um código de barras baseado em alguns parâmetros predefinidos. Embora a questão não fosse inerentemente complexa, exigia atenção aos detalhes para garantir que todas as condições fossem atendidas. Abordei esse problema metodicamente, dividindo-o em partes menores e implementando uma solução em JavaScript. O foco foi na eficiência e clareza, garantindo que o código de barras gerado atendesse ao formato e às restrições esperados.

2. Segunda pergunta: processamento de array com status de implantação

Esta foi mais uma tarefa de manipulação de dados. A entrada consistia em objetos, cada um com um ID de implantação e um status de implantação. Meu objetivo era retornar um array baseado nessas entradas. Embora o problema parecesse simples, ele veio com sua cota de casos extremos. Por exemplo, faltavam chaves em alguns objetos, o que não era aparente à primeira vista. No entanto, depois de enviar minha solução inicial, percebi que esses casos extremos precisavam ser considerados. Revisei rapidamente meu código para lidar com esses cenários, garantindo que as chaves ausentes não levariam a erros ou resultados incompletos.

My Amazon SDE Interview Experience – May 4
Resolvi ambas as questões usando JavaScript e estava confiante de que minhas soluções passaram em todos os casos de teste, incluindo os ocultos.

A Amazon tende a avançar os candidatos no processo se eles resolverem todas as questões de codificação com aprovação em todos os casos de teste.

Depois disso, recebi uma ligação do recrutador dizendo que estava avançando com o processo de entrevista e que seria uma entrevista presencial. Tive 5 dias para me preparar.

Tenho trabalhado remotamente há 3 anos e nunca estive no escritório, então fiquei mais assustado por causa do escritório do que pelas rodadas de entrevistas ??

Outras rodadas de entrevistas

Fui ao escritório da amazon, poucos candidatos já estavam lá. Todos nós fomos para entrevistas. Tive três rodadas técnicas de entrevistas naquele dia.

1. Rodada de solução de problemas

A primeira rodada foi uma entrevista focada na solução de problemas. Assim que entrei na sala, fui recebido por um entrevistador que me apoiou incrivelmente. Ele continuou sorrindo durante toda a sessão, o que ajudou a aliviar meu nervosismo.

Ele me entregou uma folha de papel e apresentou diversas questões relacionadas a falhas de sistema, rede e camadas de rede. A abordagem que ele usou foi particularmente interessante. Ele me pediu para pensar primeiro em soluções básicas – essencialmente me encorajando a resolver o problema do zero. Assim que respondi, ele mudou ligeiramente o cenário, adicionando mais complexidade a cada etapa.

Por exemplo, depois de discutir uma falha de rede, ele mudou a conversa para camadas mais profundas da rede e perguntou o que eu faria se as soluções padrão não funcionassem. Isso me levou a pensar de forma criativa e a considerar vários pontos de falha em um sistema, desde os problemas mais comuns até os mais complexos.

A entrevista me pediu para esperar do lado de fora, depois disso um recrutador veio e disse que eu iria para o segundo turno.

2. Rodada DSA

A próxima rodada foi um mergulho profundo nas estruturas e algoritmos de dados (DSA). Desta vez, meu entrevistador foi SDE sênior da Amazon. Ela me cumprimentou com uma folha de papel e apresentou uma questão bastante grande e complexa. Ao lê-lo, percebi rapidamente que o objetivo principal era encontrar o caminho mais curto em um gráfico. Esse tipo de problema é comum em entrevistas, mas pode ser complicado quando há casos extremos envolvidos, o que ela certamente incluiria.

Fiz algumas perguntas esclarecedoras para entender completamente o problema e seus diversos cenários. Assim que me senti confiante, comecei a trabalhar em uma solução: escrever pseudocódigo diretamente no papel. À medida que eu explicava minha abordagem e lógica, ela investigava continuamente mais profundamente, perguntando por que tomei certas decisões e como estava lidando com diferentes partes do gráfico. Acompanhei-a em meu processo de pensamento, discutindo as compensações e otimizações. Felizmente, consegui resolver a questão completa e corretamente.

Quando ela ficou satisfeita com minha solução gráfica, ela me perguntou sobre a complexidade do tempo e do espaço, que analisei e expliquei a ela. Com uma sensação de realização, achei que a rodada estava indo bem.

No entanto, ela logo passou para outra questão mais desafiadora - desta vez envolvendo programação dinâmica (DP). O problema envolvia uma matriz na qual diferentes culturas precisavam ser plantadas de uma forma que seguisse certas regras. Esta era uma questão mais complexa e dediquei um tempo para entendê-la completamente. Fiz várias perguntas para garantir que cobria todas as restrições e casos extremos.

Escrevi uma solução em pseudocódigo, mas ela não foi totalmente otimizada. Ela me deu alguns casos de teste e, embora meu código tenha sido executado com sucesso em cerca de 80% deles, ainda houve casos extremos que falharam. Eu estava ficando nervoso neste momento, e ela percebeu isso. Felizmente, ela deu uma dica útil e tentei otimizar ainda mais minha solução. Apesar de meus melhores esforços, não consegui encontrar a solução completamente, provavelmente devido ao meu nervosismo.

Esperei do lado de fora novamente, não estava muito feliz e confiante com esta rodada, mas o recrutador veio novamente e disse que minha próxima rodada é o design do sistema. Fiquei tão feliz!

3. Rodada de Design do Sistema

A rodada final do dia foi a entrevista do System Design, e esta foi de longe a sessão mais intensa e desgastante. O entrevistador fazia parte da equipe de arquitetura da Amazon e desde o início percebi que essa rodada seria desafiadora. Começamos com uma discussão sobre meu currículo, focando em meus projetos anteriores e nas decisões de design que tomei em trabalhos anteriores. Ele fez diversas perguntas sobre a arquitetura dos sistemas em que trabalhei, investigando os detalhes de minhas escolhas de design e as compensações que fiz.

Após essa discussão inicial, ele me pediu para projetar um sistema para uma plataforma de tecnologia educacional, com foco específico no recurso de streaming de vídeo. O objetivo era projetar um sistema onde os professores pudessem transmitir sessões de vídeo ao vivo e os alunos pudessem assistir a essas sessões online.

Começamos com a arquitetura de alto nível, discutindo os principais componentes, como servidores de vídeo, bancos de dados e APIs. Expliquei minha abordagem para lidar com o grande número de usuários e garantir uma experiência tranquila de streaming de vídeo. Ele continuamente perguntava sobre questões de escalabilidade, confiabilidade e latência, que são cruciais para uma plataforma com vídeo ao vivo.

Depois de abordarmos o design de alto nível, ele mudou a conversa para os detalhes de baixo nível. Foi aqui que a discussão se tornou mais técnica. Exploramos várias abordagens para otimizar o sistema, lidar com casos extremos e garantir uma experiência perfeita para os usuários, mesmo nos piores cenários. Tive que pensar rápido, oferecendo soluções e alternativas para diversos problemas, incluindo lidar com picos de tráfego de usuários e garantir tempo de inatividade mínimo.

O entrevistador continuou apresentando diferentes cenários – e se um servidor de vídeo cair? Como você lidaria com o congestionamento da rede? Como você garante baixa latência para alunos em diferentes regiões geográficas? Cada cenário exigia uma resposta detalhada e me vi totalmente imerso na discussão de possibilidades e padrões de design.

A entrevista inteira durou cerca de 1,5 horas e, no final, eu estava exausto. Foi mentalmente desgastante, mas também uma das entrevistas mais esclarecedoras que já tive. Exploramos vários desafios arquitetônicos e pareceu mais uma sessão colaborativa de resolução de problemas do que uma entrevista tradicional.

Então fui para o escritório da Amazon às 9h da manhã e saí às 17h da noite,

Tinha todas as minhas rodadas concluídas e o recrutador disse que está avançando com a rodada gerencial, que ainda não está agendado.

My Amazon SDE Interview Experience – May 4

De qualquer forma, esqueci de te dizer uma coisa, por favor, entenda todos os princípios da Amazon antes de ir para a entrevista, eles farão pelo menos 2 perguntas sobre isso a cada rodada. Então, por favor, prepare isso também

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/naweli_verma/my-amazon-sde-interview- Experience-may-2024-3nf6?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3