Собеседуем Школьника. C++

Подготовка к собеседованию на C/C++ Developer

Транскрипция видео:

  • Всем привет Вы на канале мбуштракон и сегодня с нами на связи Андрей который будет проходить у нас собеседование на позицию нечто среднее между тройни Джуниор как-то так Ну практически сеньор Вот э-э в общем Андрей привет Всем привет Да ну в общем Расскажи пожалуйста о себе только ты программируешь какой у тебя опыт что ты знаешь чего не знаешь что хочешь узнать и так далее да хорошо Ну о себе могу сказать мне 15 лет Меня зовут Андрей где-то С программированием начал заниматься где-то лет 13 сейчас имеется

    00:00:00 - 00:01:18

  • опыт с Сиси плюс плюс конкретные имеются опыт с Windows API также с Unreal Engine 5 smml и это все наверное дальнейшем наверное Думаю эти системного программиста потому что относительно недавно начал заниматься API и довольно Понравилось сильно больше чем Unreal Engine понятно а в Ну с и на пиво не 5 А ты как бы чем больше занимаешься Что тебя понравилось но больше понравилось У меня был один проект такой Просто мне было иногда лень открывать например какие-то программы я решил сделать программу в которой могут

    00:00:38 - 00:02:06

  • написать свой конфиг и в дальнейшем например использовать какие-то комбинации они там открывали определенные программы и также Сама там с кнопкой Delete если нажимать то не закрывались понятно понятно Смотри такой еще думаю так пару вопросов по твоим проектом но тут из Письма из твоего резюме скажем так смотри ты упоминал Что у тебя на них Да скажем так владеешь скажем так паттерном виси что ты про него сказать могу рассказать про него что nvc это аббревиатура мода убил контроллер там где у нас есть собственно

    00:01:26 - 00:02:49

  • Model это модель каких-то данных есть далее есть контроллер который манипулирует над этими данными также есть View это Например какой-то вид там это может быть или консоль или какая-то какое-то приложение там ну условно интерфейс и с помощью контроллера мы можем там например получать какие-то данные с модели и репрезентировать их [музыка] описание такое скажем не очень подробно будет на самом деле два паттерна что еще знаешь Нет не совсем то ты слышал ли ты пропатерным А слышал но не реализовывал не смотрел

    00:02:11 - 00:03:39

  • Вот смотри В чем проблема Как ты опишешь связи которые вам ввести выстраиваются то есть например кто о ком знает кто с кем связан Кто как с кем общается по моему контроллер общается с моделью Ну контроллер может обратиться к модель А нет контроллер может обратиться к модели А дальше контроллер может обращаться к View и View может обращаться контроль это окончательно не знаю можно еще подумать в принципе сейчас а та модель может обращаться контроллеру контроллер может обращаться к модели и модель может

    00:03:01 - 00:04:26

  • обращаться по идее контроллеру [музыка] для я использую дальше именно мне интересует сама текстовое поле что просто по моему называется по-моему Editor или что-то такое не речь текст но ты именно создавал как условно какой-то встроенный тоже через Intel и не с буфером с этими изображениями не игрался хорошо также вот это вот отправка на сервер тоже меня интересует с точки зрения и найти А ты что использовал для того чтобы данную форму Ну то есть не вина пи не отдельно А может что-то рассказать Я первый раз

    00:03:56 - 00:05:29

  • просто этот к библиотека которая условно там может делать пост запросы я запросы и Она довольно удобная не громоздко хорошая я запомню Хорошо Окей вот еще такой вопрос смотри также у тебя была указана в резюме библиотека для стерилизации бинарном виде Может чуть подробнее пройтись то что делает библиотека как Да хорошо Ну значит идея этой библиотеки появилась после того как я себя прострелил ногу с тем что оказывается Нельзя просто взять и сохранить с TD string я решил сделать для себя библиотеку и это как бы такая больше

    00:05:59 - 00:07:42

  • обертка над FS стримом больше как идет на там можно сохранять любые типы данных но нельзя сохранять например классы которые имеют в себе там сложные структуры данных типа как векторы или строки но нам уже сохранять там строки W строки и ну и остальные типа данных Ну смотри получается что оно их сохраняет именно как бинарном виде не в текстовом так да я думал над тем чтобы еще добавить текстовый просто чтобы может понадобится вот такой момент Меня смущает Получается же что у тебя это только для винды ты это тестировал для

    00:06:50 - 00:08:18

  • других платформ для других платформ она не подойдет Ну то есть тут как бы Какие могут быть подводные камни у бинарные Ну может быть такой подводный камень шоу по сути все данные в памяти могут по-разному представляться на разных системах и Например если мы условно на Windows и реализуем какие-то данные попробуем их на Спарки 10 реализовать то что не получится как получится хорошо относительно поверхности знаю например у меня был такой закрытый проект с использованием микро сервиса микросервисная архитектуры там

    00:07:34 - 00:08:58

  • используются [музыка] Я к тому что для стерилизации бинарный а мультиплатформенность порешается вот Хорошо давай про твои проекты поговорили Спасибо подробненько мне нравится вот чуть-чуть уже в сторону и си плюс плюс Расскажи пожалуйста своими словами как ты вот такую указателя понимает Например у нас есть стек и хип и данные у нас хранятся но если мы выделяем памятный хит это у нас указатель как бы хранится в стоке а сами данные на хиппи и дальше мы можем например их получить разменовать и работать как-то с ними либо же выполнить

    00:08:24 - 00:09:51

  • арифметику указателей Ну вообще нет Ну смотри пошел пошел так сильно вата в ту сторону Я сказал пошел скорее в сторону и в отличие страх и класса вот просто как бы указатель все-таки Это нечто более простое Ну адрес какого-то объекта например вообще просто адрес памяти Ну надо и в принципе указатель он может в любом месте храниться как на стеке так Ну по идее дано Ну то есть это просто адрес так Ну думаю да Хорошо А ссылка тогда что такое ссылка это Ну по идее это тоже указатель под капотом хорошо а вот какие будут Ну какие будут

    00:09:19 - 00:11:09

  • отличия Зачем вообще ссылки Я думаю как это так есть они безопаснее Потому что насколько я знаю если например в параметрах какого-то метода передавать по указателю посылки то если мы бы передавать по указателю возможно то что туда пойдет на упоинтер и дальше может быть Например у Бен хивер А если ссылка то мы по моему не можем туда просто передать нам поинтеры поэтому плюс то что ссылка нельзя выполнять арифметику указательный в целом же я думаю теоретически мы можем ссылку на теоретически я думаю да если например

    00:10:18 - 00:11:45

  • это в рантами как-то произойдет но я имею ввиду Сам ты синтаксический не сможешь передать нам не знаю В принципе думаю если на родительский это прослойки то наверное можно но и без прошлого можно просто Каста сделать [музыка] то есть мы например можем объявить какой-то указатель ему сделать на лптр потом делать ссылку на значение этого указателя как мы кстати получим просто само значение указателя просто не обратимся к тому что лежит по указателю звездочку например вот да и мы можем увидеть по идее ссылку на Вот это

    00:11:03 - 00:12:32

  • разуменованное значение таким образом получить хорошо Вернемся немного к ты хочешь быть смотри получается что вот меня интересует Расскажи мне пожалуйста в чем разница что такое Ну процессе насколько я знаю может быть один процесс какой-то конкретный опыт процессом уже могут быть какие-то потоки которые там выполняют какие-то разные действия условно конкретно по терминологии наверное не могу сказать и как бы общее название например для процессов потоков [музыка] Ну общее название наверное нет Но это

    00:11:52 - 00:13:24

  • вот как одно из базовых теорий вообще в целом это объекты нужно знать хорошо Так ну что ж давай тогда сейчас немного по программируем Вот скажи Знаешь ли ты как удалить например если использовать и все в принципе ну хорошо давай реализуем Пятый элемент по идее вот так вот можно наверное сделать я думаю там где-то вектора должна быть ой вектора а то есть по идее Например если платы то мы пойдем вот так вот можем сделать конкретно обозначить здесь сексом на тот же а что в данной ситуации будет делать

    00:13:00 - 00:14:23

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

    00:14:53 - 00:16:22

  • простой способ в данной ситуации хорошо что как бы сказал что знаешь вообще что по идее более просто по моему можно самого вектора вызвать рейс и просто указать элемент Да все то по идее вот так вот только я думаю это будет итератор что-нибудь хорошо вот смотри Значит на этом но естественно тогда уже раз мы с таким столкнулись то тогда я так просто сам тоже сходу не напишу Мне нужно подгуглить поэтому Ну рекомендация если не уверен то лучше тогда уже что-то более надежное на собеседовании применять потому что мне

    00:16:03 - 00:17:22

  • бы тот же ремув рейс и пришлось бы подгуливать дополнительно как бы в работе условно Вот смотри как бы хорошо мы удалили да Вот какие у нас тут вообще вот возьмем в целом этот метод [музыка] подводные камни какие ты тут данные проблемы потенциальные проблемы если нам Например нужно удалить оригинального вектора этот элемент у нас передается по значению не посылки поэтому может быть такой подводный камень Ну просто самый Объект который у нас был оригинальным он никак не поменяется а именно что произойдет копирование

    00:17:00 - 00:18:26

  • копирование хорошо вот далее Смотри вот еще вот это вот удаление до удаление но предположим у нас вектора скажем так элемента хватает да что еще должно случиться с вектором как бы когда мы удаляем элементы у него середины но он по идее должен начать смещаться влево Ну если мы где-то по центру удалили у нас хвост будет влево прыгать Ну все должно быть перемещено Ну да у нас по идее если у этого класса Нет не определенно оператор перемещения то она все будет на копироваться Хорошо хорошо а вот Смотри такой вот момент

    00:17:47 - 00:19:19

  • нужен для того чтобы например мы могли переопределить размер вектора То есть если у нас есть 10 элементов и мы делаем решались например 6 У нас 4 элемента свойства отбросится можно так сказать то что у нас произойдет м-м это у нас произойдет релокация Ну это в зависимости насколько увеличим если по идее нашего увеличения будет не больше чем к апатите то всё будет нормально но чтобы он скомпилировался что что должно быть там будет вот принципиально отличить [музыка] что должно быть чтобы он скомпилировался

    00:18:47 - 00:20:01

  • ну наверное указанное значение либо же Вектор должен быть заполнен чем-то наверное Ну вот смотри давай от другого от обратного пойдем вот резерв что он делает Зачем заранее выделяет память векторе таким образом чего мы можем избежать когда мы примерно знаем объекта нам лучше сделать резерв заранее выделить память Да мы предположительный размер вектора Вот хорошо с этим определились заранее выделить нужную память будет доступна а получается А я понял Мы теперь Ну по идее когда мы заранее можем выделить потом уже точно

    00:19:31 - 00:21:01

  • Когда мы будем знать количество элементов мы по идее можем сделать решать чтобы Но на самом деле поведение будет в принципе одинаковое мы сделаем именно риса если мы сделаем резерв произойдет выделение памяти в целом я как бы подталкиваю к тому что на ресайз у нас важное ограничение то что конструктор по умолчанию будет именно как бы резерв выделит какую-то память просто резервирует как можно сказать натолкает элементов конец Ну то есть как бы не только выделить но и сами объекты должны быть сконструированы

    00:20:18 - 00:21:37

  • такой момент в их различие хорошо а вот ты упомянул мув затем вообще зачем нам нужна в целом семантика например в ней хорошего Это довольно хороший буст дает если например у нас есть один объект и мы хотим как бы его скопировать во второй это мы знаем что первый объект нам больше не нужен то есть ну нам нету смысла делать глубокое копирование поэтому мы можем воспользоваться мультиматикой как бы содержимое первое объекта переместить во второй Но это произойдет так условно на самом деле там под капотом по моему

    00:20:56 - 00:22:18

  • просто указатель Новый объект начнет точнее указателю нового объекта начнет указывать на тот Объект который мы якобы перемещаем а у старого объекта этот указатель занулится и все Вот есть такой частный в целом будет указатель Но это может быть какой-то другой например вот ты упомянул Да что у нас вот глубокая копирование как ты это пишет что это Ну я думаю что это когда у нас прям полностью все данные объекты копируются прям все все и как бы он стает отдельным своим объектом как бы независимым ничего

    00:21:39 - 00:23:10

  • так нет суть проблемы не описываешь Вот например предположим у нас std string Да вот что с ним будет но проблема будет в том что по идее если сделать глубокое копирование у нас будет два указателя на один этот кусок памяти на один и тот же кусок памяти Вот как раз таки нет если мы сделаем глубокое копирование мы перевыделим память точнее выделены вот если мы сделаем Move Неправильно у нас тогда могут быть два указателя которые указывают одно и то же тут все как бы очевидно В общем давай отсортируем Какие способы Ты знаешь как

    00:22:28 - 00:23:54

  • создавать Ну знаю саму Как можно привести два варианта это самописная сортировка Или например из-за стояли просто обычный std сорт Хорошо давай воспользуемся вот [музыка] Ну это дальше третьему параметром мы можем передать предикат Ну да если нам нужно например не по дефолту отсортировать как отсортировать по дефол pdfoto отсортирует от меньшего до большего А хорошо а какие-то примеры примеры например предикатов ты знаешь которые можно передать конкретно в сорт можно передать бинарные предикат только бинарный еще есть

    00:23:12 - 00:24:39

  • тернарные Ну смотри я имею ввиду ну как бы Например ты вот хочешь отсортировать Вот сейчас ты бы захотела сортировать предположим возраста просто предикат бы передал либо же реверснутый итератор тебе поможет при выводе А вот смотри получается Ну ты имеешь например ты бы лямду передал Да ну Да ну хорошо я имею ввиду Вот есть же какие-то вещи Ну не очень удобно Может есть что-то уже заранее готовое наверное Возможно есть какой-то реверс сорт не знаю точно В общем тут рекомендую обратить внимание что есть

    00:24:13 - 00:25:44

  • заранее прописаны как бы уже индикато типа DLS std грейдер по моему вот такие вот вещи чтобы это Но это гораздо ускорит как бы работу чем уже самому писать хорошо сделали Отлично очень хорошо давай тогда ты можешь написать своими руками он был сорт хорошо Давай напишем лучше сделать я понимаю куда ты с этим идешь но в целом Такая прямо супер оптимизации [музыка] смотри что ты используешь не знаю это правильно сказать на пусть будет префиксный инкремент Может скажешь почему Или скажешь чем они отличаются Да

    00:25:02 - 00:26:49

  • могу рассказать чем они отличаются префиксные постфиксные Разница в том что постфикс нам у нас как бы извиняешься значения не наши переменной А копии нашей переменные и возвращается копия и поэтому у нас как бы Одно лишнее выделение памяти Ну скорее копирование хорошо Ну смотри там момент что меняется значение все-таки нашей переменной А вот вернется значение уже как бы наши прихраниться потом наш нараститься вернется Ну смотри с такими объектами как бы это можно это действительно будет принципиально

    00:26:24 - 00:27:50

  • где эти примеры вот прям видно например думаю в каких-то пользовательских типах данных думаю там если там например хранится какой-то большой объем данных думаю там это будет заметно Ну это в принципе да ну как бы я вообще катаратором вел Но типа Ладно но я думаю так в принципе нормально хорошо Давай вернемся к ортировке Да только мне кажется что будут наверное немного У нас тут лишние итерации сократить их вот этот скажем так минус И что он нам даст а нам дашь что у нас получается G будет Ну как у нас есть как бы начало

    00:27:11 - 00:28:41

  • коррекции есть конец и вот у нас будет GT не концу а к значению и тому То есть мы не будем аж до конца перебирать мы будем перебирать только до этого значения какой смысл этого не будем делать лишнее террасы хорошо Почему мы можем дальше не перебирать как у нас работает сортировка она сравнивает два элемента тот который у нас больше он у нас свапается вправо тот который меньше он нас остается слева и она таким образом как бы перестанавливается потом у нас получается вот меньше Ну вот после каждой итерации да Ну вот

    00:28:48 - 00:30:10

  • например мы начали у тебя произошла первая операция отработала отработал первый вот этот цикл например в конце первой рации Одна один проход цикла Джей что он нам как бы даст но в конце если например мы попадем в условия то он свап Нет наши элементы если нет нет Ну вот какой элемент у нас в конце каждой точнее почему вот мы потом уже можем дальше в конец не бегать почему мы не можем дальше Еще в конец не бегать не знаю в общем тут такой момент то что получается У тебя каждый твой проход он максимальный элемент

    00:29:31 - 00:31:14

  • у тебя получается всегда твой хвост он как бы отсортированный потому что там каждый раз оказывается максимальные элементы сортируемого участка соответственно поэтому мы можем не сортировать как бы то что у нас находится в этом хвосте поэтому мы добавляем этот минус он как бы написал хорошо вот теперь Ну а какие-то более сложные сортировки ты как знаешь не знаешь знаю Сейчас наверное не смогу реализовать но с какими Ты знаком вообще знаком еще с сортировка ставками точно не вспомню Ну а быстрая сортировка

    00:30:40 - 00:32:14

  • пирамидальная сортировка Не еще не знаком в общем как бы получается что пузырьковая сортировка какую сложность пойти вот он в квадрате Ну вот как бы рекомендую еще естественно по логарифмическим сортировкам изучить Вот вот у нас такая ситуация не заморачиваться какой у нас будет всегда одинаковый и какой 4 байта по моему нет и Обрати внимание на то какая у тебя даже система зависит размер зависит размер указателя разрядности Системы ну от размера системного слова получается что в данной ситуации какого

    00:31:31 - 00:33:17

  • он будет 64 это 8 по идее Ну да 8 байт хорошо А какой вот мы делаем вот этот ПТР плюс плюс какой будет размер шага размер + 1 Ну 8 байт а что это соответственно как он должен на тот же размер на который есть тогда что получается плюс 8 или нет в данной ситуации хорошо вот смотри вот мы сделали вот смотри получается как бы вот у нас этот есть пойнтер до который бесконечно куда-то там у нас уходит да скажи пожалуйста может ли он назовем это так попасть в память другого какого-то приложения думаю да

    00:32:40 - 00:34:40

  • а еще давай подумаем ну не знаю По идее Наверное это возможно вообще именно вот так вот указатель он не может попасть было бы нарушение безопасности Ну было бы слишком легко манипулировать другими приложениями и его приложение Я думаю на более ранних версиях может знаешь что за механизм У нас есть Windows для того чтобы избегать таких не знаю наверное в общем как я там уже процессы потоки также у нас есть такое понятие как виртуальная адресная рабство в рамках которого мы живем внутри нашего процесса тоже В общем Джеффри Рихтер

    00:34:01 - 00:35:39

  • Windows знакомиться Особенно учитывая что тебе это интересно я думаю вот Хорошо Окей тогда тут Окей но вообще ситуация такая у нас как бы на вход подается два отсортированных массива хотим из них получить смертельный Да тоже отсортированный они отсортированы по возрастанию и соответственно мы тоже хотим получить по идее наверно самый самый плохой способ наверное которым это можно сделать это просто создать третий Вектор туда эти два например добавить и просто отсортировать 3 Но это будет не оптимально Я думаю

    00:35:02 - 00:36:33

  • Ну ты имеешь ввиду что мы их все кладем Этот сорт они например как бы приемлемо Ну естественно Мы хотим чего-то более более А вот вообще давай как-то вот сигнатуру сначала улучшим до наши параметры бы копирование избежать Как нам делать Ну поскольку мы ничего Изменять не будем можем сделать параметры хорошо Ну теперь получается вот что у нас Давай попробуем подумать в сторону того как мы можем не прибегая к сортировкам в принципе за один раз за один раз учитывая что они оба уже отсортированы Ну конечно не могу придумать кого-то

    00:36:10 - 00:37:49

  • решение чтобы за один раз Вот смотри получается например мы начинаем идти по ним Да условно пора и мы просто в какой-то момент Форвард обязательно но предположим и мы например взяли одну переменную взяли другую у нас к ним к обеим есть мы как-то можем как-то их выбрать как-то положить можем сравнить мы по идее можем сравнить и ложить всегда меньше в результирующий вектор [музыка] смотри получается предположим мы создадим два счетчика Да И вот эти вот счетчики один получается у тебя будет на первый указывать а

    00:37:20 - 00:39:11

  • второй например на второй кстати Какого типа лучше создать счетчики например или правильный ответ и unt and как бы неправильный потому что он подойдет только под x32 так Ну вот и смотри предположим например начинаем как бы двигаться у нас каждый счетчик стоит на начале нашего вектора мы такие равнили они указывают каждый на свой первый на первый второй логично и мы сравнили кого-то из них кто меньше положили в результирующий так и счетчик того которого мы положили дальше [музыка] примерно до пойти Хорошо давай попробуем

    00:38:40 - 00:40:19

  • реализовать можно тогда сделать сразу size и по идее у нас size должен равняться меньшему вектору А размер векторов одинаковый на входе или нет разные тогда по идее у нас Размер должен быть меньше вектора они же будут смежные они оба полностью попадут не подожди давай вернемся к размеру Что будет с размером с размером не знаю например просто как предвидеть ситуация чтобы не было такого что у нас например за границы какого-то Вектор может выйти Ну хорошо я скорее говорю про то что вот результирующий

    00:39:44 - 00:41:16

  • два этих вектора то есть сумма их длин Так ну надо хорошо Все я понял Куда ты к чему ты клонишь Ну так давай Может воспользуемся тогда не форм и есть раньше циклом или фаричем я думаю тут вообще не ляжет У нас тут Форекс можно использовать алгоритм а еще более классический более классическим не знаю например Подожди Какие у нас вообще циклы есть обычный for есть Вау есть раньше не совсем цикл Ну да вот еще есть просто напоминаю что есть я тут веду к тому что нам нужен как бы Почему Потому что Ну в целом

    00:40:44 - 00:42:40

  • нам недостаточно будет пройтись по одному нам недостаточно будет пройтись по другому и как бы ну конечно все можно реализовать через очень такой в данной ситуации какой пары мы будем двигать наши наши наверное до того как мы дойдем до конца какого-то из векторов Ну либо до конца обоих да то есть надо хорошо так Давай напишем тогда по идее если аккаунтер один Точнее пока он один меньше чем например моего приложим к первому вектору теперь по идее условия или должно быть тогда мы сможем выйти за пределы одного

    00:41:54 - 00:43:34

  • из них меньше чем Ну хорошо окей и теперь как мы будем поступать на наших Ну теперь по идее мы будем поступать так если например аккаунтер точнее сорта сорт это 1 Counter 1 [музыка] Например у нас будет больше чем 402 [музыка] мы по идее тогда в наш А надо создать результирующий еще хорошо [музыка] Так это будет сорт сорт один сайс плюс сорт от 2 так и в конце пойдем и сразу можем воспользоваться кто методом шрингтофит это То есть он сам обрежет как бы размер До того который Ну который используется

    00:43:07 - 00:45:08

  • Зачем он весь будет а точно по идее врезалась мы должны сделать [музыка] мы пойдем и сразу можем здесь continue поставить и потом ниже Дописать вторую часть Ну я бы если честно пошел тут по пути элса потому что ну как бы в данной ситуации continuo имеет смысл когда Как что-то там еще дальше более сложное мы скипаем получше быть И теперь мы должны сюда запушить сорт это один Контер один хорошо так чисто вопрос на общее развитие Можно ли объединить в одну строчку Ну да Можно например не вот так писать

    00:45:01 - 00:46:46

  • по идее так вот это просто понимаешь ли понимаешь вообще варианты развития событий что у нас может дальше цикла у нас может быть такое что размеры векторов будут не одинаковые Например у нас каком-то векторе еще останутся значения и тогда по идее нам нужно как-то понять какой вектор у нас больше и просто значение с большего Вектора докинуть в наш результат Вот смотри получается Мы закончили наш вот файл наш отработал да у нас есть у нас по сути либо один из них останется с хвостом да либо другой

    00:46:50 - 00:48:19

  • Как мы можем да Вот чтобы не вот не писать там лишние какие-то проверки Как мы можем просто спокойно надежно доложить хвост любого из них наш результат чтобы мы такие сейчас не думали без этого не знаю наверное давай немного подтолкну а вот давай уже переместимся за цикл скажем так Окей Вот смотри предположим Вот мы сейчас например Здесь мы точно знаем что у нас в первом стиле еще элементы которые не доложились так Ну да Хорошо как мы их можем доложить Только без лишних скажем так заморочек а просто вот там например

    00:47:48 - 00:49:26

  • циклом как мы их можем сейчас докинуть количество элементов которые осталось просто сделать например [музыка] будет равен нашему аккаунтеру который остался который мы знаем что еще там хвост остался затем нам просто до конца вектора пройтись и переложить элементы в результирующие все Отлично так вот смотри давай вот мы это напишем и может импульс будет равно у нас Ну пусть сканер один будет меньше сорт один сайт Ну если она теперь просто к завод и равен 40 подожди какой тут будет исключение Конечно Потому что врезался

    00:49:01 - 00:50:45

  • резерв не знаю исключение будет вообще будет просто индекс потому что [музыка] Вот смотри Можем ли мы вот сейчас вот просто точно так же безопасно после этого ставить такой же самый цикл только для для второго аккаунта Ну по идее но я думаю А почему что нас обезопасит нам помогает в этом нам помогают в этом просто что например если и будет равен сайзен просто не выполнится и все все в принципе ответ на вопрос Как нам скажем так не заморачиваясь без лишних проверок просто Давай тогда допишем уже доведем

    00:50:09 - 00:51:41

  • можно сделать только на сорта 2 поменять Давай в общем давай ну и Торн не забываем и Давай мы нашу оттестируем OK и result Хорошо давай попробуем Вектор то будет первый бег один будет тут например один три пять семь девять а во втором будет недостающая часть так сказать 246 8 все по идее можно еще 10 добавить тест разные размеры все такое мы это дело запустим и выведем на экран чтобы у нас будет два будет резал теперь и все вроде бы сейчас я попробую сделать нормально там все правильно поставилось хорошо

    00:51:49 - 00:53:46

  • отлично но только я бы конечно вместо хорошо супер все может демонстрацию экрана отрубать на этом наверное у меня на сегодня все давай переходить к фидбекам В общем смотри по поводу [музыка] В общем все подряд просто скорее по порядку пойдем по поводу личной презентации Я бы рекомендовал немного над этим поработать но в целом конечно претензий никаких 15 лет я бы наверное хуже сказал Вот но как бы в целом на будущее до нужно как-то более активно себя продавать когда говоришь что с чем работал надо так дробью стрелять своим

    00:53:54 - 00:55:16

  • стеком технологий более так активно то есть по сути я вот например некоторые вещи я из тебя как бы вытягивал то есть момент как бы Если уж упомянул резюме если про это сказал то подготовиться Лучше там почитать теорию все такое чтобы звучать в общем Уверенно и какие-то такие сказать какую разницу вот в остальном про остальном как бы приятно удивляет в целом какая-то логики проект ты делаешь Все это выглядит очень хорошо вот Далее по поводу вина пи ну нужно учить как бы базу относительно Да вот в общем рекомендую обратиться

    00:54:46 - 00:56:21

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

    00:55:38 - 00:57:14

  • нарабатывать более уверенная написание вот как Что еще можно сказать Ну вообще как бы я конечно доволен хороший хороший уровень и чувствуется энтузиазм на стажера на Джуниора Я думаю уже можно было бы брать но только конечно с оглядкой на Чуть более вот Может ты что-то хочешь спросить в принципе все нормально хорошо ну Спасибо большое тоже скажем так поучаствовал осмелился и Давай наверное прощаться с зрителями Всем пока да всем пока

    00:56:32 - 00:58:14