JavaRush /Java-Blog /Random-DE /Gehirnfitness. Aktuelle Aufgaben zur Verbesserung der Pro...

Gehirnfitness. Aktuelle Aufgaben zur Verbesserung der Programmierkenntnisse

Veröffentlicht in der Gruppe Random-DE
Wie wir wissen, müssen Programmierer regelmäßig nachdenken, analysieren und manchmal nicht offensichtliche Lösungen für verschiedene große und kleine Probleme finden. Um dies zu erreichen, sind Programmierer gezwungen, ihr Gehirn aktiv zu nutzen, das ohnehin ein äußerst „teures“ Spielzeug ist – das menschliche Gehirn verbraucht mit einer Masse von nicht mehr als 1,5 bis 2 % des Körpergewichts etwa 25 % der gesamten Energie. Und das gilt für den Durchschnittsmenschen, und es ist beängstigend, sich vorzustellen, wie viel Prozent der Energie das Gehirn eines Programmierers, der aktiv an einem komplexen Projekt arbeitet, „verbraucht“ (und Wissenschaftler, höchstwahrscheinlich Briten, müssen den genauen Indikator noch ermitteln). Gehirnfitness.  Aktuelle Aufgaben zur Verbesserung der Programmierkenntnisse - 1Welche Schlussfolgerung lässt sich daraus ziehen? Um ein guter Programmierer zu werden und es auch zu bleiben, müssen Sie Ihr Gehirn trainieren und ihm beibringen, ohne übermäßigen Stress und regelmäßig zu denken und Lösungen zu finden. Banal, wie alle wirklich effektiven Methoden, aber effektiv. Um Ihnen zu helfen, die graue Substanz in Ihrem Schädel in gutem Zustand zu halten, haben wir heute eine Auswahl guter Ressourcen mit Rätseln und Rätseln für Programmierer vorbereitet und außerdem einige interessante Rätsel aus dem Englischen übersetzt.

Websites mit Aufgaben für Programmierer

Fast alle Ressourcen in der Sammlung sind auf Englisch, sodass Sie nicht nur die Möglichkeit haben, das Lösen von Codierungsproblemen und Rätseln zu üben, sondern auch zusätzliche Übungen im Umgang mit Englisch beim Programmieren zu sammeln. Gehirnfitness.  Aktuelle Aufgaben zur Verbesserung der Programmierkenntnisse - 2
  1. Coderbyte

    Eine der beliebtesten englischsprachigen Ressourcen mit Aufgaben für Programmierer. Darauf finden Sie mehr als 200 Aufgaben unterschiedlicher Komplexität, die direkt auf der Seite online mit einer der 10 verfügbaren Programmiersprachen (einschließlich Java) gelöst werden können.

  2. Programmierpraxis

    Programming Praxis ist ein beliebter Blog, der regelmäßig verschiedene interessante und vor allem relevante Aufgaben für Programmierer veröffentlicht. Für eine Reihe von Programmiersprachen üblich. Die Herausforderungen sollen Programmierern dabei helfen, sich mit den neuesten technologischen Veränderungen und Programmieransätzen in der Praxis vertraut zu machen.

  3. TopCoder

    TopCoder ist eine aktive Community von Programmierern, die es lieben, verschiedene Probleme zu entwickeln und zu lösen. Regelmäßig werden neue Aufgaben veröffentlicht, deren erfolgreiche Lösung Ihnen nicht nur die Möglichkeit bietet, Ihre Personalstärke zu üben und zu steigern, sondern auch Geldpreise zu erhalten.

  4. CodeKata

    CodeKata ist ein Blog mit vielen recht originellen und witzigen Problemen für Programmierer, erfunden von Dave Thomas, einem der Autoren des berühmten Buches Pragmatic Programmer („Der pragmatische Programmierer. Der Weg vom Lehrling zum Meister“). Die Probleme auf der CodeKata-Website sind vielfältig und die Lösungen beziehen sich auf die tatsächliche Programmierarbeit.

  5. Richter der Universität PekingOnline für ACIP/ICPC

    Peking University JudgeOnline für ACIP/ICPC ist eine Seite der Peking University, die Aufgaben für Programmierer aus verschiedenen Wettbewerben und Wettbewerben enthält. Die Seite wird regelmäßig aktualisiert, Probleme können in Echtzeit gelöst werden und Lösungen werden von einer Expertenkommission der Peking-Universität bewertet.

  6. Projekt Euler

    Eine weitere alte, bekannte Site mit ernsthaften und nicht trivialen Aufgaben. „Projekt Euler ist eine Sammlung komplexer mathematischer und Programmierprobleme, deren Lösung mehr als nur mathematische Kenntnisse erfordert. Die Komplexität der Probleme variiert und der Ansatz basiert auf induktivem Kettenlernen. Das heißt, nachdem Sie ein Problem gelöst haben, werden Sie ein neues Konzept entdecken, das es Ihnen ermöglicht, andere Probleme zu lösen, die bisher für das Verständnis unzugänglich waren“, sagen die Ersteller der Ressource.

  7. Das tägliche WTF

    Die Daily WTF ist eine weitere beliebte Programmiergemeinschaft, die nach dem Bring Your Own Code (BYOC)-Prinzip arbeitet, was bedeutet, dass Entwickler ihren eigenen Quellcode teilen, um verschiedene ursprüngliche Probleme zu lösen. „Der Zweck von BYOC ist einfach: Ihnen als Softwareentwickler die Möglichkeit zu geben, Ihre Programmierkenntnisse zu verbessern, indem Sie ein Problem lösen, das etwas interessanter ist als die üblichen, langweiligen Dinge“, heißt es auf der Website.

  8. Tproger

    Eine ausgezeichnete russischsprachige Website mit algorithmischen Aufgaben, mit denen die Fähigkeiten von Spezialisten bei technischen Interviews in Unternehmen wie Google, Facebook und anderen getestet werden. Es werden viele Probleme vorgestellt, darunter auch originelle, mit unterschiedlichem Schwierigkeitsgrad.

  9. Al Zimmermanns Programmierwettbewerbe

    Die Website eines bekannten Autors, auf der „verrückte Programmierer um Ruhm und coole Preise konkurrieren“. Ein- bis zweimal im Jahr finden Wettbewerbe statt, und die Namen herausragender Programmierer werden auf der Hauptseite der Ressource veröffentlicht, was sicherlich das Interesse vielversprechender Arbeitgeber weckt.

  10. Timus Online-Richter

    Eines der größten russischsprachigen Archive für Programmierprobleme mit einem automatischen Prüfsystem. Die Hauptaufgabe des Archivs sind Wettbewerbe an der Uraler Föderalen Universität, Uraler Meisterschaften und andere regionale Programmveranstaltungen. Mit Timus Online Judge können Sie auch an Online-Versionen der meisten Wettbewerbe teilnehmen, die regelmäßig an der Uraler Föderalen Universität stattfinden.

5 interessante Aufgaben

Hier sind einige interessante Rätsel für diejenigen, die es kaum erwarten können, loszulegen. Gehirnfitness.  Aktuelle Aufgaben zur Verbesserung der Programmierkenntnisse - 3
  1. Mixer-Rätsel von Steve Jobs

    Herausforderung: Sie werden auf die Größe eines Nickels geschrumpft und in einen Mixer geworfen. Ihr Gewicht hat abgenommen, sodass Ihre Körperdichte gleich bleibt. Die Klingen beginnen nach 60 Sekunden zu rotieren. Eure Aktionen?

    Dies ist eine klassische Aufgabe, die normalerweise mit Steve Jobs, dem Gründer von Apple, in Verbindung gebracht wird. Als Jobs 1997 zu Apple zurückkehrte, interviewte er persönlich jeden Mitarbeiter des Unternehmens und nutzte diese Aufgabe als einen seiner ersten Tests.

    Lösung:

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

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

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

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

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

    Допустим, на конференции было n человек. Первый человек пожимает руку всем остальным: n-1 раз (n-1 человек). Второй человек пожимает руку всем остальным (но не первому, так Wie это уже было сделано): 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-ю стульями, которые расположены в линию. Посетители этого бара — антисоциальные личности, поэтому, когда они заходят в бар, то всегда стараются найти место Wie можно дальше от остальных. Если постоянный посетитель заходит в бар и обнаруживает, что свободного места без соседства с кем-либо нет, он разворачивается и уходит. Владелец бара, естественно, хочет видеть можно больше посетителей. Владелец может указать место, на которое нужно сесть, только первому клиенту, тогда Wie все остальные сами выберут себе самое дальнее место от других. Предположим, что места пронумерованы от 1 до 25. Какое место должно быть занято первым?

    Решение:

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

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

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

    Problem: Ein Mann hat Geld in der Tasche, dessen Gesamtbetrag zwischen 90 und 95 Dollar liegt. Unterwegs besucht er mehrere Tempel. Sobald er einen Tempel betritt, wird sein Geld verdoppelt und er spendet am Ende jedem Tempel 100 Dollar. Dadurch wird seine Tasche nach dem Besuch des letzten Tempels leer. Die Frage ist nun: Wie viel Geld hatte er ursprünglich und wie viele Tempel besuchte er?

    Lösung:

    Wir beginnen mit dem Zählen beim letzten Tempel:

    Nach dem Besuch des letzten Tempels (1) hatte er 0 Geld übrig, also => ​​​​(0 + 100) / 2 = 50. Vor dem Besuch des letzten Tempels hatte er 50 Dollar

    Vor dem Besuch des vorherigen Tempels (2) hatte er (50 + 100) / 2 = 75.
    Vor dem Besuch des vorherigen Tempels (3) hatte er (75 + 100) / 2 = 87,5.
    Vor dem Besuch des vorherigen Tempels (4) hatte er (87,5 + 100) / 2 = 93,75.
    Vor dem Besuch des vorherigen Tempels (5) hat er (93,75 + 100) / 2 = 96,875 – der Betrag übersteigt die Anfangsbedingungen.
    Antwort: Die Person hatte ursprünglich 93,75 $ und besuchte 4 Tempel.

  5. Ein Vorfall auf dem Feld.

    Und schließlich noch ein altes klassisches, man könnte sogar sagen akkordeonartiges, logisches Denkproblem.

    Problem: Ein toter Mann wurde in einem Weizenfeld gefunden. Er hielt das Streichholz fest in seinen Händen. Warum ist die Person gestorben?

    Lösung:

    Der Mann flog mit drei Mitpassagieren in einem Flugzeug. Der Motor ging aus und das Flugzeug begann zu fallen. Die Männer stellten fest, dass es für vier von ihnen nur drei Fallschirme gab und begannen, Streichhölzer zu ziehen. Einer von ihnen zog einen Kurzschluss und musste ohne Fallschirm abspringen.

Epilog

Nun, für diejenigen, denen diese Probleme zu einfach oder zu allgemein sind: Wir haben komplexere Java-Probleme , einschließlich kniffliger Probleme , die oft in Vorstellungsgesprächen für Java-Programmierer gestellt werden. Wenn Sie interessante Rätsel für Programmierer kennen oder Ihre Lieblingsaufgabe teilen möchten, schreiben Sie in die Kommentare.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION