Рубрика «задачи для программистов» - 2

Редко когда кандидат проходит только одно техническое собеседование — обычно их несколько. Среди причин, почему человеку они могут даваться непросто, можно назвать и ту, что каждый раз приходится общаться с новыми людьми, думать о том, как они восприняли твой ответ, пытаться интерпретировать их реакцию. Мы решили попробовать использовать формат контеста, чтобы сократить количество итераций для всех участников процесса.

Яндекс.Блиц. Почему и какие алгоритмические задачи нужно уметь решать, работая в поиске - 1

Для Блица мы выбрали исключительно алгоритмические задачи. Хотя для оценки раундов и применяется система ACM, в отличие от спортивного программирования все задания максимально приближены к тем, которые постоянно решают в продакшене Поиска. Те, кто решит успешно хотя бы четыре задачи из шести, могут считать, что прошли первый этап отбора в Яндекс. Почему алгоритмы? В процессе работы часто меняются задачи, проекты, языки программирования, платформы — те, кто владеет алгоритмами, всегда смогут перестроиться и быстро научиться новому. Типичная задача на собеседовании — составить алгоритм, доказать его корректность, предложить пути оптимизации.

Квалификацию можно пройти с 18 по 24 сентября включительно. В этом раунде вам нужно будет написать программы для решения шести задач. Можете использовать Java, C++, C# или Python. На всё про всё у вас будет четыре часа. В решающем раунде будут соревноваться те, кто справится как минимум с четырьмя квалификационными задачами. Финал пройдёт одновременно для всех участников — 30 сентября, с 12:00 до 16:00 по московскому времени. Итоги будут подведены 4 октября. Чтобы всем желающим было понятно, с чем они столкнутся на Блице, мы решили разобрать пару похожих задач на Хабре.

Читать полностью »

Я бы очень хотел быть программистом, но, к сожалению, я маркетолог, которого каким-то образом занесло в аспирантуру Луизианы грызть гранит науки эконометрики. Да, я неплохо знаю математику, потихоньку осваиваю R и даже весьма сносно умею прогнозировать временные ряды с помощью разнообразных ARIMA моделей. Тем не менее, программист из меня ну вообще никакой.

Но на моих часах 2:22 ночи, а значит пора переходить ближе к делу. Так сложилось, что я учился в лицее, из которого ну просто все получались программистами и/или крутыми айтишниками. Множество хорошо знакомых мне выпускников работает в крупных компаниях вроде Гугла, Фейсбука и Амазона, кто-то уверенно чувствует себя в локальных командах, кто-то запускает свои проекты, а кто-то, вроде viktor_sytnik побеждает в мировых командных соревнований по кибербезопасности.

То есть вот эта вот братия программистов постоянно окружает меня на протяжении всей моей сознательной жизни (спасибо им за это). А я, как назло, просто маркетолог. Маркетолог, которого никогда не перестает умилять отношение многих айтишников к маркетингу в любых его проявлениях.

Реклама в соцсетях? — Есть же АДБЛОК! СЕО? — Вы своим гавном весь интернет замусорили! Оффлайн реклама? — Да кто сейчас смотрит на эти ваши биллборды? Вот и прошлая статья о уязвимости ВК не обошлась без подобных комментариев.
image
А пока под катом вы будете решать задачку от Гугла, которую компания использовала в качестве нестандартной рекламной кампании для привлечения талантливых разработчиков в свои ряды, я постараюсь изменить ваше мнение о маркетинге.
Читать полностью »

Очередные Java-конференции JBreak и JPoint прошли на «ура». Здешние доклады всегда имеют резонанс, но многим запомнилось и кое-что ещё.

Буклет GridGain. Задачки про Грефа и Балмера, белорусского программиста с ведром картошки и, конечно, нетривиальное соблазнение тестировщицы Клавдии продолжают публиковать на различных ресурсах на радость автору, и многие уже даже не знают, каков их источник.

О нетривиальном соблазнении тестировщицы Клавдии: задачки из буклета GridGain c JBreak и JPoint - 1Читать полностью »

В сентябре 2016 прошел очередной ежегодный отбор молодых специалистов, студентов и выпускников инженерных и математических специальностей в школу программистов HeadHunter.

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

Пока писал статью, смотрю, в песочнице меня уже опередили по теме. Однако, у меня рассмотрены другие типы задач, только одна совпала про степени (но, судя по комментариям, не в обиду автору — решение неверное).
Читать полностью »

image

В августе этого года в Казани прошла Международная олимпиада по программированию для школьников — IOI 2016. Российская команда стала второй в общем зачете.

Один из серебряных медалистов, Денис Солонков из г. Мытищи, сделал разбор задачи «Обнаружение молекул», которая предлагалась участникам олимпиады.

Денис Солонков — многократный победитель Всероссийских олимпиад по программированию и Moscow CTF School, выпускник Школы программистов, ныне студент ВШЭ.Читать полностью »

После того, как вроде бы неплохой результат, полученный в предыдущей части, оказался лишь «локальным максимумом», я на некоторое время забросил задачку. Напомню условие:

«The decimal number 585 is 1001001001 in binary. It is palindromic in both bases. Find n-th palindromic number». Или, по-русски: «Десятичное число 585 в двоичной системе счисления выглядит как 1001001001. Оно является палиндромом в обеих системах счисления. Найдите n-й подобный палиндром».

Но само существование значительно более быстрого, с принципиально другой вычислительной сложностью, алгоритма не давало мне покоя, и в конце концов я вернулся к его разбору.

В конце концов, алгоритм оказался не таким уж и сложным, зато, на мой взгляд, очень красивым.
Читать полностью »

Всем добрый день!
Сегодня мы опять решили организовать конкурс c розыгрышем призов.
Чтобы не было скучно мы решили задать вам несколько вопросов:
Призы такие: iPad air (16gb 3g), iPad mini, iPodShuffle.
Кроме того 10 утешительных призов – хостинг сертификаты на сумму 100 долларов от компании ServerClub.com
Мы хотим чтобы вы выиграли и если по ходу расследования возникнут трудности будем выкладывать подсказки :)
Читать полностью »

В очередной раз наступив на досадные необязательные грабли, я решил систематизировать свои знания о них. Если вы какое-то время разрабатываете на C++, то можете и не найти здесь ничего нового, но кому-то приведенный в статье материал точно поможет. Если бы я знал это лет пять назад, то однозначно сэкономил бы несколько безвозвратно потерянных дней жизни и нервных клеток.

Чтобы было интереснее, материал представлю в виде простых задачек. Сразу подчеркну, что я не считаю приведенные примеры просчетами языка. Во многом появляется смысл и логика, если вопрос обдумать. Это скорее случаи, когда может отказать интуиция, особенно если голова забита чем-нибудь еще. Есть и пара примеров вида «Ну чего этому компилятору надо, только что то же самое работало!»

И последнее замечание. Это не будут задачи на внимательность типа «Тут я поставил точку с запятой сразу после for — а никто и не заметил». Проблемы не в опечатках. Все необходимые библиотеки можно считать подключенными — не относящийся к описываемой ситуации код я опускал, чтобы не загромождать статью.
Читать полностью »

JavaOpen и JavaDay в Самаре

Недавно в Самаре прошли два занимательных мероприятия: JavaOpen и JavaDay.

Первое представляло собой турнир по программированию с денежными призами. Второе — конференцию, на которой были озвучены победители турнира.
Читать полностью »

Древний холивар о том, нужна ли программисту математика, получил неожиданное продолжение в спорах о ЕГЭ. Активно начала продвигаться идея о том, что вообще не надо проверять знания, а надо проверять умение быстро искать ответы. Ну и как вывод – замена ЕГЭ на чемпионат по поиску в Гугле/Яндексе. На мой взгляд, с тем же успехом можно проводить экзамен в виде поиска по школьной библиотеке. Почему-то никто не замечает такой очевидной истины, что быстро находит ответы те, кто знают, что искать, то есть как раз обладают знаниями. Для подтверждения этой идеи я составил 3 задачки для программистов, алгоритмы решения которых я нашел бы за пару минут.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js