да здравствует великий и могучий C++

Feb 17, 2011 11:49

чем мне всегда не нравились собеседования по с++, так это тем, что задаются вопросы по темам, которые настолько редкоупотребимы, что держать их в быстродоступной оперативной памяти нет никакого смысла... мне бы никогда не пришло в голову, например, выкидывать исключение в деструкторе, а ключевое слово explicit, насколько я в курсе, используется в ( Read more... )

программирование

Leave a comment

Comments 11

new_javabean February 17 2011, 10:42:16 UTC
о да, только это везде и всегда так, не только по с++. с джавой то же самое. хотя еще зависит от того куда собеседуешься. где-то достаточно показать что знаешь коллекции и самые базовые основы.. а где-то спрашивают по никогда в реальной жизни не употребимым алгоритмам и/или каверзным глубинам языка

Reply

denis_iv February 17 2011, 10:51:56 UTC
конечно, это везде есть, но в с++ это часто особенно выражено. слишком широк спектр возможных задач, сликом большие возможности у программиста (от прямого доступа в память а-ля си, до "почти полноценного" ООП со всеми возможными паттернами).

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

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

Reply

ИМХО izhbullet February 17 2011, 16:26:19 UTC
это уже не C++ а вопросы ОС

Reply


klaupaucius February 17 2011, 15:10:45 UTC
Всегда считал, что это полный бред - спрашивать такие тонкости. Случалось проходить аналогичное собеседование на английском языке. Когда сам проводил собеседования в банке так никогда не мучал. В Ижевске проблема в том, чтобы найти просто вменяемых людей.

Reply


для Ижевских реалий всё проще izhbullet February 17 2011, 16:09:39 UTC
1. как работает виртуальный деструктор и чем он отличается от не виртуального (уже большая часть отсеивается)

2. как работает виртуальное наследовании (это уже overkill) и зачем оно нужно

3. зачем нужно слово volatile (исключительно чтобы поиздеваться)

про explicit вообще помоему не слышал до этого

Reply

Re: для Ижевских реалий всё проще denis_iv February 17 2011, 16:17:09 UTC
1. даже на эту пережеванную миллион раз тему до сих пор возинкают локальные холиворы )))

2. что значит "как работает"? теоретически? или про таблицу виртуальных функций чел рассказать должен? включая разрыв мозга в случае множественного наследования? :)

3. я вот volatile тоже не припоминаю, чтобы пользоваться приходилось

зы. а с чего вы решили, что это имеет какое-то отношение к ижевским реалиям? ;)

Reply

Re: для Ижевских реалий всё проще izhbullet February 17 2011, 16:21:45 UTC
ну что значит теоретически?
это же не жава какая нибудь

в какой примерно асм код транслируется
какие байтики как в памяти располагаются и регистрах соответственно (для случая volatile)

"теоретически" люди могут просто на brain benche каком нибудь нетренироваться/вызубрить

волатил - говорю поиздеваться :) сам только раз применял ито был очень удивлён :)

решил - потому что собеседовал и C++ ников в том числе

Reply

Re: для Ижевских реалий всё проще izhbullet February 17 2011, 16:23:34 UTC
да, для исключений - о последствиях для организации стекового кадра тоже хочется потрепаться

Reply


ext_1259345 June 15 2012, 08:14:02 UTC
Вообще-то насчёт исключения в деструкторе это хороший вопрос. Проблема не в том, чтобы не бросать оттуда исключения, а в том, чтобы не допускать чтобы оттуда что-то бросалось. В C++ это будет полный terminate, без возможности нормально разобраться что же произошло. В java (блок finally) первое исключение будет тупо потеряно.
Насчёт volatile, это говорит о понимании многопоточности. Если не приходилось пользоваться, то скорее всего не приходилось писать многопоточный код (или он писался абы как).
А exlpicit будешь знать, если читал исходники хотя бы stl и проявил минимальную любознательность.

В общем вопросы хорошие. Плохо, если эти вопросы только просто спрашиваются на собеседовании, собеседующие просто нагуглили "хорошие вопросы по С++", а в самой компании на всё это забивают и пишут как попало.

Reply

denis_iv June 15 2012, 09:26:53 UTC
насчет volatile это ни о чем не говорит. люди, которые задавали мне этот вопрос на собеседовании (а на проект меня в итоге взяли), так ...но использовали многопоточность, что у нормального человека волосы на всем теле зашевелятся, если узнает.

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

Reply


Leave a comment

Up