Тёмный
Ambushed Raccoon
Ambushed Raccoon
Ambushed Raccoon
Подписаться
Собеседуем Школьника. C++
57:23
10 месяцев назад
Собеседование Middle C++
1:01:50
11 месяцев назад
Собеседование C++
47:00
Год назад
Собеседование Junior C++
50:58
2 года назад
Комментарии
@popsusekak
@popsusekak 17 часов назад
Привет. Можно узнать есть ли видео, где вы находили статическую координату Y игрока из начала видео?
@Arkan0409
@Arkan0409 День назад
То есть даже с такими знаниями в джуны не берут?
@mihanapushka3896
@mihanapushka3896 3 дня назад
Если сейчас все джуны такие, то залететь на рынок it супер легко
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Ну так залетайте.
@rasimbot
@rasimbot 11 дней назад
Зачем нужны вопросы про неоткрытое наследование? Что они говорят о кандидате?
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Такой вопрос попадается на собеседованиях. Показывает эрудицию кандидата в теме ООП. Плюс можно понаблюдать как человек думает, какие ассоциации строит, какие параллели проводит при ответе на данный вопрос.
@gameworld9522
@gameworld9522 11 дней назад
Ничего себе, Оксимирон перестал писать песни, пошёл в программисты и собиседует кашу
@HBercut
@HBercut 12 дней назад
корректно ли вообще называть isSame когда сравниваете типы данных, а не значения, так же запутаться можно.
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Было бы некорректно назвать как-то иначе, я бы вводил зрителей/кандидатов в заблуждение. Так она называется в стандартной библиотеке. en.cppreference.com/w/cpp/types/is_same
@user-nm2kj4fr2i
@user-nm2kj4fr2i 13 дней назад
22:40 интервьюер говорит что перемещения как бы не существует и это тоже копирование, что имеется ввиду, ведь мы ничего не копируем, мы по сути заменяем владельца, указатель, но вся информация остаётся все так же на том же месте... Скажите пожалуйста что произходит, а то я в замешательстве.
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Не могу сказать, что произойдет на разных операционных системах с разными компиляторами, возможно, существуют какие-то процессорные оптимизации, которые сделают перемещение быстрее. Но с точки зрения синтаксиса языка операция перемещения - это скорее особое копирование, более экономное. Объясню на примере. Возьмем тип данных std::string. Очень грубо говоря, это обертка над C-строкой типа char*. Если мы сделаем присваивание: std::string a{"qwerty"}; std::string b = a; то для объекта <b> будет выделена память вызовом функции malloc, затем данные будут побайтово скопированы из первой строки во вторую. Или же мы можем сделать следующим образом: std::string a{"qwerty"}; std::string b = std::move(a); std::move создаст из переменной <a> rvalue-ссылку на <a>, которая сообщит компилятору, что объект a может быть перемещен. И далее, без выделения памяти и побайтового копирования, мы просто возьмем указатель из <a> и присвоим его указателю внутри строки <b>. Указатель же в первой строке мы занулим. В результате строка <b> будет использовать те же самые данные, то есть объект <a> как бы переместится в <b>.
@ogonek3588
@ogonek3588 21 день назад
не хочешь прикрепить все скрипты в видео
@user-cb8nc5to4z
@user-cb8nc5to4z 24 дня назад
47:24 "Считается так, что хард-скилы подтянуть можно, а софт-скилы подтянуть нельзя. На самом деле и то, и то подтянуть можно". Вот красавец. Какая же уважуха тебе, камрад, за эти слова. Я уже разуверился в гуманизме в среде программистов. И дальше. "Но никто не захочет подтягивать вам софт-скилы". Просто база. Ты со своими внутренними сложностями работодателю не нужен. От тебя нужен продукт. К сожалению, не могу найти как вас зовут. Но смотрю ваши ролики регулярно) Иногда даже пытаюсь критиковать в силу своих скудных способностей))) Но, этот меня сильно тронул чисто с человеческой стороны. Мое почтение, дорогой товарищ.
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Большое спасибо)
@adb_shell
@adb_shell 24 дня назад
Привет! Мне 13 лет и я изучаю c++, посоветуй, что мне на нем писать? И у меня вопрос - зачем передовать агрументы в main? Тоесть например: int argc, char *argv[]. Что от этого меняется?
@v1dzhet
@v1dzhet 24 дня назад
это передача параметров при запуске твоей программы, полученные параметры ты уже можешь использовать для дополнительной обработки в своем коде.
@theflameflare
@theflameflare 22 дня назад
Привет! Аргументы в мэйне это параметры запуска приложения, не могу сказать насколько это прям распространённая тема, но с помощью этого ты можешь запускать приложение в различных "режимах", которые сам и пропишешь. Например, параметр для включения или наоборот отключения ведения логов или любого другого функционала. В общем, можешь сейчас особо не заморачиваться насчёт этого и просто не указывать их. По поводу того, что писать: гугли Programming challenge v4.0, удобно будет в виде картинки сохранить. Там свыше ста идей для различных проектов от rpn калькулятора и tcp/ip сервера до графических движков. Всё это отсортировано по уровням сложности. Дальше выбирай что нравится и вперёд изучать статьи, гайды и документацию. Удачи!)
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Отличный ответ от @theflameflare. Успехов)
@nemerly6315
@nemerly6315 28 дней назад
стрим шел 2 часа из них час это сплошные коментарии не по теме , стрим интересный, но я просто уже не выдержал этого
@user-ih5hp
@user-ih5hp 28 дней назад
нынче блогеры в прогеры решили податься.....мда. Потом удивляемся почему программы такие тормознутые получаются... middle переменную называется a и b...завтра сеньором будет, начнет называть их _a и _b....
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Не вижу никакой проблемы в том, чтобы назвать переменную a и b, если это используется к месту. Пример сигнатура std::swap, en.cppreference.com/w/cpp/algorithm/swap То, что Вы делает выводы о производительности современного ПО, основываясь только на названиях переменных или самом факте ведения блога, создает впечатление, что у Вас как минимум пробелы в софт скилах.
@rathalos_gaming
@rathalos_gaming Месяц назад
41:00 я бы ответил, что в классе CD конструктор constexpr и noexcept аннотирован
@TurboGamasek228
@TurboGamasek228 Месяц назад
можно пожалуйста обьяснить как это работает for(auto item: a){ tmp_map[item]++; } мы же тут по факту в ключи передаем значения вектора а, в чем смысл? у нас же ключи могут только уникальные значения хранить, (тайм код 13:53)
@TurboGamasek228
@TurboGamasek228 Месяц назад
хм, кажись понял, мы туда в качестве ключа добавляем значение вектора 1, а в качестве значения количество повторных элементов
@MrIbah42
@MrIbah42 Месяц назад
задачи конечно... олимпиадная хрень, это не собес, это бесполезные ребусы
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Без этой "хрени" не обойдется ни одно собеседование в крупную с большим количеством разных проектов компанию. Это нечто вроде общего теста, чтобы понимать потенциальные возможности кандидата без привязки к конкретным технологиям. То, что Вам это не нравится, не причина пренебрегать таким важным аспектом подготовки.
@MrIbah42
@MrIbah42 15 часов назад
увы, с тем же успехом можно загадки загадывать) достаточно примитивный способ оценки кандидатов, через узкие задачки с олимпиад по информатике. и это все я пишу с тем моментом что алгоритмические моменты люблю в программировании)) оценить нужно опыт, обучаемость, скиллы хард и софт, проактивность и сообразительность. литкод это дрочка на часть хардов и больше ничего. это порок фангов что подобным способом набирают себе сотрудников. и тем более о каких скилах и качестве может идти речь если разработчик может юзать разные языки в силу различных обстоятельств. нельзя быть проскилловым везде. а вот везде быть средним вполне реально, собсно и качество продуктов будет таким же.
@porohmega
@porohmega Месяц назад
Какой слабый ментор и какой толковый заинтересованный джун, здорово
@deeper197220
@deeper197220 Месяц назад
Про исключения вы не правы. Это ПРАВИЛЬНЫЙ путь С++ для обработки ошибок. Вы ДОЛЖНЫ проектировать код используя механизм исключений. БЕЗ ВАРИАНТОВ.
@deeper197220
@deeper197220 Месяц назад
В конструкторе и деструкторе бросать технически можно, НО НЕ НУЖНО. Следуйте этому простому правилу
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Своей категоричностью вы вводите людей в заблуждение. Исключения - это правильный механизм обработки ошибок с точки зрения стандарта и синтаксиса язык, да, на бумаге он выглядит отлично. Но не стоит забывать, что C++ язык слишком многопрофильный. Самый простой пример: исключения не будут являться так называемым "real-time safe" - кодом, потому что время обработки исключения не будет константой. И в целом огромное количество проектов, на которых исключения не то что не приветствуются, а запрещены вообще.
@DadundddaD
@DadundddaD Месяц назад
int find_range_n(const std::vector<int>& vec, int number) { char cnum = '0' + number; int maxn = 0; for (auto el : vec) { string strn = to_string(el); int len = ranges::count(strn, cnum); if (len == strn.size() && maxn < len) { maxn = len; } } return maxn; } Что в видео, что в комментах, реализация этой функции вообще не имеет отношения к поставленной задаче. Вот правильное решение, хотя и не оптимальное.
@darkhunter777
@darkhunter777 Месяц назад
Многа воды вредно пить - быстро ожиреешь 😁Вода увеличивает расстояние между катализаторами 🤩
@syogun544
@syogun544 28 дней назад
Врачи с тобой не согласятся,но ты дальше верь в свои высеры
@DadundddaD
@DadundddaD Месяц назад
11:30 - почему у методов Read нет возвращаемого значения, куда они считывают? Про виртуальные методы собеседующий сказал - override нужен если мы уберем virtual. Зачем? Если не убирать virtual override тоже полезен. В комментариях вы написали что-то про перекрытие, но в видео про это ни слова, и у меня есть сомнения, что вместо переопределения будет перекрытие. 32:32 - название метода некорректное, для проверки, что это одно и то же дерево достаточно сравнить только два указателя, если это корни, кск сказао ведущий. Хотя непонятно, что жто корни, так как имена переменных ни о яем не говорят. Поля x у TreeNode нет, есть поле val. Слабенько.
@mrbibis7229
@mrbibis7229 Месяц назад
Этот чувак лучше отвечает на более углубленные вопросы, чем "мидлы" в последних видосах) Особенно редкое понимание о том, что виртуальность на момент вызова конструктора еще не готова
@fein7068
@fein7068 Месяц назад
Override это не только синтаксический сахар, так как он на уровне компилятора выдаст дополнительную ошибку в случаи не соответствия. Так же забыли сказать про такую деталь про полиморфизм в случаи с интерфейсом и удобную работу с одним типом данных интерфейса, мелочь вроде, но дает более объективный ответ как по мне.
@phonkabuser3985
@phonkabuser3985 Месяц назад
виндертон решил реально заняться программированием
@sergeyvlasov207
@sergeyvlasov207 Месяц назад
Дружище, без обид, нужно готовиться хоть немного.
@my_learning_spaceship
@my_learning_spaceship Месяц назад
Предчувствую второй курс... Ооп+ технология созд. программного обеспеч.
@minma123
@minma123 Месяц назад
человек паук вернулся домой и начал кодить
@my_learning_spaceship
@my_learning_spaceship Месяц назад
Понимаю, что ещё учиться и учиться...
@TurboGamasek228
@TurboGamasek228 Месяц назад
я вроде установил сфмл, опен жл, захотелось установить pdcurses не понимаю как это сделать, нигде нормального гайда нет, пытаюсь понять че написано в READ.ME ниче не понимаю, пытался в PowerShell команду которую просят прописать, ниче не работает, я не понимаю почему в си++ нельзя сделать как питоне в пару кликов установки этих библиотек, а не танец с бубнами
@TurboGamasek228
@TurboGamasek228 Месяц назад
аъаахахах поныл и получилось....
@MrLeyt1125
@MrLeyt1125 2 месяца назад
Что появилось в 11 стандарте? Правильный ответ: да кого это ебет? Тут что экзамен по истории с++? Какой смысл помнить все стандарты на память? Аж трясет
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Мне задавали подобные вопросы. Странная какая-то реакция. Причем тут помнить все стандарты на память? Полезно знать ключевые моменты стандартов, чтобы, например, на обсуждении с условным бизнесом вы могли сходу предложить пару идей, обосновывающих ваше желание перейти на более высокий стандарт и инвестировать время в технический долг.
@dark_angel2598
@dark_angel2598 2 месяца назад
Всем привет, а где находить вакансии на должность junior C++?(
@stupnum8764
@stupnum8764 27 дней назад
Москва, Новосиб, СПБ, Казань и прочие крупнейшие города. Например у меня в Ростове на Дону их нет. Много it вакансий, но плюсовики без опыта не нужны
@prank_ttime
@prank_ttime 2 месяца назад
в перуом можно было типо стека все сделать и все.
@user-uv1yg9qh2p
@user-uv1yg9qh2p 2 месяца назад
Можно унаследовать все виды умных указателей от первого базового класса умного указателя и будет счастье
@MePlayJackson
@MePlayJackson 2 месяца назад
Я бы решил задачу по другому. Видимо менее эффективно. Но без стека. Просто бы представил двумерный массив в виде одномерного. Далее std::set<int> busy_map; И сразу бы проверял за раз 1 остров. Идем по X. Встретили 1 - проверяем все в округе (вправо и вниз, внизу - соседние ячейки пока не закончатся). В set заносится индекс любой ячейки, которая равна 1 для этого острова. Как только закончили с островом - плюсуем каунтер на 1. Когда перейду на следующую строку я просто буду пропускать ячейки, индекс которых уже "занят". В итоге алгоритм будет сводиться к поиску контуров островов, без стеков. А busy_map поможет в этом. Интересно, что бы там мне сказали на такой алгоритм. Стали бы возникать или нет.
@pashudzu
@pashudzu 2 месяца назад
Прекрасный урок, долго не понимал разницу ссылок и указателей, теперь щёлкнуло🎉
@ambushedraccoon6408
@ambushedraccoon6408 2 месяца назад
Спасибо!)
@artie5913
@artie5913 2 месяца назад
Грубо говоря скажем так
@user-xm5zl9up4r
@user-xm5zl9up4r 2 месяца назад
Здравствуйте. Скажите, пожалуйста, обязательно ли изучать С перед изучением С++?
@KindaRobot-is7gx
@KindaRobot-is7gx Месяц назад
нет
@roman3pm
@roman3pm 2 месяца назад
Да, врядли в продакшене тебе придется решать именно такую задачу, но раз уж ты не раз упомянул, что работаешь (или работал на тот момент) в геймдеве, то должен понимать что подобные подходы и алгоритмы, где надо проверить соседние элементы, а точнее пиксели, применяются в обработке изображений. Например наложить построцессинг какой-то, размыть фон, определить края объекта, сделать мягкие тени и многое многое другое.
@yk0578
@yk0578 2 месяца назад
ну какой же это сеньор? не многопоточность добавили, а memory model - что куда как более широкий сабж, атомики теже. про hash tables - вопрос ни о чем. Load factor ни тот ни другой не знает. про инвалидацию ссылок и итераторов похоже ни тот ни другой не слышал. про Move semantics слышал-слышал молодец. о чем вообще вопрос? сборщики мусора с generations похоже тоже мимо прошли. очень поверхностное собеседование. извините.
@evgeshaprodakshn6362
@evgeshaprodakshn6362 2 месяца назад
Мне кажется он о себе больше написал чем знает, поэтому вопросы были для него сложнее чем он готов и собеседование получилось хуже чем могло.
@bvanbanan
@bvanbanan 2 месяца назад
Грубо говоря скажем так как бы в англоязычной литературе все это описано
@curniculus
@curniculus 2 месяца назад
thank you very much for this stream, i have it a lot of issues compilated this, and now its work to me :)
@unjnown333
@unjnown333 2 месяца назад
Окси когда новый альбом
@fufloradar
@fufloradar 2 месяца назад
И сколько платят за этот фуфел?
@anthonydixon8967
@anthonydixon8967 2 месяца назад
Короче ребят, логика такая. Если вы реально мечтаете делать игры, то учитесь на геймдизайнеров или графических дизайнеров (3d художников). Это те люди кто реально влияет на то, какой будет игра. Учится на них быстрее и проще, чем на прогеров. Если же вы хотите быть программистом и писать код, то лучше выбрать промышленную разработку, там и зарплаты выше и вакансий больше.
@anthonydixon8967
@anthonydixon8967 11 дней назад
@@serhishevchenko промышленная разработка!
@olegpotapov9391
@olegpotapov9391 2 месяца назад
Если убрать с аудиодорожки причмокивания, получился бы отличный подкаст😅
@yupiter9403
@yupiter9403 2 месяца назад
где-то в гробу перевернулся фон Нейман(
@TurboGamasek228
@TurboGamasek228 2 месяца назад
а прошел он нет?
@ambushedraccoon6408
@ambushedraccoon6408 2 дня назад
Это же тестовое, человек пришел себя проверить) Получается, что в любом случае прошел. Результат хороший.
@andrejklester5851
@andrejklester5851 2 месяца назад
Это просто жесть, немцы ищут в Польше, поляки ищут в Украине, Украина ищут в Белоруссии 😅
@ambushedraccoon6408
@ambushedraccoon6408 2 месяца назад
Беларуси.
@user-wl1sn8qr5f
@user-wl1sn8qr5f 2 месяца назад
На сеньора ожидал вопросов по паттернам (какие знает, когда уместно применять, плюсы/минусы), по стандарту побольше, важные аспекты производительности и изменения в стандарте (move-семантика, (N)RVO, ...), умные указатели (какие знает, принципы реализации), по шаблонам пробежаться. Понять насколько широк кругозор и глубина погружения в проблематику типовых проблем при разработке.
@nnektov
@nnektov 2 месяца назад
Спасибо. Мне понравилось, что на каждый момент дается адекватная, расширенная обратная связь - на таких уроках можно учиться.
@ambushedraccoon6408
@ambushedraccoon6408 2 месяца назад
Спасибо за отзыв)
@alexandrgonzales6503
@alexandrgonzales6503 2 месяца назад
С такими комментариями реально круто, спасибо
@nnektov
@nnektov 2 месяца назад
@@alexandrgonzales6503 Данил на самом деле дает вполне позитивную и познатавтельную волну. Вот подчеркну, что позитивную. Как правило собсес - это стрессовая ситуация, с нами по разному обходятся, могут и совсем никакой обратки давать (плавали, знаем. "Вы не тянете на эту позицию" - типа норм ответ). Данила, наоборот, все точно обьясняет - подучи это или то. Кроме того. Осмелюсь сказать, как человек между миддлом и сениором - Данила если не знает что-то, то так и говорит, т.е. не пытается представить из себя того, кем он не является. Если не знает - то не знает. Если недавно узнал - то так и говорит. Если резюмировать - мне нравится _человечность подхода , без потери _точности. Так держать.