Re[5]: Почему не любят тестовое?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 21.02.22 16:20
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Красота кода — штука уж очень субъективная.

CC>Что одному красиво, другому может выглядеть как лютый говнокод.
Боюсь показаться противоречащим самому себе, но всё же, мы все читали примерно одни и те же книги, все читали примерно один и тот же код, все изучали примерно схожие best practice, поэтому можно в каком-то приближении рассуждать, что один код красивый, а другой нет, точнее соответствует нашим ожиданиям и насколько соответствует. Например, в ОО коде мы хотим видеть следование SOLIDу, побольше RAII, поменьше set, точно не хотим видеть методов init/destroy, ручной работы с памятью если это не специальный приём какой-то и уж точно мы не хотим видеть гигантские свитчи или многоэтажные if/else или штуки вроде std::unique_ptr(new char[100]). Конечно, есть те кто пишет красивые решения на шаблонах которые мне лично сложно будет понять сходу и я могу(но не буду) считать его некрасивым, но они не стану от этого менее элегантные если в клиентском коде для их использования надо будет написать 1-2 строчки кода, а расширения будут создаваться через простую специализацию небольшого хелпер класса. С другой стороны, если всё написано в понятном ОО стиле с кучей интерфесов, но чтобы это поюзать надо разобраться как же это полностью работает, то такой код явно некрасивый и об этом можно прямо судить.
Sic luceat lux!
Re[6]: Почему не любят тестовое?
От: CreatorCray  
Дата: 21.02.22 21:05
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Например, в ОО коде мы хотим видеть следование SOLIDу, побольше RAII, поменьше set, точно не хотим видеть методов init/destroy, ручной работы с памятью если это не специальный приём какой-то и уж точно мы не хотим видеть гигантские свитчи или многоэтажные if/else или штуки вроде std::unique_ptr(new char[100]).

Увы, даже со всем этим можно нагородить нечитабельное месиво.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: Почему не любят тестовое?
От: Codealot Земля  
Дата: 21.02.22 22:26
Оценка:
Здравствуйте, Kernan, Вы писали:

K>например, нет смысла в тестовом задании делать сортировку и поиск, а проще воткнуть тупой перебор через for_each или find_if. Не оптимально?


Зависит от. На маленьких объемах это будет быстрее.
Ад пуст, все бесы здесь.
Re[3]: Почему не любят тестовое?
От: Gradiens  
Дата: 21.02.22 22:27
Оценка: +3
Здравствуйте, cppguard, Вы писали:

C>Здравствуйте, kaa.python, Вы писали:


KP>> Не хотят, ну ой, сейчас рынок кандидата, а не компании, чего же напрягаться за зря


C>Что-то мне подсказывает, что работаете вы не в финансовой компании, потому что не бывает "рынка кандидатов" или "рынка работодателей", на рынке идёт обмен.

Ну вот я работаю в финансовой компании.
Не надо путать, скажем, контракт на несуществующую бочку нефти и рабочий контракт.
Бочки нефти все одинаковы.
Особенно — несуществующие.
А спецы все разные. И работодатели — разные, даже если они обещают одинаковые печеньки. И перед подписанием контракта каждая сторона производит оценку другой.

Представь, ты хочешь продать бочку с нефтью.
А компания покупатель говорит: вот, прежде чем мы хотя бы начнем что-либо обсуждать, сделай спектрографический анализ своей бочки. Да только по нашим стандартам, по чужим нам не подойдет. Да, и какие конкретно у нас стандарты- мы тоже не скажем. Ну, максимум, намекнем. А потом, если нам не понравится твой анализ — мы даже разговаривать с тобой не станем. И чем он не понравился — тоже не скажем.

Да, так можно, если компаний мало, а бочек — много.

Но сейчас все наоборот, бочек на всех не хватает.

И вот нафига мне, как продавцу, делать спектрограмму только чтобы попасть на переговоры? За мной очередь стоит. Я пойду к тому, кто сразу согласится вести переговоры. А уж на переговорах пожалуйста, проверяйте качество нефти как хотите. Хотите — по цвету выбирайте, хотите — по запаху. Главное, чтобы переговоры вписались в час-полтора. И я еще успел бы свои вопросы задать, прицениться.

Это и называется "рынок кандидата", когда кандидат имеет сильную позицию и может продавливать ведение переговоров на своих условиях.
Re[2]: Почему не любят тестовое?
От: AWSVladimir  
Дата: 21.02.22 22:54
Оценка: -1
Здравствуйте, jamesq, Вы писали:

J>Здравствуйте, cppguard, Вы писали:


J>А отчего нельзя сделать свой pet-project, и в резюме давать на него ссылку? Пусть посмотрят!

J>Наверное зачтётся, нет? Или скажут — это не я сам его делал.
Нахрен, меня брали, что бы мои пэт проекты себе присвоить, т.к. была шаровара.
Когда сделали тз и посадили главным разработчиком, я отказался.
Вернее так, я предложил купить уже готовый проект, они отказались, я отказался делать т.к. знаю законодательство.
В общем нах.
А если пэт проект опенсурсный то у работодателя может возникнуть 2 вопроса:
1. А не будет ли он шарить наш внутренний код?
2. Может он в рабочее время будет пилить свой пэт проект?
Нак что нах в любом случае упоминать в резюме об этом.
Re[5]: Почему не любят тестовое?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.02.22 00:02
Оценка:
Здравствуйте, reversecode, Вы писали:

R>bytedance он же tiktok ?

R>там они там лихо уволняют сразу скопом в онлайн, недавно было

Там 996 в полный рост, даже китайские китайцы сбегают. Я точно не потяну
Да и они, по большому счёту, ничего уникального не делают же, в крайнем случае по сравнению с Motional.
Re[6]: Почему не любят тестовое?
От: reversecode google
Дата: 22.02.22 00:07
Оценка:
ааа ну таких monional сейчас много
ничего толкового с точки зрения sw dev они не делают
а сидеть стряпать gtsreamer графы скриптами это не программирование
Re[7]: Почему не любят тестовое?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.02.22 00:37
Оценка:
Здравствуйте, reversecode, Вы писали:

R>ааа ну таких monional сейчас много


Много? Ну разве что в США есть 2-3 с AV сопоставимого уровня, пара в Китае и есть еще машина Яндекса... и всё. А вот компаний в которых только большая нагрузка интересная — ну их много, даже у меня сейчас тут.

R>ничего толкового с точки зрения sw dev они не делают


А ты в какой AV компании работал?

R>а сидеть стряпать gtsreamer графы скриптами это не программирование


Эмм... у тебя довольно странное представление про AV, так как там есть вообще всё, начиная от железа самой машины, заканчивая облаками с процессингом 3D окружения и планированием маршрутов.
Re[4]: Почему не любят тестовое?
От: cppguard  
Дата: 22.02.22 00:53
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Это и называется "рынок кандидата", когда кандидат имеет сильную позицию и может продавливать ведение переговоров на своих условиях.


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

И вот поэтому мне и непонятно, что значит "рынок кандидатов"? А 10 лет назад не было рынка кандидатов? Простой пример. 10-12 лет назад собеседование в FAANG это был настоящий экзамен, где легко можно было получить задачу с финала ICPC. И олимпиадники играючи проходили такие собеседования, в то время как другим приходилось попотеть. И чей это был рынок? Сейчас, я уверен, на вакансию "программист-PHP" слетится сотня-другая кандидатов, в то время как специалисты по машинному обучению просят 500 000 на руки. И вот чей это рынок?

Да и мой личный опыт показывает, что когда мне интересно заработать денег и не особо напрягаться, то это мой рынок. Когда же я хочу поработать с конкретной, новой для меня технологией, то я согласен на 100500 раундов собеседований и на бесплатное тестовое, потому что считаю, что потом это окупится встократ. Но это уже будет рынком компаний.
Re[8]: Почему не любят тестовое?
От: reversecode google
Дата: 22.02.22 00:53
Оценка:
мы говорим про уровень automotive BMW ?
или обычные vehicle стартапы которых как грязи
и все хотят вместо водителя прицепить железку которая сама будет управлять?

так у вторых как раз вакансии есть разные

отдельно по доставке через всякие сети wifi итд
и там нет ничего революционного кроме разве что некоторые пытаются без знаний и пониманий в этой сфере еще quic задействовать
ну и в них еще любят кучу бестолковых слов про rtp h264 hevc итд накидать
и по факту нужно будет скрипты для gstreamer писать

другие вакансии как раз по моделированию 3D
где в основном opengl vulkan pipeline gpu итд, что тоже ничего интересного

ну и мелкие вакансии про can bus и прочую мишуру с железом по управлению
что так себе кодинг

так где во всем этом вы увидели мега знание и умения кодера ?
а то что ни все в требованиях хотят уборщиц с кмс(кандидат в местера спорта) — я и называю унижение по апплаю
хотя первые 20 чел с улицы смогут выполнять эту работу
Re[9]: Почему не любят тестовое?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.02.22 01:14
Оценка: 6 (1)
Здравствуйте, reversecode, Вы писали:

R>мы говорим про уровень automotive BMW ?


Обижаешь, у нас сильно более продвиный чем у Мерседеса (до кучи ты BMW с Мерсом путаешь, у BMW вообще ничего дельного нет).

R>или обычные vehicle стартапы которых как грязи

R>и все хотят вместо водителя прицепить железку которая сама будет управлять?

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

R>и там нет ничего революционного кроме разве что некоторые пытаются без знаний и пониманий в этой сфере еще quic задействовать

R>ну и в них еще любят кучу бестолковых слов про rtp h264 hevc итд накидать
R>и по факту нужно будет скрипты для gstreamer писать

Захват видео с камер и препроцессинг вообще крайне маленькая часть AV-стека. Может быть, тебе, как фрилансеру, просто ничего критического доверить не могут?

R>другие вакансии как раз по моделированию 3D

R>где в основном opengl vulkan pipeline gpu итд, что тоже ничего интересного

А тут ты путаешь отрисовку с моделированием среды.

R>ну и мелкие вакансии про can bus и прочую мишуру с железом по управлению

R>что так себе кодинг

Сюда попадает ещё всякие встроенные Linux, кастомные прошивки и прочее. Железячники обычно такое любят.

R>так где во всем этом вы увидели мега знание и умения кодера ?


Во-первых, я вижу перечисление где-то 10% работ в AV-стеке. Во-вторых, даже эти 10% нужно уметь делать хорошо, поддерживаемо, расширяемо и т.д. В-третьих, есть еще куча не перечисленного, что так же надо решать, а это всякие (не знаю правильного перевод на русский) planning & control, CV, mapping, perception, remote control, robotics infrastructure, safety & security и многое другое.

Отвечая на вопрос про знания и умение — во многих направлениях без соответствующего PhD вклад будет именно что уровня кодера, т.е. клепания кода по спецификации. Там где без PhD нормально, есть очень серьезные требования к качеству и надежности решения, что в свою очередь требует очень высокой квалификации. Так что я постоянно вижу вокруг себя очень много людей с реально "мега знаниями и умениями", т.к. иначе продукта не сделать. В то же время уровень людей в Bytedance я тоже знаю не по наслышке, он хороший, но не на столько впечатляющий как у нас тут.
Re[9]: Почему не любят тестовое?
От: cppguard  
Дата: 22.02.22 01:16
Оценка:
Здравствуйте, reversecode, Вы писали:

R>мы говорим про уровень automotive BMW ?

R>или обычные vehicle стартапы которых как грязи
R>и все хотят вместо водителя прицепить железку которая сама будет управлять?

В Autonomous vehicle и около того самое интересное, на мой взгляд, это требования: детерминированность, восстановление после ошибок, ограниченные ресурсы (сейчас уже всё меньше). А ещё, только поработав с роботами, я окончательно понял, что на самом деле значит "real-time operating system". До этого читал доклады, смотрел видео, наконец, слушал лекции в университете, но там все одну и ту же мантру твердят, а у самих понимания нет.
Re[2]: Почему не любят тестовое?
От: cppguard  
Дата: 22.02.22 01:20
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, cppguard, Вы писали:


C>>Почему же тогда, читая интернет, у меня складывается впечатление, что кандидаты совсем на жалуют тестовые задания?


M>Не жалуют, потому что это долбанная игра в угадайку причем довольно затратная. Нормальный программист можент писать в любом стиле. Если в проекте принято оборачивать логику десятками интерфейсов, он не будет бомбить как наш коллега в соседней теме, а тоже станет оборачивать свой код интерфейсами. Если никто не пишет юнит тестов, он тоже не станет их писать. Если принято писать в стиле defensive programming, он тоже станет обвешиваться проверками входящих данных и внутренних инвариантов. Если принято писать грязно и быстро, значит забьет на ненужные проверки и преждевременные оптимизации. В тестовых заданиях же вообще непонятно какой стиль проверяющий сочтет хорошим, а какой плохим и на какую мелочь он стриггерится.


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


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


Есть чёткое описание алгоритма, который нужно реализовать. Зачем понимать его прикладное значение? Олимпиадные задачи же как-то решаются, причём оптимальными алгоритмами, хотя прикладного значения там вообще никакого нет. Конечно, если ТЗ в стиле "нужен клон фейсбука", то это другое дело. Но это и не ТЗ.

А когда здание строят, то тоже выясняют его прикладное значение? Типа китайцы там будут жить или кур выращивать? Или всё же есть инженерный план, согласно которыму и строят? А уж спроектировать его под китайцев это дело проектировщика, а не строителя.
Re[10]: Почему не любят тестовое?
От: reversecode google
Дата: 22.02.22 14:57
Оценка:
касательно именно роботов, это все стараются перенести в hw
правда не знаю насколько сейчас продвинулись в переносе всяких ml в hw
Re[10]: Почему не любят тестовое?
От: reversecode google
Дата: 22.02.22 15:00
Оценка: +1
да, линуксы, ембедеды итд это вся та же мишура которую студенты даже осилят без опыта
просто ее уже не стал упоминать поскольку мало интересное

ну а про то что "давайте нанимать не менее чем phd, они то точно умные"
уже несколько раз встречал, слышал
толку от них нет
Re: Почему не любят тестовое?
От: ksandro Мухосранск  
Дата: 22.02.22 15:45
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Окунулся на днях в воспоминания и внезапно осознал, что мой путь на самые успешные и продолжительные проекты прошёл через тестовое задание. При этом два из трёх оплачивались и были напрямую связанны с рабочими проектами. Это если считать работу по найму. А ещё было много фриланса, где тоже порой часовые проекты выливались в сотрудничество на год и более. И это логично — написание работающего приложения это самый лучший способ проверить навык написания работающих приложений. Почему же тогда, читая интернет, у меня складывается впечатление, что кандидаты совсем на жалуют тестовые задания? Или просто очень небольшая часть компаний их задаёт?


C>P.S. Когда я работал в роли технического консультанта и подбирал исполнителей на проект, давал тестовое задание через Upwork. Очень простое тестовое задание на пару часов, с чётким описанием. Из десятка кандидатов обычно два-три меня убеждали, что мне нужно совсем другое приложение и я ничего не понимаю в рынке, ещё два сливались, три-четыре присылали какое-то непотребство, ну и оставшихся можно было нанимать На русском "Фрилансим" или как оно сейчас называется ещё добавлялся национальный колорит — меня обвиняли в том, что я посредник и требовали напрямую соединить с заказчиком С тех пор я провёл много вечеров, размышляя о том, кому могут мешать посредники на биржах фриланса, но так ничего и не придумал


А я вот люблю тестовые задания. Раньше, когда было модно давать тестовые задания, у меня обычно проблем с ними не было. Сейчас мода поменялась и требуют решать задачи в онлайн редакторе непосредственно на собеседовании. Вот тут у меня часто возникает ступор и я выгляду перед всеми (в том числе и перед самим собой) поным идиотом. С тестовыми лично мне было как-то попроще.
Re[11]: Почему не любят тестовое?
От: CreatorCray  
Дата: 22.02.22 20:34
Оценка: -1 :)))
Здравствуйте, reversecode, Вы писали:

R>ну а про то что "давайте нанимать не менее чем phd, они то точно умные"

R>уже несколько раз встречал, слышал
R>толку от них нет

Это потому что PhD на самом деле расшифровывается как permanent head damage
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Почему не любят тестовое?
От: alzt  
Дата: 22.02.22 21:12
Оценка: +2
Здравствуйте, cppguard, Вы писали:

C>А обязательно знать, что не так? Самая большая проблема с обратной связью заключается в том, что кандидаты всё принимают близко к сердцу. И если бы на отзыв типа "нам не понравилась компановка классов, алгоритмы были выбраны неоптимальные", кандидаты бы пожимали плечами и шли дальше, то не было бы никаких проблем. Но ведь вы лучше меня знаете, что в лучшем случае будут с пеной у рта доказывать, что их код — лучший, а в худшем могут и подкараулить у подъезда. Мне пока не приходилось давать обратную связь, но если бы пришлось, то я бы просто написал, что не понравилось тестовое. Чтобы кандидат понимал причину, а не думал, что его из-за кривых зубов не взяли.


Есть вполне объективные причины почему код плохой:
Сильная связность, плохое именование переменных(с указанием причины почему оно плохое), отсутствие единого стиля, излишняя сложность решения, большая область видимости многих переменных, плохо отформатированный код. Вряд ли кто будет обижаться, если ему указать, что именно в решении плохо.

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

В любом случае каждое игнорирование или шаблонный ответ — это ещё один недовольный тестовыми заданиями.
Re[11]: Почему не любят тестовое?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 23.02.22 01:26
Оценка: 6 (1)
Здравствуйте, reversecode, Вы писали:

R>да, линуксы, ембедеды итд это вся та же мишура которую студенты даже осилят без опыта

R>просто ее уже не стал упоминать поскольку мало интересное

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

1) создание кастомного линукса и сопутствующей инфраструктуры под разные варианты не менее кастомного железа.
2) кросскомпиляция C++20 кода под эти железки.
3) запуск нейросетей на голом железе (специальное, само собой) для предварительного детектирования объектов.
4) работа с так не любимым тобой GStreamer-ом.

Я бы очень хотел знать какие студенты осилят 1, 2 и 3.

R>ну а про то что "давайте нанимать не менее чем phd, они то точно умные"

R>уже несколько раз встречал, слышал
R>толку от них нет

Возможно ты видел их там, где для них нет работы. Если работа R&D, а не просто D (как бывает в подавляющем большинстве наших задач), то их опыт проведение исследований и научной деятельности очень полезен.
Re[12]: Почему не любят тестовое?
От: Тёмчик Австралия жж
Дата: 23.02.22 02:43
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>1) создание кастомного линукса и сопутствующей инфраструктуры под разные варианты не менее кастомного железа.

KP>2) кросскомпиляция C++20 кода под эти железки.
KP>3) запуск нейросетей на голом железе (специальное, само собой) для предварительного детектирования объектов.
KP>4) работа с так не любимым тобой GStreamer-ом.

KP>Я бы очень хотел знать какие студенты осилят 1, 2 и 3.


Типичная тема железячников либо НИИ. Студентов и джунов туда берут активно. Ибо чуть более старшие с семьями за идею "работать у нас большая честь" не готовы.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.