Na longa jornada de aprendizado de algoritmos, muitas pessoas avançam tateando, mas muitas vezes se perdem. Recentemente, quando analisei meu processo de aprendizagem, percebi profundamente que muitos de meus amigos tinham grandes problemas na maneira como aprendiam algoritmos e estruturas de dados. Com anos de experiência acumulada em aprendizado de algoritmos, espero que meus insights possam esclarecer a névoa para todos e iluminar o caminho a seguir. A seguir, demonstrarei primeiro os erros, depois explicarei o método de aprendizagem correto e discutirei brevemente os pontos-chave da entrevista e revisarei os cenários das perguntas.
O método de ensino de muitos livros didáticos de algoritmos é como aprender chinês com um dicionário chinês moderno. Veja o capítulo da lista vinculada como exemplo. Desde o início, definimos diretamente a lista vinculada, desenhamos um diagrama para explicar e, em seguida, listamos as operações comuns, como pesquisar e inserir nós. Os alunos parecem entender, mas na verdade não conseguem lembrar. Eles ainda estão cheios de dúvidas: Qual a utilidade das listas vinculadas? Por que estudar? Onde você usou o que aprendeu? Essas perguntas podem permanecer sem resposta até que você leia o livro inteiro. A maioria dos cursos transmite conhecimento dessa forma. Para ajudar todos a entender o problema com mais clareza, verifiquei especialmente dois cursos de estrutura de dados abertos das principais universidades estrangeiras: o 6.006 do MIT e o CS106B de Stanford (ambos os cursos podem ser visualizados online gratuitamente).
Mesmo se você estudar da maneira certa, conforme mencionado acima, ainda precisará de habilidades para ser aprovado em exames e entrevistas. Durante o processo de entrevista, não basta saber o que é uma lista vinculada. O que o entrevistador valoriza é a sua capacidade de usar listas vinculadas para resolver problemas difíceis em projetos reais. Por exemplo, em meu currículo mencionei a criação de um jogo com vários marcadores baseado na web. No entanto, o jogo fica lento devido ao excesso de balas. Neste momento, milhares de marcadores foram inicializados antecipadamente usando uma lista vinculada e um conjunto de objetos de marcadores foi construído, resolvendo efetivamente o problema de atraso. Durante a entrevista, combinada com a própria exibição da competição, deixará uma impressão profunda no entrevistador. Outro exemplo é o uso de listas vinculadas para realizar a alocação de memória do sistema operacional, o uso de listas vinculadas para conectar memórias e o corte e inserção de nós de acordo com o uso. Esta aplicação é mais convincente em uma entrevista do que simplesmente descrever o conceito de lista vinculada. Se quiser aprender mais sobre as aplicações práticas das estruturas de dados, você também pode recorrer às ferramentas de IA.
Ao estudar questões, muitos livros didáticos geralmente fornecem respostas logo após as perguntas serem feitas. Contudo, o que realmente precisa ser aprendido não são as perguntas e respostas em si, mas o tortuoso processo de pensamento desde as perguntas até as respostas. Existe um livro chamado "Como resolver problemas". Embora se concentre principalmente na matemática, não ensina problemas específicos, mas ensina ideias para a resolução de problemas, o que merece a referência de todos. O mesmo acontece ao entrevistar questões de algoritmo. Se você escrever suas respostas diretamente no quadro branco após três minutos de silêncio, só deixará uma impressão geral no entrevistador, pois ele não conseguirá compreender seu pensamento e capacidade de comunicação, podendo até suspeitar que você memorizou as perguntas . Durante a entrevista, comunique-se plenamente com o entrevistador e mostre seu processo de pensamento. Mesmo que você encontre uma pergunta que não entende, você poderá obter dicas por meio de uma boa comunicação e, finalmente, completar a resposta à pergunta.
Olhando para trás em minha carreira de estudo, descobri que mais da metade dos cursos e livros didáticos usavam estudos para incutir conhecimento. Espero que, ao estudar este artigo, você possa evitar mal-entendidos sobre o aprendizado de algoritmos e encontrar um caminho de aprendizagem adequado para você. Se você achou este artigo útil, lembre-se de clicar três vezes. Você também pode compartilhar suas experiências de aprendizagem e perguntas na área de comentários, para que possamos progredir juntos no caminho do aprendizado de algoritmos.
Compartilhar no Twitter Compartilhar no Facebook
Comentários
Atualmente não há comentários