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...
Пока на собственное сообщение не было ответов, его можно удалить.