17 desafios de codificação para aprimorar seu pensamento crítico

Se você deseja melhorar suas habilidades em uma linguagem de programação existente ou nova, uma das melhores maneiras de fazer isso é por meio de desafios de codificação.

Muitas plataformas e sites se tornaram disponíveis ao longo dos anos, oferecendo desafios emocionantes para codificadores de todos os níveis. Seja um novo idioma que você está tentando aprender ou deseja testar sua inteligência em situações estressantes – os desafios de codificação podem ser divertidos e um teste ao mesmo tempo.

Os benefícios, além do óbvio, de trabalhar nesses desafios incluem melhores habilidades de resolução de problemas, compreensão profunda da linguagem e a alegria de aprender novos algoritmos. Como você sabe, algoritmos não são incomuns durante o processo de contratação – então ter alguns dentes no jogo pode lhe dar uma vantagem.

Este post abrange alguns dos melhores sites e plataformas de desafios de codificação que existem. Alguns são amigáveis ​​para iniciantes, enquanto outros atendem a um público mais experiente. Também estamos adicionando algumas coisas que você pode mostrar aos seus filhos desde codificação amigável para crianças também se tornou bastante popular.

Edabit

A maneira mais fácil de aprender coisas novas é ter uma interação consistente com o que você está tentando aprender. É o caso da programação também. Ler os melhores livros lhe dará conhecimento zero, a menos que você coloque a palavra escrita em prática.

Edabit é uma plataforma estabelecida que oferece desafios de codificação pequenos, que podem melhorar rapidamente suas habilidades de codificação.

HackerRank

HackerRank é uma startup focada em fornecer desafios de codificação para indivíduos e organizações. Dependendo do desafio, na maioria das vezes você recebe instruções para um projeto que precisa ser concluído, e como você o conclui depende de você.

Atualmente, os desenvolvedores podem usar Java, Python, JavaScript, PHP, C++ e SQL para resolver os desafios fornecidos.

Sempre que você enviar suas soluções, a plataforma automaticamente pontua seu envio com base em fatores como precisão. Depois, você é colocado na tabela de classificação global, enquanto cultiva conquistas (emblemas) ao longo do caminho. Há também ‘sprints’, que é outro termo para concursos hospedados na plataforma.

House of Codes escreveu uma peça emocionante retratando os 50 principais desafios encontrados no Hacker Rank. Se você tiver curiosidade, vale a pena ler, com uma tonelada de exemplos e material.

Coderbyte

Coderbyte é um aplicativo exclusivo baseado em práticas de programação modernas. Seu principal recurso são os desafios de codificação, que ajudaram milhões de pessoas em todo o mundo a se tornarem melhores desenvolvedores. Ao contrário de aplicativos semelhantes no mercado, Coderbyte dedica-se a ajudar as pessoas a resolver problemas no nível da indústria.

Uma das vantagens de usar esta plataforma é que ela está trabalhando em conjunto com algumas das principais marcas de software. Por exemplo, Google, LogMeIn, HBO, PWC e muitos outros. Se você deseja conseguir um emprego nessas empresas, tenha certeza de que a Coderbyte pode oferecer os desafios necessários para testar suas habilidades.

  Corrigir Samsung TV Plus não está funcionando

Depois de se registrar, você pode escolher entre desafios e algoritmos. Existem centenas de milhares de soluções enviadas por usuários, que podem ajudá-lo a obter uma compreensão muito mais ampla de tópicos de programação específicos.

As organizações podem se inscrever e gerenciar seu processo de triagem. Ao se tornar uma organização registrada, você obtém acesso a ferramentas adicionais que podem ajudar a selecionar cada desenvolvedor individualmente.

Guerras de código

A beleza da prática de codificação consistente é que você está sempre criando novas maneiras de resolver problemas. Guerras de código está aproveitando essa ideia. Com base em ‘katas’, a plataforma oferece exercícios e desafios em uma grande variedade de idiomas.

Ao completar os exercícios mencionados, você pode marcar pontos, mas também verificar como outros programadores resolveram um problema específico.

Se você pretende praticar um novo idioma, o Codewars é um site excepcional para adicionar aos seus favoritos.

Aqui estão alguns dos idiomas suportados:

  • Clojure
  • Ferrugem
  • Rápido
  • Pitão
  • Haskell
  • Casca
  • JavaScript
  • PHP
  • Kotlin
  • Escala

E muitas outras linguagens estão no programa BETA, disponíveis, mas com possíveis gargalos.

Fundamentalmente, a Edabit quer fornecer uma plataforma que possa preencher a lacuna entre codificadores iniciantes e avançados. Você pode conferir o Roteiro para ver a lista completa de recursos.

CodinGame

Jogos como plataformas de aprendizado não são uma coisa totalmente nova, mas parece haver muito mais jogadores em campo agora. CodinGame é apenas uma das muitas plataformas que oferece desafios de programação através de uma experiência gamificada. Em vez de escrever código à queima-roupa, você está construindo um ambiente de jogo. Todo o código que você escreve, de alguma forma, está afetando a maneira como o ‘jogo’ está indo.

Em retrospectiva, plataformas como CodinGame pode ajudar muito os desenvolvedores de tecnologia sobre causa e efeito. E como certas decisões levam a resultados específicos.

Este não é apenas um daqueles sites baratos onde você escreve código JavaScript desleixado. O CodinGame envolve alguns algoritmos de alto nível e possui inúmeros codificadores de classe mundial ajudando a fornecer soluções para desenvolvedores novos e experientes.

HackerEarth

HackerEarth é uma plataforma bem conhecida que executa hackathons, desafios de codificação e diferentes tipos de competições.

É também um lugar onde você pode adquirir alguns conhecimentos interessantes sobre o processo de contratação nas empresas modernas. Não todos, mas uma boa parte dos desafios encontrados no banco de dados do HackerEarth pode acabar sendo solicitado em qualquer uma de suas futuras entrevistas de emprego.

E como isso é possível? Bem, principalmente porque o verdadeiro objetivo do HackerEarth é fornecer soluções de recrutamento para empresas de tecnologia de alto nível. Se você quer ser considerado o melhor, você tem que sair com os melhores. É uma situação ganha-ganha para você.

Programador

Programmr é um laboratório digital dinâmico para todos os níveis de desenvolvedores. Com Programador, você pode escrever código, compilá-lo e executar projetos diretamente do seu navegador. A plataforma suporta todos os principais idiomas usados ​​atualmente. Seja um aplicativo móvel ou uma estrutura de banco de dados que você deseja executar – o Programmr tem a coragem de apoiá-lo.

No lado dos desafios, o Programmr tem um conjunto personalizado de desafios para Java, C++, PHP, C#, Ruby, Python e iOS. Cada conjunto inclui mais de 100 desafios, que podem ser classificados por popularidade (com base nos votos do usuário) e outros fatores.

  Como consertar o erro de velocidade do ventilador da CPU

O que diferencia esses caras dos outros é que você pode usar suas novas experiências para obter feedback instantâneo, seja um certificado para um idioma específico ou apenas feedback de usuários existentes.

O trem da codificação

Daniel Shiffman é um exército de uma pessoa, criado por si mesmo, criando e produzindo ótimos materiais sobre programação. O trem da codificação é a plataforma pessoal de Daniels no YouTube, onde ele compartilhou vídeos interessantes e úteis para resolver problemas relacionados à programação.

Mas, ele tem essa abordagem interessante. Em vez de hospedar tudo em seu site, ele está usando o YouTube como plataforma para o desafio e seu site como plataforma para a solução.

Mantenha em espécie que seus desafios são baseados em P5.js e Em processamento — duas soluções populares usadas em arte e design gráfico.

Desafios do Wolfram

A Wolfram é uma das empresas mais conhecidas do mundo operando sob o ramo de ciência da computação. Sua plataforma deixou muitos sem palavras por suas possibilidades.

Embora nosso foco não seja o Wolfram Alpha, uma nova fronteira introduzida no início de 2018 — Desafios do Wolfram.

Há muitos exemplos de Desafios que se pode imaginar que envolvem encontrar “a solução de menor custo” ou a “melhor adequação”. E é uma configuração semelhante com tarefas típicas de aprendizado de máquina: encontre uma função (digamos, baseada em uma rede neural) que tenha o melhor desempenho na classificação de um determinado conjunto de testes etc.

Em comparação com outros sites/plataformas neste resumo, a Wolfram cobre uma ampla área de desafios e não apenas codificação. Em suma, se você deseja aprimorar seu pensamento crítico – esta será a plataforma para fazê-lo!

Código Leet

Código Leet é um produto, ou seja, não é apenas um site que hospeda desafios aleatórios. Em vez disso, LeetCode é uma maneira de se preparar para possibilidades futuras.

A plataforma oferece aprendizado moderno, desafios complexos e um painel excelente para fazer tudo.

Há também artigos, fóruns de discussão e outros aspectos da comunidade para incentivar uma experiência perfeita. Muitos usuários do LeetCode se ‘graduaram’ para trabalhar em empresas como Uber, Amazon, Stripe e outras.

Forças de código

Forças de código é para todos os codificadores hardcore e dedicados por aí. Pense em engenheiros de software, pentesters, entusiastas de IA e viciados em aprendizado de máquina! Como uma plataforma para programadores avançados, o Codeforces é conhecido por seu notório ranking e espírito competitivo.

E começar é mais fácil do que você pensa.

Exercício

É ótimo ver as iniciativas por trás de muitas plataformas de desafios de codificação.

E Exercício não é exceção. Katrina Owen, a fundadora, diz que seu objetivo é “ajudar as pessoas a aprender programação suficiente [using Exercism] para que possam encontrar um emprego em desenvolvimento”.

No momento em que escrevo isso, existem mais de 2.600 exercícios em 48 idiomas – todos gratuitos! Você quis dizer aprenda Kotlinou talvez fique mais orientado no Vim? Agora é sua chance de aprender algumas novas habilidades através de desafios interessantes!

Codificador

Por mais surpreendente que possa ser para alguns de vocês, ainda há codificação acontecendo no desenvolvimento front-end também!

  O Slingbox funciona com a DirecTV?

Os desafios aqui são principalmente agrupados pelos usuários. Por exemplo, alguém pode publicar um ‘Material Design Card’ e desafiá-lo a melhorá-lo ou criar uma variação semelhante.

O resultado é a sua capacidade de obter algumas ideias criativas. E é bom ver como outros lidam com problemas semelhantes em tempo real também. Você sempre pode reutilizar o código enviado por outras pessoas em seus projetos.

Flexbox Froggy

Falando em front-end, como está o seu entendimento do Flexbox? É sempre bom ter um pouco de atualização de memória para manter-se afiado e no ponto!

Flexbox Froggy é um pequeno jogo agradável que leva você através de 28 etapas de diferentes usos e alinhamentos do Flexbox. Talvez seja menos um desafio do que um lembrete, mas você pode fazer todos os níveis sem procurar respostas?

Jardim da Grade é um jogo muito semelhante; a única diferença é que você está trabalhando com a função Grid e não com Flex.

PyBites

Python é amplamente aceito como a linguagem mais simples de aprender. E é frequentemente recomendado para novos programadores explorarem primeiro. Mas não deixe que isso o desencoraje a acreditar na capacidade do Python.

Atualmente, muito aprendizado de máquina e geração de conjuntos de dados é feito exclusivamente com Pitão — e isso não é pouca coisa!

PyBites deixa você atualizado com os últimos acontecimentos. Artigos, desafios de codificação e outros petiscos críticos para ajudá-lo a aprimorar sua inteligência. Cada desafio inclui um acompanhamento como uma revisão, onde você pode comparar seu código e explorar a maneira correta de resolver um problema.

CodeCombat

CodeCombat é mais um jogo de codificação que fornece um ambiente de codificação dinâmico e desafiador. A diferença entre um produto como o CodinGame é que o CodeCombat se concentra nos professores. Como resultado, você pode usar esta plataforma para ensinar programação e resolução de problemas em nível escolar.

Existem ferramentas, materiais e outros recursos adaptados especificamente para esse fim. E é muito divertido também. Os jogos CodeCombat que você cria são interessantes, mas também visualmente impressionantes. E os jogos já são tão populares entre as crianças. Dar às crianças o desafio de desenvolver seu ambiente virtual pode inspirá-las a construir algo incrível no futuro!

Tynker

Como mencionado brevemente na introdução, temos algo para todos os pais por aí. Tynker é uma pequena plataforma divertida que ajuda a ensinar codificação para crianças. É baseado em uma interface muito simples de arrastar e soltar, onde as crianças podem embaralhar entre as opções e resolver os problemas apresentados.

E não se engane, Tynker está adaptado aos padrões modernos mais do que você pensa. Se você tem filhos que estão chegando à adolescência, você pode deixá-los escrever soluções usando Python ou JavaScript em vez de usar apenas o Blocks.

Palavras de encerramento: Desafie-se!

No total, há provavelmente 10.000 desafios de código únicos em todos os sites e plataformas que listamos. É impossível passar por todos eles assim.

Em vez disso, minha recomendação é encontrar uma plataforma que você ache que melhor atenda às suas necessidades e se concentrar apenas nessa plataforma. Você pode construir amizades, aprender coisas novas e quem sabe – você pode aprender o suficiente para conseguir um novo emprego em uma empresa bem paga!

Você também pode considerar o DataCamp para aprender ciência de dados, que inclui desafios e projetos de codificação.

Em seguida, que tal descobrir como adicionar comentários em linguagens de programação populares?