Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как Вы относитесь к тестированию при приёме на работу?

2535  1 2 3 4 5 6 7 8 9 все
Murr патриот10.04.21 20:46
Murr
NEW 10.04.21 20:46 
в ответ Программист 10.04.21 19:56

вполне решабельны за 10-15 минут

-----

Да ну?

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

Дальше будет как у той машинистки - печатаю до 180 знаков в минуту... но такая фигня получается...

Нормальное - т.е. СОЛИД + сопровождаемое - минут 40 кодинга по минимуму...

А недостаток времени может элементарно привести не только к отказу от СОЛИДа, но и вообще от ООП...


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

------

Извини, но тут два разных момента:

- определение задачи - тут, да, работа того кто ее выбирает

- решение задачи - увы, но тут именно работа работяги и множество возможных решений.

При этом определение задачи, как правило, не содержит требований по способу решения и ожидать на 10 отведенных минутах полный кодинг по СОЛИДу - наивно.


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

#61 
Murr патриот10.04.21 20:54
Murr
NEW 10.04.21 20:54 
в ответ Программист 10.04.21 20:03

Опять же, все зависит от задания.

------

Задания у них... простые.

В том смысле, что написать за отводимое время - не проблема.

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

Но вот имплементировать эти задания по СОЛИДу - времени не хватит.

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


#62 
wasja-de завсегдатай10.04.21 21:00
NEW 10.04.21 21:00 
в ответ AlexNek 10.04.21 20:18
Ну и смысл? Без знания алгоритма мало кто напишет,

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


То же самое в других областях. Если ты апплицируешся на высокопроизводительный С++, то без хорошего понимания как устроены сами алгоритмы из STL и на сколько хорошо они ложатся на процессорный кеш и конвейер, будет практически невозможно потребовать от человека хорошей эффективности алгоритмов и, одновременной читаемости его кода. То есть тут обяательно, чтоб человек и сортировку написал и рассказал бы почему она может замедляться, и бинарные деревья, и многое аналогичное.


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


а со знанием эффективность будет наверняка не очень

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


#63 
Murr патриот10.04.21 21:21
Murr
NEW 10.04.21 21:21 
в ответ Программист 10.04.21 20:05

Или ты считаешь, что у каждого программиста есть pet-проекты?

------

Думаю что есть.

Но это - у программиста - ему иначе развиваться проблемно.

Вот у кодера - может и не быть...

#64 
Программист коренной житель10.04.21 21:21
NEW 10.04.21 21:21 
в ответ AlexNek 10.04.21 20:21
Как то слабо представляю себе программиста который ничего не пишет дома

Я не пишу :) У меня дома семья :)

В том году сделал небольшой пет-проект пока катался в поездах, но никуда его не выкладывал. Просто на интерес. Но это был первый проект, который я делал вне работы за 20 лет.

#65 
AlexNek патриот10.04.21 21:33
AlexNek
NEW 10.04.21 21:33 
в ответ wasja-de 10.04.21 21:00
Если апплицируешся на позицию, где это требуется

Тогда до этого он должен(!) делать что то подобное. Ведь мы говорим о человеке с опытом. Зачем еще раз проверять? Ну и То же самое в других областях.

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

#66 
Программист коренной житель10.04.21 21:35
NEW 10.04.21 21:35 
в ответ Murr 10.04.21 20:46
Да ну? За 15 минут можно выяснить какие ограничения подразумевались дающим задачу.

Не говори ерунду. Задача про терратиум не требует больше 15 минут. И там не нужно выяснять никакие ограничения.


При этом определение задачи, как правило, не содержит требований по способу решения и ожидать на 10 отведенных минутах полный кодинг по СОЛИДу - наивно.

Решение покажет подход человека к решению задачи. Если человек от ООП использует только ключевое слово class, то это сразу будет видно, а если человек привык мыслись объектами, то это тоже будет видно :)


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

Позиция кодера - это джуниор, т.е. вчерашний студент. Тесты для студентов ТС одобряет :)

#67 
AlexNek патриот10.04.21 21:37
AlexNek
NEW 10.04.21 21:37 
в ответ Программист 10.04.21 21:21
Но это был первый проект, который я делал вне работы за 20 лет

Я же говорю что мы в противофазе смущ

И семья есть и постоянно что то пишу. То одна фигня нужна, то другая. А то что то новое появится, только дома и можно попробовать.

#68 
Murr патриот10.04.21 22:07
Murr
NEW 10.04.21 22:07 
в ответ wasja-de 10.04.21 21:00

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

-----

Увы, но нельзя.

Я, например, сейчас БПФ не напишу и даже не объясню как должно быть.

Просто потому что никогда его не изучал.

Это не мешало мне писать и эффективно применять в разработке аналоги БПФ.

Мне просто объясняли что и как хотят посчитать, а Я писал как мне было удобно - получалось что то работоспособное.

А когда умудрялись объяснить все до уровня понимания - то еще и довольно эффективно.

Но само БПФ Я не знаю и ни объяснить, ни тем более написать не смогу...



Если он ни один алгоритм сам не программировал

-----

Пыхх...

Я бы понял если бы было сказано - ни один алгоритм сам не разрабатывал...


Несколько лет назад Я тут спрашивал об эффективности ЛИНКа.

Сам с ЛИНКом до этого не работал - что требовалось - писал циклами с ифами.

Послушал что сказали. Потестил как работает. Поконсультировался на предмет оптимизации.

По результатам - отказался от самописных циклов с ифами и перешел на ЛИНК.

И вот объясни мне - почему Я отказался от программирования алгоритмов? - и - Насколько нужно заменять ЛИНК эквивалентным кодом? хаха



обяательно, чтоб человек и сортировку написал

-----

А ты уверен что сможешь ее написать в точном соответствии с ожиданиями?

Я вот на 100% уверен что не сможешь.

Не потому что не в состоянии, а потому что не знаешь что ожидается в качестве решения.

У меня, например, в качестве написанной "сортировки" ожидается генератор пар индексов для сравнения и свопа... чисто генератор - без функций сравнения и свопа - а писать сортировку именно так почти никто не будет... особенно если время ограничить...



Думаю, в других областях будет тоже также.

-----

Зря так думаешь.

В 97% случаев лепится вполне стандартный код который что-то извлекает из базы, слегка трансформирует и как-то показывает результат.

И так - изо дня в день.

Обучить выполнению этой работы не полного дебила можно за 2-3 месяца без отрыва от осной работы...



хорошо заточен под архитектуру

-----

Хммм.... в хорошей архитектуре, в которой требуется много БПФ, вполне может быть многоканальный аппаратный БПФ.

Ну и нахрена, спрашивается, знать алгоритм БПФ, когда надо уметь программировать ДМА контроллер? спок

#69 
Murr патриот10.04.21 22:32
Murr
NEW 10.04.21 22:32 
в ответ Программист 10.04.21 21:35

Задача про терратиум не требует больше 15 минут.

-----

У нее до сих пор нет устраивающего меня решения.

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


Решение покажет подход человека к решению задачи.

-----

В задачах даваемых мелкомягкими предопределены два момента:

- имя класса

- имя метода класса (иногда - с параметрами).

Дальше ты можешь делать что хочешь.

НО!

Объем тайпинга ограничен 15 минутами.

Дальше смотрим что такое "хороший коммерческий программист" и видим - за рабочий день до 300 строк кода.

Т.е. от тебя ожидается 10 строк - вполне нормально для написания короткой ПРОЦЕДУРЫ.

Как только ты начинаешь описывать объекты - у тебя уходит по 3-5 минут на оформление объекта - т.е. их не больше 5-3 штук (обычно - 5) - их ты оформишь, но не останется времени на написание процесса их взаимодействия - той самой ПРОЦЕДУРЫ.

Подход ты продемонстрируешь, но на подход там смотрят только в том случае если предоставленный код пройдет тестирование.

А он не пройдет - времени не хватило на написание и отладку.



Позиция кодера - это джуниор, т.е. вчерашний студент

-----

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

Например - можно посадить человека на лепку бинов по документации.

Ему, в принципе, не надо ничего знать ни об программировании, ни об компьютерх - ему надо занать где в документации читать и куда и что "в коде" писать. Все. Ни за чем, ни для чего - не спрашивается.

Время на обучение - пара часов - на выходе - идеальный кодер.

#70 
AlexNek патриот11.04.21 11:16
AlexNek
NEW 11.04.21 11:16 
в ответ Программист 10.04.21 21:35
а если человек привык мыслись объектами, то это тоже будет видно

Ну это все будет и так видно. И по рассказу и по проектам.

Достаточно просто обсудить проблемы предыдущих проектов.

#71 
AlexNek патриот11.04.21 12:56
AlexNek
NEW 11.04.21 12:56 
в ответ Программист 10.04.21 19:28
свои силы в архитектуре

вот попалось. Знаю что не подойдет смущ

https://www.stepstone.de/stellenangebote--Senior-Software-...

#72 
wasja-de завсегдатай11.04.21 15:47
NEW 11.04.21 15:47 
в ответ Murr 10.04.21 22:07
Зря так думаешь.В 97% случаев лепится вполне стандартный код который что-то извлекает из базы, слегка трансформирует и как-то показывает результат.И так - изо дня в день.Обучить выполнению этой работы не полного дебила можно за 2-3 месяца без отрыва от осной работы...

Да, на счет 97% (или около того) согласен. Бог миловал, я таким не работал ни дня, у меня другая специализация. И мне сейчас самому такие тоже не нужны, ибо у нас специфика другая. Из РФ/Украины/Белорусии находятся варианты, но с самоорганизацией часто проблемы, а притащить при карантине довольно сложно, а тут, я имею ввиду на немецком рынке - да, полное отсутствие.

#73 
koder патриот11.04.21 15:57
koder
NEW 11.04.21 15:57 
в ответ AlexNek 10.04.21 17:13
если уже имеется Х++ выполненных проектов. Часть из которых можно и пощупать и увидеть код?
Недоверие?


У меня есть и опыт и проекты. Код от которых я не дам. Потому что его у меня нет. Да какой там код, местами в компах юсб-разьемов не было. Что бы никто ничего не утянул. Что я покажу?

#74 
AlexNek патриот11.04.21 16:04
AlexNek
NEW 11.04.21 16:04 
в ответ koder 11.04.21 15:57
Что я покажу?

То что сделано не на работе. Хотя еще никто ни разу не интересовался смущ

А с работы обычно остается документация пользователя и рекламные материалы. Иногда и видео есть.


Проблемы то в проектах наверняка были и решения нашлись. Об этом то можно рассказать? Этого должно быть по идее и достаточно.

#75 
Программист коренной житель11.04.21 16:19
NEW 11.04.21 16:19 
в ответ Murr 10.04.21 22:32
У нее до сих пор нет устраивающего меня решения.Мягко говоря - нет даже корректной постановки задачи - предлагаются чисто умозрительные подходы.

Ну это твое мнение :) Как по мне, так задача сформулирована нормально и никаких непоняток там нет :)


В задачах даваемых мелкомягкими предопределены два момента

Приведи пример их задачи.


Дальше смотрим что такое "хороший коммерческий программист" и видим - за рабочий день до 300 строк кода.

Из контор с такими метриками бежать надо роняя тапки. Хотя, глядя на код, который, по словам шефа, писали консалтеры лет 10 тому назад, платили им за строчки кода :)


Как только ты начинаешь описывать объекты - у тебя уходит по 3-5 минут на оформление объекта - т.е. их не больше 5-3 штук (обычно - 5) - их ты оформишь, но не останется времени на написание процесса их взаимодействия - той самой ПРОЦЕДУРЫ.

Давай сначала задание, а потом будем посмотреть :D


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

Я не вижу пользы в таком специалисте.

#76 
Murr патриот11.04.21 20:22
Murr
NEW 11.04.21 20:22 
в ответ Программист 11.04.21 16:19

задача сформулирована нормально

-----

Ну и где там формализация проделана?

Соответственно решение будет - как понял что вижу...


Приведи пример их задачи.

-----

Я вроде как когда-то постил сюда. Сейчас - не могу - железяка все еще дохлая...



с такими метриками

-----

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



Я не вижу пользы в таком специалисте.

-----

"Ты просто не умеешь их готовить!"

Есть куча тупой работы, которую в любом случае надо делать, и для результата без разницы кто будет делать - 20К-кодер или 50К-прогер. Разумеется тимлиду придется больше напрягаться, но это стоит 10К на 20 кодеров. Дальше посчитаешь сам...

#77 
Программист коренной житель11.04.21 21:33
NEW 11.04.21 21:33 
в ответ Murr 11.04.21 20:22
Ну и где там формализация проделана?

Чего именно тебе не хватает в том задании? Хочешь формализации? Ну будь любезен четко сформулируй свою мысль.


Соответственно решение будет - как понял что вижу...

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


Я вроде как когда-то постил сюда. Сейчас - не могу - железяка все еще дохлая...

Ну так по памяти воспроизведи.


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

Меняет. В томже задании с террариумом достаточно определить интерфейсы, а само управление - функция на 3 строчки.


Есть куча тупой работы, которую в любом случае надо делать, и для результата без разницы кто будет делать - 20К-кодер или 50К-прогер. Разумеется тимлиду придется больше напрягаться, но это стоит 10К на 20 кодеров. Дальше посчитаешь сам...

Я не знаю, что там у тебя за работа такая. И я не совсем понимаю о каких 10К ты говоришь? Если кодер стоит 20К, а прогер стоит 50К, и если надо сделать работу, которую может сделать либо 20 кодеров, либо 1 прогер, то сам подсчитай что выгоднее.

#78 
alex445 местный житель11.04.21 21:34
NEW 11.04.21 21:34 
в ответ AlexNek 09.04.21 11:41, Последний раз изменено 11.04.21 21:38 (alex445)
Это когда дают небольшое задание на программирование.


Задания типа таких (неважно какой язык)?

Каверзные вопросы по C# / Habr


Насколько я знаю, такие дают всем вообще. По крайней мере в России.


Вот тут сеньор-помидор не прошёл на работу к другому сеньору.


Как проходят собеседования у синьоров – Мы обречены #3 - YouTube

#79 
Murr патриот11.04.21 22:18
Murr
NEW 11.04.21 22:18 
в ответ Программист 11.04.21 21:33

Хочешь формализации?

-----

Конечно хочу!

Ну зачем мне на каждый тип террариума/термометра/холодильника-нагревателя писать версию кода?


Ну так и отлично!

-----

Для 99% моих шефов - да. Для меня - нет.


достаточно определить интерфейсы

-----

Угу...

Правда ты опустил один маленький момент - потом надо написать имплементацию и... перекомпилировать и слинковать весь проект.

Для юниоров - приемлемо. Профи же должен сделать чутка по другому...



по памяти воспроизведи.

------

Так оно уже под две пятилетки как было... и память уже подводит.

Посмотри в архиве - должно быть...



которую может сделать либо 20 кодеров, либо 1 прогер

-----

Немного не так.

Либо 20 кодеров за год, либо прогер за 20 лет - скорость набивки тупого кода у них одинаковая.

Теперь - пересчитывай, с учетом того, что через 2 года проект перестанет быть нужным.

#80 
1 2 3 4 5 6 7 8 9 все