Olá! Que bom ter você por aqui.
Queremos entender como você pensa para resolver problemas, como organiza seu código, como toma decisões técnicas e como usa as ferramentas que tem à disposição, inclusive IA.
Não buscamos a solução perfeita. Buscamos uma solução que você entende, sabe justificar e saberia evoluir.
Escolha a trilha correspondente à vaga e siga as instruções do respectivo README:
O uso de IA não só está autorizado como é encorajado e faz parte da avaliação. Ferramentas gratuitas são suficientes (ChatGPT, Claude, Gemini e Copilot têm planos gratuitos).
Avaliamos o seu senso crítico e o seu entendimento do resultado, não o plano que você assina. Você é responsável por cada linha entregue, tenha sido escrita por você ou por uma IA.
- Crie um repositório privado novo com o conteúdo deste repositório. Não use fork: forks de repositório público são sempre públicos.
- Faça commits incrementais ao longo do desenvolvimento. O histórico nos ajuda a entender a evolução do seu raciocínio.
-
Código funcional, com instruções de execução no
README.mddo seu repositório (um comando ou poucos passos). Prezamos muito por documentação: faça do README o seu cartão de visita. -
DECISIONS.mdcom:- decisões técnicas relevantes, alternativas consideradas e por que foram descartadas;
- requisitos que ficaram ambíguos, a interpretação que você escolheu e por quê;
- tempo aproximado gasto e o que faria diferente com mais tempo.
-
AI_USAGE.mdcom:- quais ferramentas de IA usou e em quais etapas;
- exemplos de prompts ou fluxos que funcionaram;
- o que a IA gerou que você rejeitou ou corrigiu, e por quê;
- como você validou o que foi gerado.
Não é pegadinha: usar IA bem conta a favor. Não precisa enviar o histórico completo das conversas.
-
Testes dos fluxos que você considera críticos. Cobertura total não é exigida; a escolha do que testar também é avaliada.
Sua entrega será avaliada por no mínimo 2 engenheiros do Grupo OLX, em duas etapas: a leitura do repositório e a apresentação.
| Critério | O que observamos | Onde observamos |
|---|---|---|
| Manutenibilidade | O código é legível e fácil de alterar? A solução é proporcional ao problema, sem código ou abstrações sobrando? | Código |
| Desenho | Como as responsabilidades foram separadas? As fronteiras entre as partes estão claras? | Código |
| Qualidade | Os testes cobrem o que realmente importa e validam comportamento? Seria fácil adaptá-los se o comportamento mudasse? | Testes |
| Documentação | Quanto do seu projeto alguém consegue entender sem precisar te perguntar nada? | README.md, código |
| Desempenho | A performance é adequada ao problema? Você entende os gargalos e como evoluiria a solução? | Código, apresentação |
| Decisões e trade-offs | Por que você escolheu assim? Que alternativas considerou e descartou? Ambiguidades foram tratadas de forma explícita? | DECISIONS.md, apresentação |
| Uso crítico de IA | Como você conduziu, validou e corrigiu o que a IA produziu? | AI_USAGE.md, apresentação |
| Domínio da solução | Você explica qualquer parte do código e consegue alterá-lo? | Apresentação |
O que não avaliamos: quantidade de código, número de funcionalidades extras ou quais ferramentas pagas você usou.
Preferimos um escopo menor e bem compreendido a um escopo grande que você não domina. Resolva bem o essencial.
- Prazo: 7 dias corridos a partir do recebimento. Se precisar de mais tempo, avise o recrutador antes do fim do prazo.
- Esforço esperado: 4 a 6 horas de trabalho no total, não por dia. O prazo é longo de propósito, para caber na sua rotina.
- Ao finalizar, adicione como colaboradores os avaliadores indicados no e-mail do recrutador.
- Avise o recrutador por e-mail quando terminar.
- Vale o conteúdo do repositório no momento do envio do e-mail: commits posteriores não serão considerados.
Depois da entrega, agendamos uma conversa com os avaliadores, numa janela de até 1h30 que pode terminar antes sem nenhum prejuízo:
- você apresenta a solução e as principais decisões;
- conversamos sobre trade-offs, alternativas e o uso de IA;
- podemos pedir uma pequena alteração ou evolução do código ao vivo.
Qualquer dúvida sobre o enunciado, fale com o time de Atração.
Bom código! ;)