Учусь на программиста, заканчиваю университет. Благодаря Вашему видео устроился на работу) Теперь я кассир пятерочки, потому что понял, что про с++ я знаю практически ничего😀
@@DimanMazafaca Если реально, то все конечно относительно) Пока я не трудоустроен, т.к. впереди еще защита диплома. Но если сравнить меня 3 года назад, я имею в виду мои знания по программированию и сейчас, то может это не небо и земля, но потихоньку начал взлетать)) Потому что раньше я банально не понимал что такое return, куда он что возвращает, кому он что должен). Но относительно этого видео я конечно долю правды в коммент внес, многих тонкостей по языку не знал. Банальные вещи, можно написать. Какую-нибудь условную систему написать могу, вот недавно одному человеку делал курсовую, где нужно было написать систему поиска врачей по симптомам, где использовал наследование. Как бы простые вещи уже знаю, но тонкостей типа что вызовется первым: конструктор объекта или конструктор поля класса - это для меня новое. Понимаю, что язык еще изучать и изучать)
@@Andymit Если этот человек твой товарищ больше не помогай ему) а то выйдет тупым как я)))) 3 года в унике штаны протирал теперь в ускоренном темпе фронтенд изучаю
Добрый день!Наконец то кто-то сделал это видео! Спасибо Вам и Алексею! Молодцы! 724 просмотра меньше чем за сутки... Очень не плохо:) Смотрю, формат людям понравился)
Спасибо за ролик, очень интересно, учил С++, в ООП дошел до конструктора копирования, закончил учебу в колледже, учил язык сам, чтобы хорошо закрыть программирование и остановился, выгорание, покинул из-за войны свой дом, ничего не хотелось, а щас попался ваш ролик, начал лазить по целой папке с работами от самых простых тем до последних, появилось желание возобновить учебу, просмотреть и освежить все старое и пойти дальше, спасибо!
Я не программист, но как учителю информатики было очень интересно и даже поймал себя на мысли, что где-то на 85-90% я ответы на вопросы таки знал! Приятно себя потешил)) Спасибо за столь полезное видео!!
Сейчас студент второго курса, мы занимаемся ознакомительной практикой на с++ . Очень кстати был выход вашего видео, потому что здесь всплыли некоторые моменты, о которых я так и не узнал из методического пособия. Теперь, думаю, вопросов будет меньше. С нетерпением жду видео данного формата, здесь достаточно много полезной информации. По крайней мере информации для обучающихся в университете точно)) спасибо за выпуск
Друг, я думаю, что ты уже на 4 курсе. Но запомни, учи все сам тоже. университет не даст тебе достаточных знаний, покупай книгу и учи STL. Без STL щас никуда
Отличный видео! По больше бы таких). Сам сейчас учусь в универе и был страх что я очень мало знаю и не смогу никогда пройти собеседование, но после вашего видео страх пропал и я понял что мне осталось совсем немного и смогу сам идти на собеседование. Спасибо вам большое❤️❤️❤️❤️
....но потом тебе все равно перезвонят и скажут что "выбор был сделан в пользу лучшего кандидата", а ты такой будешь сидеть и не понимать как нужно было ЕЩЁ лучше отвечать на вопросы, у которых ответы, грубо говоря, константные. И после пачки таких интервью ты уже сам себе перестанишь доверять и начнешь задаваться вопросом " а не протупил ли я выбрав кодить на плюсах", поймешь что 6 лет универа, по факту, слиты из-за наивного представления профессии черезчур радужной, с кучей розовых единорожков и, конечно же, "с печеньками" о которых HR-ы так любят писать на каждом углу. Потеряешь остатки уверенности и растеряешь даже тот скилл который был. Поймешь, что камбэк скорее не возможен чем возможен... И забьешь в конце концов.
Смог ответить практически на все вопросы благодаря преподам из универа, спасибо им за то что преподавали си и плюсы, и все это держится в голове до сих пор, но в жизни пригодилось только знание ООП :) (мимо фронтендер)
Ахах та же ситуация , я все думал что я туповат для собеседований и знаний маловато, но после просмотра понимаю что уже можно идти записываться на сабес. Начал чувствовать себя увереннее )
Более 15 лет занимаюсь программированием на C++, но все равно подобные вопросы на собеседовании иногда ставят меня в тупик, поскольку на практике такого рода конструкции случается применять чуть реже, чем никогда. Боюсь представить, как принимают на работу Senior'a. В любом случае и вне зависимости от результата, уверен что собеседование с @Daria Emacs не было бы для меня впустую потраченным временем :)
@@user-or1hy4xz8u для кого-то большую часть времени занимает изучение C++. Как ты этого не понимаешь? Слабо верится, что ты вообще программист ибо это знает даже middle разработчик. Можешь быть свободен.
Блин, а я бы только за инкапсуляцию мог часа полтора поговорить...в частности про то, как наследование ослабляет инкапсуляцию😉 Хороший вопрос, кстати :-) Мерси за видео 😉
Спасибо автору за видео. Отличная подача. Ради интереса собрал пример на 25 минуте у меня вывод был "A2:C:~C:~A2:", т.е. вывод строк из родительского класса В не происходит, как я понимаю из-за того, что мы переопределили конструктор и деструктор. Собирал на платформе AstraLinux, компилятор g++ 6.3.0, но думаю, что и на других компиляторах будет тоже самое.
#6 special function: A a2 = a1; Вывод зависит от конкретной реализации. Стандарт позволяет выполнять данный код двумя разными путями. Непосредственная инициализации конструктором копирования либо инициализации временного объекта конструктором копирования и последующее использование операции присваивания и удаление временного объекта (Прата 602-603...). А еще в примере с выводом сообщений из деструкторов мы не увидим сообщения так как вызовутся они уже после отработки main() - нужны дополнительные обрамляющие скобки для удаления при выходе из вложенного блока до выхода из main()
Дарья, здравствуйте! Прошу прощения за беспокойство. Не могли бы Вы, пожалуйста, подсказать, т.к. перерыл уже всю документацию, не могу самостоятельно разобраться. В общем, возник у меня вопрос касательно такой динамической структуры, как "стек". Если будем самостоятельно реализовывать данную структуру, можем использовать разные принципы: динамический массив (тогда для хранения стека в памяти будет отводится сплошная область), односвязный список (как по мне, наиболее оптимизированный вариант). Однако зачем изобретать велосипед, если в библиотеке стандартных шаблонов STL уже реализован адаптер stack. Так вот в чём вопрос - как же реализован данный шаблонный адаптер "под капотом", т.к. важно понимать, как всё хранится в памяти; либо же реализован с помощью односвязного списка, либо же с помощью deque... Возможно, Вы бы могли помочь разобраться...Помогите, пожалуйста
По умолчанию там дек: std::stack s1; Это можно поменять на std::vector или std::list. А как они устроены внутри описано во многих источниках, у каждого есть свои плюсы и минусы. Какой контейнер выбрать зависит от Вашей конкретной задачи. Вот три типа: #include #include #include int main() { std::stack s0; std::stack s1; std::stack s2; }
Сказать честно и откровенно,все эти тонкости и узкие места языка-в основном только для собесов,в реальных условиях код должен быть максимально безопасным и эффективным...А главное должна быть грамортная архитектура,а все тонкости языка-крайне редкий случай использования
Учу с++ прошел основные термины по типу полиморфизма наследования абстракции и тд, но хотел бы углубить свои познания.Что вы бы могли порекомендовать к прочтению либо к прохождению?
Спасибо, Mike). Да, вопросы, похожие были, но стандарт был старый. (Я устраивалась на работу ещё на 5 курсе, студенткой, не могу сказать, это был полноценный джун, а потом, после получения высшего образования и двух лет программирования только на С++, были именно такие собеседования).
Иными словами, после книги индуса Рао "C++ за 21 день" я могу идти сразу на джуна? В ней все эти вопросы более чем подробно расписаны, правда иногда настолько сухо, что приходится прокачивать скилл гугления.
Недавно на собеседовании к вопросу об указателях и ссылках, как я потом понял, был пример где был swap(a,b)... без амперсандов...предполагалось, проставить их и дописать простенькую функцию ... предложенный вариант через дефайн родил вопрос "а что так тоже можно?" #define swap(a,b) a=a^b;b=b^a;a=a^b;
53:49 : можно ли узнать, каково решение данной задачи при помощи специализации? Был бы очень Вам благодарен :) Крутой собес, продолжайте в том же духе!
В С++ есть шаблонные переменные и их специализация. Поэтому можно просто создать переменную от n. godbolt.org/z/83z8s1 На это дристню с enum даже не смотри. Это древний хак для получения компилтайм-значения. Сейчас они есть встроенные. Я добавил в пример constexpr-поля.
@@rustonelove За примеры спасибо (на type traits я впервые увидел реализацию), но всё же как-то грубовато. Не вижу ничего плохого в примере с enum как учебным и классическим решением старого С++ .
@@user-bl4mm5pr9g Нет - enum, а особенно как учебный - это позорище. Это лишь говорил о том, что пациент ничего не знает о C++. А тот, кого учат таким образом - обречён.
Я такого изощренного способа вычисления факториала никогда не видел. Довольно интересно)) Жаль, что на больших числах не работает, без длинной арифметики не обойтись
@@user-ko2me2gw5s Тем что он учебный и никакого смысла не несет практического с одной стороны и при этом достаточно мутный с другой? Код пишется в первую очередь чтоб его потом читали, если ты БЕГЛО листая код не понимаешь о чем там речь - это плохой код и ему не место в проде
@@rustonelove ну, вообще, не на любых, как бы, потому что во-первых, ограничение стека для рекурсии (если конечно вручную не увеличить его) , а во-вторых еще идет ограничение же типом данных. А факториал - это достаточно быстрорастущая функция, так что дойти до предела типа числа не составит труда, даже если взять какой-нибудь uint64_t
Спасибо огромное за видео!! Я студент 1 курса it вуза , очень было интересно слушать , вынес много для себя полезной информации. Будут ли видео в котором показаны что нужно знать джуну в плюсах? Спасибо
Везде разные требования. Где-то нужно знать профильную область (линейная математика, ИИ, физика, и пр.), в которой работает компания, а язык уже на месте доучиваешь, а где-то важно уметь решать алгоритмические задачи, а где-то сам язык в приоритете.
Дарья, на 26:00 минуте, каким значением компилятор сам про инициализирует эту переменную ? просто вызовется конструктор по умолчанию и, это, о какой переменной речь ? я вижу только объект "a"
@@DariaEmacs Я сразу прошу прощения, чтобы не получилось недопонимания, я не в коем случае не пытаюсь вас учить, я сам на стадии изучения. Просто новичкам, которые будут смотреть, важно правильно понимать терминологию, 'a' это объект класса А2, конструктор которого не имеет параметров (в данном случае это конструктор, который вызывается явно) соответственно : a(12) даже не скомпилируется. Конечно каверзные вопросы на собеседованиях) На самом деле, я не знал, что вывается первым, но отладчик незаменимая штука, для понимания процесса: первым вызывается конструктор базового класса (если произошло наследование), затем вернувшись назад в дочерний класс, вызывается объект какого либо другого класса (если он есть) вызывая конструктор этого самого класса ,а затем вновь вернувшись назад, вызовится уже конструктор этого самого (дочернего) класса, поправьте, если не прав. Получилось сумбуро, но те кто не понимает, лучше смоделировать ситуацию и воспользоваться отладчиком.
@@smart_electrics_il как программист на С++ с более чем 20летним стажем позволю дать совет, никогда не делайте выводов о том, как должна работать С++ программа исходя из поведения программы. А то сразу начнете задавать вопросы типа, чему равно x в выражении x = x++; - ответ на этот вопрос и подобные ему нельзя посмотреть отладчиком.
@@smart_electrics_il проблема здесь не в том, чем отличается префиксный оператор от постфиксного, а в том, что какой бы результат вам не показал отладчик, этот результат неправильный (конечно имеется в виду что x имеет встроенный интегральный тип вроде int )
Ссылка это алиас/никнейм переменной Если у нас есть необходимость переопределения переменнной,то следует использовать указатель,так как переопределять ссылку нельзя Ссылка не может ссылаться на null Также существует арифметика указателей ,но нет арифметики ссылок Наверное так бы ответил
@@IExSet Это не так работает. Всё, что тебе впаривали под видом подобных разделений - ложно. Язык универсальный - в этом его суть. Другое дело, что он не универсальный с ТЗ его пользователей. И вот здесь как раз таки и есть настоящее разделение. Те "не универсальные языки" - это практически и не языки вовсе. Это такое локальное убожество призванное лишь к одному - дать вчерашнему поломою возможность написать хоть что-то.
потому что часто в реалных проектах используют другие пространства имен (например, написанные другими разрабами), а подключение стандартного пространства имен ломает все. А пространсва имен - это то, что позволяет склеить из кусков кода разных программитсов один код, так что не обойтись без этого.
На самом деле инкапсуляция это размещение данных и методов в одном компоненте(как говорит википедия) в c++ это 2 ключевых слова class и struct, а вот геттеры\сеттеры и пр это уже сокрытие реализации, что относится к инкапсуляции но не означает ее в первую очередь
5:36. Вы берете ссылки на память, которая доступна только во время выполнения функции. После выхода из функции ссылка недействительна. Её можно возвращать, если переменная внутри тела функции будет статической или если возвращать ссылку на rvalue аргумент. Использование значения по dangling reference - неопределённое поведение.
17:10 Обалдеть. Я АВТОР ЭТОГО КОДА ПРО ПЕРСОНАЖА, ОРКА, ЭЛЬФА И ЧЕЛОВЕКА! Делал такую программу для лабораторных для студентов в МАИ. Похоже, что она пошла дальше в массы 😂
Здравствуйте, ребята! Прошу вашего совета: хочу стать С++ разработчиком. Читаю и занимаюсь по книге Стивена Прата «язык программирования С++. Лекции и упражнения.» Это первое знакомство с айти. Что делать следующим этапом? Как с этого этапа перейти к этапу изучения создания чего-то, приложения мобильного, например? Какие слои знаний накладывать дальше и в каком порядке?
Пример с эпсилоном, эти вычисления будут выполняться на каждой итерации цикла. Эффективней запомнить константы интервала или эпсилон и сравнивать с ними, а ещё лучше завести целочисленный счётчик и всё измерять по нему ????
12:00 вот и до дифференциалов добрались😁. Как я понимаю точность до +/- 0.1, возможно нужно стремиться работать с целочисленными переменными, результат поделить на 10.
С ++ прежде всего используется в системном программировании: операционные системы, драйверы и системные программы (т.е. программы, встроенные в ОС). C++ применяется в GPU-вычислениях (Nvidia CUDA и OpenCL). Почти все крупные десктопные программы пишутся на C++ (например видео и аудио редакторы, графические редакторы, браузеры и пр.). В конце концов, Microsoft Office написан на этом языке. На C++ часто пишут бэкенд для высоконагруженных серверов (например, для онлайн игр). На C++ пишут автоматизированные системы управления, например для беспилотников, ПО для роботов и тех же самых беспилотников. Крупные десктопные и консольные игры тоже делаются на C++. C++ также применяется в искусственном интеллекте и в машинном обучении. Особенность данного языка в том, что он является высокоуровневым языком, но при этом имеет доступ к "железу" как низкоуровневый язык. Так что, продолжайте изучать C++. Вы на правильном пути. P. S. Рекомендую вам позже изучить чистый C , а потом - ассемблер. Таким образом, вы полностью постигнете работу операционных систем, ПО и компьютерного "железа". И после этого другие языки программирования вам пойдут как по маслу.
Всё ембедед программирование на с/с++ пишется... причем большая часть на с, а потом его уже под плюсы адаптируют... какие питоны, когда у тебя 64кб оперативной памяти...
Лол, я несколько часов назад сел изучать питон и уже пытаюсь реализовать свой алгоритм нейросети по подражанию самообучения реального трейдера. Возможно, Вы будете намного сильнее меня в программировании. Я бы не боялся любого собеседования, т.к. больше чем Вы будете знать - Вы не сможете ответить, а потому зачем волноваться?
Олимпиадное программирование - это как спорт. Собеседование - это как маленькое соревнование, поэтому, думаю, будет очень полезно (алгоритмы, структуры, решения необычных задач). С таким опытом Вы легко устроитесь в тот же Яндекс. Но потом, после прохождения собеседования, начинается рутина, вот тут, главное, настроиться на длинную дистанцию, а не на спринт.
Я вчера проходил собеседование в очень крупную кампанию по веб разработке, к сожалению знаний не хватило и меня послали вежливо)) Ребят главное не настраивайте себя на лучшее как это сделал Я, чтобы не расстраиваться после неудачных собесов)
господи, неужели собеседование С++ джуна показали в прямом эфире)) не зря ждал. Но было бы круче сделать как в реальных компаниях собеседуют, есть канал, где блогер программист правда он javascript звонит в компании типа устроиться на работу, и он в прямом эфире показывает как реально там проводят интервью. Если покажете реальное собеседование по С++ в компаниях будет вообще огонь.
@@javapena ну этот блогер не боится, одна компания на него реально грозила в суд подать))у меня даже ссылка на его видос есть czcams.com/video/nToDJ0sh5Z4/video.html
Резюме героя видео: hh.ru/resume/e66eb372ff083eb6a80039ed1f347447336250
Он прошёл?
Прошел
@@DariaEmacs Я влюблён)) Выходи за меня Дарья, я готов унаследовать все твои классы))
🤣🤣🤣👍 Фраза - супер)))).
Дарья, а подскажите пожалуйста, я хочу программировать микроконтроллеры(stm32), есть ли мне смысл изучать плюсы? Или на чистом С остановиться?
Учусь на программиста, заканчиваю университет. Благодаря Вашему видео устроился на работу) Теперь я кассир пятерочки, потому что понял, что про с++ я знаю практически ничего😀
А если реально какие успехи по профессии?)_
@@DimanMazafaca Если реально, то все конечно относительно) Пока я не трудоустроен, т.к. впереди еще защита диплома. Но если сравнить меня 3 года назад, я имею в виду мои знания по программированию и сейчас, то может это не небо и земля, но потихоньку начал взлетать)) Потому что раньше я банально не понимал что такое return, куда он что возвращает, кому он что должен). Но относительно этого видео я конечно долю правды в коммент внес, многих тонкостей по языку не знал. Банальные вещи, можно написать. Какую-нибудь условную систему написать могу, вот недавно одному человеку делал курсовую, где нужно было написать систему поиска врачей по симптомам, где использовал наследование. Как бы простые вещи уже знаю, но тонкостей типа что вызовется первым: конструктор объекта или конструктор поля класса - это для меня новое. Понимаю, что язык еще изучать и изучать)
@@Andymit Если этот человек твой товарищ больше не помогай ему) а то выйдет тупым как я)))) 3 года в унике штаны протирал теперь в ускоренном темпе фронтенд изучаю
@@DimanMazafaca не, это все на фрилансе было) да, я отчасти такой же как и ты) но я сам больше сидел когда было интересно и изучал языки
Пхах
Наконец-то кто-то сделал данный формат для c++. Прошу вас, продолжайте
Но при этом С++ настолько суров, что даже посмотреть этот видос сложно (из-за звука)
@@f3arning хпххп
@@f3arning Та да...
Мне кажется это ещё по лайту было)
Это тебе не Word и не exel
Какое прекрасное видео!
Дарья ,спасибо Вам за контент.
Если бы собеседования всегда проводили такие приятные девушки, жить было легче 😊
Из-за звука сложно воспринимается
Вау, совершенно замечательное видео. Было очень интересно и познавательно.
Добрый день!Наконец то кто-то сделал это видео! Спасибо Вам и Алексею! Молодцы! 724 просмотра меньше чем за сутки... Очень не плохо:) Смотрю, формат людям понравился)
Благодарю Алексея и Дарью за видео!
Спасибо :)
Класс, нужно ещё такие видео👌
Продолжайте этот формат, он хорош. Было бы неплохо видеть больше таких видео и с бОльшим уровнем сложности/сеньорности
Обязательно делаете еще собеседования!
джуны любят на простые вопросы ответ растягивать на пол часа)
А олдам вообще лень было бы отвечать на эти дебильные вопросы).
@@MariaEsenina +++
Спасибо огромнейшее за ваш труд. Особенно Алексею за невероятную смелость. Когда я прохожу собеседования петросян отдыхает )))
Алексей красава, чудесный мэн! =)
Спасибо за ролик, очень интересно, учил С++, в ООП дошел до конструктора копирования, закончил учебу в колледже, учил язык сам, чтобы хорошо закрыть программирование и остановился, выгорание, покинул из-за войны свой дом, ничего не хотелось, а щас попался ваш ролик, начал лазить по целой папке с работами от самых простых тем до последних, появилось желание возобновить учебу, просмотреть и освежить все старое и пойти дальше, спасибо!
Крутое собеседование , вы молодцы !
Я не программист, но как учителю информатики было очень интересно и даже поймал себя на мысли, что где-то на 85-90% я ответы на вопросы таки знал! Приятно себя потешил)) Спасибо за столь полезное видео!!
Спасибо за видео. Весьма полезное. Вдохновляет.
Волшебно и восхитительно
интересное начало, особенное с решением заменить ошибку на костыль/другую ошибку, очень интересно )))
Такая милая и позитивная девушка! Мир добрее с такими людьми
Спасибо 😊.
Алексей молодец
Спасибо за такие видео,лайк.
Очень интересное собеседование, продолжайте в том же духе)
Классный формат, давайте ещё! :)
Сейчас студент второго курса, мы занимаемся ознакомительной практикой на с++ . Очень кстати был выход вашего видео, потому что здесь всплыли некоторые моменты, о которых я так и не узнал из методического пособия. Теперь, думаю, вопросов будет меньше. С нетерпением жду видео данного формата, здесь достаточно много полезной информации. По крайней мере информации для обучающихся в университете точно)) спасибо за выпуск
Спасибо, Илья :).
Ограничиваться методическим пособием при изучении C++, это как море вычерпывать чайной ложкой.
Друг, я думаю, что ты уже на 4 курсе.
Но запомни, учи все сам тоже. университет не даст тебе достаточных знаний, покупай книгу и учи STL. Без STL щас никуда
Вы молодец, до связи, обращайтесь, когда будете знать c++)))))
Запишите пожалуйста в дальнейшем собеседования на позицию senior C++
Отличный видео! По больше бы таких). Сам сейчас учусь в универе и был страх что я очень мало знаю и не смогу никогда пройти собеседование, но после вашего видео страх пропал и я понял что мне осталось совсем немного и смогу сам идти на собеседование. Спасибо вам большое❤️❤️❤️❤️
вот для тебя все и делалось ( ну тебя и таких как ты, потому что сам такой недавно был)
....но потом тебе все равно перезвонят и скажут что "выбор был сделан в пользу лучшего кандидата", а ты такой будешь сидеть и не понимать как нужно было ЕЩЁ лучше отвечать на вопросы, у которых ответы, грубо говоря, константные. И после пачки таких интервью ты уже сам себе перестанишь доверять и начнешь задаваться вопросом " а не протупил ли я выбрав кодить на плюсах", поймешь что 6 лет универа, по факту, слиты из-за наивного представления профессии черезчур радужной, с кучей розовых единорожков и, конечно же, "с печеньками" о которых HR-ы так любят писать на каждом углу. Потеряешь остатки уверенности и растеряешь даже тот скилл который был. Поймешь, что камбэк скорее не возможен чем возможен... И забьешь в конце концов.
@@paulrei00 если ты деградант, то не значит что все вокруг такие же.
@@bombdoge7543 судя по твоему ответу ты тоже.
@@paulrei00 ну, я хотя-бы не проебывал 6 лет жизни на универ и не ною в комментах.
Смог ответить практически на все вопросы благодаря преподам из универа, спасибо им за то что преподавали си и плюсы, и все это держится в голове до сих пор, но в жизни пригодилось только знание ООП :) (мимо фронтендер)
Здорово!
Я, пожалуй, подпишусь и посмотрю побольше ваших видео, чтобы быть готовым к своему первому собеседованию
ну как
Какая приятная девушка, и как много знает, еще и вопросы с подковырками задает!
Спасибо, Евгений)).
Видео супер, спасибо, не мог понять какой у меня уровень, теперь понимаю что чуть выше джуниора. Учусь на втором курсе
Если не секрет, то в каком вузе/колледже учишься?
Джун это не уровень знаний, а состояние души. Мало кто может быть "выше джуна" в 18 лет чисто в силу незрелости.
Ахах та же ситуация , я все думал что я туповат для собеседований и знаний маловато, но после просмотра понимаю что уже можно идти записываться на сабес. Начал чувствовать себя увереннее )
на реального джуна не хватает тут вопросов)
Более 15 лет занимаюсь программированием на C++, но все равно подобные вопросы на собеседовании иногда ставят меня в тупик, поскольку на практике такого рода конструкции случается применять чуть реже, чем никогда. Боюсь представить, как принимают на работу Senior'a. В любом случае и вне зависимости от результата, уверен что собеседование с @Daria Emacs не было бы для меня впустую потраченным временем :)
Вампир, вы 15 лет программируете на С++ и вы до сих пор не senior ????
@@user-or1hy4xz8u что, думаете после 5 лет, всех сразу на эту должность берут и везде она есть?
Меня всегда и везде это бесило. Некоторые люди запоминают правила, а некоторые нет, разницы в реальной жизни от этого никакой.
@@user-or1hy4xz8u для кого-то большую часть времени занимает изучение C++.
Как ты этого не понимаешь?
Слабо верится, что ты вообще программист ибо это знает даже middle разработчик.
Можешь быть свободен.
@@ammonjerro396 в реальной жизни никакой, да. но на собесе главное отсеять самых слабых и проверка памяти и смекалки - это лучший способ.
Приятная и позитивная девушка)
Какой интересный ракурс =)
На фоне печи, люди разбирают [code]
Блин, а я бы только за инкапсуляцию мог часа полтора поговорить...в частности про то, как наследование ослабляет инкапсуляцию😉 Хороший вопрос, кстати :-)
Мерси за видео 😉
Блииин как круто, я бы на такой собес сходила :) Куда резюме кидать?
Крутой формат, пожалуйста сделайте собеседование на middle и senior позиции
собеседование на роль senior я бы назвал "Почувствуй себя никем")))
Кстати, да).
Как милая и вежливая☺️
тот случай, когда не шибко шаришь в ссылках и классах, а подсчет бит видишь за секунды )
Спасибо автору за видео. Отличная подача.
Ради интереса собрал пример на 25 минуте у меня вывод был "A2:C:~C:~A2:", т.е. вывод строк из родительского класса В не происходит, как я понимаю из-за того, что мы переопределили конструктор и деструктор. Собирал на платформе AstraLinux, компилятор g++ 6.3.0, но думаю, что и на других компиляторах будет тоже самое.
Них--я не понял, но очень интересно))
#6 special function:
A a2 = a1;
Вывод зависит от конкретной реализации. Стандарт позволяет выполнять данный код двумя разными путями. Непосредственная инициализации конструктором копирования либо инициализации временного объекта конструктором копирования и последующее использование операции присваивания и удаление временного объекта (Прата 602-603...). А еще в примере с выводом сообщений из деструкторов мы не увидим сообщения так как вызовутся они уже после отработки main() - нужны дополнительные обрамляющие скобки для удаления при выходе из вложенного блока до выхода из main()
Дарья, здравствуйте! Прошу прощения за беспокойство. Не могли бы Вы, пожалуйста, подсказать, т.к. перерыл уже всю документацию, не могу самостоятельно разобраться. В общем, возник у меня вопрос касательно такой динамической структуры, как "стек". Если будем самостоятельно реализовывать данную структуру, можем использовать разные принципы: динамический массив (тогда для хранения стека в памяти будет отводится сплошная область), односвязный список (как по мне, наиболее оптимизированный вариант). Однако зачем изобретать велосипед, если в библиотеке стандартных шаблонов STL уже реализован адаптер stack. Так вот в чём вопрос - как же реализован данный шаблонный адаптер "под капотом", т.к. важно понимать, как всё хранится в памяти; либо же реализован с помощью односвязного списка, либо же с помощью deque... Возможно, Вы бы могли помочь разобраться...Помогите, пожалуйста
По умолчанию там дек: std::stack s1;
Это можно поменять на std::vector или std::list. А как они устроены внутри описано во многих источниках, у каждого есть свои плюсы и минусы. Какой контейнер выбрать зависит от Вашей конкретной задачи. Вот три типа:
#include
#include
#include
int main() {
std::stack s0;
std::stack s1;
std::stack s2;
}
@@DariaEmacs Спасибо огромное за помощь!!! Удачи Вам и всего наилучшего!!!
Пожалуйста :). Хотела ещё кусочек добавить. Вот три типа:
#include
#include
#include
int main() {
std::stack s0; // deque
std::stack s1;
std::stack s2;
}
Прекрасное видео.
Дарья привет! Ты вернулась в плюсы?: А как же Java? :))
Я параллельно. )
Это чувство, когда применяешь то, не знаю что.... так, не знаю как.. и по итогу, что самое как раз удивительное, всё работает :)
Сказать честно и откровенно,все эти тонкости и узкие места языка-в основном только для собесов,в реальных условиях код должен быть максимально безопасным и эффективным...А главное должна быть грамортная архитектура,а все тонкости языка-крайне редкий случай использования
Всегда интересно было увидеть как примерно выглядит собеседование в компанию на должность прогера.
Интересно, что реально можно написать на таком уровне вопросов ? d == 2.0 это реальная проблема ?
@@IExSet Собеседование на джуна, ты хочешь чтобы с новичка спрашивали как с полноценного миддла или сеньора?
@@IExSet это тип, как ты все тонкости языка прощупал, обычно, зная эти вопросы многое отпадает
Хочется еще подобных видео)
Учу с++ прошел основные термины по типу полиморфизма наследования абстракции и тд, но хотел бы углубить свои познания.Что вы бы могли порекомендовать к прочтению либо к прохождению?
miro.com/app/board/o9J_lFH_iBs=/
github.com/salmer/CppDeveloperRoadmap
Там можно переключиться на русский. github.com/salmer/CppDeveloperRoadmap/blob/main/Russian/README.md
Интересное собеседование) кое что даже вспомнил)))
Спасибо, Alex)!
Даша, очень интересно. Тебя тоже так собеседовали? Или иначе было? Я не про формат, а про вопросы.
Спасибо, Mike). Да, вопросы, похожие были, но стандарт был старый. (Я устраивалась на работу ещё на 5 курсе, студенткой, не могу сказать, это был полноценный джун, а потом, после получения высшего образования и двух лет программирования только на С++, были именно такие собеседования).
Интересное видео, у меня было немного сложнее интервью на позицию trainee
О! Нико, а что там спрашивали?
@@DariaEmacs похожие вопросы + vtable и задачи давали. В целом формат похожий был, может тогда мне казалось что сложнее)
Спасибо, познавательно.
Иными словами, после книги индуса Рао "C++ за 21 день" я могу идти сразу на джуна? В ней все эти вопросы более чем подробно расписаны, правда иногда настолько сухо, что приходится прокачивать скилл гугления.
Естественно нужно много просто кодить, а заученные вопросы вам ничего не дадут
Оч полезное видео. Сижу, кричу, подсказываю герою))
Спасибо 😊.
Во втором задании не проще ли сравнивать с округленной величиной до десятых? Так код будет намного читабельнее
Недавно на собеседовании к вопросу об указателях и ссылках, как я потом понял, был пример где был swap(a,b)... без амперсандов...предполагалось, проставить их и дописать простенькую функцию ... предложенный вариант через дефайн родил вопрос "а что так тоже можно?"
#define swap(a,b) a=a^b;b=b^a;a=a^b;
53:49 : можно ли узнать, каково решение данной задачи при помощи специализации? Был бы очень Вам благодарен :)
Крутой собес, продолжайте в том же духе!
Спасибо:) :
#include
template
struct F{
enum { value = n * F::value };
};
template
struct F{
enum { value = 1 };
};
int main() {
std::cout
В С++ есть шаблонные переменные и их специализация. Поэтому можно просто создать переменную от n. godbolt.org/z/83z8s1
На это дристню с enum даже не смотри. Это древний хак для получения компилтайм-значения. Сейчас они есть встроенные. Я добавил в пример constexpr-поля.
@@rustonelove За примеры спасибо (на type traits я впервые увидел реализацию), но всё же как-то грубовато. Не вижу ничего плохого в примере с enum как учебным и классическим решением старого С++ .
@@user-bl4mm5pr9g Нет - enum, а особенно как учебный - это позорище. Это лишь говорил о том, что пациент ничего не знает о C++. А тот, кого учат таким образом - обречён.
Соответственно!!!!
Я такого изощренного способа вычисления факториала никогда не видел. Довольно интересно)) Жаль, что на больших числах не работает, без длинной арифметики не обойтись
За такой код в проде надо давать по башке:)
@@matanmaster а чем такой код плох? за исключением конечно того, что алгоритм другой нужно было выбрать.
@@user-ko2me2gw5s Тем что он учебный и никакого смысла не несет практического с одной стороны и при этом достаточно мутный с другой? Код пишется в первую очередь чтоб его потом читали, если ты БЕГЛО листая код не понимаешь о чем там речь - это плохой код и ему не место в проде
Работает на каких угодно числах. Ну конкретно эта древняя дристня на enum-хаке не работает, а так работает.
@@rustonelove ну, вообще, не на любых, как бы, потому что во-первых, ограничение стека для рекурсии (если конечно вручную не увеличить его) , а во-вторых еще идет ограничение же типом данных. А факториал - это достаточно быстрорастущая функция, так что дойти до предела типа числа не составит труда, даже если взять какой-нибудь uint64_t
интересный контент)
Очень полезный видос
При просмотре ставил на паузу, думал ответ и почти всё верно ответил)
👍 подход настоящего программиста!
Спасибо огромное за видео!! Я студент 1 курса it вуза , очень было интересно слушать , вынес много для себя полезной информации. Будут ли видео в котором показаны что нужно знать джуну в плюсах? Спасибо
Убрать аниме из авы и учиться.
@@wie9974 к чему это ? Вроде учусь , 9-тки фармлю , спасибо за заботу . Но не понял смысла комментария
Везде разные требования. Где-то нужно знать профильную область (линейная математика, ИИ, физика, и пр.), в которой работает компания, а язык уже на месте доучиваешь, а где-то важно уметь решать алгоритмические задачи, а где-то сам язык в приоритете.
Дарья, на 26:00 минуте, каким значением компилятор сам про инициализирует эту переменную ?
просто вызовется конструктор по умолчанию и, это, о какой переменной речь ? я вижу только объект "a"
Вызовется конструктор по умолчанию. Там два объекта а. Один в базовом классе, а другой - в дочернем.
@@DariaEmacs Я сразу прошу прощения, чтобы не получилось недопонимания, я не в коем случае не пытаюсь вас учить, я сам на стадии изучения.
Просто новичкам, которые будут смотреть, важно правильно понимать терминологию, 'a' это объект класса А2, конструктор которого не имеет параметров (в данном случае это конструктор, который вызывается явно) соответственно : a(12) даже не скомпилируется.
Конечно каверзные вопросы на собеседованиях)
На самом деле, я не знал, что вывается первым, но отладчик незаменимая штука, для понимания процесса: первым вызывается конструктор базового класса (если произошло наследование), затем вернувшись назад в дочерний класс, вызывается объект какого либо другого класса (если он есть) вызывая конструктор этого самого класса ,а затем вновь вернувшись назад, вызовится уже конструктор этого самого (дочернего) класса, поправьте, если не прав.
Получилось сумбуро, но те кто не понимает, лучше смоделировать ситуацию и воспользоваться отладчиком.
@@smart_electrics_il как программист на С++ с более чем 20летним стажем позволю дать совет, никогда не делайте выводов о том, как должна работать С++ программа исходя из поведения программы. А то сразу начнете задавать вопросы типа, чему равно x в выражении x = x++; - ответ на этот вопрос и подобные ему нельзя посмотреть отладчиком.
@@bumbarabun так для этого и учатся, что бы знать, чем отличается и как работает постфикс от префикс )
@@smart_electrics_il проблема здесь не в том, чем отличается префиксный оператор от постфиксного, а в том, что какой бы результат вам не показал отладчик, этот результат неправильный (конечно имеется в виду что x имеет встроенный интегральный тип вроде int )
"А еще как бы фишка такая.. эмм.. смысл в том, что.." Так мило и забавно это было )) посмеялся
интересно было бы еще и на джаве собеседование посмотреть) спасибо за труды!)
Спасибо)).
Спасибо)
Ссылка это алиас/никнейм переменной
Если у нас есть необходимость переопределения переменнной,то следует использовать указатель,так как переопределять ссылку нельзя
Ссылка не может ссылаться на null
Также существует арифметика указателей ,но нет арифметики ссылок
Наверное так бы ответил
Ох, неужели я дождался на ютубе языка языков его величество С++ :D
хаха его величество не смеши)
@@user-nv8hz7jl5s Покажи другое величество. Действуй.
@@rustonelove очень тупо пытаться всё запихать в один универсальный язык
@@IExSet Это не так работает. Всё, что тебе впаривали под видом подобных разделений - ложно. Язык универсальный - в этом его суть. Другое дело, что он не универсальный с ТЗ его пользователей. И вот здесь как раз таки и есть настоящее разделение. Те "не универсальные языки" - это практически и не языки вовсе. Это такое локальное убожество призванное лишь к одному - дать вчерашнему поломою возможность написать хоть что-то.
У меня вопрос, почему не используют using namespace std?
потому что часто в реалных проектах используют другие пространства имен (например, написанные другими разрабами), а подключение стандартного пространства имен ломает все. А пространсва имен - это то, что позволяет склеить из кусков кода разных программитсов один код, так что не обойтись без этого.
@@dosairin6260 Спасибо!
Всегда не ловко смотреть такие видео. Собес все таки процесс интимный. :)
На самом деле инкапсуляция это размещение данных и методов в одном компоненте(как говорит википедия) в c++ это 2 ключевых слова class и struct, а вот геттеры\сеттеры и пр это уже сокрытие реализации, что относится к инкапсуляции но не означает ее в первую очередь
А вы говорите про телеграмм. Это ваш блог с++ какой-то?) Если да, скиньте пожалуйста ссылочку..)
В профиле на yt есть ссылка).
@@DariaEmacs а я уже нашел))спасибо )))
@@DariaEmacs злая, человек по-доброму вас спросил, а ты его в шапку отправила. Зазналась!
5:36. Вы берете ссылки на память, которая доступна только во время выполнения функции. После выхода из функции ссылка недействительна. Её можно возвращать, если переменная внутри тела функции будет статической или если возвращать ссылку на rvalue аргумент. Использование значения по dangling reference - неопределённое поведение.
Demenev Dmitriy вроде бы все ок, возвращается ссылка на а, которая определена глобально
Так она и есть статическая, посмотри где она определена
@@matanmaster Предыдущий комментатор это отметил) Но спасибо за замечание)
Завтра собеседование, вроде всё помню, а всё равно вернулся сюда и нашёл свои пробелы)))
Спасибо!😇
Спасибо, Никита 😀!
Как прошло собес.?
@@yura4824 отлично
Мне кажется автору нравится парень который отвечает :)
Было очень интересно - я бы еще посмотрел или поучаствовал.
Спасибо))
Потренируйтесь с кем-нибудь обязательно!
17:10 Обалдеть. Я АВТОР ЭТОГО КОДА ПРО ПЕРСОНАЖА, ОРКА, ЭЛЬФА И ЧЕЛОВЕКА! Делал такую программу для лабораторных для студентов в МАИ. Похоже, что она пошла дальше в массы 😂
круто
Почем не использовать целочисленный цикл? Для данного примера поиска нужного значения в цикле он будет правильно и быстрее.
Вы не поняли суть задания. Оно даже называлось double. И нужно было узнать, знает ли человек, как работать с этим типом данных
@@antonslyzhko4926 Спасибо Антон, это я понял, мне просто не понравился пример ;)
Здравствуйте, ребята! Прошу вашего совета: хочу стать С++ разработчиком. Читаю и занимаюсь по книге Стивена Прата «язык программирования С++. Лекции и упражнения.» Это первое знакомство с айти. Что делать следующим этапом? Как с этого этапа перейти к этапу изучения создания чего-то, приложения мобильного, например?
Какие слои знаний накладывать дальше и в каком порядке?
Здравствуйте! А Вы хотите мобильное создавать для андроид или кроссплатформенное?
@@DariaEmacs пока это не важно для меня
Зато важно для ответа). На С++ можно что-то системное написать, десктопное, кроссплатформенное.
Адское адище) Хорошо что в свое время решил сесть за сишарп
Пример с эпсилоном, эти вычисления будут выполняться на каждой итерации цикла. Эффективней запомнить константы интервала или эпсилон и сравнивать с ними, а ещё лучше завести целочисленный счётчик и всё измерять по нему ????
Я еще учусь поэтому мой вопрос будет для кого-то простым, но хотелось бы получить на него ответ.
Так происходит найм программистов в IT компании?
Везде по-разному).
12:00 вот и до дифференциалов добрались😁. Как я понимаю точность до +/- 0.1, возможно нужно стремиться работать с целочисленными переменными, результат поделить на 10.
А как можно встретиться с вами...на собеседовании?
🤣
Соответственно
Много ли где применяется С ++? А то меня все понужают, говоря о питоне, а я учу плюсы
С ++ прежде всего используется в системном программировании: операционные системы, драйверы и системные программы (т.е. программы, встроенные в ОС). C++ применяется в GPU-вычислениях (Nvidia CUDA и OpenCL). Почти все крупные десктопные программы пишутся на C++ (например видео и аудио редакторы, графические редакторы, браузеры и пр.). В конце концов, Microsoft Office написан на этом языке. На C++ часто пишут бэкенд для высоконагруженных серверов (например, для онлайн игр). На C++ пишут автоматизированные системы управления, например для беспилотников, ПО для роботов и тех же самых беспилотников. Крупные десктопные и консольные игры тоже делаются на C++. C++ также применяется в искусственном интеллекте и в машинном обучении.
Особенность данного языка в том, что он является высокоуровневым языком, но при этом имеет доступ к "железу" как низкоуровневый язык.
Так что, продолжайте изучать C++. Вы на правильном пути.
P. S. Рекомендую вам позже изучить чистый C , а потом - ассемблер. Таким образом, вы полностью постигнете работу операционных систем, ПО и компьютерного "железа". И после этого другие языки программирования вам пойдут как по маслу.
@@TimaGoth спасибо)
Вот видео про это:
czcams.com/video/RKLgbFbVyTo/video.html
czcams.com/video/x1_j4I77nV0/video.html
@@TimaGoth Не нужно в 2020 году учить плюсы....
Всё ембедед программирование на с/с++ пишется... причем большая часть на с, а потом его уже под плюсы адаптируют... какие питоны, когда у тебя 64кб оперативной памяти...
А можно тоже пройти собеседование у вас ?)
Я на 2-м курсе программирования и мне чё-то стремно стало после вопросов😣. Ааа везде такое собеседование на профессию программиста?:
Нет, конечно, везде собеседования разные. Где-то джунов спрашивают только алгоритмы, а язык не затрагивают. Не переживайте :).
Лол, я несколько часов назад сел изучать питон и уже пытаюсь реализовать свой алгоритм нейросети по подражанию самообучения реального трейдера. Возможно, Вы будете намного сильнее меня в программировании. Я бы не боялся любого собеседования, т.к. больше чем Вы будете знать - Вы не сможете ответить, а потому зачем волноваться?
У меня для тебя очень плохие новости дружище , почти все было программа первого курса (по крайней мере на С)
Да везде и никак по-другому. Свободная касса легче орать. Вперёд.
@@maksimermmokhin4641 да это первое занятие, всё что они здесь обсуждали. 17 летних лопушков этому учат
Чем чаще говорят «соответственно», тем больше это говорит, что человек хочет показаться умнее, чем он есть
это признак волнения, а не желание "казаться"
@@DariaEmacs ваше определение никак не конфликтует с моим. Человек вполне может стараться казаться умнее, чем есть, когда волнуется.
Будет ли полезен опыт олимпиадного программирования, или зря я этим занимаюсь?
Олимпиадное программирование - это как спорт. Собеседование - это как маленькое соревнование, поэтому, думаю, будет очень полезно (алгоритмы, структуры, решения необычных задач). С таким опытом Вы легко устроитесь в тот же Яндекс. Но потом, после прохождения собеседования, начинается рутина, вот тут, главное, настроиться на длинную дистанцию, а не на спринт.
@@DariaEmacs спасибо!
Не за что)
Бедная девушка, за уши прям тащит кандидата, подсказывает как может !
Богатая! Задачи не стояло кого-то валить, нужно было понять, может ли кандидат мыслить и рассуждать. С этим он справился на 5.
Здравствуйте, Дарья, сделаете видео по NDK?
Здравствуйте, Дмитрий, а что именно?
@@DariaEmacs ну Дарья знаете что-нибудь такое лёгенькое, чтобы вас можно было поставить на фон под лепку пельменей.
А питон не попроще будет для новичка разве?
Так он типа новичок в c++, а не в программировании вообще
Я вчера проходил собеседование в очень крупную кампанию по веб разработке, к сожалению знаний не хватило и меня послали вежливо)) Ребят главное не настраивайте себя на лучшее как это сделал Я, чтобы не расстраиваться после неудачных собесов)
Не расстраивайтесь, это всегда лотерея! ))
господи, неужели собеседование С++ джуна показали в прямом эфире)) не зря ждал. Но было бы круче сделать как в реальных компаниях собеседуют, есть канал, где блогер программист правда он javascript звонит в компании типа устроиться на работу, и он в прямом эфире показывает как реально там проводят интервью. Если покажете реальное собеседование по С++ в компаниях будет вообще огонь.
Я думаю, за такое можно засудить. Нельзя записывать разговор, не предупредив об этом.
@@javapena ну этот блогер не боится, одна компания на него реально грозила в суд подать))у меня даже ссылка на его видос есть czcams.com/video/nToDJ0sh5Z4/video.html
Соответственно, соответственно