Абстрактные тесты. Особенно с таймером. На hacker rank такие часто есть.
Типа
""
У Миши есть 5 яблок, а у Васи 7. Рядом есть железная дорога, там проходит поезд дважды в день. В нем Иван. Петя и Ваня кидают в него яблоками, а он в них.
Надо смоделировать такую систему. Язык программирования не важен.
""
От таких тестов сразу становится скучно, сразу хочется закрыть и пойти отлить. И послать подальше таких работодателей.
Да, алгоритмы, вроде бы, ну и что? Можно ведь придумать что-то более приземленное?
Развернуть список или что-то такое — и то в 500 раз лучше.
Здравствуйте, ned, Вы писали:
ned>Здравствуйте, mizuchi, Вы писали:
M>>Развернуть список или что-то такое — и то в 500 раз лучше.
ned>Программисты (не кодеры!) решают задачи. И в реальных задачах именно "Пети с яблоками", а не абстрактные алгоритмы со списками.
я вчера обедал с рекрутером и спросил его про тесты
с его слов он обоими руками за тесты потому что
тысячи людей читают книжку алогоритмы для чайников и учать javaScript
делают себе фиктивный опыт в 5 лет и
после чего идут на собеседования
Здравствуйте, ned, Вы писали:
ned>Здравствуйте, mizuchi, Вы писали:
M>>Развернуть список или что-то такое — и то в 500 раз лучше.
ned>Программисты (не кодеры!) решают задачи. И в реальных задачах именно "Пети с яблоками", а не абстрактные алгоритмы со списками.
Здравствуйте, sergey2b, Вы писали:
S>Здравствуйте, ned, Вы писали:
ned>>Здравствуйте, mizuchi, Вы писали:
M>>>Развернуть список или что-то такое — и то в 500 раз лучше.
ned>>Программисты (не кодеры!) решают задачи. И в реальных задачах именно "Пети с яблоками", а не абстрактные алгоритмы со списками.
S>я вчера обедал с рекрутером и спросил его про тесты S>с его слов он обоими руками за тесты потому что S>тысячи людей читают книжку алогоритмы для чайников и учать javaScript S>делают себе фиктивный опыт в 5 лет и S>после чего идут на собеседования
— тесты тестам рознь
— что за рекрутер такой, что не может отличить 5 лет опыта от вранья? а если у кандидата есть open source проекты и свои собственные проекты? а на собеседование что вообще не видно, если ли 5 лет опыта или он все нарисовал и прочитал одну книжку?
— мне один hr недавно прислал недавно мыл, сам первый, где сказал — "так, вот тестовое задание. когда сделаешь — тогда можно и первичное собеседование проводить"
M>- мне один hr недавно прислал недавно мыл, сам первый, где сказал — "так, вот тестовое задание. когда сделаешь — тогда можно и первичное собеседование проводить"
Здравствуйте, mizuchi, Вы писали:
M>опять чушь мелишь?
Кто тут? Чушь тут несёшь ты.
Хороший разработчик быстро и эффективно решает поставленные задачи любым доступным способом.
Отличный разработчик сам ставит (и решает) задачи максимизируя прибыль основного бизнеса.
Посредственные разработчики сидят на подачках от первых двух ("развернуть список или что-то такое").
Тесты (кроме всего прочего) проверяют способность читать и понимать условия задачи в незнакомой предметной области за ограниченное время. Хорошо бы конечно и по итогам выполнения задачи заставлять выводы писать. Многие хорошие разработчики совершенно не умеют формулировать свои мысли на бумаге. Да и в речи тоже.
M>У Миши есть 5 яблок, а у Васи 7. Рядом есть железная дорога, там проходит поезд дважды в день. В нем Иван. Петя и Ваня кидают в него яблоками, а он в них.
Ваня кидает яблоками в Ивана ?
И куда делись Миша с Васей ?
M>>У Миши есть 5 яблок, а у Васи 7. Рядом есть железная дорога, там проходит поезд дважды в день. В нем Иван. Петя и Ваня кидают в него яблоками, а он в них.
IID>Ваня кидает яблоками в Ивана ? IID>И куда делись Миша с Васей ?
А Миша с Васей снабжают их яблоками, чтобы произвести рейдерский захват железной дороги.
Здравствуйте, ned, Вы писали:
ned>Хороший разработчик быстро и эффективно решает поставленные задачи любым доступным способом. ned>Отличный разработчик сам ставит (и решает) задачи максимизируя прибыль основного бизнеса. ned>Посредственные разработчики сидят на подачках от первых двух ("развернуть список или что-то такое").
Я бы предпочёл такого, который развернёт список. А то от решённых задач «любым доступным способом» у меня стадия истерики заканчивается, и приходит мысль «а не пошло бы оно всё на...».
%>Я бы предпочёл такого, который развернёт список. А то от решённых задач «любым доступным способом» у меня стадия истерики заканчивается, и приходит мысль «а не пошло бы оно всё на...».
Студент первого курса, развернувший список на вчерашней лабораторке, подойдёт?
У вас есть перекресток, на котором 4 светофора — по одному на каждом из четырех направлений. На каждом светофоре есть кнопка включения красного света (для пешеходов), которая включает красный свет на всех четырх светофорах. Смоделируйте порядок работы светофоров.
Я так и не понял, что от меня хотят. Очевидные вещи типа
зеленый включается только в двух встречных направлениях (или даже в одном)
нажатие кнопки включит красный там, где был зеленый, и предотвратит включение зеленого на всех светофорах на определенный период времени
после истечения времени после нажатия кнопки зеленый включится только на двух светофорах во встречных направлениях
я перечислил. Но, насколько я понял, этого было недостаточно и от меня хотели что-то еще.
Здравствуйте, Anonymous123, Вы писали:
A>Да, вот еще пример:
A>У вас есть перекресток, на котором 4 светофора — по одному на каждом из четырех направлений. На каждом светофоре есть кнопка включения красного света (для пешеходов), которая включает красный свет на всех четырх светофорах. Смоделируйте порядок работы светофоров.
A>Я так и не понял, что от меня хотят. Очевидные вещи типа
A> A>зеленый включается только в двух встречных направлениях (или даже в одном) A>нажатие кнопки включит красный там, где был зеленый, и предотвратит включение зеленого на всех светофорах на определенный период времени A>после истечения времени после нажатия кнопки зеленый включится только на двух светофорах во встречных направлениях A>
A>я перечислил. Но, насколько я понял, этого было недостаточно и от меня хотели что-то еще.
Imho нужно найти все возможные состояния и нарисовать таблицу переходов.
%>Я бы предпочёл такого, который развернёт список. А то от решённых задач «любым доступным способом» у меня стадия истерики заканчивается, и приходит мысль «а не пошло бы оно всё на...».
А что мешает оценить не только сам факт решения задачи, но и качество решения?
Это же не обязан быть выбор "или-или". Это может быть "и-и".
Здравствуйте, _ABC_, Вы писали:
_AB>%>Я бы предпочёл такого, который развернёт список. А то от решённых задач «любым доступным способом» у меня стадия истерики заканчивается, и приходит мысль «а не пошло бы оно всё на...».
_AB>А что мешает оценить не только сам факт решения задачи, но и качество решения? _AB>Это же не обязан быть выбор "или-или". Это может быть "и-и".
Ну вот я смотрю в код таких "решенных задач из реальной жизни" и там адский трешак. Как если для сортировки массива заимплеменчен пузырёк. Т.е. да, требовалась не сортировка, поэтому библиотечной функции не нашлось. Поэтому чел написал то, что написал и потом это прошло код ревью(!) никто не задал вопрос что за х.
%>Ну вот я смотрю в код таких "решенных задач из реальной жизни" и там адский трешак.
Ну, значит так отбирали.
Я же не про то, как вы сейчас отбираете. Я про то, что используя метод "жизненных тестовых заданий" ты можешь отобрать того, кто:
а) умеет решать "жизненные тестовые задания",
б) делает это эффективно и красиво.
Используя же для отбора задачи типа "разверни список", ты отберешь того, кто может развернуть список. Но не факт, что он при этом может в жизненной задаче найти место, где нужно список развернуть, а вместо этого навернет дичайший код.
Здравствуйте, _ABC_, Вы писали:
_AB>Здравствуйте, %, Вы писали:
_AB>%>Ну вот я смотрю в код таких "решенных задач из реальной жизни" и там адский трешак. _AB>Ну, значит так отбирали.
_AB>Я же не про то, как вы сейчас отбираете. Я про то, что используя метод "жизненных тестовых заданий" ты можешь отобрать того, кто: _AB>а) умеет решать "жизненные тестовые задания", _AB>б) делает это эффективно и красиво.
_AB>Используя же для отбора задачи типа "разверни список", ты отберешь того, кто может развернуть список. Но не факт, что он при этом может в жизненной задаче найти место, где нужно список развернуть, а вместо этого навернет дичайший код.
_AB>Это если утрировать, но идею ты понял.
А можно пример привести, что есть "жизненные тестовые задания"?
Переворот списка показывает лишь что человек может читать/запоминать и записывать ссылки на базовом уровне. Строки — про умение работать с массивами. Я не представляю, что может нарешать жизненного человек не зная ссылок. Конечно, если минимальный порог выше — то не зачем пратить время. Но тут мне кажется сетью по самому дну ишут... Ну или под дном...
В общем пишите ваши тестовые задания (примерно).
У нас кстати, помнится одной из задачек, просили дедлок продемонстрировать. Вообще антизадача, так сказать.
Здравствуйте, %, Вы писали:
8>Я бы предпочёл такого, который развернёт список. А то от решённых задач «любым доступным способом» у меня стадия истерики заканчивается, и приходит мысль «а не пошло бы оно всё на...».
Можно и так. Это уровень интерна-выпускника. Но тебе (или компании) придётся вложиться в него чтобы выучить толкового разработчика. Зато дёшево. И если повезёт, то можно перехватить гениев пока большая четвёрка до них не добралась.