Комментарии 163
Дотошный читатель скажет — «ОК, автор, если не тестовое задание, то как еще можно отобрать нужного сеньора?».
Мои тестовые задания (вопросы) такие:
- какую книгу сегодня читаем?
- какую книгу последнюю купил (именно купил) и когда?
- что такое fork?
- что такое pipe?
- что такое pid?
Этого бывает достаточно
какую книгу сегодня читаем?
какую книгу последнюю купил (именно купил) и когда?
Вы библиофилов в библиофильскую контору нанимаете?
Нет, я ищу профессионалов, которые умеют учиться!
А вы как новые знания приобретаете?
Я к примеру разбираю примеры и документацию по требуемой теме. В 95% случаев это проще чем искать непонятно какую книгу (если вообще есть) и выковыривать из неё нужные 2 абзаца по требуемому вопросу. Которых там скорее всего нет. БОльшая часть требуемой информации размазана тонким слоем по форумам и исходникам. О временном лаге книг я вообще молчу.
И нет, это не какой-нибудь свежий React. А к примеру особенность поведения plugin API свежего SolidWorks.
проще чем искать непонятно какую книгу (если вообще есть) и выковыривать из неё нужные 2 абзаца по требуемому вопросу.
Странно, зачем выковыривать-то? Мне важно, умеет человек учиться, следит он за развитием отрасли, повышает свои профессиональные знания или он застыл.
Окей. Я пишу в основном на С++. Мне нужен обзор последнего стандарта. Гораздо полезней для меня почитать референс, пролистать пропозалы, статьи от профильных блоггеров, обсуждения. А книга по С++20 будет фиг знает когда.
А если последняя книга, которую я купил, была фантастика (а также предпоследняя и предпредпоследняя, я трилогию Лю Цысиня купил), то я не прошел квест?
Читаете фантастику (именно читаете, а не слушаете или только смотрите), тем более если хорошую, то это очень хорошо, т.к. развито абстрактное мышление и воображение, а это в творчестве необходимо. А если у вас есть еще и знания по требуемым технологиям — вы ценный сотрудник
У меня был начальник, которого от одного вида 1000 страничной книги...
Но при этом он был вашим начальником, а не подчинённым ;)
умеет человек учиться, следит он за развитием отрасли, повышает свои профессиональные знания
И для каждого из этих пунктов совершенно не обязательно читать конкретно книги. А в большинстве случаев чтение целой книги будет менее эффективно чем другие виды обучения (например интерактивное)
В целом-то идея неплохая, только нужно вопросы под предметную область подкорректировать. Скажем, вопрос вида: «А чему и как вы научились за последний год» был бы более универсальным.
Человек по книгам учится много чему: и математике, и языкам, и осваивает культуру да всему. Это какая информация устарела при выходе книг Льва Толстого или братьев Стругацких. Шекспира читают до сих пор. И вы пишите что что-то сиюминутное...
Если о художественных книгах, то какая информация из книг Льва Толстова или братьев Стругацких может повысить профессиональный уровень?
Положим, что на данный момент я(за неимением других подопытных) повышаю квалификацию в вязании крючком, рисовании спиртовыми маркерами и гейдмзиайне. Ну и перечитываю "Семиевие" с прицелом дальше на Бестера и Ф.К.Дика. Серьёзно, всё это в параллель, переключаясь.
Спрашивается: как это всё поможет в работе над совершенно неигровым ПО?
То есть, может и поможет, но вот прямую связь установить затруднительно. Можно вообще в этом увидеть "смотрит на сторону, в геймдев уйдёт, не нужен". Можно "увидит другие взгляды на пользователей и применение". Более-менее я вижу связь с тем, что я буду читать после этих книг.
— сделать три действия, вместо одного быстрее?!
— а мне так удобней
— а ты сам будешь это делать или пользователь?
— эээ…
Что свести к минимуму подобные «издержки» мы стараемся подбирать именно людей в коллектив, а не абстрактных кандидатов.
Даже устаревшие формально книги могут быть полезны для роста вширь. Ну ничего страшного, если фроненд разработчик будет читать книгу об SQL года так 2000
Ну ничего страшного, если фроненд разработчик будет читать книгу об SQL года так 2000
Конечно. Но книгу об SQL года так 2000 в 2019 году гораздо проще найти/прочитать, опять же, в интернетах.
Сочувствую. А хоть в руках держали?
Книги можно не только читать, но и писать. У меня, например есть двухтомник, где моя фамилия отлита золотыми буквами, правда она не по программированию, хотя и справочник, но мне пришлось обработать каждую букву в нем. Работа была очень интересной. Так что печатную продукцию можно обсуждать с разных точек зрения.
какую книгу последнюю купил (именно купил) и когда?
"iPhuck 10", пару месяцев назад (ответ совершенно честный — на самом деле купил именно ее). Иииииии???
Меня, собсна, интересовало, как вы будете интерпретировать ответ на этот вопрос. Какую информацию о кандидате можно извлечь из его ответа на вопрос "что такое fork", я более-менее представляю. А вот какую из ответа про книгу — не представляю совершенно.
Во-первых, предварительное тестовое задание нетривиального объема (т.е. не на 5-10 минут кодинга или гугления) неплохо фильтрует тех, кто идёт на собеседование в режиме «я только спросить», а работа ему на самом деле особо не сдалась. Во-вторых, от прошедших предварительное задание получаем код, на который потом можно посмотреть и пообсуждать (нужно, конечно, еще обязательно убедиться, что этот код кандидат написал сам лично, но это сделать довольно таки несложно).
Но если задание составлено плохо, если оно слишком большое или ТЗ мутное, если, наконец, ТЗ нифига не согласуется с вакансией или образом конторы (я как-то раз получил ТЗ вида «поправь ошибки в коде» от какой-то стильной, модной, молодёжной конторы, которое было написано кодом вида «писал в метро на коленке в notepad.exe, попутно занимаясь более важными вещами») — то такое задание будет фильтровать кандидатов нежелательным для конторы образом. С другой стороны, мне как кандидату это экономит время — неадекват в тестовом задании видно куда лучше, чем в описании вакансии или на публичных ресурсах конторы.
Такие кстати могут быть более интересными кандидатами — поскольку уже сидят на не менее интересном месте, и не спеша ищут альтернативу.
Более интересными для кого? Для них самих?
От того, что у них есть работа и они могут спокойно сидеть и ждать чудо-вакансии — они становятся лучшими разработчиками по сравнению с теми, у кого таки есть определенные временные рамки по поиску работы (а то жрать нечего будет)?
Ну при прочих равных на просьбу двух кандидатов не тянуть с решением, я бы не тянул с решением по тому, кто скажет "а то жрать нечего скоро будет" Отрицательное бы озвучил.
Ну я как кандидат такое озвучиваю, когда есть на руках хороший оффер, по которому уже договорился дать решение к определенной дате, а собеседуюсь ещё в одну компанию — вдруг у них оффер ещё лучше будет. Просто предупреждаю, что если оффер будет после этой определнной даты, то с вероятностью 99% приму уже другой.
Правильно было бы спросить, а второй это какой? Что делать с ключами, должна ли сохраниться последовательность?
Если вам правда интересно, гугл в помощь. Мои имя и фамилия тут указаны настоящие, можно линкедины да гитхабы всякие найти.
Если это был сарказм и попытка "уколоть", то у вас не получилось.
С ключами все довольно ясно. Т.к. при удалении элемента unset'ом ключи массива не меняются, получается не массив, а словарь Это разные структуры, хотя в PHP это один тип данных. Проиллюстрирую разницу:
$a = [1,2,3,4];
echo json_encode($a); //[1,2,3,4]
unset($a[1]);
echo json_encode($a); //{"0":1,"2":3,"3":4}
Вопрос про ключи и заключался в том, что вам нужно на выходе — массив или словарь?В данном случае более корректно будет:
array_splice($a, 1, 1);
Это, кстати, хороший пример плохого тестового задания для нормального разработчика, разве что подколоть очередного «php-эксперта».
Конечно, бессмысленно. Вы сели в лужу, о чем вам популярно объяснил ваш оппонент:
https://habr.com/ru/post/469099/#comment_20685681
По вашей постановке не понятно, чтоименно вы хотите получить в итогу и наводящие вопросы от кандидата обязательны. Если вы не хотите этих вопросов, учитесь формулировать задачу так, чтобы не оставалось места для двоякого толкования.
А теперь у вас просто не хватает смелости признать свою ошибку и вы включили режим Новодворской. Тоже, кстати, звоночек. Я бы к такому руководителю работать не пошел.
Ну вот я бы тоже так не ответил наверное, просто потому что мне бы не пришло в голову что у меня проверяют стандартную библиотеку… вероятно кандидат подумал что проверяют возможность написать алгоритм. Что и показывает не состоятельность таких заданий, не факт что кандидат был плохой
не пришло в голову что у меня проверяют стандартную библиотеку… вероятно кандидат подумал что проверяют возможность написать алгоритм
Эээээ? Так ведь ни то и ни другое. Проверяют способность решать задачи. А в случае сомнения в правильности понимания условий задачи — способность задавать уточняющие вопросы. Я бы на вашем месте занялся прокачкой обоих этих скилов. По-моему, они у вас хромают :)
Последний кандидат, с 2 годами опыта, в цикле нашел значение и создал новый массив без него, плакали все.А где в условии написано, что исходный массив можно менять? Человек вам сделал универсальное решение в котором есть и исходный массив и новый, без второго элемента — что в этом плохого?
Вы даже не представляете сколько можно отсеять безобидным тестовым заданием (или похожем)
$a = [1, 2, 3, 4];
удалите второе значение.
Я не особо знаю php, но насколько я понимаю, предложенное вами решение не удаляет элемент из массива, а присваивает ему значение «нe определено»
По логике «удалить» элемент из массива — значит что в итоге в массиве должно стать на 1 элемент меньше. Т.е. чел который фильтровал массив по идее делал все правильно (хотя возможно не оптимально)
У меня был даже случай, когда из 3-х интервьюеров один был категорически не согласен со мной, один полностью согласен, и один пытался понять кто из нас прав :)
Нe элемент, а именно «значение»
Ну и насколько я знаю — в php нету понятия декларированной переменной без значения. Хреновый у них фильтр кандидатов по итогу.
Тут вопрос скорее о том, что считать удалением.
При использовании unset получается что-то вроде: `{0: 1, 2: 3, 3: 4}`
Это вообще применимый случай? Теперь $a[1] говорит что такого значения нету. В таком случае это не «массив», а скорее словарь.
Логичнее, на мой взгляд называть «удалением из массива» вот такой результат:
`{0: 1, 1: 3, 2: 4}`
Например, это массив — это пакет обрабатываемых заданий, нужно удалить второе задание из него.
P.S. Вы используете несколько радикальную терминологию.
Всё в мире относительно, и не стоит называть людей идиотами, если они вас не понимают.
Где вы такое находите? В моей практике две дюжины — это в лучшем случае студенты, которые ничего не умеют, и это видно по их резюме сразу. И можно сразу предсказать, что после собеседования в лучшем случае останется один.
А чтобы было две дюжины на позицию синьора — я такого вообще никогда не наблюдал, для определенности — за последние 15 лет например. Соответственно, все выводы про тестовые задания никуда не годятся, потому что фильтровать некого.
Мои три копейки — тестовые задания нужны, чтоб не звать на очные собеседования тех, кто явно не подходит. Причем, онлайн теста на знание языка с вариантами ответов хватает за глаза, не нужно ни интересных задач, ни проекта на 8 часов неоплачиваемого времени.
Предвижу, что сейчас прокомментируют в духе "в таких тестах все варианты кривые". Да, часто. Но 100% правильных ответов там и не надо — нанимать все равно по результатам интервью будут, а не теста.
А без этого теста к тебе приходят синьоры с опытом по семь лет, которые всем хороши, только программировать не умеют :-(
онлайн теста на знание языка с вариантами ответов хватает за глаза
Вам может и хватает, но многие конторы совершенно игнорируют даже сертификаты OCP, что уж говорить про онлайн-тесты.
Смысл дать тестовое задание на джуна/мидла как минимум в том, что сразу отваливаются кандидаты, которые не могут его выполнить и затупки, которые не могут написать код в соответствии с тз.
Может у него просто настроения не было.
Одно дело когда ты в заранее определённое время решаешь заранее определённую задачу. И совсем другое когда обстановка не рабочая и soft skills activated.
Да, нетривиально, но другие варианты неэффективны.
Кандидат получает реальное задание из текущего списка задач (backlog) компании, которое может выполняться от одного дня до пары недель и оплачивается по договорной ставке. Таким образом, кандидат получает возможность поработать в режиме trial с новой командой и при этом заработать деньги за потраченное время.
А кандидат должен на слово поверить что оплатят, или будет какой-то договор? А если есть договор, то чем это отличается от испытательного срока по трудовому договору?
А кандидат должен на слово поверить что оплатят, или будет какой-то договор?
Это может быть договор, либо сделка через фриланс-биржу.
А если есть договор, то чем это отличается от испытательного срока по трудовому договору?
Очень многим, Вы ни разу на фрилансе или по контракту не работали?
Хорошо известен случай, когда автора пакетного менеджера Homebrew не взяли в Google, лишь по той причине, что на 7-м интервью он не смог на доске написать алгоритм, как инвертировать бинарное дерево.
А меня одного удивило, что на 7(!) интервью в Google человека попросили инвертировать бинарное дерево (элементарная задача для джуна)? И что программист не смог это сделать? Задача рекурсией (хоть это и не оптимально) решается студентом за 10 минут, даже если этот студент до этого ни разу не слышал вообще ничего про двоичные деревья и 5 минут из этих 10 потратит на осознание того, что это такое.
Имхо, в этой ситуации люди что-то не договаривают.
ну если всё элементарно в этом мире
Поэтично. Но где ты это вычитал в моих комментариях?
Пускай тебе будет стыдно.
https://leetcode.com/problems/invert-binary-tree/
элементарная задача для джуна. решается студентом за 10 минут, даже если этот студент до этого ни разу не слышал вообще ничего про двоичные деревья
бла-бла-бла. Отучайся говорить «просто», если для тебя это просто. У всех разный опыт, каждодневная практика и тп.
ЗЫ: не уточнишь, за что мне должно быть стыдно?
Это не для меня просто, это в принципе просто. Рекурсия входит в программу обучения и любой второкурсник, который учится сам, имел с ней дело. Не важно, какой там у кого опыт и каждодневная практика, мы про базовую вещь говорим. Это не задача на знание какого-либо алгоритма, это задача на профпригодность, как по мне.
А стыдно тебе должно быть потому, что ты споришь, не вникнув, о чем, собственно, речь. Поэтому я тебе и дал ссылку на литкод с этим заданием, чтобы ты ознакомился, как ставят такие задачи. Если бы мне сказали: "сделайте инверсию двоичного дерева", — я бы тоже охренел, т.к. не понял бы, чего от меня хотят. Но ты сходи по ссылке и посмотри, как именно формулируются такого рода задачи. Если после такой постановки программист, претендующий на синьора, не сможет задачу решить в принципе, с ним явно что-то не так. Да и гугл не стал бы на 7 интервью такие вопросы задавать.
Нет. Обычно это решается на совещании до интервью или рекрутер описывает какую часть знаний надо проверить.
Говорю на собственном опыте и опыте друзей в роли интервьюера. И как соискатель. Даже видна разница и усложнение заданий. У нас если на первых двух онсайт сессиях кандидат плохо показывает себя — да остальных отменят.
Не знаю отменяют ли в Амазоне, но там нарастает сложность. Первое задание будет на простой алгоритм и умение писать код. Потом дизайн на уровне приложения, потом взаимодействие сервисов.
Но есть и исключения. Когда-то в VMware, второй интервьюер задал проблему, а я даже не стёр её с доски
бла-бла-бла. Отучайся говорить «просто», если для тебя это просто. У всех разный опыт, каждодневная практика и тп.
Блин, сорян, но в «разворачивании бинарного дерева» действительно все настолько просто, что ваш «аргумент» звучит кхм…
Вот вам пример:
foo = {
left: 1,
right: 2
}
Задача: поменяйте местами значения left и right.
Вы считаете это действительно просто только для каких-то избранных гениев алгоритмизации?
Мне кажется тут скорее проблема в том что у многих людей само выражение «бинарное дерево» вызывает диссонанс и кажется чем-то совсем академическим и нe применимым нa практике.
И конечно тестовые задания делаются по принципу — что быстрей то и сделал, и если ты получил дооолгое тестовое, то ты его дооолго не делаешь, и скорей всего работу найдёшь раньше чем до выполнения этого задания дойдёт очередь.
Мне как работодателю, всегда интересно посмотреть на код будущего сотрудника, за 2-4 часа можно написать достаточно кода что бы показать кто ты есть, поэтому чем то громоздким ни когда не гружу.
Тестовых за свою жизнь я сделал не мало, из моих 40 репозиториев на гитхабе, только 5 это какие то проекты, остальное — тестовые.
Тестовые попадаются интересные, одно из 5-ти не чаще, и как правило эти тестовые укладываются в один рабочий день, а чаще в пару часов.
Например написать сложение столбиком двух чисел произвольной размерности ( одно число это 40+ десятичных знаков), тут мы видим и как человек с валидацией работает и как человек делает декомпозицию и делает ли он её вообще, как называет переменные и как оформляет код.
Хорошее задание, возьмите себе на заметку.
Хорошее задание, возьмите себе на заметку.
Хорошее для кого, для Вас? Вы уверены, что все кандидаты разделяют Ваше мнение? Да что там все, хотя бы половина?
задание хорошее для работодателя если он хочет оценить соискателя с минимальными затратами времени для соискателя. Если у вас другое мнение, то я вам своё не навязывал.
А решая задачу, можно изучить новый язык-технологию. То есть время реально потратишь изучая что-то новое и потенциально полезное для работы и кругозора.
Именно поэтому я в реальности и не готовлюсь ;-) Тк считаю, что если меня будут оценивать по такому странному навыку — то и нахер работать в таких местах.
ТакЪ?
/*
https://habr.com/ru/post/469099/comments/#comment_20685083
написать сложение столбиком двух чисел произвольной размерности ( одно число это 40+ десятичных знаков)
*/
package test;
public class SumTest {
public static void main(String[] args) {
System.out.println(sum("123456", "789"));
}
static String sum(String s1, String s2) {
if (s1 == null || s2 == null || s1.isBlank() || s2.isBlank()){
throw new IllegalArgumentException();
}
StringBuilder res = new StringBuilder();
int n1;
int n2;
int temp;
int overflow = 0;
int i1 = s1.length() - 1;
int i2 = s2.length() - 1;
int maxLength = Math.max(i1, i2);
for (int i = 0; i <= maxLength; i++) {
n1 = i1 >= 0 ? s1.charAt(i1) - '0' : 0;
n2 = i2 >= 0 ? s2.charAt(i2) - '0' : 0;
if (n1 < 0 || n1 > 9 || n2 < 0 || n2 > 9) {
throw new IllegalArgumentException();
}
i1--;
i2--;
temp = n1 + n2 + overflow;
overflow = temp / 10;
res.append(temp % 10);
}
if (overflow > 0) res.append(overflow);
return res.reverse().toString();
}
}
На мой вкус пустую строку можно на вход получить, её надо интерпретировать как 0.
Валидацию на не цифровые символы я бы сделал регулярным выражением.
И конечно в эксепшенах надо давать намёк на причину ошибки, лучше давать подсказки о том как ошибку исправить.
Так или не так, проверяется юнит тестами.
На PHP это делается одной командой :)) Поэтому к этому тестовому надо давать комментарий о том что требуется решить через алгоритм сложения в столбик, то есть с контролем переполнения десятичной позиции.
Несколько раз использовала тестовые задания как пример кода для других работодателей.
Мне не нравится тестовое, если его выполнение займет от четырех часов и больше. Скорее всего сейчас не буду выполнять такое, если это не какая-то крупная компания, в которую сильно хочу.
Нормальные тестовые, на мой взгляд, когда выполнение займет от сорока минут до двух часов. Несколько раз попадались ни чего так задания, в основном задачи спорограммировать, без вёрстки.
условный гугл не переломится, и может позволить себе пересмотреть и пообщаться со всеми кандидатами
Не-условный Амазон начинает с тестового на полтора часа. А уже потом будет личное общение с технарями.
дайте мне с технарями поговорить 15 минут
и вот это тоже не получится, потому что тот-же Амазон пригласит поговорить с технарями куда-нибудь в другой город часов на 5, и там «вставать и уходить» после 15 минут глупо.
В одном я с Вами совершенно согласен — для условных Гугла и Амазона это адекватно по очевидным причинам, а «ПупкинРоссельМашУгорску» так делать не стоит.
таким уходом можно получить плохую репутациюЕсли вы вежливо попрощаетесь, то ничего не испортится.
Я однажды был на собеседовании, которое проходило прям в рабочей зоне. Во время тестового задания послушал что происходит вот прям вокруг и понял для себя, что не хочу тут работать. Ну не продолжать же делать вид, что меня всё устраивает? В какой-то момент обратился к собеседующему, сказал, что не хочу тут работать, поблагодарил, что уделили мне внимание, извинился, что отнял время и ушёл. Ничего не испортилось. Позже нашёл приличную работу. Всё норм.
Я думаю, что честность — это очень важное качество. Я не имею в виду честность перед третьими лицами. Очень важно не обманывать самого себя. Это моя жизнь, моя зона комфорта и поэтому я тоже имею полное право отказаться работать в компании по моим личным причинам, которые я не обязан озвучивать.
И это был не Гугла и не Амазон, а для них тем более актуально — если уж приехал на собеседование на 5 часов с разными технарями, то даже если конкретный проект не подходит, там много разного — стоит проявить себя и потом обсуждать другие варианты.
Как писали выше вполне неплохой компромис заменить тестовые задания это профильные тесты на знание языка чтобы отсеять случайно пришедших на собеседование.
Когда искал первую-вторую работы, тогда тестовые задания выполнял прилежно и все и максимально быстро, потому что даже одно собеседование в 2 недели было уже праздником. Сейчас же я стараюсь делать тестовые задания, но не в ущерб своему времени и в своём темпе. Но к сожалению даже не успеваю доделать.
Скорее понять, умеет ли кандидат читать…
Сильно зависит от кучи факторов. Основной, по-моему, кто на данной вакансии по факту продаёт, а кто покупает. Если компания активно хантит уже работающих специалистов без заметного повышения в позиции/деньгах для них, то ей надо продать себя раньше, по сути, чем вообще заикаться о процессе отбора. Типа "вот краткое описание вакансии, вот подробное, вот компании, вот проекта. Если вас заинтересовало, но есть вопросы, то вы можете подъехать к нам и мы опишем подробнее и ответим. Если вас всё устроит, до договоримся о дальнейших шагах".
Заикаться о тестовом когда кандидат ещё даже не кандидат, о компании, о проекте, о позиции ничего не знает, кроме" работу работать, молодой дружный коллектив" и, главное, его и на текущей работе всё в целом устраивает — большая ошибка, повод отсеять себя в качестве неадекватного работодателя, причём надолго.
Когда устраивался на текущую работу сделал домашнее тестовое задание с удовольствием. Честно говоря плохо понимаю, почему многие валятся или забивают на такую, казалось бы, простую вещь. Задание связано с тем, чем предстоит заниматься, поэтому считаю, что оно уж точно не зря дается.
Честно говоря плохо понимаю, почему многие валятся или забивают на такую, казалось бы, простую вещь.
Потому что у них есть чем заняться? Если у вас одно-два предложения и особо выбора нету, то тестовое задание — это ОК (при этом все-равно небольшое)
А если у вас больше 5ти предложений и каждый даст вам по тестовому зданию?
Второй раз, нужно было быстренько за 2 часа архитектуру набросать для сервиса каршэринга, хотя на сертификацию на Java Architect неделю дают. Тут была засада, т.к. описание архитектуры в разных компаниях ведется по-разному. И даже, если ты сто раз это делал, то не факт, что твое описание будет принято. Вывод был у нанимателя, что я сам архитектуру никогда не делал. Супер! А кто ж за меня ее делал раньше?! Тем не менее на лида предложение получил, но отказался, т.к. шило на мыло менять не стал. Но опыт был безценен, т.к. еще раз убедился, что оценка всегда субъективна, а время свое на чьито хотелки не должно тратиться, либо должно оплачиваться.
По идее конторка так и работала — один кандидат одно напишет, второй второе, третий слепит.
HR проводит блиц-опрос «да»-«нет», без времени на подумать, по языку и ООП. И высылаешь свой лучший, как ты считаешь, код.
Собеседование уже со старшим специалистом, чтоб оценить мышление кандидата.
И финальное собеседование о приеме на работу.
Все было построено, я бы сказал, идеально.
Не тратится много времени специалистов, чтоб отсевать трэшь. После HR-опроса ты уже, примерно, понимаешь уровень кандидата, а не полусаешь «сеньора» с годом реальной работы.
А в каком месте происходит "продажа" компании/проекта/вакансии кандидату? Или компания из тех, в которые идут работать ради строчки в резюме?
По поводу «компаний из тех, в которые идут работать ради строчки в резюме». Бывший сотрудник работает в FB, до этого был в Amazon, говорит, что у нас было интересней, если б столько платили, то не ушел бы.
Тестовые задания на собеседовании разработчика — есть ли в них смысл?