Executando verificação de segurança...
1

Esse teste em especifico serve para verificar como você lida com recursividade e o quanto você consegue fazer um código eficiente, pois em uma implementação normal desse algoritmo ele teria uma complexidade de O(2^n), que seria o que a maioria dos devs implementaria, porém, você pode utilizar o conceito de DynamicProgramming para implementar esse algoritmo, e por consequência, a complexidade dele diminuiria para O(n). Esse é um conceito bem importante pois demonstra que você é capaz de quebrar um problema grande em problemas menores e resolvê-lo com eficiência.

Uma boa ideia é treinar no HackerRank, por exemplo, pois lá tem vários desafios que podem ser resolvidos dessa forma, e normalmente as grandes empresas de TI usam o mesmo tipo de algoritmo que tem lá no HackerRank (as vezes o próprio hackerrank, inclusive) para avaliar os candidatos.

P.S.: Uma vez eu reprovei num teste da Amazon justamente por causa disso :(

Carregando publicação patrocinada...
1
1

Estrutura de dados e Design Patterns são coisas que grandes empresas tendem a validar nas entrevistas.

Sobre Design Patterns, esse site tem basicamente tudo que você precisa para estudar:https://refactoring.guru/design-patterns

Sobre Estrutura de Dados, o próprio HackerRank tem uma triha para treinar esse tópico.

1

Show! Obrigado mano! Os design patterns já estavam no plano de estudos mas com certeza vou encaixar o HackerRank. Obrigado novamente hehe.