Уместно ли давать задачку о взвешивании монет
От: $$ Австралия жж
Дата: 22.01.20 07:54
Оценка:
Эту задачку
http://rsdn.org/forum/education/7631472.flat
Автор: NovaMind
Дата: 11.01.20


на интервью? Мне сказали, что неуместно.

И ещё, уместно ли резать за незнание паттерна Visitor? Ведь незнание паттерна Visitor, не позволит дизайнить элегантный дизайн.

PS Мне в шутку предлагали спрашивать паттерн Hierarchical State Machine (из реального проекта), но я не воспринимаю всерьёз ибо это сразу fatality кандидата- или я не прав?
Отредактировано 22.01.2020 7:59 Артём . Предыдущая версия .
Re: Уместно ли давать задачку о взвешивании монет
От: aik Австралия  
Дата: 22.01.20 08:07
Оценка: +2 :))
Здравствуйте, $$, Вы писали:

$>Эту задачку
$>http://rsdn.org/forum/education/7631472.flat
Автор: NovaMind
Дата: 11.01.20

$>на интервью? Мне сказали, что неуместно.

Надо ответить самому себе на 2 вопроса:
1. что ты подумаешь как кандидат если у тебя попросят такое;
2. насколько срочно нужен человек.

Если ответы "да нормально" и "не горит", то можно спрашивать решительно всё, что не может привести к судебным искам. Найм подзанянется, но зато будет весело понаблюдать за кандидатами, сюда только напиши результаты. Спрашивай только ближе к концу, чтоб народ сходу не разбегался.
Re: Уместно ли давать задачку о взвешивании монет
От: yoyoyo  
Дата: 22.01.20 08:08
Оценка:
$>на интервью? Мне сказали, что неуместно.

Если цель проверить знает ли человек ответ, то да, можно спросить.
Лично я, прежде чем спрашивать что-то на собеседовании (головоломки не задаю обычно), вспоминаю сколько сам потратил времени на решение. Потом умножаю это время на 2 (человек находится в состоянии стресса на собеседовании) и если суммарное число меньше 10 минут, то можно спросить.
Re[2]: Уместно ли давать задачку о взвешивании монет
От: $$ Австралия жж
Дата: 22.01.20 08:21
Оценка:
Здравствуйте, aik, Вы писали:

aik>1. что ты подумаешь как кандидат если у тебя попросят такое;

Так это не редкость в HFT конторах да даже и в биржах спрашивали например, задачку с числрм бросаний marbles с этажей, не помню точно но вроде оно похоже на число взвешиваний, только сложнее.


aik>2. насколько срочно нужен человек.

Здесь всё несрочно- тебе ли не знать.

aik>Если ответы "да нормально" и "не горит", то можно спрашивать решительно всё, что не может привести к судебным искам. Найм подзанянется, но зато будет весело понаблюдать за кандидатами, сюда только напиши результаты. Спрашивай только ближе к концу, чтоб народ сходу не разбегался.

К концу не будет времени на подумать.
Re: Уместно ли давать задачку о взвешивании монет
От: halo Украина  
Дата: 22.01.20 08:39
Оценка:
Здравствуйте, $$, Вы писали:

$>И ещё, уместно ли резать за незнание паттерна Visitor?

Нет.
Re: Уместно ли давать задачку о взвешивании монет
От: Muxa  
Дата: 22.01.20 08:42
Оценка:
да
нет
Re: Уместно ли давать задачку о взвешивании монет
От: so5team https://stiffstream.com
Дата: 22.01.20 08:52
Оценка: +5
Здравствуйте, $$, Вы писали:

$> паттерн Hierarchical State Machine (из реального проекта)

Понятие иерархического конечного автомата уже стало паттерном?
Re: Уместно ли давать задачку о взвешивании монет
От: Gradiens  
Дата: 22.01.20 08:55
Оценка: +3
Здравствуйте, $$, Вы писали:

$>Эту задачку
$>http://rsdn.org/forum/education/7631472.flat
Автор: NovaMind
Дата: 11.01.20


$>на интервью? Мне сказали, что неуместно.

Это же не оскорбительный личный вопрос, так что вполне уместно.
Вот давеча объяснял своему ребенку эту задачу, она была в учебнике по математике за 6 класс.

Другой вопрос зачем? Или, скажем так, нахуа?

Каждый раз, задавая вопрос кандидату, надо понимать, зачем тебе нужен конкретно этот вопрос.
Вот если кандидат решил задачу (что должно быть, происходит в 95% случаев) — что это тебе скажет? ИМХО — ничего. ноль полезной информации.
Если не решил — это странно. Как минимум, он прогуливал в 6-м классе, а во взрослой жизни полностью игнорировал головоломки. Ну и что из этого? Как это связано с умением писать код? Как связано с личными (необходимыми в работе) человеческими качествами?

Некоторые головоломки задают с целью посмотреть на стиль мышления кандидата. Так вот, это — не такая задача.


$>И ещё, уместно ли резать за незнание паттерна Visitor? Ведь незнание паттерна Visitor, не позволит дизайнить элегантный дизайн.

Зависит конечно от позиции и от того, чем вы там занимаетесь. Резать ИМХО неуместно. Серьезный минус влепить и продолжить общение — вполне.
Например, в кровавом энтерпрайзе, где я обитаю, за последние 5 лет мне 1 раз попалась задача, которую без визитора ну никак вообще (генерация отчетов с динамически меняющейся структурой со вложенными таблицами и другими объектами, где надо ручками ширину-высоту считать, одну ячейку тронул — все остальные разъехались).
Надо смотреть что у кандидата по другим шаблонам и принципам, а потом уж "резать".
Re: Уместно ли давать задачку о взвешивании монет
От: bexab  
Дата: 22.01.20 09:19
Оценка:
Здравствуйте, $$, Вы писали:

$>И ещё, уместно ли резать за незнание паттерна Visitor? Ведь незнание паттерна Visitor, не позволит дизайнить элегантный дизайн.
Паттерн-матчинг превращает "элегантный дизайн" на Визиторе в шорты
Re[2]: Уместно ли давать задачку о взвешивании монет
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.01.20 09:46
Оценка:
Здравствуйте, so5team, Вы писали:

S>$> паттерн Hierarchical State Machine (из реального проекта)

S>Понятие иерархического конечного автомата уже стало паттерном?

State Machine относят к паттернам, так что, логично предположить что и подмножество паттерна можно считать паттерном

P.S. но я не говорю ничего про разумность такого вопроса на собеседовании
Re[3]: Уместно ли давать задачку о взвешивании монет
От: so5team https://stiffstream.com
Дата: 22.01.20 09:53
Оценка: 15 (1)
Здравствуйте, kaa.python, Вы писали:

S>>Понятие иерархического конечного автомата уже стало паттерном?


KP>State Machine относят к паттернам,


Давно?

Вроде бы State Pattern -- это один из возможных способов реализации понятия State Machine. Но не наоборот.
Re: Уместно ли давать задачку о взвешивании монет
От: reversecode google
Дата: 22.01.20 10:20
Оценка:
спрашивайте о том с чем придется кандидату иметь дело ближайшие 3 месяца

а то иначе отберуться кандидаты которые знают только этот паттерн
Re[3]: Уместно ли давать задачку о взвешивании монет
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 22.01.20 10:28
Оценка: 15 (1)
Здравствуйте, kaa.python, Вы писали:

KP>State Machine относят к паттернам, так что, логично предположить что и подмножество паттерна можно считать паттерном


Нет, не относят — конечный автомат (машина состояний), это с чем-то другим перепутано, возможно с частично схожим именем. В книге Мартина Фаулера "UML. Основы", рассматриваются различные диаграммы поведений, в частности диаграмма деятельности и диаграмма состояний. Причём диаграмма деятельности UML поддерживает в том числе исполнение в различных потоках. При этом с логической точки зрения диаграмма деятельности является подмножеством диаграммы состояний, о чём и говорится в книге.
Re[2]: Уместно ли давать задачку о взвешивании монет
От: $$ Австралия жж
Дата: 22.01.20 10:48
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Вот если кандидат решил задачу (что должно быть, происходит в 95% случаев)

Мне сказали, что это слишком жёсткий вопрос.

G> Как это связано с умением писать код?

Корелляция

G>Некоторые головоломки задают с целью посмотреть на стиль мышления кандидата. Так вот, это — не такая задача.

И какие бывают "стили мышления"? Либо решил, либо нет.


G>$>И ещё, уместно ли резать за незнание паттерна Visitor? Ведь незнание паттерна Visitor, не позволит дизайнить элегантный дизайн.


G>Зависит конечно от позиции и от того, чем вы там занимаетесь. Резать ИМХО неуместно. Серьезный минус влепить и продолжить общение — вполне.

Ну я от чела из HFT конторв на митапе слышал "многие кандидаты не знают даже visitor".

G>Например, в кровавом энтерпрайзе, где я обитаю, за последние 5 лет мне 1 раз попалась задача, которую без визитора ну никак вообще (генерация отчетов с динамически меняющейся структурой со вложенными таблицами и другими объектами, где надо ручками ширину-высоту считать, одну ячейку тронул — все остальные разъехались).

Visitor удобен для определенных сценариев. Знание его говорит о глубине познаний кандидата в, собственно, дизайне систем.

G>Надо смотреть что у кандидата по другим шаблонам и принципам, а потом уж "резать".

Типа вспомнил про фабрику и синглтон- уже лучший программист?
Re[4]: Уместно ли давать задачку о взвешивании монет
От: $$ Австралия жж
Дата: 22.01.20 10:55
Оценка:
Здравствуйте, velkin, Вы писали:

KP>>State Machine относят к паттернам, так что, логично предположить что и подмножество паттерна можно считать паттерном


V>Нет, не относят — конечный автомат (машина состояний), это с чем-то другим перепутано, возможно с частично схожим именем. В книге Мартина Фаулера "UML. Основы"


Вот видишь, для тебя этот вопрос- фаталити.

Читай https://statecharts.github.io/use-case-statecharts-in-user-interfaces.html
Re: Уместно ли давать задачку о взвешивании монет
От: Михaил  
Дата: 22.01.20 11:01
Оценка:
Здравствуйте, $$, Вы писали:

$>Эту задачку
$>http://rsdn.org/forum/education/7631472.flat
Автор: NovaMind
Дата: 11.01.20


$>на интервью? Мне сказали, что неуместно.

$>И ещё, уместно ли резать за незнание паттерна Visitor? Ведь незнание паттерна Visitor, не позволит дизайнить элегантный дизайн.

$>PS Мне в шутку предлагали спрашивать паттерн Hierarchical State Machine (из реального проекта), но я не воспринимаю всерьёз ибо это сразу fatality кандидата- или я не прав?

А какие качества и навыки ищешь в будущих сотрудниках (подчиненных?). Какие задачи ему придётся решать под твоим руководством? Какая цель собеседования?
Re: Уместно ли давать задачку о взвешивании монет
От: fmiracle  
Дата: 22.01.20 11:03
Оценка: +2
Здравствуйте, $$, Вы писали:

$>Эту задачку
$>http://rsdn.org/forum/education/7631472.flat
Автор: NovaMind
Дата: 11.01.20

$>на интервью? Мне сказали, что неуместно.

Твое собеседование — твои правила

Вопрос только — что ты этим вопросом определить хочешь?

Лучше всего ее решат те, кто именно для данной задачи решение уже знал. При этом такой человек, возможно, своим умом до нее вообще бы никогда не дошел. Но задачу где-то видел, она понравилось, решение прочитал, запомнил.
Далее по списку простоты прохождения задачи — те, когда-то задачу решал, но подзабыл и те, кто много решал задачи на взвешивания/переливания. То ли потому что любят головоломки, то ли потому, что готовились к собеседованиям и видели что такие задачи иногда спрашивают, то ли потому, что ребенок в школе решает и они заодно. Связано ли это все с умением писать код? Ну может и связано, но как-то явно не напрямую.

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

Таким образом, подобная задача позволит тебе отобрать людей, уже обладающих навыками решения задач на взвешивания/переливания. Это то, что тебе требуется?
Re[2]: Уместно ли давать задачку о взвешивании монет
От: Vlad_SP  
Дата: 22.01.20 11:07
Оценка:
Здравствуйте, fmiracle,

F> Таким образом, подобная задача позволит тебе отобрать людей, уже обладающих навыками решения задач на взвешивания/переливания. Это то, что тебе требуется?


А вдруг он ищет сотрудника на должность кассира или, скажем, бармена?
Re[4]: Уместно ли давать задачку о взвешивании монет
От: fmiracle  
Дата: 22.01.20 11:11
Оценка:
Здравствуйте, velkin, Вы писали:

KP>>State Machine относят к паттернам, так что, логично предположить что и подмножество паттерна можно считать паттерном

V>Нет, не относят — конечный автомат (машина состояний)

Паттерн — это некоторый шаблон. Такое типовое решение кусочка задачи. Причем такой, чтобы ты дал его название и другой программист сразу понял о чем речь, без пересказа кода и алгоритма. Типа "этот сервис тут синглтон" или "задания создаются через фабрику" — и сразу понятно о чем речь.
И в таком смысле конечный автомат вполне себе "паттерн". Я смотрю на задачу и понимаю, что через конечный автомат ее можно решить. При ревью говорю коллеге "для поиска подстроки тут использован конечный автомат" и он уже боле-менее понимает как код работает.
Re[3]: Уместно ли давать задачку о взвешивании монет
От: fmiracle  
Дата: 22.01.20 11:14
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

F>> Таким образом, подобная задача позволит тебе отобрать людей, уже обладающих навыками решения задач на взвешивания/переливания. Это то, что тебе требуется?

V_S>А вдруг он ищет сотрудника на должность кассира или, скажем, бармена?

Тогда задача хороша! Но я бы все же специфицировал: кассирам — задачи на взвешивания монет и определение фальшивой, барменам — задачи на переливания.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.