Спасибо за обратную связь! Одна из целей этой встречи как-раз и заключалась в том, чтобы проговаривать типичные вопросы-ответы, создавать связи в голове) Чтобы на реальном собеседование такая база как от зубов отскакивала)
Старались пройтись по важным часто задаваемым темам. Плюс, фиксировать результаты обсуждения на листе для лучшей наглядности при просмотре и лучшего усвоения)
Здравствуйте, на какую позицию было это интервью и на какаю позицию может претендовать Виталий исходя из ответов? На какую ЗП можно расчитывать по итогам такого собеседования?
Хороший вопрос. Я подготовил вопросы, которые мне задавали на собеседованиях на старшие позиции. Здесь по таймингу мы уложились за 40 минут. Я думаю, если уверенно отвечать на эти вопросы - как делал Виталий, плюс учесть обратную связь - то это хороший мидл. Можно добавить, что это не полуторачасовое собеседование. Здесь цель - это проговаривание основных вопросов, которые Вы можете встретить на большинстве С++ собеседований. На реальном можно встретить в добавок к этим вопросам(или их вариациям) - задачи на порядок вызовов конструкторов, деструкторов, что-нибудь хитрое с v_table, pure_virual_call, создание умного указателя, создание producer-consumer с примитивами синхронизации.
28:03 "чтобы хранить элементы в хэш таблице чтобы разрешать коллизии нам нужен оператор меньше чтобы по нему упорядочивать их в каком-то виде" =)))) ага, поэтому и называется UNORDERED map =)))
6:50 Неверный ответ дан на Полиморфизм. Полиморфизм в языках программирования и теории типов - способность функции обрабатывать данные разных типов. В С++ это выражется в том, что можно создать функции с одним именем, но разными типами входных/выходных значений. add(int x), add(float x), ...
@@vladimir_v_it Страуструп почему то рассматривает только динамический полиморфизм, к которому он относит только переепределение виртуальных функций. Видимо он за доступ к объектам через указатели на абстрактные интерфейсы. Вообще такой полиморфизм можно и в Си организовать. Но вообще, академически полиморфизм делят на: - Ad hoc polymorphism (Перегрузка) - синтаксический механизм, позволяющий по единому идентификатору вызывать разные функции. - Parametric polymorphism - параметрический полиморфизм позволяет определять функцию или тип данных обобщённо, так что значения обрабатываются идентично вне зависимости от их типа. Использование шаблонов C++ внешне похоже на параметрический полиморфизм, но семантически реализуется сочетанием ad-hoc-механизмов; в сообществе C++ его называют «статическим полиморфизмом». - Subtyping - это как раз про virtual и возможность вызвать метод потомка через объект родителя. Так что ответ в видео не полный.
Спасибо за обратную связь! Как оказалось, такие вопросы попадаются на собеседованиях даже на старшие позиции. Какие вопросы хотелось бы услышать? Можно сделать ещё интервью)
Неправда, класс никак не будет увеличен на размер указателя. В пустом классе будет увеличение на один байт и все, это такая фича языка и она никак не связанна с таблицей виртуальных функций.
Логично, указатель указывает на класс, а не хранится в нем. А 1 байт нужен чтобы не было моментов, когда в 1 байте хранится 100500 пустых классов сразу.
Ну он верно подметил, я не программист, но даже я могу посмотреть различные источники, и на те же концепции человек дал достаточно сомнительные и неполные формулировки(причем на все концепции которые были выделены), может быть они и хорошие программисты, но на теорию им явно по11й возможно так оно и есть в профессиональном программировании хз вообще🤷♀️
Спасибо за видео, хорошие формулировки вопросов и ответов на них
Спасибо за обратную связь! Одна из целей этой встречи как-раз и заключалась в том, чтобы проговаривать типичные вопросы-ответы, создавать связи в голове) Чтобы на реальном собеседование такая база как от зубов отскакивала)
большое спасибо за ++интервью! очень уж мало годных видео....
Старались пройтись по важным часто задаваемым темам. Плюс, фиксировать результаты обсуждения на листе для лучшей наглядности при просмотре и лучшего усвоения)
Здравствуйте, на какую позицию было это интервью и на какаю позицию может претендовать Виталий исходя из ответов? На какую ЗП можно расчитывать по итогам такого собеседования?
Хороший вопрос. Я подготовил вопросы, которые мне задавали на собеседованиях на старшие позиции. Здесь по таймингу мы уложились за 40 минут. Я думаю, если уверенно отвечать на эти вопросы - как делал Виталий, плюс учесть обратную связь - то это хороший мидл. Можно добавить, что это не полуторачасовое собеседование. Здесь цель - это проговаривание основных вопросов, которые Вы можете встретить на большинстве С++ собеседований. На реальном можно встретить в добавок к этим вопросам(или их вариациям) - задачи на порядок вызовов конструкторов, деструкторов, что-нибудь хитрое с v_table, pure_virual_call, создание умного указателя, создание producer-consumer с примитивами синхронизации.
@@vladimir_v_it Спасибо за ответ!
28:03 "чтобы хранить элементы в хэш таблице чтобы разрешать коллизии нам нужен оператор меньше чтобы по нему упорядочивать их в каком-то виде" =))))
ага, поэтому и называется UNORDERED map =)))
в хэш таблице нужен оператор на равенство , а не оператор меньше. Хотя равенство можно выразить через меньше (не меньше и не больше)
@@shura224 там не в этом дело, человек совсем не понимает как работают хэш таблицы и/или спутал с std::map (бинарным деревом)
16:00 std::array создается на стеке, это очень важно понимать. По умолчанию на линукс системе только 8 МБ стека на всё провсё.
6:50 Неверный ответ дан на Полиморфизм. Полиморфизм в языках программирования и теории типов - способность функции обрабатывать данные разных типов. В С++ это выражется в том, что можно создать функции с одним именем, но разными типами входных/выходных значений. add(int x), add(float x), ...
М.б. перегрузка?
@@vladimir_v_it перегрузка (overload), это как раз про virtual методы.
@@vladimir0rus М.б. переопределение(Overriding)?
@@vladimir_v_it вобщем не полиморфизм это :)
@@vladimir_v_it Страуструп почему то рассматривает только динамический полиморфизм, к которому он относит только переепределение виртуальных функций. Видимо он за доступ к объектам через указатели на абстрактные интерфейсы. Вообще такой полиморфизм можно и в Си организовать.
Но вообще, академически полиморфизм делят на:
- Ad hoc polymorphism (Перегрузка) - синтаксический механизм, позволяющий по единому идентификатору вызывать разные функции.
- Parametric polymorphism - параметрический полиморфизм позволяет определять функцию или тип данных обобщённо, так что значения обрабатываются идентично вне зависимости от их типа. Использование шаблонов C++ внешне похоже на параметрический полиморфизм, но семантически реализуется сочетанием ad-hoc-механизмов; в сообществе C++ его называют «статическим полиморфизмом».
- Subtyping - это как раз про virtual и возможность вызвать метод потомка через объект родителя.
Так что ответ в видео не полный.
720p видео маловато будет, текст не четкий
Спасибо за видео, но вопросы в целом довольно простые были
Спасибо за обратную связь! Как оказалось, такие вопросы попадаются на собеседованиях даже на старшие позиции. Какие вопросы хотелось бы услышать? Можно сделать ещё интервью)
Шёл 2024 год. Люди все ещё думают, что инкапсуляция == сокрытие
Тяжело слушать разность по громкости голосов на колонках.
Спасибо за отзыв! Принял.
в ютьюбе есть функция "постоянный уровень громкости"
Неправда, класс никак не будет увеличен на размер указателя. В пустом классе будет увеличение на один байт и все, это такая фича языка и она никак не связанна с таблицей виртуальных функций.
Логично, указатель указывает на класс, а не хранится в нем.
А 1 байт нужен чтобы не было моментов, когда в 1 байте хранится 100500 пустых классов сразу.
Мамкины программситы - ни то ни другой про ООП не понимают сути, и уж тем более как это в С++ - просто смешно.
сколько троек в четверти? перешел в 8 класс?
@@vlasud2018ни одной
Ну он верно подметил, я не программист, но даже я могу посмотреть различные источники, и на те же концепции человек дал достаточно сомнительные и неполные формулировки(причем на все концепции которые были выделены), может быть они и хорошие программисты, но на теорию им явно по11й возможно так оно и есть в профессиональном программировании хз вообще🤷♀️