JavaRush /Java блогу /Random-KY /Мээ фитнес. Программалоо көндүмдөрүн жогорулатуу боюнча у...

Мээ фитнес. Программалоо көндүмдөрүн жогорулатуу боюнча учурдагы милдеттер

Группада жарыяланган
Белгилүү болгондой, программисттер такай ойлонуп, анализдеп, кээде чоң жана кичине ар кандай көйгөйлөрдүн ачык-айкын эмес чечимдерин табышы керек. Бул үчүн codeерлер мээсин активдүү колдонууга аргасыз болушат, бул өтө "кымбат" оюнчук - дене салмагынын 1,5-2% дан ашпаган массасы бар адамдын мээси бардык энергиянын 25% ын керектейт. Ал эми бул жөнөкөй адам үчүн жана татаал долбоордо жигердүү иштеген программисттин мээси энергиянын канча пайызын "керектейт" деп элестетүү коркунучтуу (жана окумуштуулар, кыязы, британиялыктар, так көрсөткүчтү аныктай элек). Мээ фитнес.  Программалоо көндүмдөрүн жогорулатуу боюнча учурдагы милдеттер - 1Мунун бардыгынан кандай жыйынтык чыгарууга болот? Мыкты программист болуу үчүн, анан ошол бойдон калуу үчүн, сиз мээңизди иштетип, аны ашыкча стресссиз жана үзгүлтүксүз ойлонууга жана чечимдерди табууга үйрөтүшүңүз керек. Trite, бардык чынында эле натыйжалуу ыкмалары сыяктуу, бирок натыйжалуу. Баш сөөктөгү боз затты жакшы абалда кармап турууга жардам берүү үчүн, бүгүн биз программисттер үчүн табышмактар ​​жана пазлдар менен жакшы ресурстардын тандоосун даярдадык, ошондой эле англис тorнен бир нече кызыктуу табышмактарды котордук.

Программисттер үчүн тапшырмалары бар веб-сайттар

Жыйнактын дээрлик бардык ресурстары англис тorнде, андыктан сиз codeдоо маселелерин жана пазлдарды чечүүнү көнүгүү менен гана чектелбестен, программалоодо англис тorн колдонуу боюнча кошумча практикага да ээ болосуз.Мээ фитнес.  Программалоо көндүмдөрүн жогорулатуу боюнча учурдагы милдеттер - 2
  1. Кодерbyte

    Программисттер үчүн тапшырмалары бар эң популярдуу англис тилдүү ресурстардын бири. Анда сиз 10 жеткorктүү программалоо тorнин бирин (анын ичинде Java) колдонуу менен түздөн-түз сайтта чечсе болот, ар кандай деңгээлдеги татаалдыктагы 200дөн ашык тапшырмаларды таба аласыз.

  2. Программалоо Praxis

    Programming Praxis - бул популярдуу блог, ал дайыма ар кандай кызыктуу жана эң негизгиси программисттер үчүн актуалдуу тапшырмаларды жарыялайт. Бир катар программалоо тилдери үчүн жалпы. Кыйынчылыктар codeерлерге технологиядагы акыркы өзгөрүүлөргө жана иш жүзүндө программалоого болгон мамилеге тез жетүүгө жардам берүү үчүн иштелип чыккан.

  3. TopCoder

    TopCoder - бул ар кандай маселелерди иштеп чыгууну жана чечүүнү жакшы көргөн программисттердин активдүү коомчулугу. Жаңы тапшырмалар үзгүлтүксүз жарыяланып турат, алардын ийгorктүү чечorши өзүңүздүн HRиңизди машыгууга жана жогорулатууга гана эмес, ошондой эле акчалай сыйлыктарды алууга мүмкүнчүлүк берет.

  4. CodeKata

    CodeKata – бул программисттер үчүн абдан оригиналдуу жана тапкыч көйгөйлөрү бар блог, аны белгилүү прагматикалык программист китебинин авторлорунун бири Дэйв Томас ойлоп тапкан («Прагматикалык программист. Окуучудан устатка чейинки жол»). CodeKata веб-сайтындагы көйгөйлөр ар түрдүү жана чечимдер чыныгы программалоо ишине тиешелүү.

  5. ACIP/ICPC үчүн Пекин университетинин судьясы

    Пекин университетинин JudgeOnline for ACIP/ICPC - бул Пекин университетинин ар кандай сынактар ​​жана сынактардагы программисттер үчүн тапшырмаларды камтыган баракчасы. Сайт үзгүлтүксүз жаңыланып турат, көйгөйлөр реалдуу убакытта чечилет жана чечимдер Пекин университетинин эксперттеринин комиссиясы тарабынан бааланат.

  6. Эйлер долбоору

    олуттуу жана маанилүү эмес милдеттери менен дагы бир эски белгилүү сайт. «Эйлер долбоору татаал математикалык жана программалоо көйгөйлөрүнүн жыйындысы, аларды чечүү үчүн жөн гана математиканы билүү эмес. Көйгөйлөр татаалдыгы боюнча айырмаланат жана ыкма индуктивдүү чынжырча окутууга негизделген. Башкача айтканда, бир маселени чечкенден кийин, мурда түшүнүүгө мүмкүн болбогон башка маселелерди чечүүгө мүмкүндүк берген жаңы концепцияны ачасыз», - дешет ресурстун жаратуучулары.

  7. The Daily WTF

    Daily WTF - бул Bing Your Own Code (BYOC) принцибинде иштеген дагы бир популярдуу программалоо коому, демек иштеп чыгуучулар ар кандай оригиналдуу маселелерди чечүү үчүн өздөрүнүн баштапкы codeун бөлүшүшөт. "BYOCтин максаты жөнөкөй: программалык камсыздоону иштеп чыгуучу катары сизге кадимки, кызыксыз нерсеге караганда бир аз кызыктуураак маселени чечүү аркылуу программалоо жөндөмүңүздү өркүндөтүү мүмкүнчүлүгүн берүү" дейт сайт.

  8. Tproger

    Google, Facebook жана башка компанияларда техникалык интервью учурунда адистердин көндүмдөрүн текшерүү үчүн колдонулган алгоритмдик тапшырмалары бар эң сонун орус тилдүү сайт. Көптөгөн көйгөйлөр, анын ичинде оригиналдуу көйгөйлөр, ар кандай деңгээлдеги кыйынчылыктар бар.

  9. Аль Циммермандын программалоо боюнча сынактары

    Белгилүү автордук веб-сайт, анда "жинди программисттер атак жана сонун сыйлыктар үчүн жарышат". Конкурстар жылына бир же эки жолу өткөрүлөт, ал эми көрүнүктүү программисттердин ысымдары ресурстун башкы бетинде жарыяланып турат, бул албетте келечектүү иш берүүчүлөрдүн кызыгуусун жаратат.

  10. Timus Online Judge

    Автоматтык текшерүү системасы менен программалоо көйгөйлөрүнүн эң чоң орус тилдүү архивдеринин бири. Архив үчүн милдеттердин негизги булагы Урал федералдык университетиндеги мелдештер, Урал чемпионаттары жана башка аймактык программалоо иш-чаралары болуп саналат. Timus Online Judge ошондой эле Урал федералдык университетинде үзгүлтүксүз өтүп жаткан көпчүлүк сынактардын онлайн versionларына катышууга мүмкүнчүлүк берет.

5 кызыктуу тапшырмалар

Бул жерде баштоо үчүн күтө албагандар үчүн кызыктуу табышмактар ​​бар. Мээ фитнес.  Программалоо көндүмдөрүн жогорулатуу боюнча учурдагы милдеттер - 3
  1. Стив Джобстун блендер табышмактары

    Кыйынчылык: Сиз никелдин өлчөмүнө чейин кичирейтип, блендерге ыргытылат. Сиздин салмагыңыз азайып, денеңиздин тыгыздыгы ошол эле бойдон калууда. Бычактар ​​60 секунддан кийин айлана баштайт. Сиздин аракеттериңиз?

    Бул адатта Apple компаниясынын негиздөөчүсү Стив Жобс менен байланышкан классикалык тапшырма. Жобс 1997-жылы Apple компаниясына кайтып келгенде, ал компаниянын ар бир кызматкери менен жеке интервью алып, бул тапшырманы өзүнүн алгачкы сыноолорунун бири катары колдонгон.

    Чечим:

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

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

    Маселе: Эркектин чөнтөгүндө акчасы бар, анын жалпы суммасы 90 доллардан 95 долларга чейин. Жолдо ал бир нече храмдарга барат. Ал ибадатканага кирээри менен анын акчасы эки эсе көбөйөт жана ал ар бир ибадатканага 100 доллардан тартуулайт. Натыйжада, анын чөнтөгү акыркы ийбадатканага баргандан кийин бош болуп калат. Эми суроо туулат: анын башында канча акча болгон жана ал канча храмдарга барган?

    Чечим:

    Биз акыркы ийбадатканадан баштап санай баштайбыз:

    Акыркы ибадатканага баргандан кийин (1) анын 0 акчасы калган, ошондуктан => (0 + 100) / 2 = 50. Акыркы ибадатканага барганга чейин анын 50 доллары болгон.

    Мурунку ийбадатканага барганга чейин (2), ал (50 + 100) / 2 = 75.
    Мурунку ийбадатканага барганга чейин (3), ал (75 + 100) / 2 = 87,5 болгон.
    Мурунку ийбадатканага барганга чейин (4), ал (87,5 + 100) / 2 = 93,75 болгон.
    Мурунку ийбадатканага барганга чейин (5), ал (93,75 + 100) / 2 = 96,875 бар - суммасы баштапкы шарттардан ашат.
    Жооп: Адамдын башында $93,75 болгон жана 4 храмга барган.

  5. Талаада болгон окуя.

    Акыр-аягы, дагы бир эски классикалык, ал тургай, аккордеон сыяктуу, логикалык ой жүгүртүү маселеси деп айтууга болот.

    Маселе: Буудай талаасынан өлүк киши табылды. Ал ширенкени колуна бекем кармады. Эмне үчүн адам өлдү?

    Чечим:

    Ал киши учакта үч жүргүнчүсү менен учуп бара жаткан. Мотор токтоп, учак кулай баштады. Эркектер төртөөнө үч гана парашют бар экенин бorп, ширеңке тарта башташты. Алардын бири кыскасын тартып, парашютсуз секирүүгө аргасыз болгон.

Эпилог

Ооба, бул көйгөйлөрдү өтө жөнөкөй же өтө жалпы деп эсептегендер үчүн бизде татаалыраак Java көйгөйлөрү бар , анын ичинде Java программисттери үчүн маектешүү учурунда берилген татаал көйгөйлөр . Программисттер үчүн кызыктуу табышмактарды билсеңиз же сүйүктүү тапшырмаңызды бөлүшкүңүз келсе, комментарийге жазыңыз.
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION