JavaRush /Blog Java /Random-FR /Forme physique du cerveau. Tâches actuelles pour améliore...

Forme physique du cerveau. Tâches actuelles pour améliorer les compétences en programmation

Publié dans le groupe Random-FR
Comme nous le savons, les programmeurs doivent régulièrement réfléchir, analyser et parfois trouver des solutions non évidentes à divers problèmes, petits et grands. Pour ce faire, les codeurs sont obligés d'utiliser activement leur cerveau, qui est déjà un jouet extrêmement « coûteux » - le cerveau humain, dont la masse ne dépasse pas 1,5 à 2 % du poids corporel, consomme environ 25 % de toute l'énergie. Et cela concerne la personne moyenne, et il est effrayant d'imaginer quel pourcentage d'énergie est « consommé » par le cerveau d'un programmeur travaillant activement sur un projet complexe (et les scientifiques, probablement britanniques, n'ont pas encore établi l'indicateur exact). Forme physique du cerveau.  Tâches actuelles pour améliorer les compétences en programmation - 1Quelle conclusion tirer de tout cela ? Pour devenir un bon programmeur, puis le rester, il faut muscler son cerveau, lui apprendre à réfléchir et à trouver des solutions sans stress excessif et de manière régulière. Banal, comme toutes les méthodes vraiment efficaces, mais efficace. Pour vous aider à garder la matière grise de votre crâne en bon état, nous avons préparé aujourd'hui une sélection de bonnes ressources avec des énigmes et des énigmes pour les programmeurs, et avons également traduit plusieurs problèmes intéressants de l'anglais.

Sites Web avec des tâches pour les programmeurs

Presque toutes les ressources de la collection sont en anglais, vous aurez donc l'occasion non seulement de vous entraîner à résoudre des problèmes et des énigmes de codage, mais également de vous entraîner davantage à utiliser l'anglais en programmation. Forme physique du cerveau.  Tâches actuelles pour améliorer les compétences en programmation - 2
  1. Coderoctet

    L'une des ressources en anglais les plus populaires avec des tâches pour les programmeurs. Vous y trouverez plus de 200 tâches de différents niveaux de complexité, qui peuvent être résolues directement sur le site en ligne à l'aide de l'un des 10 langages de programmation disponibles (dont Java).

  2. Praxis de programmation

    Programming Praxis est un blog populaire qui publie régulièrement diverses tâches intéressantes et, surtout, pertinentes pour les programmeurs. Commun à une gamme de langages de programmation. Les défis sont conçus pour aider les codeurs à se mettre au courant des dernières évolutions technologiques et des approches de programmation dans la pratique.

  3. TopCodeur

    TopCoder est une communauté active de programmeurs qui aiment développer et résoudre divers problèmes. De nouvelles tâches sont régulièrement publiées, dont la solution réussie vous permettra non seulement de pratiquer et d'augmenter vos ressources humaines, mais également de recevoir des prix en espèces.

  4. CodeKata

    CodeKata est un blog avec de nombreux problèmes assez originaux et pleins d'esprit pour les programmeurs, inventé par Dave Thomas, l'un des auteurs du célèbre livre Pragmatic Programmer (« Le programmeur pragmatique. Le chemin de l'apprenti au maître »). Les problèmes sur le site Web CodeKata sont divers et les solutions sont pertinentes pour le travail de programmation réel.

  5. Juge en ligne de l'Université de Pékin pour l'ACIP/ICPC

    Peking University JudgeOnline pour ACIP/ICPC est une page de l'Université de Pékin qui contient des tâches pour les programmeurs de divers concours et compétitions. Le site est régulièrement mis à jour, les problèmes peuvent être résolus en temps réel et les solutions sont évaluées par une commission d'experts de l'Université de Pékin.

  6. Projet Euler

    Encore un vieux site bien connu avec des tâches sérieuses et non triviales. « Le projet Euler est un ensemble de problèmes mathématiques et de programmation complexes qui nécessitent plus que de simples connaissances mathématiques pour être résolus. Les problèmes varient en complexité et l’approche est basée sur l’apprentissage en chaîne inductif. Autrement dit, après avoir résolu un problème, vous découvrirez un nouveau concept qui vous permettra de résoudre d'autres problèmes auparavant inaccessibles à la compréhension », expliquent les créateurs de la ressource.

  7. Le WTF quotidien

    Le Daily WTF est une autre communauté de programmation populaire qui fonctionne selon le principe Bring Your Own Code (BYOC), ce qui signifie que les développeurs partagent leur propre code source pour résoudre divers problèmes originaux. "Le but du BYOC est simple : vous offrir, en tant que développeur de logiciels, la possibilité d'améliorer vos compétences en programmation en résolvant un problème un peu plus intéressant que les choses habituelles et ennuyeuses", indique le site.

  8. Tproger

    Un excellent site en russe avec des tâches algorithmiques qui permettent de tester les compétences de spécialistes lors d'entretiens techniques dans des entreprises telles que Google, Facebook et autres. De nombreux problèmes sont présentés, y compris des problèmes originaux, de différents niveaux de difficulté.

  9. Concours de programmation d'Al Zimmermann

    Un site Web d'auteur bien connu où « des programmeurs fous rivalisent pour la gloire et des prix sympas ». Des concours ont lieu une à deux fois par an et les noms de programmeurs distingués sont publiés sur la page principale de la ressource, ce qui suscite certainement l'intérêt des employeurs prometteurs.

  10. Juge en ligne Timus

    L'une des plus grandes archives en langue russe de problèmes de programmation avec un système de vérification automatique. La principale source de tâches pour les archives sont les compétitions de l'Université fédérale de l'Oural, les championnats de l'Oural et d'autres événements de programmation régionale. Timus Online Judge vous permet également de participer aux versions en ligne de la plupart des compétitions qui se déroulent régulièrement à l'Université fédérale de l'Oural.

5 tâches intéressantes

Voici quelques énigmes intéressantes pour ceux qui ont hâte de commencer. Forme physique du cerveau.  Tâches actuelles pour améliorer les compétences en programmation - 3
  1. L'énigme du mixeur de Steve Jobs

    Défi : Vous êtes réduit à la taille d'une pièce de cinq cents et jeté dans un mixeur. Votre poids a diminué pour que votre densité corporelle reste la même. Les lames commenceront à tourner après 60 secondes. Vos actions?

    Il s’agit d’une tâche classique généralement associée à Steve Jobs, le fondateur d’Apple. Lorsque Jobs est revenu chez Apple en 1997, il a personnellement interviewé chaque employé de l'entreprise et a utilisé cette tâche comme l'un de ses premiers tests.

    Solution:

    У данной задачи больше одного решения, так 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. Деньги в карманах и религия.

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

    Problème : Un homme a de l'argent en poche dont le montant total est de 90 à 95 dollars. En chemin, il visite plusieurs temples. Dès qu’il entre dans un temple, son argent est doublé et il finit par donner 100 $ à chaque temple. En conséquence, sa poche se vide après avoir visité le dernier temple. Maintenant, la question est : de combien d’argent disposait-il au départ et combien de temples a-t-il visité ?

    Solution:

    On commence à compter à partir du dernier temple :

    Après avoir visité le dernier temple (1) il lui restait 0 argent, donc => ​​(0 + 100) / 2 = 50. Il lui restait 50 dollars avant de visiter le dernier temple

    Avant de visiter le temple précédent (2), il avait (50 + 100) / 2 = 75.
    Avant de visiter le temple précédent (3), il avait (75 + 100) / 2 = 87,5.
    Avant de visiter le temple précédent (4), il avait (87,5 + 100) / 2 = 93,75.
    Avant de visiter le temple précédent (5), il a (93,75 + 100) / 2 = 96,875 - le montant dépasse les conditions initiales.
    Réponse : La personne disposait initialement de 93,75 $ et a visité 4 temples.

  5. Un incident sur le terrain.

    Et enfin, un autre vieux problème de pensée logique classique, on pourrait même dire en accordéon.

    Problème : Un homme mort a été retrouvé dans un champ de blé. Il tenait fermement le match entre ses mains. Pourquoi la personne est-elle décédée ?

    Solution:

    L'homme volait dans un avion avec trois autres passagers. Le moteur a calé et l'avion a commencé à tomber. Les hommes ont découvert qu'il n'y avait que trois parachutes pour quatre d'entre eux et ont commencé à tirer des allumettes. L'un d'eux en a tiré un court et a été contraint de sauter sans parachute.

Épilogue

Eh bien, pour ceux qui trouvent ces problèmes trop simples ou trop généraux, nous avons des problèmes Java plus complexes , y compris des problèmes délicats qui sont souvent évoqués lors des entretiens avec les programmeurs Java. Si vous connaissez des énigmes intéressantes pour les programmeurs ou si vous souhaitez partager votre tâche préférée, écrivez dans les commentaires.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION