hitech: Основная иконка (Default)
Saturday, July 1st, 2017 20:28
Если у стола отпилить угол, то у него станет на один угол больше.
Логический парадокс.

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

Слово «решка» происходит от слова «решётка». Так выглядел аверс пятикопеечной монеты 1727 года.

Ещё одна логическая задачка с собеседований. Простенькая, но тем не менее позволяющая отсеивать совсем неадекватных.

Все знают, как сделать выбор одного из двух вариантов при помощи идеально сбалансированной монеты: одному из вариантов присваивается соответствие «орла» (той стороны, где герб), второму — «решки» (той стороны, где номинал). Монета подбрасывается; выбирается тот вариант, соответствующая которому сторона оказалась верхней при падении монеты.

А как сделать выбор одного из трёх вариантов?

Неправильное решение и правильное решение — под катом. )

Задача со звёздочкой: предположим, монета не совсем сбалансирована и выпадает орлом в 40 % случаев, а решкой — в 60%. Выбор одного из двух вариантов с помощью такой монеты тоже очевиден: бросаем дважды, орёл-решка — вариант А, решка-орёл — вариант Б, иначе бросаем заново. Как с помощью такой несбалансированной монеты осуществить выбор одного из трёх вариантов? Эту задачу я оставлю читателям для самостоятельного решения, хотя, учитывая написанное выше, ответ будет очевидным, ведь он заключается в простом расширении приведённого выше правильного решения.

Я очень люблю, выслушав неправильный ответ на эту задачу, брать реальную монету и начинать подбрасывать её, объяснив кандидату, что перспектива его трудоустройства зависит от результатов броска монетки. Ничто не сравнится с личной мотивацей 😊

hitech: (computer)
Tuesday, October 4th, 2016 03:45
В своем резюме вы указали, что хотели бы поработать на интересном проекте… Вы этот проект с собой принесли?
Вопрос на собеседовании.

Давненько в этом журнале не было задач с собеседований…

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

На сей раз я предложу вашему вниманию две задачи, одна из которых очень простая, а вторая — весьма сложная.

Задача первая, логическая )
Задача вторая, программерская низкоуровневая )
hitech: (computer)
Friday, February 12th, 2016 01:56
— К себе на работу мы вас ни при каких условиях не возьмем. Но будем платить тройной оклад, если вы устроитесь на работу к нашим конкурентам.
Фраза, сказанная по итогам собеседования.

Я извиняюсь за второй пост подряд про задачи с собеседований, но это вопль души. В данном случае пост будет насквозь технический, и люди, не интересующиеся компьютерами, могут его пропустить без каких-либо последствий.

На сей раз разберём две задачи:

Первая задача, разминочная. Формулировка, четыре вопроса, решения. )

Вторая задача — алгоритмическая. Над ней предполагается думать.

Формулировка и решения )

Куда делись времена, когда каждый компьютерщик свободно считал в уме в двоичной, восьмеричной и шестнадцатеричной системах и мог написать загрузчик операционной системы в двоичных кодах?

Это я такой старый, что для меня первое задание в принципе считается больше вопросом «на кнопку» в терминологии «Брэйн-ринга», чем задачей, над которой нужно думать, или это нынешние выпускники университетов и колледжей пошли такие, что курс по структурам данных, самый важный предмет за всю их учёбу, считается ненужным и забывается сразу после сдачи экзамена? Я не шучу, тридцать человек брались за эти задания, и ни один не вспомнил классические решения из базового курса по структурам данных! Куда катится этот мир?! Эти люди будут писать программы, с помощью которых будет вращаться завтрашняя Вселенная; да она же навернётся в BSOD на втором витке!

Всем спасибо за внимание, я пошёл топить своё горе в фаршированных нежной баранинкой болгарских перцах.

hitech: Основная иконка (Default)
Wednesday, February 3rd, 2016 20:26

Давненько я вас постами не радовал… Ну вот, держите для затравки:

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

Предыдущие задачи с собеседований я публиковал тут, тут, тут и тут.

Эта задача предназначена для программистов, пишущих на Java. В отличие от прошлых задач, эта задачка требует немного технических знаний, но решается, конечно, логикой. ЧЗВЧГКНЯ!

Формулировка задачи )
Подсказка )
Правильный ответ )

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

hitech: (computer)
Sunday, March 1st, 2015 20:03
— Итак, вы готовы отвечать?
— Я не понял вопрос, поставьте его по-другому.
— ¿
— А мне нравится ваш подход!
На собеседовании.

Предыдущие задачи были здесь, здесь и здесь.

Одна из самых известных задач на собеседованиях формулируется следующим образом:

У вас есть однонаправленный связный список, то есть адрес первого узла этого списка. В каждом узле есть поле данных, которое трогать нельзя, и поле next с адресом следующего элемента списка. Есть шанс, что список зациклен, то есть существует вероятность, что у последнего узла поле next содержит не NIL (символ окончания списка), а адрес одного из уже пройденных узлов. Какого именно — неизвестно. Предложите простой способ проверить зацикленность списка, используя минимум дополнительных ресурсов.
Под катом — два решения. )
hitech: (computer)
Thursday, August 14th, 2014 21:53
Если вам на собеседовании сказали следующую фразу: «Мне кажется, вы не подходите для этой должности. Только без обид!» — улыбнитесь и спокойно ответьте: «Господи, да какие могут быть обиды! Вот если бы мне это сказал профессионал, то я бы, конечно, расстроился. А вы-то чем меня обидеть можете?»
Из инструкции «Как вести себя на собеседовании».

Продолжаю мучить вас логическими задачами с собеседований. (Предыдущие задачи: раз, два).

Условие крайне простое: кандидату дают в руки закрытую бутылку из-под виски, до краёв заполненную водой, и линейку, градуированную в каких-то единицах измерения, — в сантиметрах, в миллиметрах, в дюймах, неважно. Задача: посчитать внутренний объём бутылки.

Дополнительные данные, решение и бонусная задача )
hitech: (computer)
Sunday, July 13th, 2014 13:51
Ложь не считается ложью, если является ответом на вопрос, который спрашивающий не должен был задавать.
Из правил проведения собеседования.

Помнится, логическая задачка с нарезанием куба вам понравилась. Вот ещё одна хорошая логическая задачка, которую иногда задают на собеседованиях. Особо хочу подчеркнуть, что эта задачка предназначена программистам, и проверяет не знание физики, а умение мыслить.

Читать условие задачи. Осторожно: решение где-то рядом! )
hitech: (computer)
Saturday, July 5th, 2014 00:55
Правда ли, что смесь php, css, js, html и sql в одном файле имеет слабительный эффект?
Вопрос из собеседования.

Неотъемлемой частью собеседования в компьютерных компаниях являются задачи на логическое мышление. Обычно такие задачи относительно легко формулируются и имеют как минимум два решения: одно — совершенно правильное, математическое, до которого сложно додуматься за те несколько минут, которые отводятся на решение подобной задачи в условиях собеседования, и второе — интуитивное, без сложного математического обоснования, но тоже совершенно правильное.

Одна из любимых моих задач подобного рода — задача о разрезании куба:

Читать задачу и возможные решения )

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