JavaScript é bom para estruturas de dados e algoritmos?
Sim, principalmente se você está mirando vagas de frontend ou full-stack, onde ele é a linguagem em que você vai fazer a entrevista. Vale aprender cedo três peculiaridades: não existe heap nem fila embutidos, sort() compara como strings a menos que você passe um comparador, e todo número é um float de 64 bits, então inteiros acima de 2^53 precisam de BigInt.
O JavaScript tem heap ou fila de prioridade embutidos?
Não. Você tem Array, Map, Set e as variantes fracas deles, e só. Numa entrevista, ou você escreve um heap binário pequeno, de umas trinta linhas, ou diz que usaria um e explica os custos dele; de um jeito ou de outro, você precisa já ter escrito um. O passo dois desta trilha é onde você faz isso.
Por que [10, 9, 1].sort() retorna [1, 10, 9]?
Porque, sem um comparador, Array.prototype.sort converte os elementos em strings e os compara na ordem UTF-16, e '10' vem antes de '9'. Ordene números com nums.sort((a, b) => a - b). É o primeiro bug que a maioria das pessoas encontra quando começa a escrever código de ordenação em JavaScript.
Entrevistas de frontend cobram estruturas de dados e algoritmos?
Em muitas empresas maiores, sim: normalmente uma ou duas rodadas de arrays, mapas hash, árvores e percurso em grafos, em JavaScript, ao lado das rodadas de interface e de design de sistemas. Empresas menores se apoiam mais em tarefas práticas. De qualquer forma, o que separa uma resposta que funciona de uma resposta rápida é saber que uma busca em um Map é de tempo constante e que um laço aninhado sobre duas listas não é.
Quais cursos desta trilha não são ensinados em JavaScript?
Três: programação dinâmica e a série de entrevistas em Python são ensinadas em Python, e manipulação de bits em C++. Esses cursos aparecem listados depois dos passos, cada um com um link que o abre na própria linguagem. O JavaScript tem os mesmos operadores bit a bit, mais o >>>, mas os aplica a inteiros de 32 bits, algo que vale lembrar quando você portar um truque.
Preciso saber JavaScript antes de começar esta trilha?
Funções, arrays, objetos e classes, no mínimo. Se isso for novidade, o curso de JavaScript da Coddy cobre esses temas primeiro, de graça, e esta trilha continua de onde ele termina.