JavaRush /Blogue Java /Random-PT /Aptidão cerebral. Tarefas atuais para atualizar habilidad...

Aptidão cerebral. Tarefas atuais para atualizar habilidades de programação

Publicado no grupo Random-PT
Como sabemos, os programadores têm regularmente que pensar, analisar e, por vezes, encontrar soluções não óbvias para vários problemas, grandes e pequenos. Para fazer isso, os programadores são forçados a usar ativamente seu cérebro, que já é um brinquedo extremamente “caro” - o cérebro humano, tendo uma massa não superior a 1,5-2% do peso corporal, consome cerca de 25% de toda a energia. E isso é para a pessoa média, e é assustador imaginar qual porcentagem de energia é “consumida” pelo cérebro de um programador que trabalha ativamente em um projeto complexo (e os cientistas, provavelmente britânicos, ainda não estabeleceram o indicador exato). Aptidão cerebral.  Tarefas atuais para atualizar habilidades de programação - 1Que conclusão se pode tirar de tudo isso? Para se tornar um bom programador, e continuar sendo, você precisa estimular seu cérebro, ensinando-o a pensar e encontrar soluções sem estresse excessivo e de forma regular. Banal, como todos os métodos realmente eficazes, mas eficaz. Para ajudá-lo a manter em boa forma a massa cinzenta do crânio, hoje preparamos uma seleção de bons recursos com quebra-cabeças e quebra-cabeças para programadores, e também traduzimos vários problemas interessantes do inglês.

Sites com tarefas para programadores

Quase todos os recursos da coleção estão em inglês, então você terá a oportunidade não apenas de praticar a resolução de problemas e quebra-cabeças de codificação, mas também de obter prática adicional no uso do inglês na programação. Aptidão cerebral.  Tarefas atuais para atualizar habilidades de programação - 2
  1. Códigobyte

    Um dos recursos mais populares em inglês com tarefas para programadores. Nele você encontra mais de 200 tarefas de diversos níveis de complexidade, que podem ser resolvidas diretamente no site online usando uma das 10 linguagens de programação disponíveis (incluindo Java).

  2. Práxis de Programação

    Programming Praxis é um blog popular que publica regularmente várias tarefas interessantes e, o mais importante, relevantes para programadores. Comum para uma variedade de linguagens de programação. Os desafios são projetados para ajudar os programadores a se atualizarem com as últimas mudanças na tecnologia e nas abordagens de programação na prática.

  3. TopCoder

    TopCoder é uma comunidade ativa de programadores que adoram desenvolver e resolver diversos problemas. Novas tarefas são publicadas regularmente, cuja solução bem-sucedida não só proporcionará uma oportunidade de praticar e aumentar o seu RH, mas também de receber prêmios em dinheiro.

  4. Código Kata

    CodeKata é um blog com muitos problemas originais e espirituosos para programadores, inventado por Dave Thomas, um dos autores do famoso livro Pragmatic Programmer (“The Pragmatic Programmer. The Path from Apprentice to Master”). Os problemas no site CodeKata são diversos e as soluções são relevantes para o trabalho real de programação.

  5. Juiz da Universidade de PequimOnline para ACIP/ICPC

    Juiz Online da Universidade de Pequim para ACIP/ICPC é uma página da Universidade de Pequim que contém tarefas para programadores de diversas competições e competições. O site é atualizado regularmente, os problemas podem ser resolvidos em tempo real e as soluções são avaliadas por uma comissão de especialistas da Universidade de Pequim.

  6. Projeto Euler

    Outro site antigo e conhecido com tarefas sérias e não triviais. “O Projeto Euler é uma coleção de problemas matemáticos e de programação complexos que exigem mais do que apenas conhecimento de matemática para serem resolvidos. Os problemas variam em complexidade e a abordagem é baseada na aprendizagem em cadeia indutiva. Ou seja, tendo resolvido um problema, você descobrirá um novo conceito que lhe permitirá resolver outros problemas que antes eram inacessíveis à compreensão”, afirmam os criadores do recurso.

  7. O WTF Diário

    O Daily WTF é outra comunidade de programação popular que opera com base no princípio Traga seu próprio código (BYOC), o que significa que os desenvolvedores compartilham seu próprio código-fonte para resolver vários problemas originais. “O objetivo do BYOC é simples: fornecer a você, como desenvolvedor de software, a oportunidade de melhorar suas habilidades de programação resolvendo um problema que é um pouco mais interessante do que as coisas chatas e comuns”, diz o site.

  8. Tproger

    Um excelente site em russo com tarefas algorítmicas que são utilizadas para testar as habilidades de especialistas durante entrevistas técnicas em empresas como Google, Facebook e outras. São muitos os problemas apresentados, inclusive originais, de diversos níveis de dificuldade.

  9. Concursos de programação de Al Zimmermann

    Site de um autor conhecido onde “programadores malucos competem por fama e prêmios incríveis”. As competições são realizadas uma ou duas vezes por ano, e os nomes dos programadores ilustres são publicados na página principal do recurso, o que certamente atrai o interesse de empregadores promissores.

  10. Juiz Online Timus

    Um dos maiores arquivos de problemas de programação em russo com sistema de verificação automática. A principal fonte de tarefas do arquivo são as competições da Universidade Federal dos Urais, os Campeonatos dos Urais e outros eventos de programação regional. O Timus Online Judge também permite que você participe de versões online da maioria das competições que acontecem regularmente na Universidade Federal dos Urais.

5 tarefas interessantes

Aqui estão alguns quebra-cabeças interessantes para quem mal pode esperar para começar. Aptidão cerebral.  Tarefas atuais para atualizar habilidades de programação - 3
  1. Enigma do liquidificador de Steve Jobs

    Desafio: Você é reduzido ao tamanho de uma moeda de cinco centavos e jogado no liquidificador. Seu peso diminuiu para que a densidade do seu corpo permaneça a mesma. As lâminas começarão a girar após 60 segundos. Suas ações?

    Esta é uma tarefa clássica geralmente associada a Steve Jobs, o fundador da Apple. Quando Jobs retornou à Apple em 1997, entrevistou pessoalmente todos os funcionários da empresa e usou essa tarefa como um de seus primeiros testes.

    Solução:

    У данной задачи больше одного решения, так How она служит для того, чтобы оценить креативность сотрудника, умение быстро находить выход из стрессовой ситуации и неординарно мыслить. Вот наиболее классический вариант решения: лечь How можно плотнее к днищу блендера, чтобы его лезвия крутorсь над вами.

  2. Сколько людей было на конференции?

    Задача: На конференции каждый гость пожал руку всем остальным. Было 66 рукопожатий. Сколько человек было на научной конференции?

    Другая классическая программистская задача из тех, которые часто дают на первых этапах технических собеседований.

    Классическое решение:

    Допустим, на конференции было n человек. Первый человек пожимает руку всем остальным: n-1 раз (n-1 человек). Второй человек пожимает руку всем остальным (но не первому, так How это уже было сделано): n-2 раза. 3-й человек пожимает руку всем остальным: n-3.

    Таким образом, общее количество рукопожатий будет = (n-1) + (n-2) + (n-3) + …… 0;
    = (n-1) * (n-1 + 1) / 2 = (n-1) * n / 2 = 66
    = n ^ 2 -n = 132
    = (n-12) (n + 11) = 0;
    = n = 12 ИЛИ n = -11

    Вариант -11 исключен, поэтому ответ: 12 человек.

  3. Бар и 25 стульев.

    Еще одна классическая и весьма остроумная задачка, на этот раз посложнее.

    Задача: Есть бар с 25-ю стульями, которые расположены в линию. Посетители этого бара — антисоциальные личности, поэтому, когда они заходят в бар, то всегда стараются найти место How можно дальше от остальных. Если постоянный посетитель заходит в бар и обнаруживает, что свободного места без соседства с кем-либо нет, он разворачивается и уходит. Владелец бара, естественно, хочет видеть можно больше посетителей. Владелец может указать место, на которое нужно сесть, только первому клиенту, тогда How все остальные сами выберут себе самое дальнее место от других. Предположим, что места пронумерованы от 1 до 25. Какое место должно быть занято первым?

    Решение:

    Первый человек должен сесть на стул 9 or 17 (из-за симметрии, не имеет значения, Howое именно из двух мест). Предположим, он выбирает место 9. Следующий человек выберет место 25, так How оно самое дальнее от места 9. Следующие два человека займут места 1 и 17. Следующие три займут 5, 13 и 21. Следующие шесть будут занимать стулья 3, 7, 11, 15, 19 и 23. Таким образом, в баре разместится максимум 13 человек, и никто не будет сидеть рядом с другим человеком. Если место, отличное от 9 or 17, будет выбрано первым, общее количество посетителей бара будет меньше 13.

  4. Деньги в карманах и религия.

    Интересно составленная задача на нахождение алгоритма.

    Problema: Um homem tem dinheiro no bolso, cujo valor total varia de 90 a 95 dólares. Ao longo do caminho ele visita vários templos. Assim que ele entra em um templo, seu dinheiro dobra e ele acaba doando US$ 100 para cada templo. Como resultado, seu bolso fica vazio após visitar o último templo. Agora a questão é: quanto dinheiro ele tinha inicialmente e quantos templos visitou?

    Solução:

    Começamos a contar a partir do último templo:

    Depois de visitar o último templo (1) ele tinha 0 dinheiro sobrando, então => ​​(0 + 100) / 2 = 50. Ele tinha 50 dólares antes de visitar o último templo

    Antes de visitar o templo anterior (2), ele tinha (50 + 100) / 2 = 75.
    Antes de visitar o templo anterior (3), ele tinha (75 + 100) / 2 = 87,5.
    Antes de visitar o templo anterior (4), ele tinha (87,5 + 100) / 2 = 93,75.
    Antes de visitar o templo anterior (5), ele tem (93,75 + 100) / 2 = 96,875 - o valor supera as condições iniciais.
    Resposta: A pessoa originalmente tinha US$ 93,75 e visitou 4 templos.

  5. Um incidente no campo.

    E, finalmente, outro velho clássico, pode-se até dizer um problema de pensamento lógico semelhante a um acordeão.

    Problema: Um homem morto foi encontrado num campo de trigo. Ele segurou o fósforo com força nas mãos. Por que a pessoa morreu?

    Solução:

    O homem estava voando em um avião com três passageiros. O motor morreu e o avião começou a cair. Os homens descobriram que havia apenas três pára-quedas para quatro deles e começaram a puxar fósforos. Um deles puxou um baixinho e foi forçado a pular sem pára-quedas.

Epílogo

Bem, para aqueles que acham esses problemas muito simples ou muito gerais, temos problemas Java mais complexos , incluindo problemas complicados que são frequentemente apresentados durante entrevistas para programadores Java. Se você conhece quebra-cabeças interessantes para programadores ou deseja compartilhar sua tarefa favorita, escreva nos comentários.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION