Resumo do Evento - Processo S… Resumo do Evento - Processo Seletivo Google Evento com foco no processo seletivo do Google, história da aquisição do Google BH, dicas para entrevistas, e prática de system design. Informações Gerais ● Funcionários no Google: 2 mil ● Funcionários no Google BH: 300 ● Áreas Principais: ○ Core ○ Q&I (Knowledge and Information) ○ Platform & Ecosystem Equipe Apresentada ● Camila Amélio (Tech Recruiter - TR) ● Bruno Possas (Vice Director - VD) ● Luciana Maroun (Gerente de Projetos) ● Georgia Safe (Gerente de Projetos) Dicas de Entrevistas Características Importantes ● Lógica de programação e resolução de problemas. ● Estruturas de dados e algoritmos. ● Otimização em larga escala. ● Conhecimento profundo da linguagem de programação. ● Design de soluções eficientes. ● Habilidades de comunicação. Passos para Resolver um Problema (Entrevista de Algoritmos) 1. Entender o Problema: ○ Escute atentamente. ○ Esclareça pontos de dúvida. 2. Definir Assinatura da Função: ○ Planeje a estrutura inicial do código. 3. Força Bruta: ○ Desenvolva a solução inicial e simples. 4. Otimização: ○ Refine a abordagem para melhorar a eficiência. 5. Implementação: ○ Escreva o código. 6. Testes: ○ Valide sua solução com casos simples e complexos. Nota do Bruno: Se não tiver tempo para otimizar o código durante a entrevista, avise ao entrevistador que sabe como melhorar o código, mas não há tempo no momento. Problema de Algoritmos resolvido no evento: ● Maximum Product of Two Elements in an Array Dicas para Entrevistas de System Design Framework Geral 1. Esclarecer os Requisitos: ○ Defina escopo, métricas e quantidade de usuários. ○ Documente informações importantes durante a conversa. 2. Imagem de Alto Nível: ○ Crie um design inicial com 3-4 blocos para ilustrar as ideias principais. ○ Explique como esses componentes resolvem o problema. 3. Detalhamento: ○ Mostre o que você vai usar (ferramentas, serviços) e justifique suas escolhas. ○ Pense em falhas potenciais e como mitigá-las. Dicas: ● Foque em decisões e trade-offs. ● Explique o porquê das suas escolhas. ● Pergunte ao entrevistador se está indo na direção certa. Prática de System Design ● Casos de Uso: ○ Buscar uma música. ○ Tocar uma música. ○ Criar playlists. ○ Fazer upload de músicas. ○ Recomendações de músicas. ○ Gerenciamento de usuários. ● Cenário Inicial: ○ Usuários: 500 mil. ○ Músicas: 30 milhões. ○ Tamanho Médio de Música: 3 MB. ○ Armazenamento Total: ~90 TB. Componentes do Sistema: ● Load Balancer. ● Web Server. ● Banco de Dados: ○ Blob DB para armazenamento de músicas. ○ SQL DB para metadados. Riscos e Falhas Potenciais: ● Falha de rede ou banco de dados. ○ Solução: Replicação de dados. ● Sobrecarga em lançamentos. ○ Solução: Uso de cache/CDN. Estrutura da Entrevista (60 Minutos) 1. Casos de Uso e Dimensionamento. 2. Design de Componentes de Alto Nível. 3. Definição de APIs e Esquemas de Dados. 4. Detalhamento de Componentes Específicos (BD, APIs, etc.). 5. Conversa sobre Confiabilidade, Falhas e Desempenho. 6. Ajustes Finais no Design Baseado no Feedback do Entrevistador. Ferramenta usada: Google Drawing.