53 вопроса с собеседований по C++

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 พ.ย. 2024

ความคิดเห็น • 73

  • @monkl1113
    @monkl1113 2 ปีที่แล้ว +40

    почему нельзя сначала ответить на вопрос, а уже потом читать чат?

    • @ambushedraccoon6408
      @ambushedraccoon6408  2 ปีที่แล้ว +2

      Сейчас стримы идут в другом формате. Сначала покрывается какой-то раздел, потом читается чат. Без резких прерываний.

  • @alexkarasiov4793
    @alexkarasiov4793 3 ปีที่แล้ว +9

    Спасибо большое за ролик, хочется увидеть больше похожей тематики, например разбор вопросов, как развиваться дальше и т.д. Радует ламповость канала и конкретность роликов в отличии от других "IT-блогеров".

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 ปีที่แล้ว

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

  • @ggmalfa5800
    @ggmalfa5800 3 ปีที่แล้ว +1

    Рад что наткнулся на этот канал! Удачи!

  • @sergeyvlasov207
    @sergeyvlasov207 2 ปีที่แล้ว +4

    45:16 а А я верю в TDD. Особенно для бэкенда. Часто бывает так - сделаешь что-нибудь новое но поломаешь при этом что-то старое. Это попадает на QA. Хорошо если у них есть полное покрытие тестами. А если нет? Короче, исправляешь свой косяк но при этом ломаешь что-то еще... Там где сложная бизнес-логика и сложные приложения без TDD никуда.
    Тесты пишу и на требования и на конкретные баги. Без тестов в свое время наш проект не выехал бы в продакшен.

  • @РусланКарнеенко
    @РусланКарнеенко 8 หลายเดือนก่อน

    Ничесе для джунов вопросы

  • @nikitafamily5341
    @nikitafamily5341 2 ปีที่แล้ว +2

    Спасибо! Круто рассказываешь))

  • @pavel2702
    @pavel2702 3 ปีที่แล้ว +2

    Дмитрий, прекрасно ведете канал, новичок я полный) Поступил в вуз вот недавно (после школы) БГТУ(фит) возможно слышали о таком вузе), так вот в школе не занимался никогда программированием, но в 11 классе решил, что как сдам цт поступаю в эту сферу, первым языком стал с++ сразу же понравился (изучаю около месяца) познакомился с самыми азами, но вот программа в вузе хватает все и сразу, вот у нас уже на 1 курсе в сентябре 1 семестр и сразу JS, C++, HTML/CSS , и еще прилично предметов технического уровня как-либо связанных с программированием, усваивать все достаточно тяжело, но я стараюсь, наибольшее внимание уделяю плюсам, но даются они достаточно непросто (так как опять же слишком много отвлекающих факторов) , возможно сможете дать какой-либо совет, спасибо за потраченное время.

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 ปีที่แล้ว +3

      Здравствуйте. Неожиданный выбор. Но распыляться на все подряд не очень хорошая практика. Если Вам нравятся плюсы, то стоит бОльшую часть сил и времени отдавать. Но на остальные не стоит просто забивать, сейчас слишком много проектов, которые включают в себя работу с несколькими разными технологиями или языками. Так что я бы сказал так: плюсы в данной ситуации, как основной навык, остальные как запасной вариант, чтобы можно было если что переключиться в бдущем или иметь какие-то дополнительные навыки, расширяющие ваш стэк технологий.
      Удачи!

    • @addressmodel2121
      @addressmodel2121 ปีที่แล้ว

      @@ambushedraccoon6408 , 7:20 - наследование, если говорить про него в чисто техническом понятии, является трансформатором (преобразователем) интерфейса типа данных. То есть, что такое наследование? - Это механизм трансформации интерфейса типа данных. Наследование - это преобразование типа данных.

  • @kpanat
    @kpanat ปีที่แล้ว +1

    Шаблонный своп для интов можно делать с помощью 3-х XOR-ов без буфера. Это самый быстрый своп, практически мгновенный. До сих пор хочу написать такой же код для произвольных типов. Но не получается... Но можно делать конкретный своп для конкретного типа. Для разных типов бессмысленно. не дб такого свопа. Да вы его и не напишете. Ну потому что как вы к примеру приравняете строку число или наоборот или любые 2 типа, если только они не приводятся друг у другу... Эта операция имеет смысл только для одинаковых типов...

    • @Ali_Ibragimov_Jostkiy
      @Ali_Ibragimov_Jostkiy 4 หลายเดือนก่อน

      А как называется метод через xor? Как инфу поискать об этом?

  • @Ланс-м1в
    @Ланс-м1в 3 ปีที่แล้ว

    Отличное видео. Спасибо.

  • @prosto1076
    @prosto1076 3 ปีที่แล้ว

    Ждем продолжение

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 ปีที่แล้ว

      Как только, так сразу) Дам объявление в телеграме.

  • @Канал-п2о7в
    @Канал-п2о7в 3 หลายเดือนก่อน

    Неплохо бы ответить сначала на вопрос а потом уже отвлекаться и втыкать в сообщения

  • @kpanat
    @kpanat ปีที่แล้ว

    Интсанцинация от англ слова instance что значит создание экземпляра или объекта... оч мудрое слово сбивает с толку. Но для тех кто свободно владеет английским понятное. Для этого раньше использовалось кл слово extern . теперь нет... Обычно описание шаблонов делается в заголовочных файлах или hpp, это как бы cpp, но сделан как заголовок. но можэно делать по классической схеме заголовок h файл и его реализация. Проблема в том, что реализацию линкер может не найти и ваш файл не откомпилится хотя всё там есть. Поэтому в cpp делают инстанцинацию. Особенно важно еcли вы хотите dll(или so в линуксе) для динамического подключения. Просто заводим ряд экземпляров класса с различными типами которые нам надо и экспортируем в dll. Вобщем я не пробовал, но говорят работает...

  • @КириллЧе-я5ы
    @КириллЧе-я5ы 7 หลายเดือนก่อน

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

  • @nikolaiekimov493
    @nikolaiekimov493 2 ปีที่แล้ว +1

    Спасибо, все видосы по плюсам огонь! А что там с историей с Larian? почему не прошел собес?

    • @medvital
      @medvital 2 ปีที่แล้ว +1

      Лариан? Это геймдев компания, которая Дивинити сделали и сейчас балдурс гейт делают? А что за история, где про неё узнать?

    • @nikolaiekimov493
      @nikolaiekimov493 2 ปีที่แล้ว

      Да, Дима на стриме хотел про собес в ней рассказать, но так и не рассказал(

    • @medvital
      @medvital 2 ปีที่แล้ว

      @@nikolaiekimov493 спасибо большое, будем ждать стрима и задавать ему вопрос)
      Я сам в эту компанию целюсь как раз, интересны подробности)

    • @nikolaiekimov493
      @nikolaiekimov493 2 ปีที่แล้ว +1

      @@medvital + тоже их фанат) расскажи как пройдет, если будешь как-нибудь собеседоваться! я сам в германии ищу работу на с++, может как-нибудь и до Англии доберусь

  • @Принуждениекмиру-ь2ц
    @Принуждениекмиру-ь2ц 2 ปีที่แล้ว +18

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

  • @rururdada
    @rururdada 3 ปีที่แล้ว

    Блин. про virtual в шаблонах. Для виртуальных функций там ведь таблица укзателей в рантайме. А шаблоны это компайлтайм. Конечно работать не будет, даже проверять не надо было. И потом шаблоны ведь это для кодогенерации. Что бы вот эти вот все перегрузки ручками не писать. Поэтому и в cpp файл пихать не надо, реализации ведь нет.

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 ปีที่แล้ว

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

    • @kvoistinov
      @kvoistinov 3 ปีที่แล้ว

      ну и каша. Шаблоны это не только кодогенерация - для этого вам и макросы подойдут. Шаблоны С++ это мощный инструмент языка. Многие перегрузки и пишутся ручками (под конкретную специализацию шаблона, особенно совместно с type traits и SFINAE).
      почему нельзя объявлять шаблоны функций-членов виртуальными - да потому что в обычной реализации механизма вызова виртуальных функций используется таблица фиксированного размера, одна строка которой соответствует одной виртуальной функции - при том эта таблица создается одна на конкретную специализацию класса(если он шаблонный), а что будет с шаблонами виртуальных функций-членов? их может быть инстанцированно огромное множество, да и количество их определим под конец трансляции всей программы.
      Какая таблица указателей в рантайме? она в компайлтайме создается - это разрешение вызова конкретной виртуальной функции происходит в рантайме, согласно RTTI данным вызывающей стороны.

    • @rururdada
      @rururdada 3 ปีที่แล้ว +2

      ​@@kvoistinov
      ну и каша. Шаблоны это не только кодогенерация - для этого вам и макросы подойдут. Шаблоны С++ это мощный инструмент языка. Многие перегрузки и пишутся ручками (под конкретную специализацию шаблона, особенно совместно с type traits и SFINAE).
      1. (Как тут цитировать?)
      Ответ был в контексте собеса джуна. Почему нельзя шаблоны в спп? Коротко шаблоны для кодогоенерации, реализации нет. Да конечно не только. Да мощный инструмент.
      З.Ы. Использовать этот инструмент нужно не всегда.
      Очередной любитель (рефлексии в компайлтайм) программирования шаблонов, в шаблонах, в шаблонах? Аааа!!! Вот откуда у меня эта (головная) боль при отладке. Потому что без пол-литра не разберешь. Вы хотите это видеть в продакшн коде? Имхо в клиентском коде это не нужно. В библиотечном возможно.
      2.
      их может быть инстанцированно огромное множество, да и количество их определим под конец трансляции всей программы.
      Вот расшифруйте эту фразу. Что значит огромное? (ваш ответ лучше?)
      Страуструп.
      Цитата:
      Generating v-tables for virtual function templates requires a whole-program view and C++ traditionally relies almost exclusively on separate compilation of translation units.
      Дело немного не в огромное, а в особенностях работы линкера.
      Опять же из контекста для джуна достаточно не смешивать рантайм полиформизм с компайлтаймом.
      3.
      Какая таблица указателей в рантайме? она в компайлтайме создается
      Где я что то подобное писал? Про создание таблицы в рантайме?
      4.
      Зачем этот ваш комент? Для очередного холивара?
      5.
      З.Ы. Согласен мой ответ несколько сумбурен - "каша". Просто не хотел печатать портянку, ограничившись ключевыми тегами. Думал и так все всем понятно. Душно.

  • @Pa36ouHuK
    @Pa36ouHuK ปีที่แล้ว

    С шаблонным конструктором конечно обосрался

  • @alexeyt.9526
    @alexeyt.9526 3 ปีที่แล้ว +1

    Добрый день, спасибо за видео! Подскажите, по вашему опыту, какие pet проекты хотел бы видеть работодатель от потенциального сотрудника на junior позицию? И на какую тему бы вы порекомендовали сделать первый домашний проект начинающему С++ разработчику. Спасибо!

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 ปีที่แล้ว +1

      У меня никогда про пет-проекты не спрашивали. Но минусом не будет как минимум для собственного развития. С выкладыванием на гит-хаб, будет лишний показатель, что вы умеете работать с системами контроля версий.
      По поводу непосредственно проекта и его темы. Тут сложно сказать. А что Вам интересно? Можно попробовать какую-то текстовую РПГ, если вы пишите на чистом C++. Если нет то можно было бы поработать с графами, написать простенький конструктор графа и прикрутить в нему алгоритмы поиска путей.....
      Но лучше всего подумать над чем-то, что вас самого зацепит, как минимум так проще будет сделать что-то толковое и не бросить на полпути.

    • @alexeyt.9526
      @alexeyt.9526 3 ปีที่แล้ว

      @@ambushedraccoon6408 Благодарю за ответ, последую вашей рекомендации и остановлюсь на проекте с графом, сам не один раз склонялся к этому варианту :)

  • @soulspirit8687
    @soulspirit8687 2 ปีที่แล้ว

    Активируете Виндоус

  • @hurricane9804
    @hurricane9804 3 ปีที่แล้ว

    Добрый день! Делаю небольшую игру в портфолио как 3дшник, ну и геймплей для фона, могут ли в студии попросить исходники кода и после получения просто отказать мнев приеме на работу, а исходниуи сами использовать в студии (возможно это параноя, но не у меня одного такие вопросы)?

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 ปีที่แล้ว +1

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

    • @hurricane9804
      @hurricane9804 3 ปีที่แล้ว +1

      @@ambushedraccoon6408 благодарю!

    • @hurricane9804
      @hurricane9804 3 ปีที่แล้ว +1

      @@ambushedraccoon6408 Добрый день! Доделал проект - портфолио, примет ли работодатель джуна с таким проектом? th-cam.com/video/jsZKuSX9kTs/w-d-xo.html

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 ปีที่แล้ว +1

      ​@@hurricane9804 "Делаю небольшую игру в портфолио как 3дшник," а что вы в данном проекте показываете? Какие-то модельки ваши? Что в общем сделано вами?

    • @hurricane9804
      @hurricane9804 3 ปีที่แล้ว

      @@ambushedraccoon6408 да всë мной сделано от кор геймплея до уровня (кроме можелек и анимации персонажей и концепт уровня из другой игры) т. е. вся игра

  • @КириллЧе-я5ы
    @КириллЧе-я5ы 7 หลายเดือนก่อน

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

  • @sergeyv7342
    @sergeyv7342 2 ปีที่แล้ว +2

    спасибо за видео, тема очень актуальная, но при всем поем уважении смотреть ваши видео просто не возможно , постоянные затыки , прерывания , ответы на вопросы .. ужас . через 10 минут просмотра , уже психанул и вырубил , хотя очень старался досмотреть , тк актуально .
    считаю что необходимо как-то структурировать ответы на вопросы, общение по теме , и комментарии и размышления. К примеру , как вариант, полный подробный ответ на вопрос , опыт , комментарии по этому поводу , а потом только ответы на вопросы всех, а то получается просто каша в которой теряется нить беседы и понимание вообще о чем речь

    • @ambushedraccoon6408
      @ambushedraccoon6408  2 ปีที่แล้ว +1

      Не за что. Слышу я это уже не в первый раз, поэтому и были сделаны изменения.
      Претензия на данный момент не актуальная(скорее всего).
      Сейчас стримы структурированы.
      Блок информации - потом чат.
      Можете убедиться сами:
      th-cam.com/video/p-e5OcUxItc/w-d-xo.html

    • @sergeyv7342
      @sergeyv7342 2 ปีที่แล้ว

      @@ambushedraccoon6408 да , ты молодец. твои видео и знания очень полезны. спасибо что делаешь выводы.
      приятно смотреть грамотных людей и слушать их мнения ,и знания, и советы.

  • @mitroshinsnervecellareaisb6881
    @mitroshinsnervecellareaisb6881 ปีที่แล้ว

    Save: 20:50

  • @s.g.7213
    @s.g.7213 ปีที่แล้ว

    Singleton Есть мой любимый вопрос. И я скажу БРАВО , если кто-то на него ответит, пока никто не ответил.
    Для решения какой проблемы был создан этот шаблон? То есть это не вопрос эстетики или дизайна , и не для того чтобы запретить пользователю что-то , как например создание более чем одного экземпляра объекта. Программа просто не работает без него, то есть проблема техническая.

  • @Kitty-w6q7p
    @Kitty-w6q7p 2 ปีที่แล้ว

    Это вообще реально всё сразу знать? И на какой уровень эти вопросы?

    • @froggy_boyz
      @froggy_boyz ปีที่แล้ว +1

      Ты в любом учебном заведении (где основная цель-вделать из тебя разработчика на с++) на 2-3 курсе будешь знать 90% этих вопросов. дальше- дело желания и опыта

    • @Andrew_Petrovich_Zykov
      @Andrew_Petrovich_Zykov ปีที่แล้ว

      @@froggy_boyz это типичный чел из доставки хочет в прогу влететь

  • @emuzaurus
    @emuzaurus 2 ปีที่แล้ว

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

    • @krisosborshik994
      @krisosborshik994 ปีที่แล้ว +1

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

    • @IExSet
      @IExSet ปีที่แล้ว +1

      Слабо. Незачот.

    • @linuxoidovich
      @linuxoidovich ปีที่แล้ว +2

      Нифига это не сокрытие

  • @slayer-mk5tl
    @slayer-mk5tl 2 ปีที่แล้ว

    получилась хня из за большого количествра отступлений на глупые вопросы из чата

  • @egorlazaruk2697
    @egorlazaruk2697 11 หลายเดือนก่อน

    Зачем вы помогаете читоделам? Они же их в онлайне юзают…

  • @ide9827
    @ide9827 ปีที่แล้ว

    было 800, а уже почти 7 тысяч)

  • @kantocoder5046
    @kantocoder5046 2 ปีที่แล้ว

    У меня общее замечание: "std" произносится разрабами не как эс-тэ-дэ, а как "студ". Например std::mutex произносится как "студ::мьютекс"

    • @Pa36ouHuK
      @Pa36ouHuK ปีที่แล้ว +2

      за 10+ лет опыта в разработке ни разу такого не слышал

    • @kantocoder5046
      @kantocoder5046 ปีที่แล้ว

      @@Pa36ouHuK Вот, слушайте: th-cam.com/video/-Z7Fk4nTMeM/w-d-xo.html

    • @joebravo4224
      @joebravo4224 ปีที่แล้ว

      Эстиди

    • @IExSet
      @IExSet ปีที่แล้ว

      Бред

  • @So1dier
    @So1dier 8 หลายเดือนก่อน

    Странно слышать от кодера что мак это плохо.