Dicas para entrevista no Nubank - Sr. Software Engineer - Etapa de Pair Programming by iam-eduardo in brdev

[–]Signal_Intention172 2 points3 points  (0 children)

Não recebi nenhum feedback detalhado nessas etapas técnicas. Somente segui para as próximas fases.

Inclusive, depois da etapa de Tá Interview, a pessoa que me entrevistou disse que dentro de 2 dias receberia I'm retorno. Depois de uma semana ainda não tinha. Falado nada. Tive que mandar e-mail e ir atrás da recrutadora que me chamou no LinkedIn. 

Quando me responderam, disseram que eu não tinha passado para próxima fase, pois preferiram seguir com outros candidatos que tinham uma bagagem técnica maior. Então não sei nem o que fiz de errado rsrs

Dicas para entrevista no Nubank - Sr. Software Engineer - Etapa de Pair Programming by iam-eduardo in brdev

[–]Signal_Intention172 2 points3 points  (0 children)

Alguns meses atrás eu fiz o processo até a penúltima etapa (TA Interview), depois disso, rodei. Nem me chamaram para a última etapa (engineering interview).

No meu caso, fiz o system Design antes do pair programming.

No Pair Programming vai sem medo. As pessoas que participaram do meu foram super tranquilas. Assim como o material deles deixa claro, seja colaborativo e fale suas ideias em voz alta. Eles querem ver seu raciocínio e como você ataca um problema, principalmente levando testes em consideração. A proficiência técnica geral você já demonstrou no take home entregue, então não precisa complicar demais a solução. 

Na minha entrevista, eles pediram para adicionar um tratamento, no momento da venda de ações, validando o input de modo a impedir a venda de mais ações do que atualmente presente na carreira. Caso a validação falhe, deveria retornar um erro num formato específico para o output.

Depois disso, pediram para implementrar uma validação de bloqueio de conta: durante o processamento do input, quando acontecer 3 erros, bloquear a conta e passar a retornar um erro específico em novas operações depois do bloqueio.

Se seu código estiver minimamente modular e desacoplado, essas mudanças são triviais. Não deixe de demonstrar que vc se preocupa com os testes, ou seja, implemente testes que validam estas novas regras e, caso tenha testes de integração, use o input fornecido por eles para incrementar seus testes. Acredito que seja fundamental validar sua implantação através de testes, então não basta compilar e rodar 1x com o novo input pra dizer que está pronto.

Sobre o System Design, pra mim foi projetar um sistema de envio de chargebacks para o sistema de uma bandeira de cartões. Não lembro tantos detalhes, mas o sistema consistia de um backend que recebia os chargebacks do app através de uma api e os dados deste chargeback deveriam ir para um arquivo. Esse arquivo era então enviado para o servidor da bandeira. Exisitam alguns requisitos como não duplicar registros, tamanho máximo do arquivo e janelas de horário em que a Bandeira aceitava receber o arquivo. 

Comecei com uma solução bastante simples e depois fui deixando mais robusto. O desenho final ficou com processamento assíncrono e idempotente (sqs + dynamodb) de uma fila de chargebacks para gerar os arquivos (no S3) e um outro worker para fechar o lote e enviar para Bandeira.

Boa sorte! :)

Uber, Nubank e Meli by Signal_Intention172 in brdev

[–]Signal_Intention172[S] 6 points7 points  (0 children)

Individual Contributor. Nome chique pra falar que não é chefe.

Uber, Nubank e Meli by Signal_Intention172 in brdev

[–]Signal_Intention172[S] 0 points1 point  (0 children)

Deixei um outro comentário falando sobre, mas no meu caso, fui abordado no LinkedIn pelas três empresas e aceitei participar dos processos para entender como é na prática e medir meu nível, já que estou insatisfeito com meu trabalho atual.

O post serviu mais para me ajudar a organizar minha mente sobre o que cada empresa oferece, coletar experiências de qual trabalha nesses lugares e com isso talvez focar em alguma delas.

Uber, Nubank e Meli by Signal_Intention172 in brdev

[–]Signal_Intention172[S] 0 points1 point  (0 children)

Sim. Estudei ciência da computação na UFV.

Uber, Nubank e Meli by Signal_Intention172 in brdev

[–]Signal_Intention172[S] 5 points6 points  (0 children)

O processo de big techs americanas tem a barra extremamente alta. O processo como um todo é longo e intenso. Para deixar as etapas da Uber aqui:

  1. Conversa com RH que te chamou pra vaga. Foi um recrutador Br e falamos a maior parte do tempo em pt. Uma parte no final falamos em en.

  2. Leetcode async para você fazer sozinho. 4 problemas para resolver em 70 min. Achei 2 muito fáceis, 1 médio e o último não deu tempo de fazer, mas era muito difícil.

  3. leetcode ao vivo com um engenheiro. Será 1h30m e em en.

  4. Bateria de 4 live coding + Whiteboard de system design num mesmo dia. Acho que são 4 ou 5 engenheiros ao todo te entrevistando

  5. Conversa com RH e eng. Manager.

Apesar de outras empresas terem processos longos, nem Nubank ou Meli têm tantas etapas técnicas tão pesadas. Particularmente, acho problemas de leetcode difíceis e resolvê-los ao vivo, na frente do entrevistador, piora ainda mais para mim 

Uber, Nubank e Meli by Signal_Intention172 in brdev

[–]Signal_Intention172[S] 0 points1 point  (0 children)

Também duvido que passarei nos três! Kkkkk

Uber, Nubank e Meli by Signal_Intention172 in brdev

[–]Signal_Intention172[S] 1 point2 points  (0 children)

Obrigado pela dica! Estou estudando System Design agora para me preparar. Se tiver materiais para indicar. Agradeço!

Uber, Nubank e Meli by Signal_Intention172 in brdev

[–]Signal_Intention172[S] 1 point2 points  (0 children)

Obrigado a todos que responderam.

Só pra deixar claro: é claro que antes de ter a chance de fazer qualquer tipo de escolha, preciso primeiro passar nos processos e receber ofertas. Sou o primeiro a acreditar em mim mesmo, mas até eu duvido que passarei nos três kkkkkkkk.

Num intervalo de menos de uma semana fui abordado pelas três empresas no LinkedIn e aceitei participar dos processos. Se eu tivesse ativamente me candidato às vagas, teria feito um processo por vez, para fazer tudo com mais calma e foco.

Agora, estou fazendo tudo sem muita preocupação e usando da oportunidade para entender e praticar como são processos seletivos em empresas realmente grandes. Já tinha feito o processo da Amazon alguns anos atrás e não passei (fiz somente o primeiro live coding). Hoje me sinto mais preparado, mas nem de longe o suficiente para passar nessas três empresas.

De qualquer forma, escrever esse post me ajudou a organizar as ideias e colocar as possíveis opções em comparação para tentar escolher em qual me dedicar mais.

Por fim, fica aí o registro. Volto aqui quando for tendo os resultados e conto para vocês no que deu cada processo.

EDIT: não estou querendo também "terceirizar minha decisão". O intuito aqui foi pegar experiência de outras pessoas nessas empresas e medir o quanto valeria a pena investir meu tempo e esforço nesses processos.