Подготовка к собеседованию на C/C++ Developer
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
Всем привет Вы на канале мбуш Дракон и Сегодня у нас э собеседование на позицию Middle c++, э разработчика сегодня с нами на связи Валентин привет Всем привет Хорошо давай переходите к нашему собеседованию Вот и для начала Расскажи пожалуйста о себе о своем опыте о своих местах работы ну можно без названия конкретных мест в общем С какими технологиями работал и так далее и ещё начал учить тебя программирование в универе на первом курсе информации там давали немного поэтому я параллельно ещё учил на разных образовательных
00:00:00 - 00:01:19
платформах на втором курсе пошёл на работу в автомате в проект на нем мы использовали Linux докер для контейнера контейнерализации но мы использовали просто как среду разработки на самом деле Чтобы не захотеть рабочие рабочие системы поэтому использовали Деккер в это время я тоже с ним хорошо познакомился на проекте мы использовали некоторые эстетические анализаторы формат тоже использовали после я пошел в на другой проект Он уже был доступный доступная разработка на винду разрабатывали мы по для железки которая
00:00:39 - 00:02:11
с нефть трафик wi-fi Bluetooth трафик на этом проекте я познакомился По большей части с нетерпением как он устроен решил почитать книжечку физический уровень Если честно сказать не сильно понял но На физическом уровне она мне не нужно по большей части занимался разработкой шифрования wp3 Это протокол защиты для wi-fi потом перешел На текущий момент здесь тоже разработка но уже в сфере газовой промышленности Можно и так сказать [музыка] используется Visual Studio то есть салон файлики никаких сенейков или прочего для
00:01:35 - 00:03:11
связи У нас есть разные компоненты которые ленходятся между собой И для этого мы используем grpc в качестве для взаимодействия у нас может стоять просто на нескольких [музыка] ПК приложения она будет главным второй репликой и мы должны перебрасывать информацию между друг другом для тех целей мы используем живописи хорошо Как расшифровывается в двух словах что это такое для передачи данных построены на http 2.0 использует протобаф вообще расшифровывается как Google rpc это ремонт то есть вызов удаленной
00:02:36 - 00:04:05
процедуры Хорошо смотри немного тебя перебил ты не договорился Хорошо смотри вот изучал твое резюме получается было указано MFC для юаня и qt что тут можно сказать со мной все работал с кьютом работал на втором на Первом проекте я не работал ни Скет не сама все это было уже просто сервис логика писались на семнадцатых плюсах на втором проекте Я уже работал из киетом и с MFC у нас там была какая-то дикая прослойка между кьютами NFC и эти два фреймворка пытались подружить между собой получалось что у нас половина
00:03:24 - 00:04:57
приложений на NFC половина приложения на hita она пытается как-то с собой взаимодействовать модульные окна не всегда модульные потому что называется из разных фреймов и тому прочее мне конечно в качестве фреймворка намного больше нравится но на текущем проекте у нас MFC но уже без этой неопределенности что используем у нас просто хорошо что можешь сказать плохого правильно все я не знаю что про него сказать хорошего если честно ну вот что прямо что прямо бесит скажем так бесит не могу сказать что оно прям бесит но
00:04:10 - 00:05:48
меня немножечко выбивает из колеи RC файлы невозможность подключать нормально какие-то свои компоненты в кита когда ты описываешь окошко Там я не помню это редактор какая-то xml-ка ты рисуешь ты можешь докидывать свои блюда прямо в этот класс который ты рисуешь довольно таки удобно ты можешь внутри использовать уже свои компоненты кастомные например какой-то пикер даты или времени или просто вот ты настроил себе ты создал класс который будешь использовать для ввода данных У тебя есть валидатор который будет проверять
00:05:06 - 00:06:19
фалидность вода ты можешь его сразу туда подсунуть в Китае Может быть я не знаю как это просто сделать то что сделать можно это понятное дело чтобы это было удобно [музыка] не заходит почему-то просто неудобно с ним работать Это вроде уже не относится все но он просто виндовой библиотеки менеджер кода для их мютекс Critical section и прочее они не сильно заходят простой причине там нигде не указано например что какой-то митекс он рекурсивный а он рекурсивный у нас несколько проблем было с этим просто потому что А почему оно
00:05:42 - 00:07:11
работает если оно не должно работать или наоборот добавлялись левые значения и так далее интересно Хорошо давай немного по кьюту пройдемся насколько ты подкован в нем Ну как ты себя уверенно чувствуешь вообще Ну я работал с ним получается уже где-то почти год назад где-то год месяца два быстро повторить можно но тем не менее прямо сейчас я не наверстаю какой-то быстренько окошко как минимум потому что у меня нет установлена SQL Нет к сожалению не работал это уже больше под Quick насколько я помню Да
00:06:36 - 00:08:00
с ними не работал хотя насколько знаю довольно таки удобное решение для разработки каких-то мобильных приложений или в целом какие-то просто накидывать очень даже довольно удобно есть конечно недостатки везде но в целом Да можно сказать что удобно в каких-то вещах поудобнее виджета будет как на мой вкус Вот но не всегда если нет то тут можно дискуссия особо не продолжать смотри пару таких вопросов по непосредственно кьюту вот скажи вот помнишь ты это или не помнишь работая скьютом сталкивался ли ты с
00:07:33 - 00:08:51
критичными аскетичным мешают поинтерами вроде бы не сталкивался но я помню что мне тут кирпичные sharplaint Reno и в целом структуры для фетишных типов данных потому что там какие-то особые там какая-то у них своя внутренняя логика того как эти объекты должны перемещаться удаляться и так далее используется нестандартная библиотека Ну то есть такой вот вопрос например про подвох использования shared pointeresque виджетами наверное не скажешь Что может случиться не скажу это было долго и в целом Мы на этом
00:08:12 - 00:09:39
проекте не сильно его использовали Ну вот что-то например знаешь про сборку мусора в кьюти какая она есть какая она реализована вот сейчас ты открыл для меня Америку я не знал что в Киеве сборка мусора но видимо запускается какой-то отдельный поток который следит за ссылками как обычно сборщики мусора это делают в каком-то сержарпе или в G но не на самом деле все немного попроще рекомендую ознакомиться Да потому что так для зрителей тоже кто будет смотреть речь про перенесентов да про то что создавая новый Kia objectrike виджет мы
00:09:01 - 00:10:13
можем передавать ему какого-то перента и удаляет эренто у нас и удаляться его например чалты тоже они будут как бы очищены такая условная как сказать древовидное присутствует очистка то есть и поэтому бывает подохи в духе мы вернули в это время причинике виджет он сам себе почистил потом Sharp Pointer попытался почистить и мы получили вот я к этому ввёл хорошо Всё тогда скитом пока забываем смотри я тебе сейчас скину задачку решать можешь наверное включить демонстрацию экрана Я в код шар скинул ты его себе забери
00:09:37 - 00:11:11
пожалуйста вишну и вежливо уже будем смотреть есть да Да все так Ну смотри В общем Задачка бы классическая Дима когда разбирать нам приходит Вектор целых чисел нам дано некое число n нам данной ситуации Мы хотим найти длину самой длинной как бы последовательности из набора то есть понимаешь да например у нас будет число 3 передано мы имеем 1 1 3 2 3 3 мы должны Как бы сказать что это три ответ Наш должно быть 4 Ну да В данном случае будет ответ 4 Ну давай мы ее порешаем максимально эффективным способом можем
00:10:36 - 00:12:18
начать неэффективным способом и потом будем дальше развиваться у нас будет писать уже какие-то привычки с него уже так давай О'кей должны знать далее [музыка] я вот не помню [музыка] Давайте подумаем мы переходим через весь Вектор если число подходит от заданной нам то мы увеличиваем временный счетчик если мы нарываемся на число которое нам не подходит и временный счетчик не равен 0 то есть предыдущий был максимальная из двух выбираем с этим постоянной счетчик максимальных чисел максимальная последовательность точнее
00:11:45 - 00:13:41
обнуляем временный счетчик и возвращаем что у нас будет больше по выходу из цикла теперь как это сделать бы красиво так если у нас последнее число будет включаться последовательность мы зайдем в Темп Макс и в таком случае Макс может быть меньше чем временная наша переменная длины в таком случае да Нам нужно Здесь хорошо хорошо клёво Но вот что смущает я бы для больше читаемости избавился бы от И вообще Подожди немного подумаю все будет хорошо но для больше читаемости потому что как бы производительности
00:15:26 - 00:16:59
особо не выиграешь Да но в то же время само как бы качество кода но чуть становится хуже потому что не совсем понятно что ты здесь как бы преследуешь Почему тебе так важно проверить что он как бы не равен нулю Ну то есть потому что как бы это обрабатываешь как какой-то частный кейс Хотя по сути этот кейс не является час и смотри Еще какой один момент [музыка] вот сейчас я подумаю Мы например идем и мы не встретили мы сделали равно 0 А мы встретили Да да все нормально Тут все Логично но тут опять-таки это вкусовщина
00:16:29 - 00:17:54
тут будет работать правильно Ну как бы как по мне этот неравенство Я был прав то есть смотрев в чем проблема если мы уберем Я так понимаю ты хочешь брать вот эту часть вынести Я только про то что это все как бы правильно просто именно с точки зрения как что это немного лишнее просто вот и все Не прям нужную для решения этой задачи Вот что ж хорошо отлично да Давайте теперь смотри подумаем вот если смотреть вообще на более глобально да на этот вообще на весь этот метод в чем Как бы есть большой его
00:17:14 - 00:18:51
косяк скажем так большой промах большой так [музыка] здесь будет здесь можно было бы обычно использую Винкс Просто мне намного приятнее пользоваться еще со времен первого проекта то есть ты точно знаешь какой размер у твоего винтовой Да но есть проблемы вот какая проблема с использованием либо уинт либо unt int все равно что здесь не так проблемы с ними платформа X64 [музыка] Я просто как бы намекаю что у тебя четыре то есть соответственно у тебя что лучше всего использовать для потенциально индекса для такого размера
00:18:07 - 00:19:47
возвращения в данной ситуации Если вы работаем с вектором устойчивая желательно использовать что-то 64-битная А у нас винт наш X64 я не помню была какая-то табличка сравнивающая Какие размеры винтов при C4 на таком случае думаю размер машинного слова должен быть 64 Ну смотри речь и получается что если ты переключишь этот код обратно на 32 32 то она будет что какой у нас есть Тип который отработает все кейсы не знаешь подсказать не знаю основной Да и получается что и Макс и тоже должны поменяться потому что будет они как бы
00:19:35 - 00:21:20
меньше чем твой возвращаемый тип но я имею intemax int tempax должны стать как бы свои СТ И тогда все будет уже все будет уже хорошо все будет четко вот Окей смотри берем сейчас вот этот вот код точнее Ну вот это вот сигнатуру да все это Пусть остается Скопируй пожалуйста объявление функции и давай создадим рядышком новую функцию которая просто Ну пусть она будет называться так хорошо Ну вот смотри сейчас уже вообще как бы прощения когда то есть Смотри мы получается хотим найти нам пришел и мы хотим вернуть
00:20:42 - 00:22:22
из нашего в нашем векторе позицию это сделаем и потом тоже начнем это все рассуждать разворачивать позицию [музыка] вроде бы Мне страшно да Хорошо хорошо но что если у нас Вектор пустой или у нас нет этого числа интересно Fine тогда вернет но Вот кстати не знаю какой будет поведение Так что ты мне можешь например рассказать если передать в дистанцию Бикин и так что фант вернетесь не найдет Вектор не был все правильно итератор на условно конец что в такой ситуации где он вернет размер вектора можно будет трактовать Как неправильный
00:21:39 - 00:23:37
а вот тут вопрос что передавать случайно [музыка] наведение Но вот получается Ну смотри ты сейчас в ситуации когда как бы все нормально Давай мы обрабатываем ситуацию когда я имею внутри Ифа Да когда у нас все нормально если [музыка] хорошо получается за пределами этой у нас как бы ситуация в любом случае какая-то не валидная так Какие способы ты можешь предложить ее обработки Ну самый первый что я пытаюсь вспомнить была структура c++ optional насколько я помню открывается Да все правильно называется
00:24:58 - 00:26:35
это в принципе как бы ходу правильный ответ как ты возврат сделаешь [музыка] у тебя скорее всего стандарт не 17 выбирал Тогда просто как его создавать [музыка] но только Return они просто вот а типа optional какой-нибудь Круто Вот хорошо какие мы можем еще давай еще так предположим у нас нет optional какие мы еще можем накидать варианты как мы походим такую ситуацию Как вариант мы можем перейти в состав потому что он не знаковые возвращать какое-то зарезервированный минусовое число либо кидать исключение
00:26:01 - 00:27:47
но хорошо Давай обсудим недостатки например мы будем использовать какой-то знаковый Да и будем возвращать минус единицу какой у нас будет недостаток этого в принципе не покроем все возможности как бы вектора вот исключение Интересный вариант вообще Какое твое отношение к исключением работаешь ли ты с ними или нет еще на Первом проекте у нас был автомате поэтому кидать исключение было из разряда хочет чтобы тебя по головке под гладили туда исключение тогда тебе оторвут руки но вообще Нет То есть
00:27:47 - 00:29:16
исключением Мне кажется это из разряда крайнего случая Ну или какой-то части кода Где в целом исключение могут вылетать без того водить их в trackcha какие-то но я не помню как называется есть какая-то парадигма просто методика методика классификации безопасности кода то есть там первый уровень это вообще не бросать исключение то есть да спасибо другую сторону Как ты можешь понятно что сказали не бросать исключение мы их не бросаем но как бы ты сказал Почему для начала их можно банально Не словить
00:28:34 - 00:30:05
и после приложения кэшник вылетает далее В целом насколько я знаю это довольно таки дорогая операция То есть как минимум нам нужно развернуть стек получается до момента где мы его Где мои Exception словим время развертывания [музыка] скажи если вот например у нас просто Код Да и в нем какие-то есть даже например исключение не бросается но есть теоретическая возможность будет ли Это имеется нас какое-то влияние я не могу сказать точно я знаю что по производительности это немного ударит но не назвать точную причину
00:29:42 - 00:31:28
насколько я знаю просто там выполнять какие-то дополнительные инструкции в коде ассамблера должны быть какие-то дополнительные инструкция для того чтобы хендлить эти исключения Даже если мы их не бросаем поэтому Это изначально она будет требовать больше инструкции для выполнения Хорошо смотри во-первых рекомендую ознакомиться так как ты упоминал микроконтроллеры то возможно будет твоей карьеры на котором тебя будут спрашивать как бы вот это ожидать от тебя глубокого познания еще какие-то моменты
00:30:43 - 00:31:58
про дополнительные инструкции для обработки хорошо Также можно сказать про таблицы обработчиков исключений и в принципе еще оптимизации компилятора хуже работают на трек H блоки Ну тут все такие скажем так очень такие тонкие материи какие-то могут работать лучше какие-то могут работать хуже В общем рекомендую ознакомиться но в целом ответ мне понравился вот Хорошо смотри давай еще немного подпишем вот до собеседования Давай напишем простенький шаблон [музыка] проверим на одинаковость два два типа
00:31:27 - 00:32:59
два типа финале сразу конечно Давайте так [музыка] это же возвращается с Ну и сейм правильно Да и с т.д и но я имею ввиду что ты сам реализовался то что знаешь хорошо [музыка] что-то из разряда этого Ой ну смотри тут получается невереннее чтобы это наработать я немного не про то хотел сказать но тут получается ты сравниваешь два типа как бы двух переменных Да я имел ввиду вот шаблон это сделать тогда здесь Ага хорошо давай мы попробуем оно же запустится да давай-ка попробуем протестировать немного через Майн данную
00:32:16 - 00:34:00
функцию Да работает хорошо Это ты сравнил типы двух переменных передав функцию А теперь давай реализуем подобное только например мы не оперируем переменными мы оперируем только типами и мы работаем с трактом то есть вот как если бы ты что-то [музыка] всем [музыка] пока а так вот Давай наверное Окей понял я понял прикольно хорошо хорошо Окей А давай попробуем это ну там запустить посмотреть декал Type [музыка] давно не работал на самом деле с шаблонами еще со времен первого проекта тогда мы использовали шаблоны довольно
00:35:24 - 00:37:20
таки повсеместно и это было достаточно удобно на следующих проектах это получилось как-то довольно таки [музыка] а второй В 40 строке я думаю нужно обозначить треугольных скобочках после и сейма что у нас прилетает как бы ТТ в него специфицируя шаблон и тогда должно быть все нормально Я думаю сейчас оживет а вот первому Мне кажется это не надо вроде бы работает хорошо хорошо так отлично Мне нравится Сейчас я подумаю что еще такого подкинуть Сейчас я в шару закину еще один код разобрать Давай разберемся
00:39:04 - 00:40:34
так хорошо Но получается вот смотри вот у нас первый метод Да мы его скажем так преследуем вот скажи пожалуйста у нас в Ну который Вектор Ну точнее функции не важно Вектор метод в нем Мы создали некий вектор А какой-то там работу с ним определенную делали потом делаем в него как бы пушбек один делаем второй пушбэк Вот чем вот эти вот для нас теоретические а но я увидел здесь рисаясь Наверное тем что мы в этой работе которую мы выполняли не определили размер массива если мы знали примерное количество
00:41:30 - 00:43:01
размер вектора если мы знали примерно количество элементов которое должно в нем храниться то есть в случае чего если будет переполнение заранее выделенной памяти мы должны будем увеличить размер вектора и по сути там уже идет низкоуровневая работа мы можем остаться на той же памяти если есть свободные ячейки рядом или же мы должны будем обыскивать память искать где она есть свободная и копировать все элементы в новую часть памяти хорошо Какая тогда сложность будет о От чего добавление элементов
00:42:28 - 00:43:39
конец если такая ситуация возникнет по сути хорошо у нас есть теоретическая возможность того что произойдет Какие могут быть побочные эффекты Почему как минимум может не хватить памяти не получится выделить память по какой-либо из причин что тогда произойдет вообще броситься Exception который я не помню как он называется Я тоже помню но далог я думаю да все правильно Хорошо но этот память выделиться хватает вас памяти что что еще происходит какие проблемы у нас есть мы выделяем память [музыка] что возможно произойдет если
00:43:03 - 00:44:50
что у нас будет происходить какие моменты скажем так которые по крайней мере без нашего ведома нам бы хотелось этого избежать но будь то заниматься дополнительная память которая нам Возможно не нужна То есть она там увеличивает насколько знаю где-то в полтора раза в зависимости от компилятора в зависимости от его на самом деле и в таком случае у нас может там быть 1000 элементов мы добавили 1001 у нас Кроме того что выделилось куча памяти ненужный на новых 500 элементов которые мы нигде не будем использовать
00:44:46 - 00:46:12
я понял Куда ты ведешь но я опять-таки не про то вот смотри мы как бы Обращаемся к кучу чтобы Какие по сути два варианта развития событий если мы опять-таки убрали ситуацию что у нас произойдет что у нас может случиться нам выделят новые сегмент нам не выделит новый сегмент таком случае мы можем захватить какой-то участок памяти туда больше не станет объект размером у нас получается будет память сеточку [музыка] фрагментацию говоришь да да Ну давай уже будем тут уже продвигаться вообще как бы я вел к тому что у нас за
00:45:32 - 00:47:13
этим потенциально скрывается как бы системный вызов обращение к операционной системе Ну то есть у нас как бы если память на куче будет то это тоже операция долгая Да но в целом можно сказать детерминируемая Вот в то же время как системный вызов мы не можем гарантировать сколько он времени займет Вот это проблема Хорошо скажи произойдет Хорошо смотри а в строчке 52 как у нас тут отработает этот код Будет ли все нормально или наоборот у нас будут какие-то выделения копирования насколько я знаю Вектор хранит данные
00:46:27 - 00:47:45
куча такая перемена Поэтому будет все нормально Единственное что может быть понадобится временные указатель один Ну время на указатель на стыке это не страшно то есть это она просто переместиться у нас указатель P приравняется указателю а указателя приравняется указателю и в целом ты особо ничего страшного у нас довольно таки быстрая операция которая не требует дополнительной памяти в зависимости от того как Мы производим хорошо а вот 54 строка ресайз произойдет ли у нас геолокация памяти секунду
00:47:13 - 00:48:51
вроде бы нет насколько помню Нет у нас есть резерв может не уверен Вот хорошо Я так понимаю Я кстати с этим методом не сталкивался так понимаю про то что зарезервированная память приравняется к тому что интересно вот Окей Хорошо теперь получается Смотри такой вот момент вот у нас короче на строчку 60 61 забиваем это немного лишнее для нас вот скорее вопрос про строчку 63 Вот как ты считаешь у нас здесь произойдет у нас какая-то локация или нет вообще очень хороший вопрос потому что тут зависит Я не уверен как сыграет
00:48:16 - 00:49:56
компилятор он может сыграть на оптимизации маленьких строк у нас всего сути 3 символа у нас хранит нулевой Но даже если бы хранила это у нас получается 4 байта и байта есть оптимизация маленьких строк и мы это не строка из тадашная это потенциально может хранить в каком-то там меньше 64 в таком случае Но если у нас строка требует больше памяти то есть небольшой памяти аккумулятор будет написано Так что не будет оптимизация маленьких строк тут Литерал по идее он хранится в секции дата и может указывать прямо на него но
00:49:39 - 00:51:12
скорее всего для того чтобы это все можно было менять выделяется память туда записываются данные со строки всего все в принципе правильно сказал один только момент То есть получается что стандарт у нас как бы не покрывает такое понятие как стринг просто это как бы можно сказать платформе на зависимой составляющей работы строк Я не уверен что лучше использовать для работы с литералами во многих кейсах чтобы это было как бы оптимальнее Ну чтобы вот мы не боялись вот этих выделений если мы точно знаем что мы получим
00:50:27 - 00:52:09
какой-то Литерал и будем работать только с ним его не будем менять например работает есть еще один тип данных знаешь про него не знаешь которые вот прям предназначен для скажем так работы с литералами но я нет В общем речь про string View тоже я слышал немая с ним на самом деле не работал я сказал а что-то [музыка] знаю просто указательного строку вокруг Ну да Можно и так сказать но именно в том что просто схватить эту память как бы будет на нее хранить указатели вот Хорошо давай наверное отключай
00:51:29 - 00:53:05
Отлично вот такой еще вопрос Вот скажи Map std Set Да как они вообще скажем так устроены под капотом насколько я знаю это черно опасно черная деревня сама балансирующаяся дерево добавление элементов для удаления их в случае с мамой то у нас все просто дерево выстроено на ключах которые мы собственно и будем сравнивать и в зависимости от того подходит нам ключ или нет мы уже вы так не вытягиваем значение если мы структурки скорее всего нот зависимости от реализации ищем по ключу делаем обход дерево в
00:52:49 - 00:54:30
случае с атом мы имеем просто ключ значение как одно целое мы уже ищем [музыка] что не знаю насчет Сета но если мы будем искать какой-то значение искать по ключу который которым является сложный объект то нам лучше использовать уже анордер это Map а она уже работает на хэш таблицах то есть зачем в какой ситуации в принципе единственной ситуации Зачем нам нужен сет вместо норда не останавливается там даже если объект сложный даже если это сайт будет медленнее в 99 процентах случаев но как бы Зачем нам нужно использовать
00:53:51 - 00:55:34
я не помню но возможно что бред какой-то что она держится может хранить несколько одинаковых значений [музыка] [музыка] Ну смотри В каком виде получается данные хранятся в сети хочет таблицу А в обычном сайте в обычном дерево с данными своими еще делает ходит дерево делает ребалансировку Вот смотри если мы все например возьмем элементы положим все там в какое-то дерево а потом поэтому дерево пройдемся из одного конца как бы в другой условно сделаем Просто например там по какому-то сету что с данными произойдет как мы их увидим В
00:54:58 - 00:56:47
каком виде [музыка] я не помню как называется обход если мы берем на виду аналогию больше уже если мы берем какие-то целые численное значение то мы будем идти от меньшего большему но это тоже зависит алгоритмы хода дерева поэтому там насколько я знаю есть возможность обойти его как-то по-другому То есть другими алгоритмами Это вроде даже стандарте есть но не уверен в случае если мы будем использовать там уже в зависимости от того куда какой хорош выпадет нам на наше значение мы будем получать значения
00:56:04 - 00:57:36
нашего сайта не совсем в том виде который мы ожидали бы его увидеть скажем так Но вообще как бы я толкал к тому что сет и Map данные будут хранить виде отсортирована если нам нужны данные отсортированные то мы в любом случае будем использовать сет и Map потому что мы не можем отвечать за собственно порядок вывода данных из таблицы Вот хорошо давай на этом закругляться Давай переходить к фидбэку смотри чуть-чуть скажу это уже не по собеседованию чуть будет больше по резюме рекомендовал бы резюме
00:56:51 - 00:58:16
переработать Потому что слишком много условно тегов но слишком мало информации чем ты занимался Вот ну ты сам знаешь как выглядит резюме в общем возможно понимаешь о чем речь типа имплементинг New fitchers это как бы и так понятно что ты им приметишь на работе Ну надо в общем Чуть более подробнее Какие фичи Ну насколько позволяет там договоры они разглашением вот далее смотри еще из моментов Например опять-таки если отталкиваться от резюме то у тебя указан MFC указан qt по mf7 мне понравилось Ну я имею
00:57:36 - 00:58:52
хороший такой сформированное мнение по поводу кьюта чуть больше базы ожидаешь какие-то такие Корнер кейсы что ты с точки зрения собеседования можешь набросить Да чтобы продемонстрировать свой какой-то опыт Ну то есть год и два месяца хоть это было и давно Но это все равно достаточно прилично вот поэтому как бы такие вот какие-то моментики в общем рекомендую какие-то с точки зрения теории с точки зрения того что тебя могут спросить подтянуть далее Мне понравилось проект шины все было хорошо Мне понравилось про
00:58:14 - 00:59:35
так так так сейчас соображу про математику про собак что сказал из проблем но вот со стипом споткнулись я предположу что чувствуется прыгание такое между языками Да и возможно привычка как бы условно что когда C Sharp мы используем эти силы r-типы то есть мы используем постоянно int Да и особо как бы не заморачиваемся про размерность и так далее вот да Так что тут это надо как бы держать в голове учитывая твою специфику микроконтроллера и так далее могут тебя спросить вопрос я не говорил про микроконтроллеры
00:58:58 - 01:00:20
[музыка] микросервисы были но они микроконтроллеры я так [музыка] значит я перепутал пару слов о данной ошибке микроконтроллеры были упомянуты конечно не к месту Однако запутался я потому что в резюме были упомянуты realtime программирование Ну и многовато резюме Я последнее время через себя пропуская так или иначе мои комментарии все еще остаются к месту Ну а теперь вернемся к физбойку возможно возможно я перепутал возможно я перепутал с другими резюме блин про локации то что про обращение к операционке не сказал тоже вот такой
00:59:42 - 01:01:02
моментик который желательно держать в голове как бы подтянуть Вот на этом с моей стороны все остальном хорошо держался Мне понравилось селф презентация Мне тоже как бы понравилось вот еще один момент который надо подсветить на собеседование заметил несколько случаев использования документации Валентина после интервью это подтвердил он пользовался программой документации под названием Я Настоятельно рекомендую не пользоваться документацией конспе ктами или шпаргалками особенно на собеседованиях с
01:00:22 - 01:01:27
камерой более того во многих случаях лучше не отвлекаться даже на другой монитор или вообще его отключить в целом довольно удобная программа выручить в условиях плохого интернета что вернёмся к интервью что ты можешь сказать в целом не думаю что у меня есть что-то сказать Вполне себе Мне все понравилось ты указал на момент который мне нужно потянуть потому что вот как раз таки везет прыжков между языками которые были последнее время я начал забывать Как писать код на себе в целом некоторые конструкции и Мне очень было полезно
01:00:55 - 01:02:09
посетить на интервью хотя бы вспомнить что это такое в целом Мне все понравилось хорошо Всем спасибо Подписывайтесь Всем пока Всем пока
01:01:34 - 01:02:04