Pull to refresh
  • by relevance
  • by date
  • by rating

Примеры головоломок c собеседований в Google и Microsoft

Entertaining tasks
Как известно, ведущие IT-корпорации стремятся заполучить к себе лучших сотрудников. Конкурс достигает нескольких сотен человек на место. Как отобрать среди них действительно лучших? Ведь средний балл аттестата и хорошее резюме на самом деле не могут точно отразить интеллектуальный потенциал программиста. Один из вариантов — задавать нестандартные задачки, например, сколько мячиков для гольфа помещается в школьный автобус или как измерить вес «Боинга-747»?

Мы уже приводили примеры таких задачек (в комментариях к той статье хабралюди сообщают, что подобные задачки задают на собеседованиях не только в Google и Microsoft, но и во многих российских IT-компаниях). Теперь, благодаря журналу Business 2.0 и опрошенным ими хедхантерам, стали известны ещё несколько таких задач. Вот они.
Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Views 37K
Comments 129

Задачка для детей дошкольного возраста…

Entertaining tasks
Эта задачка (судя по поиску в гугле) уже множество раз мелькала во блогах, и форумах. Но, для меня, и надеюсь большинства хабралюдей — стала открытием…

Когда мне ее загадали, я убил десять минут на поиск ответа, и сдался… Когда же завеса тайны была приоткрыта, элегантность решения, поставила меня в ступор, и заставила долго смеяться.

Теперь предлагаю вашему вниманию саму задачу
Total votes 62: ↑47 and ↓15 +32
Views 1.4K
Comments 234

Дополнение к занимательным задачкам

Mathematics *
Прочитал на хабре появление задачки, и вспомнил ещё одну.

На отдыхе мне её показал преподаватель из школы ФСБ. Сказал, что взял из учебника 5 класса. На моей памяти три человека её разгадали. Мальчик лет 10 за 5 минут. Женщина за 30 минут и мой знакомый, за неделю.

Корова — 2
Коза — 2
Кошка — 3
Собачка — 3
Петух — ?

Я даже отгадывать не стал ибо мой мозг сразу задымился.
Total votes 14: ↑8 and ↓6 +2
Views 1.2K
Comments 11

Задачка со школьной олимпиады

Mathematics *
Навеяно вчерашним постом про чудную задачку для дошкольников.
Вспомнилось из детства.
В школе на олимпиаде была одна задачка, которую помню до сих пор, потому как на самой олимпиаде её никто, в том числе и я не решил, но я тогда её переписал и только дома, после нескольких часов размышлений, она поддалась.

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

СОРОК + ОДИН = ТРИСТА

UPD: может быть интересующимся не совсем ясно условие. Но могу поклястся, на олимпиаде оно звучало именно так.
Ответ должен представлять из себя равенство, где вместо букв написаны цифры. Каждая буква — только одна цифра.
Total votes 9: ↑5 and ↓4 +1
Views 1.3K
Comments 41

Выборы, выборы, кандидаты…

Entertaining tasks
В госудаpстве Заболотия в паpламент нужно выбpать по одному депутату от каждого из 999 избиpательных окpугов с одинаковым числом избиpателей в каждом. В Заболотии было всего тpи паpтии: паpтия любителей водки, паpтия любителей пива и паpтия любителей безалкогольных напитков. Согласно пpоведенным социологическим исследованиям, симпатии населения в сpеднем по стpане pаспpеделились так:
(A) Паpтия любителей водки: их поддеpживает 15% избиpателей.
(B) Паpтия любителей пива: их поддеpживает 30% избиpателей.
Паpтия любителей безалкогольных напитков: их поддеpживает 55% избиpателей.
Если в пеpвом туpе ни один кандидат не набиpает 50%, во втоpой туp пpоходят двое, набpавшие наибольшее число голосов.
Оценить, какое наименьшее и какое наибольшее число кандидатов от каждой паpтии может быть избpано в паpламент госудаpства Заболотия?
Total votes 7: ↑5 and ↓2 +3
Views 527
Comments 10

Три задачки

Entertaining tasks
Представляю вашему вниманию своеобразный блиц — три небольших задачки, начиная от самой баянистой и кончая той, которую вы даже в гугле не найдете =)

1. стена, кирпич, часы, вокзал…
(продолжите последовательность)

2. л, с, д…
(продолжите последовательность)

3. кра.се.т. — что это?
Внимание! Второе задание пока не решено!
Total votes 16: ↑10 and ↓6 +4
Views 683
Comments 31

Маркс и Энгельс

Entertaining tasks
Заведующий концлагерем вызывает к себе 5 осужденных и говорит:

«У вас будет время до вечера чтобы создать план действий, но уже завтра вы будете находиться в разных камерах и никогда не будете встречаться. У нас в лагере есть Ленинская комната, в которой на столе лежат 2 книги: „Капитал“ Маркса и „Анти-Дюринг“ Энгельса.

Со следующей недели я буду выбирать одного из вас и водить его в Ленинскую комнату на политинформацию. Читать ничего не надо, но нужно будет обязательно взять любую (но только одну) из книг и перевернуть ее (с тыльной стороны на обложку или наоборот). Кроме вас в Ленинскую комнату никто ходить не будет. Выбирать заключенных я буду как мне хочется: например, сегодня первого три раза свожу, а завтра всех по очереди, а послезавтра обойдетесь.

Рано или поздно каждый из вас побывает в Ленинской комнате. Так вот, любой из вас в любое время может сказать „Мы все здесь уже были!“. Если окажется, что он прав, вы все будете освобождены. Если нет — расстреляны.»

Что же делать осужденным, ведь время до вечера еще есть?

UPD: Облегчаем задачу. Заключенных не 5, а 19.

UPD: Ответ достаточно быстро и четко сформулировал товарищ tunelix, на основании почти правильного варианта by FloppyFormator:
итак: у нас есть 1 счетчик и 4 исполнителя.
задача исполнителя: если маркс лежит обложкой верх — переворачиваем энгельса, если обложкой вниз переворачиваем маркса мордой вверх. каждый испольнитель считает количество переворотов маркса — если он перевернул его 2 раза — больше он его на мордой вверх не переворачивает.
счетчик: каждый раз когда он видит маркса перевернутого мордой вверх он увеличивает счетчик +1 и переворачивает маркса вниз лицом. если маркс лежите вниз лицом он циклически переворачивает энгельса.
когда счетчик дойдет до 8 — он может сказать что все побывали в комнате.
считать до 8 (а не до 4х) нужно чтоб обойти ситуацию когда 1м в комнату попадает счетчик, а там маркс лежит мордой вверх.


Несколько соображений по поводу задачи и ее обсуждения:
1. В оригинале (когда я о ней узнал) задача была про 2 выключателя и 23 заключенных. Пришлось переделать в патриотическом стиле, чтобы общественность не так быстро выгуглила ответ.
2. Задача была намеренно усложнена. Так, например, 5 заключенных вкупе с 2 книгами наталкивают на мысли о двоичной системе счисления, хотя с 23 заключенными в этом (неправильном) направлении даже и не думаешь. Кроме того, если свести задачу к одной книге (убрав обязательное условие о перевороте хоть одной книги), то тоже задача решается намного проще. Но поиск правильного направления — это тоже задача, поэтому не стоит предъявлять претензии о некорректной формулировке.
3. Условие о том, что каждый заключенный побывает в комнате несколько (да что там, много!) раз не было явно указано, т.к. если бы это было не так, у задачи очевидно не было бы решения.
4. Поиск 'альтернативных' вариантов (поворачивать книги вокруг оси, делать пометки, закладки, ложить Маркса под ручку с Энгельсом и т.д.) был совсем не обоснованным. Условий задачи вполне достаточно для того, чтобы ее решить.
5. Не всем было понятно, что собственно от них требовалось. Для меня правильное решение удовлетворяет следующим условиям: а) заключенные не будут расстреляны ни при каких обстоятельствах; б) заключенные имеют реальный шанс выйти. Даже при этих довольно общих критериях решение было найдено только одно.
Total votes 49: ↑38 and ↓11 +27
Views 999
Comments 232

Kill Bill

Entertaining tasks
Итак, у нас 1000 окопов в ряд (не по кругу). В одном из них (не видно в каком) сидит солдат по имени Билл — ваш противник.

У вас в руках супер-пупер-мега пушка, позволяющая вдребезги разнести все содержимое любого из окопов (сам окоп останется цел). Сразу после того, как вы делаете выстрел, рядовой перебегает в соседний окоп (по неизвестной вам логике). Остаться в том же окопе, равно как и перебежать дальше, чем в соседний окоп, солдат не может. Следующий выстрел. Перебежка. Выстрел. Перебежка. И так далее.

Проблема в том, что ни рядового, ни перебежек, ни даже результатов выстрела (убил-не убил) вы не видите.

У кого сколько выстрелов уйдет на то, чтобы убить эту сволочь, и как вы это будете делать?

Правильный ответ от Oleksandr: стреляю от 2-го до 999-го и обратно
Total votes 35: ↑26 and ↓9 +17
Views 868
Comments 114

Задача 1999

Entertaining tasks
Прочёл статью Полезные билетики и вспомнил далёкий 1999 год, когда где-то в каком-то журнале отыскал, как мне показалось, довольно занятную задачку. Сразу оговорюсь, что условие схоже с вышеупомянутой статьёй, однако есть нюансы. Смысл её
под катом
Total votes 22: ↑20 and ↓2 +18
Views 655
Comments 132

Задачки для веб-сёрферов

Entertaining tasks
Лет десять назад, когда интернет был диковинкой, я мошенничал тем, что участвовал в различных теле- и радиовикторинах, используя свой доступ в сеть. То есть не знал ответы на вопросы, а просто очень быстро умел находить их в интернете. Что позволило мне несколько раз выиграть билеты в кино, пару книжек и компакт-дисков, и разок появиться на местном телевидении. Все эти навыки пригодились в жизни — я и сейчас по просьбам друзей нахожу в Сети требуемое. «Если оно есть в интернете, говорю я им, то я это вам найду». Впрочем, не сочтите это за хвастовство. Уверен, что многие умеют быстро находить любую требуемую информацию.
И вот в связи с этим мне подумалось как-то: а почему бы не сделать хитроумных задачек в стиле, скажем, «Своей игры» или «Что? Где? Когда?», но специально для тех, кто любит и умеет искать в интернете.
И я начал сочинять такие задачки. Кому-то из моих знакомых они не понравились вовсе, кто-то почесал репу и остановился на середине пути. А кому-то понравилось, и они потратили несколько минут (или часов) своего драгоценного времени на разгадывание этих головоломок.
Если у вас есть свободное время, есть навыки поиска информации и вы хотите попробовать свои силы — попробуйте разгадать несколько таких задачек.
Всё, что для этого нужно — базовые знания, Google, Wikipedia и другие ваши любимые источники информации.
Задачки можно разгадывать сразу с хвоста, опустив начало. Я бы рекомендовал всё же разгадывать последовательно, от начала до конца. Тогда разгадывание может оказаться более интересным. Потому как здесь цель — не скорость и не точность лишь финального слова, а раскрытие всей цепочки целиком.

ЗАДАЧКИ ПОД КАТОМ
Total votes 81: ↑69 and ↓12 +57
Views 417
Comments 56

Небольшая разминка мозгов (или quine на php)

PHP *
Встерил тут я на каком-то сайте интересную задачку, а именно:

Написать php-скрипт, который бы выводил собственный код.
Условия:
— Использовать функции чтения файла и потока нельзя.
— Код должен быть выведен от и до, включая символы <?php… ?>
— Код должен быть как можно короче.


Честно говоря, сначала я впал в ступор, но после получаса времени пришел к такому результату
(перенос строки убрать, поставлен чтоб на баннер не наезжало).

<?$a='<?$a="%s";printf(str_replace(chr(34),chr(39),$a),$a);?>';
printf(str_replace(chr(34),chr(39),$a),$a);?>



Но что-то мне подсказывает что сеё далеко не единственное решение. Поэтому просто интересно мнение сообщества — кто-нибудь может предложить еще решения? Включая всевозможные хаки, (halt_compiler разные) и др.
Total votes 14: ↑11 and ↓3 +8
Views 2.6K
Comments 8

«Hard, harder, Notpron!»

Entertaining tasks
Как говорится, музыкой навеяло.
image
Очень удивился, не найдя темы про этот интернет квест. Умопомрачительная игра, которую посадили пожизненно за воровство времени у населения планеты Земля.
Всего 168 человек прошли эту игру из 138 уровней целиком из 10+ миллионов пытавшихся.
Читать дальше →
Total votes 66: ↑53 and ↓13 +40
Views 4.6K
Comments 58

Хакерский квест

Entertaining tasks
image

Недавно обнаружил в сети очередную убивалку времени. На этот раз вашему вниманию предлагается интересный хакерский квест, сделанный с юмором. В рунете упоминания о нем практически не встречаются. Состоит из 5 «разгревочных» уровней и 50 посложнее, для прохождения которых придется применить знания из самых разных областей.

После решения первых 5 уровней предоставляется возможность зарегистрироваться и получить в качестве приятного бонуса shell аккаунт на сервере с Debian Lenny. Дисковая квота до 2 Гб, подробнее про сервер можно узнать тут.

Желаю удачи :)
Total votes 59: ↑54 and ↓5 +49
Views 5.2K
Comments 339

Интересная задачка: повышаем стабильность (robustness) приложений

Lumber room
Продолжаем отрабатывать корпоративный план по формированию правильного общественного мнения о компании Microsoft и ее технологиях :) Время такое.

Итак, вот вам техническая задачка. Насколько я смог найти, ее разъяснения нет даже у Рихтера. К самому решению я надеюсь придти потом, когда будет возможность «подолее невозбранно» посидеть за компьютером, а пока условие.

Как известно, .Net проектировался с оглядкой на возможность глубокого взаимодействия с нативным кодом и COM. Не будем разбираться сейчас, было ли это техническим или политическим решением, важно вот что — взаимодействие с неуправляемым кодом является сложной проблемой, и может попить немало крови разработчика там, где он не ожидал. Предлагаемая задача — одна из этих.

UPD: Решение тут: habrahabr.ru/blogs/net/69650

Послушать про about
Total votes 17: ↑12 and ↓5 +7
Views 219
Comments 39

Интересная задачка: повышаем стабильность (robustness) приложений (ч. 2)

Lumber room
Итак, привожу решение проблемы из топика habrahabr.ru/blogs/net/69545 — про гарантированное освобождение неуправляемого ресурса.

Как правильно заметил товарищ adontz, проблема решается при помощи CER.
CER — это технология Constrained Execution Region, при помощи которой можно обезопасить свой код, гарантировав ему то, что на некотором его участке гарантированно _не_ случится асинхронного прерывания типа StackOverflow или ThreadAbort, или «отвалился» jitter — всякое бывает, и не всегда есть возможность оставить внешние ресурсы в консистентном состоянии.

Чего?
Total votes 30: ↑24 and ↓6 +18
Views 310
Comments 20

С#: Этюды, часть 1

.NET *
На канале c# в irc-сети Руснет пытаюсь развлекать людей т.н. этюдами. Это — короткие задачки, для решения которых требуется знать некоторые тонкости языка и реализации, и которые совсем не очевидны для человека, с упомянутыми тонкостями не знакомого.
Этюд номер 1 каналом уже разгадан, но хабросообщество его пока, скорее всего, не знает.
Читать дальше →
Total votes 56: ↑36 and ↓20 +16
Views 1K
Comments 43

C#: Этюды, часть 2

.NET *
Продолжение, начало здесь

Начну с соцопроса: какие Вы знаете способы выполнить код до начала функции Main() (надеюсь, что перечислят все известные мне и парочку неизвестных :) )?

А теперь задачка:

Перед Вами небольшой код, выводящий два символа (кстати, проверьте себя: в каком порядке они выведутся?). Необходимо вывести подчеркивание "_" между этими символами.
Конечно, задача была бы тривиальной без ограничений. А они следующие:

Читать дальше →
Total votes 25: ↑17 and ↓8 +9
Views 1.4K
Comments 43

C#: Этюды, часть 3

.NET *
В предыдущей части было предложено три разных по своей сути решения.

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

Итак, на странице Test.aspx имеется код:


Читать дальше →
Total votes 61: ↑34 and ↓27 +7
Views 1.3K
Comments 76

C#: Этюды, часть 4

Lumber room
Продолжение, предыдущая часть здесь

Итак, сегодня мы с Вами с помощью молотка и лопаты попытаемся сделать трепанацию черепа влезть во внутренности .NET.

Имеется простейший класс: class X { public int Val; }. При создании объекта этого класса какой реальный размер он будет занимать? И какие значения будут содержать дополнительные поля? Предъявите доказательство в виде кода на C# ;)
Читать дальше →
Total votes 18: ↑13 and ↓5 +8
Views 283
Comments 41