JavaRush /Java Blog /Random-IT /Forma fisica del cervello. Compiti attuali per l'aggiorna...

Forma fisica del cervello. Compiti attuali per l'aggiornamento delle competenze di programmazione

Pubblicato nel gruppo Random-IT
Come sappiamo, i programmatori devono regolarmente pensare, analizzare e talvolta trovare soluzioni non ovvie a vari problemi, grandi e piccoli. Per fare ciò, i programmatori sono costretti a utilizzare attivamente il loro cervello, che è già un giocattolo estremamente "costoso": il cervello umano, con una massa non superiore all'1,5-2% del peso corporeo, consuma circa il 25% di tutta l'energia. E questo è per la persona media, e quale percentuale di energia viene “consumata” dal cervello di un programmatore che lavora attivamente su un progetto complesso è spaventoso da immaginare (e gli scienziati, molto probabilmente britannici, devono ancora stabilire l'indicatore esatto). Forma fisica del cervello.  Compiti attuali per l'aggiornamento delle competenze di programmazione - 1Che conclusione si può trarre da tutto ciò? Per diventare un buon programmatore, e poi rimanerlo, è necessario pompare il cervello, insegnandogli a pensare e trovare soluzioni senza stress eccessivo e in modo regolare. Banale, come tutti i metodi davvero efficaci, ma efficaci. Per aiutarti a mantenere in buona forma la materia grigia nel cranio, oggi abbiamo preparato una selezione di buone risorse con enigmi ed enigmi per programmatori e abbiamo anche tradotto diversi enigmi interessanti dall'inglese.

Siti Web con attività per programmatori

Quasi tutte le risorse della raccolta sono in inglese, quindi avrai l'opportunità non solo di esercitarti a risolvere problemi di codifica ed enigmi, ma anche di fare ulteriore pratica nell'uso dell'inglese nella programmazione. Forma fisica del cervello.  Compiti attuali per l'aggiornamento delle competenze di programmazione - 2
  1. Coderbyte

    Una delle risorse in lingua inglese più popolari con compiti per programmatori. Su di esso puoi trovare più di 200 compiti di vari livelli di complessità, che possono essere risolti direttamente sul sito online utilizzando uno dei 10 linguaggi di programmazione disponibili (incluso Java).

  2. Prassi di programmazione

    Programming Praxis è un blog popolare che pubblica regolarmente varie attività interessanti e, soprattutto, rilevanti per i programmatori. Comune per una gamma di linguaggi di programmazione. Le sfide sono progettate per aiutare i programmatori a tenersi al passo con gli ultimi cambiamenti nella tecnologia e negli approcci alla programmazione nella pratica.

  3. TopCoder

    TopCoder è una comunità attiva di programmatori che amano sviluppare e risolvere vari problemi. Vengono regolarmente pubblicati nuovi compiti, la cui soluzione riuscita non solo fornirà l'opportunità di esercitarsi e aumentare le proprie risorse umane, ma riceverà anche premi in denaro.

  4. CodeKata

    CodeKata è un blog con un sacco di problemi per programmatori piuttosto originali e spiritosi, inventato da Dave Thomas, uno degli autori del famoso libro Pragmatic Programmer (“The Pragmatic Programmer. The Path from Apprentice to Master”). I problemi sul sito Web CodeKata sono diversi e le soluzioni sono rilevanti per il lavoro di programmazione reale.

  5. GiudiceOnline dell'Università di Pechino per ACIP/ICPC

    JudgeOnline dell'Università di Pechino per ACIP/ICPC è una pagina dell'Università di Pechino che contiene compiti per programmatori di vari concorsi e competizioni. Il sito viene aggiornato regolarmente, i problemi possono essere risolti in tempo reale e le soluzioni vengono valutate da una commissione di esperti dell'Università di Pechino.

  6. Progetto Eulero

    Un altro vecchio sito ben noto con compiti seri e non banali. “Il Progetto Euler è una raccolta di complessi problemi matematici e di programmazione che richiedono più della semplice conoscenza della matematica per essere risolti. I problemi variano in complessità e l’approccio si basa sull’apprendimento a catena induttivo. Cioè, dopo aver risolto un problema, scoprirai un nuovo concetto che ti consentirà di risolvere altri problemi che prima erano inaccessibili alla comprensione", affermano i creatori della risorsa.

  7. Il WTF quotidiano

    The Daily WTF è un'altra popolare comunità di programmazione che opera secondo il principio Bring Your Own Code (BYOC), il che significa che gli sviluppatori condividono il proprio codice sorgente per risolvere vari problemi originali. "Lo scopo di BYOC è semplice: offrire a te, come sviluppatore di software, l'opportunità di migliorare le tue capacità di programmazione risolvendo un problema un po' più interessante delle solite cose noiose", afferma il sito.

  8. Tproger

    Un eccellente sito in lingua russa con compiti algoritmici utilizzati per testare le capacità degli specialisti durante i colloqui tecnici in aziende come Google, Facebook e altre. I problemi presentati sono molti, anche originali, di vari livelli di difficoltà.

  9. I concorsi di programmazione di Al Zimmermann

    Il sito web di un noto autore in cui "programmatori pazzi competono per fama e fantastici premi". I concorsi si svolgono una o due volte l'anno e i nomi di illustri programmatori vengono pubblicati sulla pagina principale della risorsa, il che attira sicuramente l'interesse di promettenti datori di lavoro.

  10. Timus Giudice in linea

    Uno dei più grandi archivi in ​​lingua russa di problemi di programmazione con un sistema di controllo automatico. La principale fonte di compiti per l'archivio sono le competizioni dell'Università Federale degli Urali, i Campionati degli Urali e altri eventi di programmazione regionale. Timus Online Judge ti consente anche di prendere parte alle versioni online della maggior parte delle competizioni che si svolgono regolarmente presso l'Università Federale degli Urali.

5 compiti interessanti

Ecco alcuni enigmi interessanti per coloro che non vedono l'ora di iniziare. Forma fisica del cervello.  Compiti attuali per l'aggiornamento delle competenze di programmazione - 3
  1. L'indovinello del frullatore di Steve Jobs

    Sfida: vieni rimpicciolito alle dimensioni di un centesimo e gettato in un frullatore. Il tuo peso è diminuito in modo che la densità del tuo corpo rimanga la stessa. Le lame inizieranno a ruotare dopo 60 secondi. Le tue azioni?

    Questo è un compito classico solitamente associato a Steve Jobs, il fondatore di Apple. Quando Jobs tornò alla Apple nel 1997, intervistò personalmente tutti i dipendenti dell'azienda e utilizzò questo compito come uno dei suoi primi test.

    Soluzione:

    У данной задачи больше одного решения, так 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: un uomo ha in tasca dei soldi, il cui importo totale varia da 90 a 95 dollari. Lungo la strada visita diversi templi. Non appena entra in un tempio, i suoi soldi vengono raddoppiati e finisce per donare $ 100 a ciascun tempio. Di conseguenza, la sua tasca si svuota dopo aver visitato l'ultimo tempio. Ora la domanda è: quanti soldi aveva inizialmente e quanti templi ha visitato?

    Soluzione:

    Iniziamo a contare dall'ultimo tempio:

    Dopo aver visitato l'ultimo tempio (1) gli rimanevano 0 soldi, quindi => ​​(0 + 100) / 2 = 50. Aveva 50 dollari prima di visitare l'ultimo tempio

    Prima di visitare il tempio precedente (2), aveva (50 + 100) / 2 = 75.
    Prima di visitare il tempio precedente (3), aveva (75 + 100) / 2 = 87,5.
    Prima di visitare il tempio precedente (4), aveva (87,5 + 100) / 2 = 93,75.
    Prima di visitare il tempio precedente (5), ha (93,75 + 100) / 2 = 96,875 - l'importo supera le condizioni iniziali.
    Risposta: La persona originariamente aveva $ 93,75 e ha visitato 4 templi.

  5. Un incidente sul campo.

    E infine, un altro vecchio classico, si potrebbe anche dire un problema di pensiero logico simile a una fisarmonica.

    Problema: un uomo morto è stato trovato in un campo di grano. Teneva stretto il fiammifero tra le mani. Perché la persona è morta?

    Soluzione:

    L'uomo era a bordo di un aereo con tre compagni di viaggio. Il motore si fermò e l'aereo cominciò a cadere. Gli uomini scoprirono che c'erano solo tre paracadute per quattro di loro e cominciarono a tirare i fiammiferi. Uno di loro ne ha tirato fuori uno corto ed è stato costretto a lanciarsi senza paracadute.

Epilogo

Bene, per coloro che trovano questi problemi troppo semplici o troppo generali, abbiamo problemi Java più complessi , inclusi problemi complicati che vengono spesso affrontati durante le interviste per i programmatori Java. Se conosci enigmi interessanti per programmatori o vuoi condividere la tua attività preferita, scrivi nei commenti.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION