Preparando-se para os desafios do código [fechado]


15

Apenas alguns dias atrás eu descobri o Codility e tentei os desafios deles. E devo dizer. Peguei meu traseiro em uma bandeja. Não sei ao certo qual era o problema, mas vou lamber minhas feridas e esperar a solução sair e compará-la com a minha. Enquanto isso, quero me preparar para o próximo desafio, então estou lendo as postagens anteriores do blog e vendo como resolver os problemas anteriores. Há muitas coisas novas sobre as quais não ouvi falar (árvores cartesianas, vários algoritmos de classificação etc.)

Então, como se preparar para esses desafios (especialmente a complexidade do tempo e do espaço em O (x)). O que devo ler para me preparar para essa tarefa?


Venho estudando Haskell recentemente, em parte, para forçar meu cérebro para contorcer (ele vai forçar isso) especificamente para ajudar a tornar mais ágil em pensar-se soluções. Dito isso, também estou lendo o Manual de Design de Algoritmos (existe um pdf online grátis) e uma cópia de Algoritmos Fundamentais da Arte da Programação por Computador Vol 1 de Knuth (que também é uma fonte séria de dor no cérebro) com o mesmo objetivo .
Jimmy Hoffa

Respostas:


3

como alguém se prepara para tais desafios (especialmente a complexidade do tempo e do espaço em O (x)). O que devo ler para me preparar para essa tarefa?

Ao se preparar, é claro! É uma questão de prática e se atualizar sobre as áreas que você sentiu pouco. Graças a Deus, recursos muito bons para cobrir quando as falhas de informação estão na internet e o Google é seu amigo.

Em relação às referências, aconselho vários sites que possuem perguntas de desafio para programadores. A partir desses tipos de perguntas, você pode determinar suas deficiências e estudá-las.

Recursos para procurar:


7

A única coisa que você pode fazer para se preparar para esse tipo de teste é a prática. Pratique muito . Existem muitos bons recursos para a ajuda de codificadores, como codificador topográfico, codegolf, geeks para geeks, Práticos de programação, CodeKata, Project Euler etc.

Se você estiver tendo problemas com as estruturas de dados, seria melhor você aprimorar seus conceitos de algoritmo e estrutura de dados. O melhor lugar para isso é a Wikipedia, mas você também pode procurar por cursos de dados sobre nptel, coursera, etc ...


Eu estava procurando mais recursos como livros, mas alguns de seus links foram novos e informativos.
quer

1
@DanielFath: Ler sobre isso ajuda, mas a solução de problemas é uma arte que deve ser praticada se você quiser se tornar bom nisso. No mundo da escrita de software, há um número surpreendentemente grande de problemas que você verá repetidamente. A experiência de resolvê-los antes oferece a capacidade de detectar novas variações e aplicar rapidamente uma boa solução.
Blrfl

Concordo muito com a prática, estou apenas expressando desejo por recursos mais concretos , a fim de considerar a questão resolvida. Votei nas respostas (diabos, votei em todas elas).
Daniel Fath

4

As postagens semi-oficiais do blog sobre recrutamento do Google recomendam este livro: The Algorithm Design Manual .

É muito abrangente e bem escrito, com uma parte de 'referência rápida' que pode ajudar muito em sua situação, quando você estiver familiarizado o suficiente com algoritmos e estruturas de dados comuns.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.