Задачи для собеседования.
От: Паблик Морозов  
Дата: 24.02.12 17:39
Оценка: 6 (1) +5 :))) :))) :))) :))) :))) :))) :))) :)))
Задачи для собеседования.

В этой
Автор: Паблик Морозов
Дата: 24.02.12
теме мы пришили к выводу, что задача обращения списка слишком сложна и нетривиальна, чтобы давать её на собеседованиях. Предлагаю составить список хороших, годных задач, которые можно давать сеньёр-девелоперам без опасений, что стресс усталость или отсутсвие опыта решения подобных задач в течение полугода помешают им их решить.

Пожалуй сам и начну.

Задача 1. Уровень Mid Developer Java/C#

Напишите программу, выводящую на экран Ваше имя.

Оценивается умение кандидата работать с system out, знание паттернов, умение писать своё имя без грамматических ошибок.
Re: Задачи для собеседования.
От: Flying Dutchman Украина  
Дата: 24.02.12 17:49
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Задачи для собеседования.


ПМ>В этой
Автор: Паблик Морозов
Дата: 24.02.12
теме мы пришили к выводу, что задача обращения списка слишком сложна и нетривиальна, чтобы давать её на собеседованиях. Предлагаю составить список хороших, годных задач, которые можно давать сеньёр-девелоперам без опасений, что стресс усталость или отсутсвие опыта решения подобных задач в течение полугода помешают им их решить.


ПМ>Пожалуй сам и начну.


ПМ>Задача 1. Уровень Mid Developer Java/C#


ПМ>Напишите программу, выводящую на экран Ваше имя.


ПМ>Оценивается умение кандидата работать с system out, знание паттернов, умение писать своё имя без грамматических ошибок.


Можно ли использовать Visual Studio и Google или нужно написать на бумажке? По памяти, на бумажке, я бы не написал (мой уровень — Senior Developer C#).
Re: Задачи для собеседования.
От: Сонный Программист Россия  
Дата: 24.02.12 18:01
Оценка: 12 (6) +17 -1 :)
Собеседование — это не экзамен в советском институте. Собеседование — это встреча серъезных людей, занятых делом.
Можно собеседование потратить с пользой, поговорив об опыте гостя и характере стоящих задач в компании, а можно потратить время впустую.

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

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

Мне случалось тоже бывать на таких собеседованиях. Дали задачку, решил, обсудили ее, дальше люди делают предложение. А как мне его принимать? Потратили два часа на задачу, ничего не рассказали о себе, не познакомили с коллективом, не сверили часы на тему cultural fit. Пришлось сказать "нет". А как соглашаться работать с людьми, о которых я ничего не знаю (кроме того, что не умеют грамотно проводить собеседования)?
Re[2]: Задачи для собеседования.
От: Паблик Морозов  
Дата: 24.02.12 18:05
Оценка:
Здравствуйте, Flying Dutchman, Вы писали:

FD>Можно ли использовать Visual Studio и Google или нужно написать на бумажке? По памяти, на бумажке, я бы не написал (мой уровень — Senior Developer C#).


Да, конечно. Думаю наиболее сообразительные кандидаты должны догадаться найти своё имя на страничке в социальной сети.
Re[2]: Задачи для собеседования.
От: Паблик Морозов  
Дата: 24.02.12 18:08
Оценка: +1
Здравствуйте, Сонный Программист, Вы писали:

С этим в соседнюю тему. Краткий ответ: "Talk is cheap. Show me the code." (c)
Re: Задачи для собеседования.
От: minorlogic Украина  
Дата: 24.02.12 18:15
Оценка:
С++

-----
" Програмисту дали задание реализовать функцию которая возвращает текущее время с точностью до секунды. В результате он показал заголовочный файл с таким объявлением

currentTime.h

int getCurrentTime();



Вопрос , какие вы видите проблемы и как бы вы смогли улучшить этот код?
"
-----
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: Задачи для собеседования.
От: Flying Dutchman Украина  
Дата: 24.02.12 18:18
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Задачи для собеседования.


ПМ>Оценивается умение кандидата работать с system out, знание паттернов, умение писать своё имя без грамматических ошибок.


Кстати, вопрос не лишен смысла. Я сам частенько забываю, как правильно пишется мое имя в голландском паспорте.
Re[2]: Задачи для собеседования.
От: Abyx Россия  
Дата: 24.02.12 18:23
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>С++


M>-----

M>" Програмисту дали задание реализовать функцию которая возвращает текущее время с точностью до секунды. В результате он показал заголовочный файл с таким объявлением

M>currentTime.h


M>int getCurrentTime();




M>Вопрос , какие вы видите проблемы и как бы вы смогли улучшить этот код?

M>"
M>-----

проблема одна — в задании ничего не говорится о том что должна возвращать функция.

/// Gets current time
/** Return value is offset from time when function was called (in any measurement system).
    Precision: (0, 1] seconds
*/
inline int getCurrentTime() { return 0; }
In Zen We Trust
Re[3]: Задачи для собеседования.
От: minorlogic Украина  
Дата: 24.02.12 18:32
Оценка:
Здравствуйте, Abyx, Вы писали:

A>проблема одна — в задании ничего не говорится о том что должна возвращать функция.


Задание на сеньера.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Задачи для собеседования.
От: os24ever
Дата: 24.02.12 18:40
Оценка: 4 (1)
M>Вопрос , какие вы видите проблемы и как бы вы смогли улучшить этот код?

Мой PHP сказал мне, что кретинические дни случаются у вашей функции раз в 68 лет:
<?= round ((pow (2,32) / (60 * 60 * 24 * 365)) / 2); ?>
Re[3]: Задачи для собеседования.
От: Flying Dutchman Украина  
Дата: 24.02.12 18:43
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Здравствуйте, Flying Dutchman, Вы писали:


FD>>Можно ли использовать Visual Studio и Google или нужно написать на бумажке? По памяти, на бумажке, я бы не написал (мой уровень — Senior Developer C#).


ПМ>Да, конечно. Думаю наиболее сообразительные кандидаты должны догадаться найти своё имя на страничке в социальной сети.


Да, специально для этого у меня на стартовой странице браузера есть ссылки на мой профайл в LinkedIn и RSDN.
Re: Задачи для собеседования.
От: мыщъх США http://nezumi-lab.org
Дата: 24.02.12 18:45
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Задачи для собеседования.

вот. "Cracking the Coding Interview: 150 Programming Questions and Solutions"
http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X

есть "look inside", так что можно получить представление о вопросах, которые на этих самых собеседованиях (в гугл, ms, fb) задают людям. не все вопросы легкие. и местами автор книги честно признается, что ответ предполгается получить, давая собеседуемому подсказки и корректируя траекторию полета его мысли.

ПМ>В этой
Автор: Паблик Морозов
Дата: 24.02.12
теме мы пришили к выводу, что задача обращения списка слишком сложна и нетривиальна,

а как вам задача типа этой: есть число 32 бит. получить ближайшее меньшее или большее число с таким же точно числом установленных бит. признаюсь, что у меня на решение ушло полчаса (при записи ответа в одну строку на си). по тупому, конечно, ее любой может решить. или... не любой?

> можно давать сеньёр-девелоперам без опасений, что стресс усталость или отсутсвие

> опыта решения подобных задач в течение полугода помешают им их решить.
предлагаю дать задачу сравнения двух деревьев. а разворот списка это, извините, в детсад и на горшке сидеть.
а как вам задача дефрагментации списка? т.е. упордочить элементы списка в памяти в том порядке в котором они идут в списке? а как упорядочить список за наименьше кол-во операций? а оценить кол-во операций от размера выделяемой доп. памяти?

ПМ>Пожалуй сам и начну.

ПМ>Задача 1. Уровень Mid Developer Java/C#
ПМ>Напишите программу, выводящую на экран Ваше имя.
ПМ>Оценивается умение кандидата работать с system out, знание паттернов, умение писать своё имя без грамматических ошибок.
кстати, я такое же задание давал тем, кого интевьировал. только там было не имя кандидата, а строку, передаваемую программе в качестве аргумента. оценивалось главным образом то, в каком виде кандидат это представит (задание на си). если это проект на студии, то это одно. если это линк на svn, в котором есть скрипт сборки, документация и readme с примером использования -- это совсем другое. (да, кандидату заранее говорилось, что представьте, что вы пишите скелет программы, с которым будут работать ваши коллеги, так что пишите не за 30 секунд, а за минут за полчаса).
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: Задачи для собеседования.
От: minorlogic Украина  
Дата: 24.02.12 18:57
Оценка:
Здравствуйте, os24ever, Вы писали:

M>>Вопрос , какие вы видите проблемы и как бы вы смогли улучшить этот код?


O>Мой PHP сказал мне, что кретинические дни случаются у вашей функции раз в 68 лет:

O>
O><?= round ((pow (2,32) / (60 * 60 * 24 * 365)) / 2); ?>
O>


Хорошее начало , а дальше ?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Задачи для собеседования.
От: os24ever
Дата: 24.02.12 19:02
Оценка:
M>Хорошее начало , а дальше ?

Сменим тип на "unsigned int" или 64-разрядный "long long", тоже без знака.
Re[5]: Задачи для собеседования.
От: minorlogic Украина  
Дата: 24.02.12 19:03
Оценка:
Здравствуйте, os24ever, Вы писали:

M>>Хорошее начало , а дальше ?


O>Сменим тип на "unsigned int" или 64-разрядный "long long", тоже без знака.


Пока есть положительный сдвиг , но очень малый (как по мне).
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[6]: Задачи для собеседования.
От: os24ever
Дата: 24.02.12 19:13
Оценка:
M> Пока есть положительный сдвиг , но очень малый (как по мне).

Можно было бы добавить параметры: временная зона, локаль и т.д.

Но задание на сеньёра, поэтому сеньёр так делать не хочет. Он помнит, что он где-то когда-то уже видел, что всё это задавалось в переменных окружения или в файлах настроек (и язык и кодировка тоже).

Re[7]: Задачи для собеседования.
От: minorlogic Украина  
Дата: 24.02.12 19:16
Оценка:
Здравствуйте, os24ever, Вы писали:

M>> Пока есть положительный сдвиг , но очень малый (как по мне).


O>Можно было бы добавить параметры: временная зона, локаль и т.д.


O>Но задание на сеньёра, поэтому сеньёр так делать не хочет. Он помнит, что он где-то когда-то уже видел, что всё это задавалось в переменных окружения или в файлах настроек (и язык и кодировка тоже).


Это уже НАМНОГО ближе к идеальному с моей точки зрения ответу.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: Задачи для собеседования.
От: hrensgory Россия  
Дата: 24.02.12 19:45
Оценка:
> Задача 1. Уровень Mid Developer Java/C#
>
> Напишите программу, выводящую на экран Ваше имя.
>
> Оценивается умение кандидата работать с system out, знание паттернов,
> умение писать своё имя без грамматических ошибок.

Если добавить сюда "на русском языке", а system.out будет писать в
консоль винды, то тут ещё много чего можно проверить

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Задачи для собеседования.
От: Паблик Морозов  
Дата: 24.02.12 19:59
Оценка:
Здравствуйте, мыщъх, Вы писали:

Я эту поржать создал, серьёзно пишем в ту -->

М>Здравствуйте, Паблик Морозов, Вы писали:


М>а как вам задача типа этой: есть число 32 бит. получить ближайшее меньшее или большее число с таким же точно числом установленных бит. признаюсь, что у меня на решение ушло полчаса (при записи ответа в одну строку на си). по тупому, конечно, ее любой может решить. или... не любой?


ИМХО нет смысла давать получасовую задачу, особенно если в процессе её решения не о чем разговаривать с кандидатом. Задача неразрешима, если число — 0. Ближайшее большее — сдвиг исходного числа на один бит влево, зануление всех бит, кроме самого старшего, установка n — 1 младших бит (где n — кол-во установленных бит в исходном числе). Это по-тупому, как в одну строчку сейчас не придумаю.

М>предлагаю дать задачу сравнения двух деревьев. а разворот списка это, извините, в детсад и на горшке сидеть.


Нам бы хоть так...
Re[2]: Задачи для собеседования.
От: мыщъх США http://nezumi-lab.org
Дата: 24.02.12 20:14
Оценка: 12 (1) +3
Здравствуйте, Сонный Программист, Вы писали:

СП> Собеседование — это не экзамен в советском институте. Собеседование — это встреча серъезных людей, занятых делом.

"экзамен это беседа двух умных людей. а если один из них дурак? тогда другой лишается стипендии" (с)

СП> Можно собеседование потратить с пользой, поговорив об опыте гостя и

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

короче, нужен входной фильтр.


СП>Давать задачки, это самый бестолковый способ потратить ценное и очень ограниченное время.

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

вам не кажется, что интервью без вопросов это как постель без секса?

СП>Нужно поговорить об опыте человека, что он умеет, чем он занимался, чем он хочет заниматься,

ответ стандартый. умею X, Y, Z. сталкивался с M, K, L. но это как бы не вопрос, потому что я способный и быстро учусь.

> Представить компанию, описать задачи, менталитет коллектива.

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


СП> Конкретные задачи сможет решить либо человек, который к ним готовился, либо человек,

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

СП> Позволю себе предположить, что готовиться к решению задачек будут люди, которым позарез нужна работа,

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

СП> а люди, прекрасно себя чувствующие на рынке труда, не будут заниматься ненужным и неоплачиваемым делом.

если на собеседовании предлагают написать маленький http-сервер (и ведь предлагают же, судя по статьям в иннете), то его и писать не надо, т.к. он уже готовый есть (например, в том же питоне в стандартной поставке). а если писать все-таки надо, то с рабочим сервером устаивается на работу нет мазы, лучше двинуть его на рынок. кстати, работодатели, дающие такие задачи, не в состоянии ответить на элементарный вопрос: сформулируйте список требований к серверу и обоснуйте чем вам не подходят уже существующие.


СП> А как соглашаться работать с людьми, о которых я ничего не знаю (кроме того, что не умеют грамотно проводить собеседования)?

это уже другой вопрос.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.