Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: jul_nevermind  
Дата: 12.04.20 15:58
Оценка:
Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/
собеседование cpp программирование программист разработчик компилятор
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 12.04.20 17:27
Оценка: +9
Здравствуйте, jul_nevermind, Вы писали:

_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/


Да нет, вопрос с простым ответом — UB.

Сложность в том, что интервьювер считал, что знает, во что компилируется UB, и ошибся. Но это к любому UB относится
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: CreatorCray  
Дата: 12.04.20 20:55
Оценка: +3
Здравствуйте, jul_nevermind, Вы писали:

_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор.


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


Ээээ...
Что значит "не ожидали"?
По определению может быть что угодно. Это ж UB
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: σ  
Дата: 13.04.20 22:38
Оценка:
_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/

> Итак, мы показываем вот такой код:

>
void F1()
{
  int i = 1;
  printf("%d, %d\n", i++, i++);
}

> и спрашиваем: «Что будет напечатано?».
> …
> На нашей памяти была пара уникальных личностей, которые отвечали что-то в духе:

>> Этот код напечатает в начале процент, потом d, потом ещё процент, d, потом палочку, n, и затем две единицы.


> Ясно, что в подобных случаях собеседование быстро заканчивается.


Т.е. они суют код с неопределённым поведением (из дальнейшего ясно, что их интересует поведение и в C++ до 17-й верссии), когда поведение программы может быть абсолютно любым, но им не нравятся какие-то ответы???
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: namespace  
Дата: 14.04.20 08:23
Оценка: +6 :)))
_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/
Начальник: Вы собеседуетесь на позицию механика в наш гараж-сервис. Вот, смотрите, идет сборка двигателя, мы щедро сыпем везде гайки, шайбы, и прочий мусор. Как по-вашему, где заклинит двигатель?
Претендет1: поршень в цилиндрах
Претендент2: клапана
Претендент3: %&@ его знает!
Начальник: все ответы неправильные. Правильный: так делать нельзя!
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 14.04.20 10:47
Оценка: 4 (2) +11
Здравствуйте, jul_nevermind, Вы писали:

_>Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/


Собрать бы всех этих горе-собеседователей, онанирующих на UB, да отправить на необитаемый остров...
www.blinnov.com
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: a_g_99 США http://www.hooli.xyz/
Дата: 14.04.20 15:13
Оценка: 8 (1) +6
Здравствуйте, jul_nevermind, Вы писали:

_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/


большей чуши в жизни не читал. и эти невежественные люди потом что то пытаются кому то продать.
Re[2]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: a.v.v Россия  
Дата: 16.04.20 10:03
Оценка:
Здравствуйте, a_g_99, Вы писали:


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


а тем временем, данный вопрос есть наверно на 90% собеседований по плюсам
Re[3]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 16.04.20 10:10
Оценка: +1 :))
Здравствуйте, a.v.v, Вы писали:

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

AVV>а тем временем, данный вопрос есть наверно на 90% собеседований по плюсам

ну так примерно 90% собеседователей — некомпетентны.
www.blinnov.com
Re[3]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: a_g_99 США http://www.hooli.xyz/
Дата: 16.04.20 14:45
Оценка: :)
Здравствуйте, a.v.v, Вы писали:

AVV>а тем временем, данный вопрос есть наверно на 90% собеседований по плюсам


я иногда думаю — в россии что то в воде.
потому что это безумие невозможно обьяснить воровством коррупцией и тп.
вот лысый из браззерс пришел и говорит — я тут сделал поделие буду вас сейчас учить как на С++ писать. а он в принципе не понимает что это — для него это все филькина грамота. но ему надо показать что он тоже огого. мудрец. платон и невтон.
и это безумие в россии бесконечно
Re[4]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: WPooh США  
Дата: 16.04.20 19:31
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>я иногда думаю — в россии что то в воде.

__>потому что это безумие невозможно обьяснить воровством коррупцией и тп.
__>вот лысый из браззерс пришел и говорит — я тут сделал поделие буду вас сейчас учить как на С++ писать. а он в принципе не понимает что это — для него это все филькина грамота. но ему надо показать что он тоже огого. мудрец. платон и невтон.
__>и это безумие в россии бесконечно
C'mon, эффект Dunning-Kruger не ограничивается какой-то географической или политической или другой особенностью.
Наблюдаю такое же и в штатах. И на плюсах, и на жабе, и на голом си, you name it.
Хорошо, если это только кодом ограничевается, но нет же, и в менеджменте такое же проявляется, и в маркетинге, и в архитектуре, и пр.
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Re[4]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 17.04.20 05:13
Оценка: +2
Здравствуйте, a_g_99, Вы писали:

AVV>>а тем временем, данный вопрос есть наверно на 90% собеседований по плюсам


__>я иногда думаю — в россии что то в воде.


Справедливости ради замечу, что PVS Stidio — таки очень полезная штука. Правда.

Если стремишься к идеальному коду на плюсах — стоит его прогнать через этот анализатор.

---
Вопросы про (++i, ++i) вызывают буэ. Увидел это в начале статьи и сразу закрыл её.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: $$ Австралия жж
Дата: 17.04.20 05:37
Оценка: :))
Здравствуйте, jul_nevermind, Вы писали:

_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/


Тупой вопрос, реально. Не удивлюсь, если автор- дрочер на "тонкости" C++ (на самом деле разложенные грабли по причине противоестественного дизайна языка) не сможет развернуть строку, или однонаправленный список.
Re[4]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: sergii.p  
Дата: 17.04.20 05:46
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

L>ну так примерно 90% собеседователей — некомпетентны.


по-моему вполне нормальный вопрос. Кандидат должен знать край да не падать. Это хорошо если кандидат никогда такого не пишет и вообще ангел во плоти. Но он запросто может увидеть подобный код например в legacy.
Ну и PVS имеет дело как раз с разным говнокодом и тут такой вопрос более чем уместен.
Re[5]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 07:02
Оценка: +4
Здравствуйте, sergii.p, Вы писали:

L>>ну так примерно 90% собеседователей — некомпетентны.


SP>по-моему вполне нормальный вопрос. Кандидат должен знать край да не падать. Это хорошо если кандидат никогда такого не пишет и вообще ангел во плоти. Но он запросто может увидеть подобный код например в legacy.




SP>Ну и PVS имеет дело как раз с разным говнокодом и тут такой вопрос более чем уместен.


При работе с настоящим окаменелым legacy PVS, как и любой другой статический анализатор бесполезен чуть более, чем полностью. Основные проблемы legacy кода лежат в совершенно другой плоскости.
www.blinnov.com
Re[2]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 17.04.20 07:23
Оценка:
Здравствуйте, $$, Вы писали:


$>Тупой вопрос, реально.

Нормальный вопрос для затравки, как раз чтобы отсеять программистов "С++ за 21 день". Про UB в самоучителях не пишут, но любой профессиональный программист обязан это знать.
Re[3]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: $$ Австралия жж
Дата: 17.04.20 07:44
Оценка: :)
Здравствуйте, scf, Вы писали:

scf>Нормальный вопрос для затравки, как раз чтобы отсеять программистов "С++ за 21 день". Про UB в самоучителях не пишут, но любой профессиональный программист обязан это знать.


Не нужно дрочить на "тонкости" C++ (на самом деле разложенные грабли по причине противоестественного дизайна языка). В более других языках, на которых профессиональных программистов порядков так на 2-3 больше, нет UB.
Re[3]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 07:52
Оценка:
Здравствуйте, scf, Вы писали:

scf>$>Тупой вопрос, реально.


scf>Нормальный вопрос для затравки, как раз чтобы отсеять программистов "С++ за 21 день".


Если вам их приходится отсеивать во время собеседований, то вам не стоит заниматься поиском и наймом сотрудников.
www.blinnov.com
Re[4]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 17.04.20 08:11
Оценка:
Здравствуйте, landerhigh, Вы писали:

scf>>Нормальный вопрос для затравки, как раз чтобы отсеять программистов "С++ за 21 день".


L>Если вам их приходится отсеивать во время собеседований, то вам не стоит заниматься поиском и наймом сотрудников.


О. Как вы отсеиваете слабых кандидатов и липовые резюме до собеседования?
Re[4]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 17.04.20 08:13
Оценка:
Здравствуйте, $$, Вы писали:

$>Не нужно дрочить на "тонкости" C++ (на самом деле разложенные грабли по причине противоестественного дизайна языка). В более других языках, на которых профессиональных программистов порядков так на 2-3 больше, нет UB.

Так это не тонкости, это обязательное требование к миддлу, разве не так?
Re[6]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: sergii.p  
Дата: 17.04.20 08:54
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>При работе с настоящим окаменелым legacy PVS, как и любой другой статический анализатор бесполезен чуть более, чем полностью. Основные проблемы legacy кода лежат в совершенно другой плоскости.


смахивает на абсолютно бездоказательное утверждение.
Я например очень часто встречаю в legacy коде new вместо make_unique (а это проблема одного порядка, что обсуждалась в статье). Проблемы legacy кода лежат совсем не в плоскости, а в пространстве От ошибок новичков до просчёта в дизайне. На любой вкус и цвет. И статический анализатор может быть полезен как раз для проделывания беглого code review.
Re[5]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 08:58
Оценка: +2
Здравствуйте, scf, Вы писали:

L>>Если вам их приходится отсеивать во время собеседований, то вам не стоит заниматься поиском и наймом сотрудников.

scf>О. Как вы отсеиваете слабых кандидатов и липовые резюме до собеседования?

Откровенно липовые резюме существуют в основном только в больном воображении дрочеров на UB.

Привирают и недоговаривают все. Причем в обе стороны.

У кого-то написано "Отвечал за внедрение", что на поверку оказывается "исправлял вылезшие на проде косяки предыдущих балбесов".
Но так и вы нанимаете не марсоход вместе с ракетой-носителем с нуля в одиночку разрабатывать.

А у кого-то будет "принимал участие в разработке небольшого модуля", а на поверку это будет "собрал данные, вынес предложение, спроектировал, разработал, протестировал, внедрил, что принесло 15% процентов рынка и 50% рост выручки" и все в одно лицо.

Проще надо быть. Не умеете выявить откровенное вранье в резюме — наймите того, кто умеет.
www.blinnov.com
Re[7]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 09:22
Оценка: +1
Здравствуйте, sergii.p, Вы писали:

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


L>>При работе с настоящим окаменелым legacy PVS, как и любой другой статический анализатор бесполезен чуть более, чем полностью. Основные проблемы legacy кода лежат в совершенно другой плоскости.


SP>смахивает на абсолютно бездоказательное утверждение.

SP>Я например очень часто встречаю в legacy коде new вместо make_unique (а это проблема одного порядка, что обсуждалась в статье).


Seriously? Часто встречаю? Это не настоящий легаси

SP>Проблемы legacy кода лежат совсем не в плоскости, а в пространстве От ошибок новичков до просчёта в дизайне. На любой вкус и цвет.


Ну выдал тебе анализатор на легаси 100500 critical warnings на всякие use of uninitialized variable, dangling pointers, отсутствие bound checks и так далее. Стало легче?

SP>И статический анализатор может быть полезен как раз для проделывания беглого code review.


Полезнее всего не проделывать "беглые" ревью
www.blinnov.com
Re[6]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 17.04.20 09:22
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

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


L>>>Если вам их приходится отсеивать во время собеседований, то вам не стоит заниматься поиском и наймом сотрудников.

scf>>О. Как вы отсеиваете слабых кандидатов и липовые резюме до собеседования?

L>Откровенно липовые резюме существуют в основном только в больном воображении дрочеров на UB.


Интересно, откуда такая реакция на UB? Мне даже в личку пришло письмо ненависти.

Все профессиональные программисты С++ должны уметь не писать код, который компилируется в UB, а для этого нужно знать, что UB, а что нет, разве не так?
Re[7]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 09:57
Оценка: +5
Здравствуйте, scf, Вы писали:

L>>Откровенно липовые резюме существуют в основном только в больном воображении дрочеров на UB.

scf>Интересно, откуда такая реакция на UB? Мне даже в личку пришло письмо ненависти.

Welcome to the club. Тебя отметил САМ гуру, публикующийся в журнале профессиональных программистов, издаваемом в Лондоне!

scf>Все профессиональные программисты С++ должны уметь не писать код, который компилируется в UB, а для этого нужно знать, что UB, а что нет, разве не так?


Все профессиональные водители должны уметь не попадать в аварии. А для этого нужно знать, как попадать в аварии, разве не так?

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

Единственным правильным ответом на подобный вопрос на собеседовании может быть "Это UB, обсуждать тут нечего, следующий вопрос".
www.blinnov.com
Re[8]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 17.04.20 10:04
Оценка: +1 :)
Здравствуйте, landerhigh, Вы писали:

L>Все примеры кода с UB выглядят подозрительно, даже если не знать, что такое UB и в жизни не заглядывать в стандарт.


Не могу с этим согласиться. Но и не вижу смысла бороться за чьё-то право не знать С++
Re[9]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 10:36
Оценка: 8 (1) +1 :)
Здравствуйте, scf, Вы писали:

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


L>>Все примеры кода с UB выглядят подозрительно, даже если не знать, что такое UB и в жизни не заглядывать в стандарт.


scf>Не могу с этим согласиться. Но и не вижу смысла бороться за чьё-то право не знать С++


Знать С++ — это нечто из рода розовых единорогов. "Знать" его полностью невозможно.
www.blinnov.com
Re[10]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 17.04.20 11:01
Оценка:
Здравствуйте, landerhigh, Вы писали:

scf>>Не могу с этим согласиться. Но и не вижу смысла бороться за чьё-то право не знать С++


L>Знать С++ — это нечто из рода розовых единорогов. "Знать" его полностью невозможно.


Что за бинарное мышление? Между "знать" и "не знать" много промежуточных вариантов.
Re[11]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 11:16
Оценка: +2
Здравствуйте, scf, Вы писали:

L>>Знать С++ — это нечто из рода розовых единорогов. "Знать" его полностью невозможно.

scf>Что за бинарное мышление? Между "знать" и "не знать" много промежуточных вариантов.

Вот именно. "Знать", что в плюсах есть UB нужно, просто потому, что он там присутствует во многих инкарнациях.

Заниматься в 100500 раз онанизмом как в статье ТС — индикатор того, что человек и на работе будет не работу работать, а подобным онанизмом заниматься.
www.blinnov.com
Re[12]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: scf  
Дата: 17.04.20 11:35
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Все примеры кода с UB выглядят подозрительно, даже если не знать, что такое UB и в жизни не заглядывать в стандарт.


и потом

L>Вот именно. "Знать", что в плюсах есть UB нужно, просто потому, что он там присутствует во многих инкарнациях.


Быстро переобулся.
Re[13]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 17.04.20 11:40
Оценка:
Здравствуйте, scf, Вы писали:

L>>Вот именно. "Знать", что в плюсах есть UB нужно, просто потому, что он там присутствует во многих инкарнациях.

scf>Быстро переобулся.

Единственным правильным ответом на подобный вопрос на собеседовании может быть "Это UB, обсуждать тут нечего, следующий вопрос".


Сказал мастер художественного квотинга.
www.blinnov.com
Re[5]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: a_g_99 США http://www.hooli.xyz/
Дата: 17.04.20 11:59
Оценка: +3 -2
Здравствуйте, Коваленко Дмитрий, Вы писали:


КД>Справедливости ради замечу, что PVS Stidio — таки очень полезная штука. Правда.

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

КД>Если стремишься к идеальному коду на плюсах — стоит его прогнать через этот анализатор.

вам нужно изменить свое сознание. нет идеального кода на С++. этим то всякие мошенники и пользуются — продают вам чудодейственные мази для улучшение вашего чсв.
Re[5]: Глубина кроличьей норы или собеседование по C++ в ком
От: $$ Австралия жж
Дата: 18.04.20 01:59
Оценка:
Здравствуйте, scf, Вы писали:

scf>Так это не тонкости, это обязательное требование к миддлу, разве не так?


Ещё раз. Наблюдал плюсников, которые надрочены на всякие UB с diamond inheritance, но не знают про банальный хеш мап. Ковыряетесь там в костылях, порождённых ограничениями дизайна языка и считаете себя профессионалами. На самом деле- сектанты.

PS Предлагаю кандидатам делать так: на вопросы типа i++ = i++ + i++ спросить интервьювера, будут ли вопросы по алгоритмам. Если интервьювер дрочит только на UB- думайте сами, нужно ли вам лезть в их дремучее болото.
Отредактировано 18.04.2020 2:03 Артём . Предыдущая версия .
Re[6]: Глубина кроличьей норы или собеседование по C++ в ком
От: Мирный герцог Ниоткуда  
Дата: 18.04.20 13:07
Оценка: +1
Здравствуйте, $$, Вы писали:

$>PS Предлагаю кандидатам делать так: на вопросы типа i++ = i++ + i++ спросить интервьювера, будут ли вопросы по алгоритмам. Если интервьювер дрочит только на UB- думайте сами, нужно ли вам лезть в их дремучее болото.

а что предлагаешь делать с интервьюверами, которые дрочат на алгоритмы?
нормально делай — нормально будет
Re[6]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: AlexGin Беларусь  
Дата: 18.04.20 16:01
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>вам нужно изменить свое сознание. нет идеального кода на С++. этим то всякие мошенники и пользуются — продают вам чудодейственные мази для улучшение вашего чсв.

+100500
Да и на любом языке программирования — идеального кода нет.
Так уж устроен человек (любой, я и сам не исключение) что есть у него своё эго и чсв
Re[7]: Глубина кроличьей норы или собеседование по C++ в ком
От: $$ Австралия жж
Дата: 19.04.20 02:01
Оценка:
Здравствуйте, Мирный герцог, Вы писали:

МГ>а что предлагаешь делать с интервьюверами, которые дрочат на алгоритмы?


Так это хорошо, значит умный интервьювер. Если же интервьювер не знает алгоритмы, то надроч на UB- это логическое продолжение. Это те же поциенты, которые безапелляционно утверждают про C++ быстрее любого языка, а потом в реале, например в сравнении скорости их говнокода на C++ и кода на Python с библиотекой SciPy оказывается, не всё так однозначно и таки алгоритмы рулят.
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: The Passenger Голландия  
Дата: 19.04.20 06:34
Оценка:
Здравствуйте, jul_nevermind, Вы писали:

как тонко замечено на самом хабре:

Черт. Не хочу с этим языком иметь ничего общего — это ж надо догадаться наплодить столько деталей, что ни один вменяемый человек в голове их не удержит (что и доказывает эта статья, т.к. обвинить авторов анализатора в непрофессионализме попросту невозможно)


чего уж удивляться "растущей" популярности ++
Весь мир — Кремль, а люди в нем — агенты
Re[4]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: so5team https://stiffstream.com
Дата: 19.04.20 14:05
Оценка: :))) :)
Здравствуйте, $$, Вы писали:

$>В более других языках, на которых профессиональных программистов порядков так на 2-3 больше, нет UB.

В 2015-ом году количество C++ разработчиков оценивалось в 4.4 миллиона человек. Допустим, что из этого числа на сегодняшний день остался всего-навсего один миллион профессиональных программистов.

На 2-3 порядка больше одного миллиона -- это от 100 миллионов до 1 миллиарда программистов.

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

Или у тебя на почве выдрачивания алгоритма обращения строки "2-3 раза" стало тождественно "2-3 порядкам"?
Re[8]: Глубина кроличьей норы или собеседование по C++ в ком
От: Мирный герцог Ниоткуда  
Дата: 19.04.20 16:17
Оценка: +1 -2 :))) :))
Здравствуйте, $$, Вы писали:

$>Так это хорошо, значит умный интервьювер.

Нет, не значит. С чего ты взял? Знания алгоритмов нужны ещё меньшему числу программистов чем знания тонкостей C++ и это знание всего лишь значит что кандидат знает какие-то алгоритмы, а не умеет думать. Проверить ум можно только новой для испытуемого задачей, а не вопросами на эрудицию. Здесь вопросы по алгоримам ничем не лучше вопросов про UB в С++. В преферанс с кандидатом сыграть и то намного надёжней для выявления ума.
нормально делай — нормально будет
Re[9]: Глубина кроличьей норы или собеседование по C++ в ком
От: $$ Австралия жж
Дата: 19.04.20 23:02
Оценка:
Здравствуйте, Мирный герцог, Вы писали:

МГ>Нет, не значит. С чего ты взял? Знания алгоритмов нужны ещё меньшему числу программистов чем знания тонкостей C++ и это знание всего лишь значит что кандидат знает какие-то алгоритмы, а не умеет думать. Проверить ум можно только новой для испытуемого задачей, а не вопросами на эрудицию. Здесь вопросы по алгоримам ничем не лучше вопросов про UB в С++. В преферанс с кандидатом сыграть и то намного надёжней для выявления ума.


Эрудиция тоже полезна. Чтоб потом на PR не пришлось разжевывать, что вот тут выделил овердохрена памяти на ровном месте, вот квадратичную сложность вместо линейной или того хуже, O(1). То, что большинство т.н. "программистов" такие вещи не знает, не означает их бесполезность.
Re[6]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: BlackEric http://black-eric.lj.ru
Дата: 20.04.20 08:46
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Здравствуйте, Коваленко Дмитрий, Вы писали:



КД>>Справедливости ради замечу, что PVS Stidio — таки очень полезная штука. Правда.

__>друг мой. это же просто плагин пмд. типа они форкнули пмд настроили свою рулс и теперь окошко во всяких вижуал студиях жалких открывают вместо консоли

Что это за плагин? Можно ссылочку?
https://github.com/BlackEric001
Re: Глубина кроличьей норы или собеседование по C++ в компан
От: jul_nevermind  
Дата: 20.04.20 13:05
Оценка:
Здравствуйте, jul_nevermind, Вы писали:

_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/


Недавно нам на почту анонимно прислали комментарий к этой статье. Мы решили не скрывать и опубликовать его, кратко ответив на него.

Комментарий:

"Автор этой статьи, сам того не подозревая, скомпромментировал организацию, в которой проводятся такие собеседования.

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

Во-первых, до принятия стандарта C++17 поведение программы не специфицированное, а имеет неопределенное поведение. Неспецифицированное поведение и неопределенное поведение — это два совершенно различных понятия, о чем автор статьи даже не имеет понятия.

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

Квалифицированные программисты — это обязательно публичные люди. Им есть, что подсказать другим, или поделиться своими идеями, например, по развитию стандарта C++ или его дефектов.

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

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

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

-----------------------------------

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

Ответ:

Понятно. Спасибо за замечание. Текст статьи видимо неточно передаёт, что это ожидание развития беседы, а не наше мнение. В предложении "Да, такие значения могут, конечно, распечататься, но мы ждем приблизительно следующего ответа" выделим слово "приблизительно".
В ожидаемый ответ добавим "неуточнённое поведение (или неопределённое)".
А так да, мы попались на тот же прикол, на который попадаются и другие программисты. Мы думали, что можем предугадать как именно здесь поведёт UB.Ironic.
Отредактировано 20.04.2020 13:26 jul_nevermind . Предыдущая версия . Еще …
Отредактировано 20.04.2020 13:22 jul_nevermind . Предыдущая версия .
Re[6]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Analytic2007 Россия https://www.viva64.com/ru/pvs-studio/
Дата: 20.04.20 13:48
Оценка:
Здравствуйте, a_g_99, Вы писали:

КД>>Справедливости ради замечу, что PVS Stidio — таки очень полезная штука. Правда.

__>друг мой. это же просто плагин пмд. типа они форкнули пмд настроили свою рулс и теперь окошко во всяких вижуал студиях жалких открывают вместо консоли

Прошу не вводить людей в заблуждение. PVS-Studio не имеем никакого отношения к PMD и является самостоятельным инструментом.
Re[2]: Глубина кроличьей норы или собеседование по C++ в компан
От: so5team https://stiffstream.com
Дата: 20.04.20 13:52
Оценка:
Здравствуйте, jul_nevermind, Вы писали:

_>Квалифицированные программисты — это обязательно публичные люди. Им есть, что подсказать другим, или поделиться своими идеями, например, по развитию стандарта C++ или его дефектов.


Автор, следуя своей же собственной логике, только что признал, что не является квалифицированным программистом, поскольку он публике не известен.
Re[2]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Erop Россия  
Дата: 28.04.20 05:26
Оценка: :)
Здравствуйте, landerhigh, Вы писали:

L>Собрать бы всех этих горе-собеседователей, онанирующих на UB, да отправить на необитаемый остров...

В неопределённое место жеж
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Erop Россия  
Дата: 28.04.20 17:58
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Единственным правильным ответом на подобный вопрос на собеседовании может быть "Это UB, обсуждать тут нечего, следующий вопрос".


Если речь идёт об отладке больших программ, состоящих из частей, написанных кучей программистов, в разное время и в разных условиях, особенно, если речь идёт о каком-нибудь нестабильном баге, то понимать как это всё работает НА САМОМ ДЕЛЕ, и как это всё ломается НА САМОМ ДЕЛЕ, а как не ломается, бывает полезно... Но это, конечно, если тебя кто-то пустит искать такие ошибки в таких программах...

А так, да, лучше писать чистый, безбажный код, и его же поддерживать и отлаживать. Тут сомнений нет. В раю, наверное, так все и делают
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[12]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Erop Россия  
Дата: 28.04.20 18:05
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Заниматься в 100500 раз онанизмом как в статье ТС — индикатор того, что человек и на работе будет не работу работать, а подобным онанизмом заниматься.

Разве в статье кто-то чем-то предосудительным или непродуктивным занимался?

1) Они показали вопрос со своего собеседования, ответ на который был в стиле "что это UB и нефиг так делать", а у тех, кому на самом деле интересно, в загашнике ещё был и опыт, как оно ломается НА САМОМ ДЕЛЕ.
2) Они по какой-то причине проверили как это UB ведёт себя на очередной версии VC. Я сильно подозреваю, что у них есть набор такого рода тестов, которыми они тестят все компиляторы, что бы учитывать это поведение в их анализаторе кода. А этот компилятор взял да и показал необычное поведение.
Они этим наблюдением поделились.
Мне, например, было интересно это узнать. В т. ч. и потому, что такая же по сути оптимизация может случиться и в менее очевидном случае.
Тебе было не интересно? Ну можно не читать статью и всё.

Да, то, что они к этому приплели собеседования, на мой взгляд было неудачным ходом, хотя, возможно, это решало какие-то их задачи, например прорекламировать набор к себе.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.04.20 21:11
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

SP>>Проблемы legacy кода лежат совсем не в плоскости, а в пространстве От ошибок новичков до просчёта в дизайне. На любой вкус и цвет.


L>Ну выдал тебе анализатор на легаси 100500 critical warnings на всякие use of uninitialized variable, dangling pointers, отсутствие bound checks и так далее. Стало легче?


Legacy — не обязательно плохой. Это просто код, давно написанный и доставшийся в наследство от дедушки. Не надо думать, что во времена дедушек все поголовно писали плохой код.
Re[9]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: landerhigh Пират  
Дата: 29.04.20 20:24
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Legacy — не обязательно плохой. Это просто код, давно написанный и доставшийся в наследство от дедушки. Не надо думать, что во времена дедушек все поголовно писали плохой код.


А тут у кого-то были претензии к нормальному легаси?
www.blinnov.com
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 01.05.20 18:20
Оценка:
Здравствуйте, jul_nevermind, Вы писали:

_> С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/


Такие вопросы задавались на себеседованиях в конце девяностых и начале нулевых. Похоже, ничего не изменилось.
Re[10]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.05.20 08:17
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>Все примеры кода с UB выглядят подозрительно, даже если не знать, что такое UB и в жизни не заглядывать в стандарт.


scf>>Не могу с этим согласиться. Но и не вижу смысла бороться за чьё-то право не знать С++


L>Знать С++ — это нечто из рода розовых единорогов. "Знать" его полностью невозможно.


Шикарная вещь — язык знать невозможно, но юнит-тесты помогут Тут надо или трусы надеть, или крестик снять

Сколько юнит-тестов тебе надо написать, что бы найти нерегулярную ошибку, скажем, проезд по памяти? Ты ведь признался в незнании языка, чем обеспечивать будешь корректную работу с памятью?
Re: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Basil2 Россия https://starostin.msk.ru
Дата: 06.05.20 16:00
Оценка:
Здравствуйте, jul_nevermind, Вы писали:

_>Хочется поделиться интересной ситуацией, когда вопрос, используемый компанией PVS-Studio на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь https://habr.com/ru/company/pvs-studio/blog/495570/


Так sequence point жеж?

Я был уверен что 1 и 1 будет — до sequence point результат вычисления не записывается и потому может быть оптимизирован.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[7]: Глубина кроличьей норы или собеседование по C++ в ком
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.05.20 01:29
Оценка:
Здравствуйте, Мирный герцог, Вы писали:

МГ>а что предлагаешь делать с интервьюверами, которые дрочат на алгоритмы?


Ну очевидно же, спрашивать, будут ли вопросы про UB.
Re[10]: Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.05.20 01:33
Оценка:
Здравствуйте, landerhigh, Вы писали:

scf>>Не могу с этим согласиться. Но и не вижу смысла бороться за чьё-то право не знать С++


L>Знать С++ — это нечто из рода розовых единорогов. "Знать" его полностью невозможно.


Возможно, наверное, если компилятор евонный написать.
Re[2]: Глубина кроличьей норы или собеседование по C++ в компан
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.05.20 10:11
Оценка:
Здравствуйте, jul_nevermind, Вы писали:

_>Квалифицированные программисты — это обязательно публичные люди. Им есть, что подсказать другим, или поделиться своими идеями, например, по развитию стандарта C++ или его дефектов.


Вот и пришлите нам таких. Собеседников, а не пиарщиков. А пиарщиков отзовите.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.