Uploaded by Andre Bueno

Resumo do Evento: Processo Seletivo Google

advertisement
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.
Download