Собеседование Junior C++

Привет!
Меня зовут Дима и я занимаюсь промышленной C++ разработкой 7 лет. Последние 2 года работаю в игровой индустрии.
В данном видео я провожу демо-версию собеседования на позицию Junior C++ Developer с Данилом(зритель канала).
Здесь собраны вопросы и задачи, с которыми я сталкивался, когда начинал свою карьеру разработчика.
Профиль Данила в LinkedIn: / danil-fisiuk-165106218
Таймкоды:
00:00 Рассказ о себе
03:25 ООП
06:31 Недостатки ООП
07:53 Ромбовидное наследование
10:55 virtual
14:50 pure virtual методы
16:14 pure virtual call - реализация
20:08 pure virtual call - объяснение
22:44 static
25:08 передача параметров в функции
29:07 const
32:20 const_cast
33:20 std::vector VS std::list
38:18 удаление элемента из массива
42:31 защитить класс от копирования
45:08 Сортировка
47:52 Пузырек
50:02 Фидбэк

Пікірлер: 84

  • @ambushedraccoon6408
    @ambushedraccoon6408 Жыл бұрын

    Всем привет! Хочу сделать новое собеседование Junior С++ разработчика. Но для этого нужны добровольцы. Если вы хотите проверить свои знания и попасть в новое видео, то пишите мне на почту: ambushed.raccoon.tube.mail@gmail.com с темой “Junior собеседование кандидат”. В письме пишите свои контактные данные, предпочитаемый способ связи, какую вы ищете позицию, описание ваших знаний либо резюме. Я выйду с вами на связь. Со своей стороны гарантирую, что видео будет выложено только с вашего согласия. Так что не бойтесь. Будьте внимательнее с темой письма, потому что они очень легко попадают в спам.

  • @ambushedraccoon6408

    @ambushedraccoon6408

    Жыл бұрын

    Всем спасибо! Прием резюме окончен)

  • @mrbibis7229
    @mrbibis7229Ай бұрын

    Этот чувак лучше отвечает на более углубленные вопросы, чем "мидлы" в последних видосах) Особенно редкое понимание о том, что виртуальность на момент вызова конструктора еще не готова

  • @user-pg1ed3jw1p
    @user-pg1ed3jw1p2 жыл бұрын

    Спасибо , так давно искал на ютубе видео подобного содержания про плюсы )) Это единственное из достойных !

  • @codemaniacchannel6422
    @codemaniacchannel64222 жыл бұрын

    Супер контент. Спасибо, было очень познавательно. Пополнил свой список вопросов для юнлингов =)

  • @kiyanden
    @kiyanden2 жыл бұрын

    Жду ещё от тебя собесов! Это контент, которым очень нужен новичкам) куда ни плюнь, везде публичные собеседования плюсистов на миддлов и сеньоров, джунов как будто не бывает

  • @user-yk9nr5bu9q
    @user-yk9nr5bu9q Жыл бұрын

    Шикарное собеседование! В конце подчеркнул ошибки. Теперь знаю на что у себя обратить внимание. Спасибо за проведенную работу!

  • @nokia_n-gage
    @nokia_n-gage2 жыл бұрын

    Спасибо! было интересно )

  • @qwerty-hk4by
    @qwerty-hk4by2 жыл бұрын

    Вот это контент, спасибо!

  • @kelistraza
    @kelistraza2 жыл бұрын

    Полезная инфа, спасибо.

  • @user-fz1yu2qv8f
    @user-fz1yu2qv8f2 жыл бұрын

    Огромный лайк за видео и подписка за таймкоды

  • @evgenyrozhnowsky6572
    @evgenyrozhnowsky6572 Жыл бұрын

    Спасибо! Парень молодец, чтоб я так тащился от кодинга на своем 2м курсе))

  • @MRtheLAGERAT
    @MRtheLAGERAT2 жыл бұрын

    Спасибо!

  • @hustrik4805
    @hustrik48052 жыл бұрын

    такое ощущение будь то из собеседования можно извлечь больше полезной информации чем от бездумного чтения всего ибо тут конкретно говорится о том что нужно знать ну правда то что спрашивают не всегда пригодится на работе

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Спасибо. Мало что из того, что спрашивают пригодится. Но проблема в том, что тогда непонятно, как отсеивать людей и что вообще спрашивать.

  • @vanyakhodor3387

    @vanyakhodor3387

    2 жыл бұрын

    ​@@ambushedraccoon6408, привет. Я даже близко не с твоим опытом, но вроде хорошей практикой показало себя решение какой-то очень сильно упрощённой таски из реальной жизни. Это и сразу пример для человека, и можно за ходом мысли понаблюдать, как-то смасштабировать результаты на реальную жизнь.

  • @ambushedraccoon6408

    @ambushedraccoon6408

    Жыл бұрын

    @@vanyakhodor3387 Привет, извиняюсь за поздний ответ, не было уведомления. Это, конечно, идеальная ситуация, однако довольно сложно ее воссоздать. Чтобы была таска из реальной жизни, это должен быть реальный проект. Человеку с улицы не дашь доступ к проектам компании по огромному количеству причин, ну и собеседование тогда бы затянулось на пару рабочих дней, потому что надо дать человеку возможность въехать в проект. Поэтому и получается, что на данный момент в большинстве случаев на собеседованиях на данный момент все сводится к теоретическим вопросам и задачам на логику.

  • @vanyakhodor3387

    @vanyakhodor3387

    Жыл бұрын

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

  • @Km-pn3hf
    @Km-pn3hf2 жыл бұрын

    спасибо)

  • @bloodyink3423
    @bloodyink34232 жыл бұрын

    Желаю продвижения каналу =)

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Спасибо)

  • @fazen5630
    @fazen5630 Жыл бұрын

    привет, поступил на первый курс на направление информатика и вычислительная техника. в 7-8 классах занимался разработкой на c++. до сегодняшнего дня думал, что моих знаний мало, чтобы пойти даже на джуна, но послушав данное видео, сделал вывод, что особо много знать не надо для этого, что и удивило меня. Неужели так легко пройти на джуна?

  • @blackwoodperegrin1950

    @blackwoodperegrin1950

    Жыл бұрын

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

  • @user-rj7cf4sf6d
    @user-rj7cf4sf6d2 жыл бұрын

    Сортировка пузырьком(выбором). =)

  • @user-zw2fh7jg5g
    @user-zw2fh7jg5g2 жыл бұрын

    В задаче на сортировку нужно было реализовать сортировку пузырьком. Мне кажется, то что было реализовано в коде это сортировка выбором, в пузырьке нужно свапать A[j], A[j+1]. Формально обе сортировки квадратичны, но в задании нужно было реализовать именно пузырек, так что задание выполнено неверно. Поправьте, если я не прав.

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Это тоже было для меня немного необычной реализацией. Но я ее видел на Хабре и для себя решил, что возможно это один из вариантов реализации. Для меня тоже всегда было правильным менять местами соседей. Если это и сортировка выбором, то ошибку тут допустил я, что воспринял это как тоже правильное решение)

  • @this.u

    @this.u

    2 жыл бұрын

    Прошло конечно 6 месяцев, да, ты прав, обе сортировки имеют сложность n^2, но сортировка выбором будет иметь сложность O(n) в отсортированном массиве

  • @YepSpirit
    @YepSpirit2 жыл бұрын

    Я, может не в теме,только учусь но удаление элемента из массива так и не было выполнено, чтобы перезаписалась последняя единица вектор должен быть длиннее на 1 число. Тогда вопрос к чему было это на 39.49 "почему работает" Оно же не работает?

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Довольно тяжело шла эта задача... Я, когда задавал условие задачи, говорил, что меня не интересует изменение размера массива в данной ситуации. Думаю, что это не попало на видео просто.

  • @cosmodeath2490
    @cosmodeath24902 жыл бұрын

    Сидите как на измене, что-то торопитесь всё, от этого сам нервничаю:D

  • @igorilich1379
    @igorilich13792 жыл бұрын

    Первую половину интервью парень получше моего, а потом послабее, все зависит от области, которую зацепит интервьюер…

  • @higiro9333
    @higiro93332 жыл бұрын

    Ооо, я тож ПМщик

  • @denys.martyniuk
    @denys.martyniuk2 жыл бұрын

    Сегодня проходил собес на позицию джуна в одну мобайл геймдев компанию, там подобными вопросами и не пахло. Я так готовился по всяким ООП штучкам, написал unique_ptr, shared_ptr, выучил все про pure virtual call, виртуальное наследование, виртуальный деструктор, работаю с STL постоянно и тд... в итоге меня спрашивают что то по сырым указателям, кинули пару кусков Си стайл кода, попросили объявить указатель на функцию(хотел заюзать std::function, cказали что нельзя), в итоге обосрался жидким так , что ляшки еще долго буду отмывать, ничего из этого я не юзал уже где то год, и меня чисто застали в расплох(

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

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

  • @denys.martyniuk

    @denys.martyniuk

    2 жыл бұрын

    @@ambushedraccoon6408 такой ответ дает надежду

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    @@denys.martyniuk Да тут вообще не стоит загоняться. Пройдитесь по вопросам, которые вызвали трудности, ну так, для успокоения совести. И на новое собеседование.

  • @mezmay12

    @mezmay12

    2 жыл бұрын

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

  • @SweetieSnowyCelestia

    @SweetieSnowyCelestia

    2 жыл бұрын

    ​ @Ambushed Raccoon если ты не умеешь пользоваться сырыми указателями, то это очень странно. Это базовый ф-ционал языка. Да, есть обертки умных указателей, но что если в проекте используется свой умный указатель? Тебе надо будет разобраться хотя бы минимально как он устроен.

  • @vasiliypupkin6311
    @vasiliypupkin63112 жыл бұрын

    РЕБЯТА, не хватает вопроса про малок

  • @lightning_trade_official
    @lightning_trade_official2 жыл бұрын

    скажите пж, где можно бесплатно выучить с++? язык не важен (англ или рус) ток не от яндекса

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Здравствуйте. Рекомендую ознакомиться с данной статьей, там и интересные факты по С++ и довольно подробно расписано, что и в каком порядке учить. github.com/salmer/CppDeveloperRoadmap также много подписчиков рекомендовало сайт ravesli.com/ предположу, что это тоже качественный источник знаний. Также не забывайте периодически решать задачи на сайте Leetcode.com Удачи!

  • @nZver90

    @nZver90

    7 ай бұрын

    @@ambushedraccoon6408 автор ravesli поехал кукухой после начала СВО и чуть ли не обявил русских с белорусами своими кровными врагами. Сайт как минимум ограничил, в отместку можно скачать его офф-лайн книжку, которую нужно было у него покупать (я почти наверняка уверен, что деньги с этой книжки он теперь жертвует ВСУ, так что лучше пиратьте).

  • @maxijer8136
    @maxijer81362 жыл бұрын

    Не хотелось бы вас расстраивать, но ваш код по удалению элемента не работает))) Простой контр-пример: {2, 3, 4, 5, 1}, удалите 1

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    А это код и не должен был удалить. Данный код призван переместить все удаляемые значения в конец массива за один проход. Затем нужно вызвать resize например. Я должен был упоминать этот момент на стриме, возможно упустил либо на монтаже подрезал. В вашем примере все правильно.

  • @_name8097
    @_name8097 Жыл бұрын

    Почему не все используют - using namespace std; ?

  • @digitusfatum714

    @digitusfatum714

    Жыл бұрын

    Это вообще плохая практика, насколько мне известно.

  • @evgenyrozhnowsky6572

    @evgenyrozhnowsky6572

    Жыл бұрын

    Для дополнительного контроля за кодом. Например: по каким то причинам у вас появилась своя собственная реализация функции swap. Вводя глобально пространоство имен std в модуль, вы автоматически напарываетесь на неоднозначность (как минимум в плане читаемости кода).

  • @Light_Script-xh9ww
    @Light_Script-xh9ww2 ай бұрын

    Он по факту сортировку выбором реализовал, а не пузырьком

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 ай бұрын

    Да, так и есть.

  • @kioko1007
    @kioko10072 жыл бұрын

    Для работы с++ дев, нужна матеша?И можно ли им стать если с математикой туго?

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

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

  • @olexkov4643
    @olexkov4643 Жыл бұрын

    А разве это можна считать пузырьковой сортировкой?

  • @ambushedraccoon6408

    @ambushedraccoon6408

    Жыл бұрын

    Было уже обсуждение на данную тему под видео. Вот прикрепляю часть моего ответа. "Это тоже было для меня немного необычной реализацией. Но я ее видел на Хабре и для себя решил, что возможно это один из вариантов реализации. Если это и сортировка выбором, то ошибку тут допустил я, что воспринял это как тоже правильное решение)"

  • @kaleo356
    @kaleo3562 жыл бұрын

    Парень красав4ик , машина

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Согласен

  • @artes2664
    @artes26642 жыл бұрын

    А это точно Junior уровень? Такое чувство, что это немного выше...

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Ну всем не угодишь) Кто-то говорил, что наоборот слишком легко.

  • @emil2072

    @emil2072

    2 жыл бұрын

    Если было бы немного выше, спрашивали бы по паттернам к примеру, многопоточность, алгосы (деревья, графы), ну или информацию в зависимости от специфики вакансии (qt - если фронт, http, tcp/udp - если бэк, либу boost и тд)

  • @t-lore4413

    @t-lore4413

    Жыл бұрын

    Это скорее ниже

  • @gromitwoll6907
    @gromitwoll69072 жыл бұрын

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

  • @sergsapov2927
    @sergsapov2927 Жыл бұрын

    Интересно что тут на юниора вопросы сложнее чем в соседнем видео на мидла - kzread.info/dash/bejne/gKRqt9SEfpnAkqQ.html

  • @sanek240499
    @sanek2404992 жыл бұрын

    С удлением что-то не то) 1) удалились 2 единицы из 3. 2) появилось ещё одно число со значением 300

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

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

  • @sanek240499

    @sanek240499

    2 жыл бұрын

    @@ambushedraccoon6408 про появившееся число: я имею в виду, что изначально в массиве был один элемент со значением 300, а после удаления единицы, элементов со значением 300 стало уже два)

  • @user-cc3bv1rq2f

    @user-cc3bv1rq2f

    2 жыл бұрын

    @@sanek240499 наверное надо было ввести счетчик количества удаленных элементов а в конце сделать resize?

  • @sanek240499

    @sanek240499

    2 жыл бұрын

    @@user-cc3bv1rq2f я без понятия какая там реализация, но в стандартном векторе вроде происходит left shift всех элементов на одну позицию, и у последнего вызывается дестрктур. Т.е. тут по сути можно было тоже сделать left shift, и в конце сделать resize, ну или erase, кому как удобнее

  • @user-cc3bv1rq2f

    @user-cc3bv1rq2f

    2 жыл бұрын

    @@sanek240499 Да это не важно суть - не обрезаны последние элементы. И кстати сортировка не пузырьком - сортировка выбором, не лучшей реализации.

  • @andrewefimov4488
    @andrewefimov44889 ай бұрын

    virtual значит абстрактный же. весь класс становится. ну. вы чего?

  • @user-sh4dv3se5c
    @user-sh4dv3se5c2 жыл бұрын

    После "Че еще" можно дальше не смотреть....

  • @MsTim159

    @MsTim159

    2 жыл бұрын

    А как надо? "Извольте сударь продолжить" ? Нормальное бытовое общение, что как раз снимает напряжение на собесах.

  • @lakeylakeyevich982
    @lakeylakeyevich9822 жыл бұрын

    Если честно, то само собеседование слабое (в плане вопросов/задач). Я бы сказал, что это больше на позицию стажера, чем junior. По крайней мере по моему опыту

  • @ambushedraccoon6408

    @ambushedraccoon6408

    2 жыл бұрын

    Может быть. Я из своего опыта брал. Конечно, может быть как и сложнее, так и легче.

  • @uryna777
    @uryna777 Жыл бұрын

    я лох.

  • @Kalin_cheetah

    @Kalin_cheetah

    7 күн бұрын

    Начнем с того, что вы - uryna777. В остальном, желаю вам успехов.