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

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ต.ค. 2022
  • Всем привет!
    Провели тренировочное собеседование с Максимом на позицию Junior C++ Developer.
    Приятного просмотра!
    Не забудьте поддержать видео :)

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

  • @user-tb7su2nj4b
    @user-tb7su2nj4b 5 หลายเดือนก่อน +154

    Не знал, что Оксимирон ещё проводит пробные собеседования. Спасибо за контент

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

      Хаха, в точку, зашёл в комментарии с надеждой на твой коммент!

    • @Malans-zz6cn
      @Malans-zz6cn 17 วันที่ผ่านมา

      он просто из репа в программирование ушел
      Посмотрел на зарплату и офигел

  • @deleted76
    @deleted76 ปีที่แล้ว +235

    Рекомендую при правильных/неправильных ответах объяснять почему так и как это работает
    Обычно люди смотрят такие видео в образовательных целях)

    • @Deletedeletedelete
      @Deletedeletedelete 10 หลายเดือนก่อน +8

      Обычно на реальных собесах поясняют ответы

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

      Тогда видео длилось бы 3 часа, вместо 45 минут

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

      ​@@maratmkhitaryan9723 и хорошо

    • @MATxRYK
      @MATxRYK 2 หลายเดือนก่อน

      ​@@maratmkhitaryan9723не вижу ничего плохого в этом

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

      и в чем проблема?

  • @bartonby-3976
    @bartonby-3976 ปีที่แล้ว +318

    Это видео скрасило мою ночную смену на заводе

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

      😂😂😂😂😂😂😂😂

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

      Жижа?

    • @arseny.a
      @arseny.a 7 หลายเดือนก่อน

      Аналогично 😁😁

    • @qnide9636
      @qnide9636 5 หลายเดือนก่อน +2

      Вот вроде шутка, а мне грустно стало😥

    • @bartonby-3976
      @bartonby-3976 4 หลายเดือนก่อน

      @@qnide9636 я не шутил

  • @vasiliypupkin6311
    @vasiliypupkin6311 ปีที่แล้ว +5

    Такой формат очень полезен, спасибо!

  • @fisyamaloy1754
    @fisyamaloy1754 ปีที่แล้ว +24

    Спасибо за видео! Понравилась задача с односвязным списком, а вопрос про аргументы макросов застал врасплох) Про то, какие файлы именно мы компилируем на 10:00: после препроцессинга на выходе создаются .ii файлы, которые после компилируются

  • @ds_doc
    @ds_doc ปีที่แล้ว +44

    NB: Когда размер вектора становится равен его ёмкости, компиляторы GCC и Clang расширяют вектор в 2 раза, тогда как компилятор VS в 1.5 раза

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

    Очень полезное видео, спасибо вам двоим большое!

  • @alexcpp6814
    @alexcpp6814 ปีที่แล้ว +7

    Здорово!! Надеюсь продолжишь записывать такие видео а я продолжу ставить лайки))

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

      Спасибо)
      На очереди еще несколько кандидатов, так что будем записывать.

  • @MelissaTeaCup
    @MelissaTeaCup ปีที่แล้ว +26

    Спасибо за видео, переживаю перед своими первыми собеседованиями, вы мне немного помогли справиться с тревогой и проверить свои знания

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

      Удачи!)

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

      Как прошло собеседование?

    • @user-cq4kq3nc4u
      @user-cq4kq3nc4u 9 หลายเดือนก่อน +1

      ​@@uondo1160как прошли собеседования?

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

      Как прошло собеседование?

    • @user-lc8gu3ti6b
      @user-lc8gu3ti6b 8 หลายเดือนก่อน +19

      Плохо походу😂

  • @user-dp9em6vg8e
    @user-dp9em6vg8e ปีที่แล้ว +1

    Спасибо, очень познавательно.

  • @alexplaytop
    @alexplaytop 2 หลายเดือนก่อน +6

    Для Джуна вопросы Огонек! Очень сильный Джун будет, почти Джин.

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

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

  • @user-kb5wv7wj1x
    @user-kb5wv7wj1x ปีที่แล้ว

    Очень крутое видео, еще сам себя проверил)

  • @gs_tradegs_trade1348
    @gs_tradegs_trade1348 10 หลายเดือนก่อน +4

    очень добрый интервьюе́р

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

    Интересно, но, если не ошибаюсь, если из конструктора вылетает исключение при вызове new, то автоматически вызывается operator delete без деструктора

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

    очень полезное видео!

  • @broken_beyond_belief
    @broken_beyond_belief ปีที่แล้ว +7

    в принципе, спать я не особо и планировал

  • @user-hu8ke6wy1y
    @user-hu8ke6wy1y ปีที่แล้ว

    Ты крутой! Продолжай пилить такой контент! Хочу подкинуть идею: Про собеседуй Джуна по стандартам США вакансий, но сразу нам это не говори! Выдай в конце видео) Будет круто)

  • @AndreySedov
    @AndreySedov 9 หลายเดือนก่อน +1

    Дай бох сил тебе ,добрый человек. Про список ересь он сказал

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

      Пишется бог

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

      пишется Бог@@zavi8695 . Не нужно строить из себя умного. Поучить вздумал

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

    Можно вопрос? Чем тогда отличаются собеседования trainee от Джуна? Или оно всё джуном называется? Или неужели можно попасть в Джуны без опыта?

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

      Особо ничем, только джун будет уже работать, а трейни будут скорее обучать. На джуна вполне можно залезть без опыта (коммерческого).

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

      ​@@drm365 соевичок)

  • @user-sq3jk3fs5k
    @user-sq3jk3fs5k 5 หลายเดือนก่อน +1

    У меня одного код не видно из-за качества?

  • @user-pt4ky6uq2c
    @user-pt4ky6uq2c 3 หลายเดือนก่อน

    Вопрос касаемо placement new, точнее не про него, а про другую область, спрашивают ли про аллокаторы? allocator_traits и тп

    • @ambushedraccoon6408
      @ambushedraccoon6408  3 หลายเดือนก่อน

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

    • @user-pt4ky6uq2c
      @user-pt4ky6uq2c 3 หลายเดือนก่อน

      @@ambushedraccoon6408 а как попробовать пройти такого плана собеседование?

  • @loc-dok
    @loc-dok 3 หลายเดือนก่อน

    22:12 что значит переместишь string? а копировать? откуда куда?

    • @ambushedraccoon6408
      @ambushedraccoon6408  2 หลายเดือนก่อน

      Это значит, что мы указатель из одной строки присваиваем другой строке, а первую чистим. Не происходит выделения памяти и копирования данных.

  • @user-il5ly5iv6z
    @user-il5ly5iv6z ปีที่แล้ว

    И это во всех собеседованиях будут такие вопросы?

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

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

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

    На каких фреймворка пишут игровые движки? Весь интернет обшарил и ничего не нашёл. Спасибо за ответ.

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

      Привет! Формулировка вопроса немного неправильная. Движок - это инструмент, объединяющий некоторое количество фреймворков, которые используются для создания игр (например, работа с сетью, звуком, графикой, файлами и т.д.). Если вы хотите написать свой собственный движок, вы можете использовать SFML как более высокоуровневый инструмент для С++. Однако, если вы начинаете с нуля, вам придется изучить API для работы с видеокартой, такие как DirectX, OpenGL и т.д. Вот некоторые материалы по DirectX, которые могут вам помочь:
      www.3dgep.com/learning-directx-12-1/
      www.directxtutorial.com/Lesson.aspx?lessonid=9-4-1

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

      @@ambushedraccoon6408 Привет, огромное спасибо за ответ. Не, свой движок я не хочу писать, просто изучаю программирование и интересно, какие фреймворки изучать для создания ПО типо такого.

    • @user-bv6rx3xy8e
      @user-bv6rx3xy8e 7 หลายเดือนก่อน

      На XNA сделана Террария, к примеру

    • @v1dzhet
      @v1dzhet วันที่ผ่านมา

      @@user-bv6rx3xy8e xna вообще для дотнета

  • @adb_shell
    @adb_shell วันที่ผ่านมา

    Привет! Мне 13 лет и я изучаю c++, посоветуй, что мне на нем писать? И у меня вопрос - зачем передовать агрументы в main? Тоесть например: int argc, char *argv[]. Что от этого меняется?

    • @v1dzhet
      @v1dzhet วันที่ผ่านมา

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

  • @nZver90
    @nZver90 6 หลายเดือนก่อน

    А разве удаление элемента из списка не представляет из себя задание предыдущему элементу от удаляемого в качестве указателя на сл. элемент, указатель на элемент, следующий за удаляемым? Ну и далее уже "занулять" указатель удаляемому элементу. Не самым лучшим способом объяснил, но надеюсь что кто-нибудь меня понял.)

    • @llllNEOllllchannel
      @llllNEOllllchannel 6 หลายเดือนก่อน

      Так ты не имеешь доступ к предыдущиму элементу. Ты его не сможешь трогать, читать его данные. Этa задача на логику и в реальности ты её не встретишь.
      В итоге ты удаляешь следующий элемент, значение следующего элемента встанет на место значения текущего элемента (а адрес тот же ), предыдущий не трогаем, указатель next текущего элемента ставим в null.

  • @oleg_kishinskii
    @oleg_kishinskii ปีที่แล้ว +12

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

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

      там только первый вопрос немного tricky, потом элементарные вещи идут

  • @evgenyrozhnowsky6572
    @evgenyrozhnowsky6572 ปีที่แล้ว +7

    Крутые вопросы, маловато только лайв кодинга как для собеседования джуна)

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

      Спасибо за фидбек, возьму на заметку.

    • @addressmodel2121
      @addressmodel2121 10 หลายเดือนก่อน +4

      @@ambushedraccoon6408 , 5:54 - вопрос из видео: "у какого поля класса конструктор вызовется раньше, у поля b или поля a?" - Ответ: компилятор в Release режиме выстроит поля в алфавитном порядке в сторону возрастания адресов в памяти. Из этого следует, что в Release режиме компиляции конструктор поля "a" вызовется раньше. Кстати, при инициализации объектов базовых классов, инициализация тоже идёт в алфавитном порядке. Инициализация мнимого подобъекта BASE_1 будет раньше инициализации мнимого подобъекта BASE_2 (инициализация идёт после размещения в памяти, а размещение в памяти идёт по алфавиту названий).

  • @AlexeyAvramchik
    @AlexeyAvramchik ปีที่แล้ว +13

    Посмотрел это видео и видео собеседования на Middle C++. Мне показалось, что вопросы для Junior собеседования были сложнее, чем вопросы для Middle... Ну либо это какая-то моя личная спицифика знаний))

    • @Deletedeletedelete
      @Deletedeletedelete 10 หลายเดือนก่อน +2

      Всегда же так. Чем выше грейд тем собесы проще так как меньше про теорию вопросов :)

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

    Ну, в принципе, даже немного уверенность повысилась

  • @aster5450
    @aster5450 3 หลายเดือนก่อน

    Норм, только для unordered_set и unordered_map нужен std:hash. Оператор "меньше" только для обычных map и set

  • @dark_angel2598
    @dark_angel2598 หลายเดือนก่อน +1

    Всем привет, а где находить вакансии на должность junior C++?(

    • @stupnum8764
      @stupnum8764 4 วันที่ผ่านมา

      Москва, Новосиб, СПБ, Казань и прочие крупнейшие города. Например у меня в Ростове на Дону их нет. Много it вакансий, но плюсовики без опыта не нужны

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

    Как попасть на такое собеседование?)

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

      Был набор желающих, на данный момент он приостановлен. Когда будет новый набор - дам объявление в телеграм-канале и сообществе.

  • @user-ut2ii3qi6x
    @user-ut2ii3qi6x 7 หลายเดือนก่อน

    Есть такой Григорин - у него свой канал на Ютубе. Он утверждает, что в С++ нет понятия "джун" и т.п. Там изначально уровень выше, чем у Питонистов и ВЕБ-разработчиков. Ну так как - прав ли Григорин?

  • @user-il5ly5iv6z
    @user-il5ly5iv6z ปีที่แล้ว

    Как участвовать на таких собеседованиях у вас?

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

      Я проводил набор желающих, на данный момент он приостановлен. Когда будет новый набор - дам объявление в телеграм-канале и сообществе.

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

    Привет из Сибгути

  • @favoriteforyou2438
    @favoriteforyou2438 10 หลายเดือนก่อน +14

    Когда только закончил базовый курс по видосикам и понял что грубо говоря умеешь считать до 5 а тут высшая математика 😂😂😂😂😂😂

    • @Andrew_Petrovich_Zykov
      @Andrew_Petrovich_Zykov 6 หลายเดือนก่อน

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

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

      ты очень крутой ​@@Andrew_Petrovich_Zykov

  • @nZver90
    @nZver90 6 หลายเดือนก่อน

    Виртуальный конструктор не существует? Ну, как бы сказать. Как конструкция языка C++ нет, но как паттерн Фабричный метод - ещё как существует (это его второе название). Хорошо хоть джуна по паттернам не стали гонять (как и по реализациям с нуля алгоритмов, структур данных, про многопоточность, шаблоны, фишки из стандартов C++17 и C++20, тут простор для мучений собеседуемого просто бескрайний), но боюсь что на реальных собеседованиях уже и не такое спрашивают. Повторюсь, джунов.

    • @ontetsu1071
      @ontetsu1071 3 หลายเดือนก่อน

      Тут от проекта зависит, на самом деле, мало кому интересно на собеседовании охватывать все аспекты плюсов. Особенно реализации каких то структур данных, тривиальные алгоритмы ещё можно попросить (зачем?) написать. А так, спрашивают как раз то, что вы перечислили - stl, многопоточность, архитектуру процессора, немного ос, алгосы, а дальше предметная область уже. На мидла меня ещё по паттернам спрашивали и солид, но только теорию
      Шаблоны - это вообще дичь, только разговором о них можно собес на 5 часов растянуть, условно

    • @user-jj2ez9et5t
      @user-jj2ez9et5t 3 หลายเดือนก่อน

      ​@@ontetsu1071 А что про ос, например, спрашивают?

  • @wqwwsqwsqess4165
    @wqwwsqwsqess4165 ปีที่แล้ว +5

    Мне кажется вопросы слишком лёгкие для джуна

  • @user-sf5zv4jc5v
    @user-sf5zv4jc5v ปีที่แล้ว

    Привет, можно попробовать? =)

  • @addressmodel2121
    @addressmodel2121 10 หลายเดือนก่อน +2

    5:54 - вопрос: у какого поля конструктор вызовется раньше, у поля b или поля a? - Ответ: компилятор в Release режиме выстроит поля в алфавитном порядке в сторону возрастания адресов в памяти. Из этого следует, что в Release режиме компиляции конструктор поля a вызовется раньше.

    • @addressmodel2121
      @addressmodel2121 7 หลายเดือนก่อน +4

      @@drm365 , отношение к языку C++ сформируйте исходя из следующих позиций:
      1) относитесь к C++ как к основному средству разработки быстро работающей графики;
      2) правил в C++ много и, поэтому, вам нужно выработать собственный стиль программирования, использующих часть этих правил, а на остальные правила не обращайте внимания;
      3) в некоторых фирмах язык C++ используется как язык написания быстро работающих алгоритмов; сами алгоритмы пишутся обычно в некотором корпоративном стиле и не затрагивают все правила языка.
      Исходя из этих пунктов, делайте так:
      а) определитесь где вы хотите работать: в графике или в алгоритмах;
      б) освойте основные правила языка без всяких мелочей;
      в) изучайте соответствующие библиотеки: графические или алгоритмические;
      г) не концентрируйтесь очень глубоко на тысячах хитрых правил синтаксиса C++.

    • @addressmodel2121
      @addressmodel2121 7 หลายเดือนก่อน

      @@drm365 , кроме этого, в C++ некоторые DLL библиотеки присоединяются к проектам с некоторыми приключениями. Следовательно, сразу поcле освоения основ C++, займитесь подключением к проекту разных библиотек. Например, попробуйте подключить какую то графическую библиотеку, или простой игровой движок, примерно пятнадцатилетней давности разработки. Потом попробуйте эти библиотеки использовать в проекте каким то примитивным способом. Среды разработки на C++:
      1) Dev-C++;
      2) MS Visual Studio;
      3) CodeBlocks.
      В общем под резюмирую: если основы языка изучили, то дальше возитесь с библиотеками (для начала научитесь просто эти библиотеки подключать и немного использовать).

    • @zakharka3938
      @zakharka3938 5 หลายเดือนก่อน +6

      Не надо нести ерунду про какой-то там алфавитный порядок и разные режимы. В С++ поля инициализируются в порядке их объявления.

    • @addressmodel2121
      @addressmodel2121 5 หลายเดือนก่อน

      @@zakharka3938 , ага .. .

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

      не, это бред, язык гарантирует, что поля будут располагаться в памяти в порядке их объявления, в этом легко можно убедиться.
      struct A
      {
      float f = 1;
      float e = 2;
      float d = 3;
      float c = 4;
      float b = 5;
      float a = 6;
      };
      void main()
      {
      A a;
      for (size_t i = 0; i < (sizeof(A) / sizeof(float)); i++)
      {
      std::cout

  • @user_31b79s2
    @user_31b79s2 2 หลายเดือนก่อน

    Безопасное зануление) а чем зануление отличается от заземления))

  • @my_learning_spaceship
    @my_learning_spaceship หลายเดือนก่อน +1

    Понимаю, что ещё учиться и учиться...

  • @user_31b79s2
    @user_31b79s2 2 หลายเดือนก่อน

    Программист - это современные инженер.

  • @user-rq5es9bp9g
    @user-rq5es9bp9g 2 หลายเดือนก่อน

    лет 15 не писал, но все помню)

  • @StatistikaInfo
    @StatistikaInfo 3 หลายเดือนก่อน

    какой С++ в 2024 году? я обожаю этот язык программирования, но он все меньше востребован...

    • @ambushedraccoon6408
      @ambushedraccoon6408  2 หลายเดือนก่อน

      Это сложный вопрос. Надо смотреть индустрии, где он все еще востребован и решать интересно или нет. В целом популярность языка снизилась за последние 10 лет и он стал более узко специализированным. Я сам изучаю дополнительно другие языки на всякий случай. Сейчас вот не знаю, что попробовать python, go или rust....

    • @user-ws1ud4op9i
      @user-ws1ud4op9i หลายเดือนก่อน

      хз где он меньше востребован. До сих пор куча вакансий на С++. Но да, согласен. Тебе не предложат 100500 вакансий питониста, которых расплодилось, как тараканов. Да и какая адекватная замена ++? По-моему ее тупа нет. Питон вообще кринж, раст может, GO вряд ли. А один из самых популярных на с++ QT жив и умирать не думает.

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

    Позавите на собес по плюсам пожалуйста, готов в любое время в любой день)

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

    Ждем Carbon

  • @user-cc1ry3xe3l
    @user-cc1ry3xe3l ปีที่แล้ว +1

    Как попасть на твое тренировочное собеседывание?

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

      Пока никак, на данный момент уже большая очередь из желающих.
      А вообще объявление о наборе я даю в сообществе или в телеграме.
      t.me/AmbushedRaccoon

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

    окси проводит собес ?)

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

    c move семантикой все запутались :) она ниче не копирует, данные где были там и остаются. просто пренадлежат теперь другому объекту.

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

      При move конструировании конструируется именно НОВЫЙ объект. Поэтому все интегральные типы вроде int float скопируются, данные в куче останутся на старом месте, но сами указатели на эти данные копируется.

  • @Dofor
    @Dofor ปีที่แล้ว +5

    Зачем спрашивать про макросы если в С++ добавили Inline функции чтобы избавиться от макросов?

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

      это перпендикулярные вещи. К тому же инлайн не обязывает компилятор делать подстановку

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

      @@pavel_trpn для принудительного встраивания есть forceinline

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

      @@Dofor стандарт в курсе?

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

      @@pavel_trpn а это правильный вопрос как так вышло что многие компиляторы предоставляют специальный атрибут или директиву для принудительного встраивания функции, а в стандарте ее нету? Ответ на этот вопрос заодно отвечает почему следует забыть про макросы работая на С++

  • @techN0Cigan
    @techN0Cigan ปีที่แล้ว +10

    Я бы такого кандидата сразу взял бы работать без раздумий! Вы видели его??? Это же лютый прогер с многолетним опытом разработки, его тупа нужно мидлом брать сразу, и всё тут!

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

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

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

    Так неправда же, это больше выводится из меньше и равно

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

      Равно тоже выводится из меньше.

  • @user-pd9du9on6s
    @user-pd9du9on6s 6 หลายเดือนก่อน +1

    Честно говоря странно было в конце услышать что какие-то вопросы могли быть и в мидл собесе, потому что все содержание видео это базовый курс С++ в любом нормальном университете

    • @sense5879
      @sense5879 5 หลายเดือนก่อน

      Серьёзно? Это такой банальной чуши учат в УНИВЕРСИТЕТЕ? Дак это же всё знания из открытых источников... Я это ещё знал в 8 классе, все видео на Ютубе есть. Дак в универе ещё и платить за обучение надо, я то думал там будет что то более стоящее...

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

      парень с кафедры далекой от си. я на информационной безопасности 1 семестр щупал стандартные "массивы" си/си++, вот и кончилось обучение. я честно признаюсь что не хочу называть свой вуз нормальным, не люблю эту систему (мирэа) пусть он и один из ведущих в стране. поэтому парень знает больше чем дают в вузах! (основываюсь не только на своем опыте, но и на опыте знакомых из других вузов)

    • @user-pd9du9on6s
      @user-pd9du9on6s 4 หลายเดือนก่อน

      @@shoggot282 я учусь в чешском техвузе и тут все что было в видео является базой

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

      @@user-pd9du9on6s это правда круто, рад за тебя, но я не иронизирую, тут все посложнее

  • @zryndin
    @zryndin 7 หลายเดือนก่อน

    Профанация, тестировать должен AI

  • @pucyhok
    @pucyhok 3 หลายเดือนก่อน +1

    Экзамен прям

  • @736939
    @736939 6 หลายเดือนก่อน

    Можете меня ненавидеть, но Rust намного круче плюсов. Баю-баюшки баю, Бьерн Страуструп проспал AI и смартфоновую революцию, Google выбрал Java только из-за "Garbage collector"-а, только в 11 году, появились смарт пойнтеры, что касается Aİ, то всю нишу взял Python под капотом библиртек которых Rust.

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

    Мне кажется, на Junior ту мач. Семантика перемещения, на мой взгляд, не обязательно на джуниора. "placement new" не каждый сеньор знает )

    • @ambushedraccoon6408
      @ambushedraccoon6408  7 หลายเดือนก่อน +2

      Это практически первый раз, когда кто-то сказал, что вопросы сложноваты на собеседовании)

    • @nZver90
      @nZver90 6 หลายเดือนก่อน

      Забавно, но я у Скотта Майерса (порекомендовали его книжки сразу после изучения синтаксиса языка для разбора его тонкостей) как раз недавно вычитал про placement new, но я не знал, что он именно так и называется. Как бы знаю ответ на вопрос, но одновременно и не знаю.)

    • @llllNEOllllchannel
      @llllNEOllllchannel 6 หลายเดือนก่อน

      @@ambushedraccoon6408 наверное потому что когда ты говоришь, что что-то сложно, то ставишь себя в слабое положение, там стыдно итд. Это как в школе, когда учитель задаёт вопрос "Всё поняли?" - 70% аудитории ничего не понимает, но утвердительно кивают.

    • @ontetsu1071
      @ontetsu1071 3 หลายเดือนก่อน

      Ну ладно placement new, ну фиг с ним, ну не вдавался человек в подробности, как тот же вектор написать, но семантика перемещения - это сейчас даже на стажёра обязательно

  • @user-ik2kp3fh6r
    @user-ik2kp3fh6r ปีที่แล้ว +4

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

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

      У него умненькое лицо в очках и он похож на программиста. 🤣

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

    Зачем я это смотрю?..
    Я же мобилками занимаюсь..

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

    Жаль код тестовый шакальный

  • @Anshegar
    @Anshegar 6 หลายเดือนก่อน

    Собес 45 минут, собеседлование на джуна? Вы ему 200к в месяц что ли обещали?

    • @SM1i10
      @SM1i10 5 หลายเดือนก่อน

      А сколько должно быть? Меня и на трейни столько собеседовали

    • @Anshegar
      @Anshegar 5 หลายเดือนก่อน +1

      @@SM1i10 Это была шутка :)

    • @ufi9540
      @ufi9540 5 หลายเดือนก่อน

      Так это на джуна.
      На остальное мало будет.
      Но от x2 минимум.
      Кто интереснее того дольше.

    • @ontetsu1071
      @ontetsu1071 3 หลายเดือนก่อน

      Меня как то на джуна 2,5 часа собеседовали)

    • @Anshegar
      @Anshegar 3 หลายเดือนก่อน

      @@ontetsu1071 фига себе ты долго решал задачу на реверс строки )))))))))))))) (это шутка, не обижайся)

  • @JeNaVa2281337
    @JeNaVa2281337 8 หลายเดือนก่อน +2

    oxxxymiron начал проводить собесы

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

    про delete nullptr есть тонкий момент. Для стандартнрй функции деаллокации известно, что эффекта нет. Но если она перегружена? Тогда хуже... Ибо стандарт не устанавливает должна ли она быть ввзвана в этом случае. Только лишь то, что поставщик должен это делать одинаково для всех вызовов.

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

      А если перегруженный operator delete, вместо освобождения памяти, начнёт печатать переданный адрес вместо того, что должен делать?
      Перегруженный operator delete должен соблюдать контракт встроенного operator delete, это -- ответственность программиста, перегружающего его.
      В реальности, из широко используемых компиляторов, только MSVC вызывает operator delete с указателем null, если в delete expression передан null.
      Кстати, Сам по себе nullptr указателем не является, поэтому код 'delete nullptr;' даже не компилируется.

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

      @@billjohnes9380 Вот что должен делать кастомный делитор написано не в стандарте, а в доке. И должен он именно это. И если он там делает, что-то иное, побочку, например, какую-то, нужно быть готовым.

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

      @@cheefoxcheefox2372 В какой ещё доке?
      Для C++ существует только стандарт, никаких док.
      Глянул стандарт C++17 для уточнения, там написано:
      The value of the first argument supplied to a deallocation function may be a null pointer value; if so, and if the deallocation function is one supplied in the standard library, the call has no effect.
      Это значит, что стандарт для вызова со значением null pointer value не делает различий с позиций того, переопределена deallocation function или нет.
      Вызвана она может быть со значением null pointer value вне зависимости от этого.
      Стандарт даёт лишь гарантию, что в случае, если deallocation function не переопределена, то "the call has no effect".

  • @user-ix2wl2fp1e
    @user-ix2wl2fp1e ปีที่แล้ว

    Какая зарплата у с++ джунов?

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

      Зависит от уровня кандидата и компании. Мне предлагали и 25к и 80к и 140к на руки на первой работе.

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

      Сейчас сложно сказать.
      Раньше по Минску был стандарт от Епама. 600$

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

      @@aidanhouk Я бы сказал в большей мере зависит от компании, если у компании нет особо денег, то она просто не сможет платить высокую зп, каким бы уровнем не обладал кандидат, а если есть то соответственно и джун в такой компании, может получать, без смеха, больше, чем сеньор в компании, в которой нет денег.

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

      Всмысле зарплата? А как де работа за еду?

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

      @APG Прогеру зато не надо физически отделкой заниматься и через 1-2 года он будет уже зарабатывать 150-200к при желании

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

    Что то парень очень бледный, выходи хоть иногда погулять и сном ради работы не стоит жертвовать)

  • @BloganProgramming
    @BloganProgramming ปีที่แล้ว +20

    Я являюсь преподавателем C++ в ютубе и работаю игровым разработчиком, поэтому добавлю свои 5 копеек.
    1. Первый вопрос. Ну хотя-бы раз вам попадалась ситуация, где вам НУЖНО было знать порядок следования конструкторов базовых классов вперемешку с полями?) Это смешно. Я понимаю, для чего создан этот вопрос, но вы могли к нему прийти после того, как сначала бы спросили за порядок ЛИШЬ полей, а потом лишь базовых классов. Не нужно задавать непрактичные вопросы.
    2. 6:20. "Конструкторы базовых классов можна считать полями". Ну наверно все таки не надо)
    3. explicit применяется еще к перезагруженном операторе приведения типа.
    4. "Насколько уверенным ты себя чествуешь с макросами?" - как отвечать на такой вопрос? "На 7/10"? "Мне приятно в их компании?". Задавайте поконкретнее вопросы.
    5. "Почему аргументы в самом макросе нужно брать в скобки?" - в самом макросе - это где? define(ВотСкобки) (ВотОпятьСкобки). Я понимаю, что вы имели ввиду скобки, в которые берутся аргументы в ВЫРАЖЕНИИ макроса. Хотелось бы, чтобы такое уточняли. Но в таком случае аргументы НЕ ДОЛЖНЫ браться в скобки. Просто в некоторых макросах аргументы желательно окружать скобками.
    6. Умные указатели не относятся к стандартной библиотеке шаблонов (STL), если что. Это поправочка интервьюеру.
    8. Почему weak_ptr идет "в паре" с shared_ptr?) Странно звучит, поскольку в большинстве случаев люди используют shared_ptr без weak_ptr.
    9. Кандидат говорит "Нам нужен оператор сравнения для хранения объектов собственных классов". Интервьюер говорит "нет, нам минимум нужны операторы меньше/больше". Вообще-то операторы меньше/больше и есть операторами сравнения. И для хранения собственных классов нужен оператор сравнения "меньше". Из-за вашего ответа вы заплутали кандидата, хотя он был прав и эта часть собеседования затянулась на несколько минут.
    10. Зачем вообще нужен вопрос "Чем тебя привлекает С++"? Какой в нем практический смысл?
    А так видео было интересно смотреть, ставлю лайк.

    • @billjohnes9380
      @billjohnes9380 ปีที่แล้ว +11

      По поводу "в большинстве случаев люди используют shared_ptr без weak_ptr".
      Какие люди?
      Это junior'ы, которые не в курсе вызываемых бездумным использованием shared_ptr проблем?
      Обычно преподаватели показывают низкий уровень и демонстрируют ужасные практики, вы -- не исключение.
      Чтобы не быть голословным, приведу пример.
      У вас есть "Урок 100", где есть такой код, представляющий собой некий аналог operator = класса std::string:
      void String::SetString(const char* str)
      {
      if (str != nullptr && std::strlen(str) != 0)
      {
      size_t length = std::strlen(str);
      delete[] this->str;
      this->length = length;
      this->str = new char[length + 1];
      strcpy_s(this->str, length + 1, str);
      }
      }
      То, что вы дважды std::strlen вызываете, буквально, в соседних строках, это ещё не самое страшное, хотя, конечно, это -- уровень junior'а.
      И проверку, не пустая ли C-строка, закрытая символом'\0', только junior будет выполнять с помощью std::strlen.
      Хуже другое: вы сначала удаляете старую строку, которая до этого хранилась, а потом выделяете память под новую с помощью new-выражения.
      При этом, предварительно, полю длины строки в объекте присваиваете значение длины новой строки.
      Дело в том, что operator new[], вызываемый из new-выражения, может выбросить исключение.
      Если это случится, то 'this->str' продолжит указывать на старую освобождённую область памяти, а 'this->length' будет отражать длину новой строки.
      В вызывающем коде исключение можно поймать, но при попытке вновь вызвать SetsString, для этого объекта, или даже просто при уничтожении этого объекта, когда деструктор будет освобождать память по адресу 'this->str', произойдёт повторное удаление старой строки, и программа "упадёт" из-за double-free.
      То, что, уже зная длину строки, вы вместо std::memcpy используете относительно тяжеловесную strcpy_s -- это тоже показатель качества практик.
      Кстати, эта функция есть в C11, но её нет в стандартном C++, если без расширений.
      В добавок, она требует установки handler'а через set_constraint_handler_s, потому что тот handler, который установлен по умолчанию, может вызвать функцию abort.
      Очевидно, "случайный" вызов abort() при работе с объектом типа String абсолютно недопустим.
      Если переписать ваш код со strong exception guarantee, максимально придерживаясь вашего стиля, получится, примерно, следующее:
      void String::SetString(const char* const str)
      {
      if (str != nullptr)
      {
      const std::size_t length = std::strlen(str);
      if (length)
      {
      char *const new_str = new char[length + 1];
      std::memcpy(new_str, str, length + 1);
      delete[] this->str;
      this->str = new_str;
      this->length = length;
      }
      }
      }
      Слегка альтернативный вариант, на этот раз -- с эффективной проверкой, не пустая ли C-строка:
      void String::SetString(const char* const str)
      {
      if (str != nullptr && *str != '\0')
      {
      const std::size_t length = std::strlen(str);
      char *const new_str = new char[length + 1];
      std::memcpy(new_str, str, length + 1);
      delete[] this->str;
      this->str = new_str;
      this->length = length;
      }
      }
      Кстати, operator = класса std::string, естественно, обеспечивает strong exception guarantee, то есть, если при попытке заменить содержимое строки содержимым другой строки это не получилось по причине выброса исключения при попытке выполнить new, то объект останется в неизменённом валидном состоянии, и с ним можно будет безопасно как продолжить работу, так и уничтожить.
      Если вы проаргументируете тем, что в большинстве случаев new не выбрасывает исключений, то это ещё больше продемонстрирует, насколько невысок ваш уровень.
      Поскольку ваш уровень владения языком весьма невелик, ваши ссылки на свой опыт не годятся в качестве аргументов, потому что они зачастую просто ошибочны.

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

      @@billjohnes9380 слишком много текста, не буду читать.

    • @billjohnes9380
      @billjohnes9380 ปีที่แล้ว +7

      @@BloganProgramming В этом случае уместен мем: "ниасилил, многа букав".
      Поздравляю, вы продолжите плодить своими уроками троечников-говнокодеров.
      Ну, и сам таким останетесь.

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

      @@billjohnes9380 хаха, пусть будет по вашему)

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

      @@billjohnes9380 Критика стосовно коду з уроку 100, про те, що new може викинути виключення - не має сенсу, бо цей урок йде ДО теми виключень )
      Ви придумали алгоритм краще, виявили випливаючу проблему поточного - напишіть про це у коментарях під тим відео, щоб це комусь дійсно допомогло.
      Спробуйте зробити свої 100 уроків з вільним доступом :)

  • @Anton_Zh
    @Anton_Zh 9 หลายเดือนก่อน +1

    Oxxymiron ты ли это?

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

    Слабовато для джуна

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

    Канал из разработчика превратился в очередной: как добиться успеха.

  • @DaniilK-hq5go
    @DaniilK-hq5go ปีที่แล้ว +1

    Оч слабо, без обид (про собеседуемого)

    • @v1dzhet
      @v1dzhet วันที่ผ่านมา

      ощущение будто он первый месяц плюсы только учит

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

    Раньше писал на С++, рад, что ушел с него. Java, Scala, Python, и так далее гораздо лучше...

    • @user-ln2ft2mo3c
      @user-ln2ft2mo3c ปีที่แล้ว

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

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

      Какова скорость обработки графики в сравнение с с++ или с? Сравнивали?

    • @user-ln2ft2mo3c
      @user-ln2ft2mo3c ปีที่แล้ว

      @@Anna_Porosenok В данном случае не понятен вопрос - что значит обработка графики? Есть како-то определенный алгоритм
      есть его реализация? - все дело в реализвции алгоритма - в умелых руках - скорость будет одинакова, но и код будет одинаков.

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

      @@user-ln2ft2mo3c если на питоне написать реализацию графики и на с++

    • @user-ln2ft2mo3c
      @user-ln2ft2mo3c ปีที่แล้ว

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

  • @porohmega
    @porohmega 11 วันที่ผ่านมา

    Какой слабый ментор и какой толковый заинтересованный джун, здорово

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

    Интересный пример. Может не на джуна.
    ////a.h
    #ifndef A_H
    #define A_H
    class A {
    public:
    int m_value = 1000;
    A();
    };
    #endif // A_H
    ////b.h
    #ifndef B_H
    #define B_H
    class B {
    public:
    int m_value = 2000;
    B();
    };
    #endif // B_H
    /// a.cpp
    #include "a.h"
    #include "b.h"
    #include
    extern B b;
    A::A() {
    std::cout

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

    Когда будут девушки или женщины на собеседовании? Или я пропустил?

    • @zxcghoul8837
      @zxcghoul8837 3 หลายเดือนก่อน +2

      когда посуду домоют