LINUX.ORG.RU
ФорумTalks

Про собеседования на вайтборде

 


3

2

Наткнулся на забавный пост Бугаенко, который обиделся на рекрутеров Амазона на тему рисования алгоритмов на вайтборде.

Вот тут можно посмотреть сумму срачей со ссылками:
https://jug.ru/2017/02/bugayenko-recruiters/

Вот про сам вайтборд - это интересно! Я не использовал ручку с бумагой уже лет, наверное, десять. Если нужно вести конспект живой речи, обычно это делается с ноутбуком, в котором открыт софт для Mind Mapping (типа Mindjet MindManager - там удобные хоткеи и вообще). Если надо нарисовать диаграмму - то она рисуется мышкой в Визио (или чем-то получше типа Magicdraw UML, если на него есть деньги). Если нужно нарисовать график, то это точно будет эксель и кальк, но никак не тетрадка в клетку.

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

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

Также вайтбордом полностью игнорируются типичные практики формирования этих мыслей. Например, я года два (в общей сложности) использовал PHP, но не знаю в точности его синтаксиса. Да и что там знать, он за всё это время поменялся несколько раз. Когда я пишу, подсознание автоматически мониторит подсказки от IDE и выхлоп компилятора, и в режиме test driven development выдает результирующий код. Проще перезапустить тесты и увидеть косяк, чем разбираться в нем с помощью своего мозга. Таким образом ноутбук с компилятором и IDE становятся частью мышления, самых базовых низкоуровневых рефлексов. Ты не думаешь как дышать и моргать. Ты не думаешь, когда нажимаешь кнопку «перезапустить тесты» или корректируешь подчеркнутое красным. Оно происходит само, совершенно отдельно от твоего сознания.

Что происходит, когда у тебя внезапно исчезает воздух? Случается паника, острая необходимость найти источник воздуха, совершенная неспособность что-либо делать без дальнейшего поступления воздуха. Точно такая же аника случается, если забрать у человека нормальную IDE типа Эклипсы и заставить писать код в vim или notepad.exe. Если вообще забрать ноут и заставить чертить рисунки на доске - то пиши пропало.

По сути, на собеседовании человека лишают основного его средства выражения мыслей (ноутбука), и заставляют писать какой-то немыслимой херней. Что же в этом плане могло пойти не так?
Людям, которые любят вайтборды, возьмете меня рекрутером? Только что придумал несколько забавных испытаний для соискателей:
а) Написание кода под водой, ногами на песке.
б) Написание кода под бутиратом.
в) Написание кода под ЛСД. Десять стандартных доз.
г) Написание кода на эстонском языке, сделав вид что это Java, и что в окружающем мире не выполняется транзитивность.
д) Написание кода кровью на обоях. Представляя себя Есениным. Сложность в том, что Есенин не умел кодить.
е) Методично избивать соискателя каждый раз, когда в голове забрезжит идея. Не давать глазам сфокусироваться.

Главная идея всех испытаний в том, чтобы человек совершенно не мог использовать привычные методы мышления для решения задачи.

ж) ну и на вайтборде рисовать, как же это можно забыть

★★★★☆

Так уж сразу и говори на собеседовании - для написания кода мне требуется: ноутбук, 10 программ, кровать, 3 монитора, чай, пельмени. Также не забудь упомянуть, что код можешь писать с 10-15 по четным дням, 7-9 по нечетным. Удачи!

tyakos ★★★
()
Ответ на: комментарий от alpha

третий раз за неделю уже приходят спрашивать как git rebase делать, потому как «idea не смогла», волшебная кнопка сама не отработала, а что там внутри никто не знает

одни и теже приходят? очередные твои фанаты просто симпатизируют и пытаются урвать хоть чуточку внимания

n_play
()

А попробуйте представить себе то же самое, но про медицину. То есть врач или лечит тебя, или тараканит по медстандарту - разница же есть, даже если ты (пациент) не понимаешь, в чем она.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

Да так и есть: ставят шаблонный диагноз, назначают шаблонное лечение. Не помогает — корректируют назначения. А если редкая «зараза» — то всё, задолбаешься искать специалиста.

mandala ★★★★★
()

б) Написание кода под бутиратом.

в) Написание кода под ЛСД. Десять стандартных доз.

Главная идея всех испытаний в том, чтобы человек совершенно не мог использовать привычные методы мышления для решения задачи.

нуууу... как тебе сказать.... ))

Rastafarra ★★★★
()
Ответ на: комментарий от vtVitus

на собеседовании писать код вообще бред

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

Rastafarra ★★★★
()

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

Quasar ★★★★★
()
Ответ на: комментарий от Deleted

Map<String, Object> который игнорирует регистр ключей (строк)

TreeMap (CASE_INSENSITIVE_ORDER)

тут ты и облажался

ты где-то просил особый мап? :)

Rastafarra ★★★★
()
Ответ на: комментарий от unikoid

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

Quasar ★★★★★
()
Последнее исправление: Quasar (всего исправлений: 1)
Ответ на: комментарий от unikoid

Ткнуть в конкретный раздел документации - делов то.

Quasar ★★★★★
()

IDE головного мозга.

drull ★☆☆☆
()

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

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

Ну и конечно же Бугаенко не кодерок какой-нибудь, а СИ ТИ ОУ, представитель топ менеджмента то бишь. Еще бы швабру дали и проверили как полы моет!

Midael ★★★★★
()

на собеседовании человека лишают основного его средства выражения мыслей (ноутбука)

Да, это очень печально. Есть горький опыт, когда привычную рутинную задачу не смог решить. Вытолкали из зоны комфорта, не умею работать под давлением.

и заставляют писать какой-то немыслимой херней

Вайтборд это еще норм. Совсем плохо когда карандаш и тетрадный лист.

ЗЫ пришел как-то в киевский Люксофт, а там в переговорке нет нормальных маркеров - все высохшие.

outtaspace ★★★
()
Ответ на: комментарий от tyakos

ноутбук, 10 программ, кровать, 3 монитора, чай, пельмени

Абсолютно нормальные хотелки. Комфорт разработки прежде всего и главное правило: «не можешь помочь? не мешай!».

что код можешь писать с 10-15 по четным дням, 7-9 по нечетным.

Очень натянуто. Впрочем почему нет?

outtaspace ★★★
()
Ответ на: комментарий от waker

любят рисовать на вайтборде алгоритмы и всякие схемы

По схемам вопроса нет. При любой возможности бежим к вайтборду и чертим.

Вопрос в написании кода. Например сложного sql-запроса.

outtaspace ★★★
()
Ответ на: комментарий от Quasar

необходимо делать допущения с заострением внимания на алгоритме

Да.

unikoid ★★★
()
Ответ на: комментарий от Quasar

Код как таковой пишется в виде кода потому, что компьютер так устроен.

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

Harald ★★★★★
()
Последнее исправление: Harald (всего исправлений: 1)
Ответ на: комментарий от Rastafarra

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

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

vtVitus ★★★★★
()

А какой алгоритм (из тех, что могут попросить на собеседовании) можно в виде кода на вайтборде (обычного размера) уместить? printf(«Hello world\n»); ? Ну максимум сортировку пузырьком, либо писать ооооооооооочень маленьким шрифтом и всё в одну длинную строчку.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от outtaspace

Вопрос в написании кода. Например сложного sql-запроса.

меня просили написать код на вайтборде на нескольких интервью. было трудно, но написал. впоследствии предупреждал интервьюеров, что предпочитаю бумажку с ручкой, из соображений удобства, и всегда шли навстречу. думаю, если человек не может что-то примитивное написать на доске/бумажке, то он и на компе будет писать через гугл/so, и хотя на таких «программистов» спрос тоже имеется, далеко не все их хотят брать.

waker ★★★★★
()
Ответ на: комментарий от DELIRIUM

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

типично просят всякое вроде реверсить строку, удаление элемента из linked list, вот это все. практически hello world. все то, что питонщики/пыхеры считают ненужным, с гордостью говоря «мы никогда не используем моск в работе!».

waker ★★★★★
()

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

WARNING ★★★★
()
Ответ на: комментарий от waker

Это все можно на пальцах объяснить. Я предпочитаю как на экзамене: пусть кандидат набросает что-то на бумажке если ему надо, а потом расскажет решение. Впрочем, все это плохо работает, ибо трудно так хоть кого то нанять, а галеры стынут. Ну если ты гугл, то наверно можно позволить и тестовое задание на собеседовании, и вообще изгаляться всяко.

bread
()
Ответ на: комментарий от bread

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

а если нанимать тех, кто даже этого не может — галеры потонут :D

waker ★★★★★
()

Бред. Что, впрочем, для этого топикстартера характерно.

1) Синтаксис не важен. Нормальный ректрутер либо не обратит внимания на незакрытую скобку, либо сам поправит и тут же забудет.

2) На вайтбордах пишут на определённом языке программирования, а не на PHP.

Miguel ★★★★★
()
Ответ на: комментарий от DELIRIUM

На последнем интервью я разворачивал строку по словам. То есть, чтобы «Мама мыла раму» превратилось в «раму мыла Мама». Не «на месте» (классическое решение «развернуть строку по символам, а затем развернуть каждое слово» мы исключили сразу). Нормально, уложился. Пара вложенных циклов, ветвление, все дела. Строк, наверное, под двадцать ушло.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

Что предложишь для визуализации алгоритмов? Псевдокод? Или может сразу на жабе? Тогда нужно школьную доску притаранить шириной в стену.

bread
()
Ответ на: комментарий от Miguel

20 строк обычно на вайтборде не помещается, кмк. А 20 строк - это на чём? А то

print join ' ', reverse split /\s+/, <>;
$ echo "Мама мыла жопу"|./test.pl 
жопу мыла Мама
DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от Miguel

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

bread
()
Ответ на: комментарий от Rastafarra

тебя хоть гдето учили читать целиком или в память помещаются только слова-маркеры?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от bread

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

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

Джава. Чистая, без спецбиблиотек.

И нет, решение неправильное (хинт: два пробела между словами надо сохранить).

Miguel ★★★★★
()
Последнее исправление: Miguel (всего исправлений: 1)
Ответ на: комментарий от bread

Чтобы не увидеть ничего?

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

Miguel ★★★★★
()
Ответ на: комментарий от vtVitus

у программиста должно быть портфолио

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

Rastafarra ★★★★
()
Ответ на: комментарий от stevejobs

Щазз девопсом называют совсем другую специализацию, раньше их интеграторами называли, или там мержерами...

Jetty ★★★★★
()

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

а я вот с этим самым желанием пытаюсь бороться

WerNA ★★★★★
()
Ответ на: комментарий от Jetty

глянь Google SRE Book, там хорошо написано, кто такой девопс, вся книжка про это. И на первой же странице четко написано, что девопс (точнее SRE в их терминологии) - это инженер-разработчик в первую очередь, и только потом всё остальное

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от waker

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

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

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от Rastafarra

А до жены-детей и nda он чем занимался? Если у человека нет своих хобби-проектов, которые он пишет из любви к искусству программирования, то это плохой негодный программист, макака-формошлёпщик в лучем случае

Harald ★★★★★
()

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

Но извини уже, сравнивать IDE с воздухом это надо сильно упороться.

Например, я года два (в общей сложности) использовал PHP, но не знаю в точности его синтаксиса

Точное знание синтаксиса не проверяется. Проверяется только твое количество опыта. Ты можешь не знать точные названия методов, но ты должен понимать что локи надо октрывать, а потом закрывать. Как-то. Пускай с помощью lock(), LOCK() или Lock(). Это не важно.

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

Или в Java ты можешь не знать какой-то редкий LongAdder и использовать вместо него AtomicLong, но если ты хоть год кодил на Java то о BlockingQueue/ExecutorServices ты слышал. Есть просто библиотечные классы разного уровня боянистости. И ты должен понимать принципы их применения, а не сигнатуры

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Ты как нормальный инженер на основе своего многолетнего опыта должен предположить какой метод там должен быть.

Вот да. Я на том интервью вообще уточнял синтаксис for в жабе, получить оффер это мне не помешало.

Miguel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.