en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Библиотека собеса по C++ | вопросы с собеседований

Библиотека собеса по C++ | вопросы с собеседований

Open in Telegram

Вопросы с собеседований по C++ и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @tproger_sales_bot Учиться у нас: https://proglib.io/w/9ccf302b Для обратной связи: @proglibrary_feeedback_bot

Show more
4 601
Subscribers
-324 hours
-27 days
-930 days
Attracting Subscribers
Oct '26
October '26
+36
in 3 channels
September '26
+55
in 0 channels
Get PRO
August '26
+21
in 1 channels
Get PRO
July '26
+27
in 3 channels
Get PRO
June '26
+46
in 3 channels
Get PRO
May '26
+48
in 2 channels
Get PRO
April '26
+15 071
in 2 channels
Get PRO
March '26
+44
in 2 channels
Get PRO
February '26
+82
in 4 channels
Get PRO
January '26
+71
in 2 channels
Get PRO
December '25
+52
in 1 channels
Get PRO
November '25
+66
in 2 channels
Get PRO
October '25
+75
in 2 channels
Get PRO
September '25
+51
in 2 channels
Get PRO
August '25
+57
in 4 channels
Get PRO
July '25
+63
in 0 channels
Get PRO
June '25
+66
in 1 channels
Get PRO
May '25
+63
in 1 channels
Get PRO
April '25
+72
in 1 channels
Get PRO
March '25
+142
in 52 channels
Get PRO
February '25
+130
in 31 channels
Get PRO
January '25
+129
in 35 channels
Get PRO
December '24
+132
in 35 channels
Get PRO
November '24
+304
in 37 channels
Get PRO
October '24
+225
in 35 channels
Get PRO
September '24
+225
in 35 channels
Get PRO
August '24
+179
in 36 channels
Get PRO
July '24
+174
in 36 channels
Get PRO
June '24
+167
in 29 channels
Get PRO
May '24
+234
in 35 channels
Get PRO
April '24
+254
in 35 channels
Get PRO
March '24
+248
in 29 channels
Get PRO
February '24
+229
in 29 channels
Get PRO
January '24
+242
in 24 channels
Get PRO
December '23
+11 478
in 45 channels
Get PRO
November '23
+630
in 9 channels
Get PRO
October '23
+1 413
in 22 channels
Date
Subscriber Growth
Mentions
Channels
26 October+1
25 October0
24 October+3
23 October+1
22 October+2
21 October0
20 October+1
19 October+4
18 October0
17 October+1
16 October0
15 October+2
14 October+2
13 October0
12 October+9
11 October+1
10 October0
09 October+3
08 October+3
07 October0
06 October+1
05 October+1
04 October+1
03 October0
02 October0
01 October0
Channel Posts
Чем make_shared отличается от shared_ptr, созданного через new? Ответ: При std::make_shared<T>(args...) объект и служебный блок управления обычно размещаются в одном выделенном блоке памяти. При std::shared_ptr<T>(new T(args...)) память под объект выделяется отдельно от блока управления. Объединённое выделение уменьшает накладные расходы. Но формулировка «make_shared всегда делает ровно одно выделение» слишком категорична: стандарт рекомендует реализации обходиться не более чем одним. Есть и нюанс с weak_ptr. Объект уничтожается, когда исчезает последний сильный владелец. Однако при объединённом размещении память общего блока может оставаться занятой, пока существуют слабые указатели. Это не означает, что сам объект продолжает жить. Ещё одно отличие: конструктору shared_ptr можно передать собственную функцию удаления. У make_shared такого параметра нет. Подробнее в проекте стандарта C++ 🐸 Библиотека собеса по C++

2
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один кур
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок. Например, можно совместить два направления по работе с ИИ: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. 📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек
311
3
Какие требования должен выполнять пользовательский ключ std::unordered_map? Ответ: Для ключа нужны согласованные хеш-функция и проверка эквивалентности. По умолчанию контейнер использует std::hash<Key> и std::equal_to<Key>. Для собственного типа можно передать свои функциональные объекты в параметрах шаблона: специализировать std::hash необязательно. Главное правило: если два ключа считаются эквивалентными, их хеши обязаны совпадать. Обратное неверно — одинаковые хеши у разных ключей допустимы, это коллизия. Например, если строки сравниваются без учёта регистра, хеширование тоже должно игнорировать регистр. Иначе равные для контейнера ключи могут попасть в разные корзины. Проверка эквивалентности должна быть согласованной, а результаты сравнения и хеширования ключей — оставаться стабильными, пока ключи находятся в контейнере. Подробнее в проекте стандарта C++ 🐸 Библиотека собеса по C++
348
4
Когда push_back делает итераторы std::vector недействительными? Ответ: Если при добавлении произошла реаллокация, недействительными становятся все прежние итераторы, указатели и ссылки на элементы, а также старый end(). Реаллокация требуется, когда новый размер превышает прежнюю ёмкость capacity(). Вектор получает другое хранилище, поэтому сохранённые адреса элементов больше использовать нельзя. Если свободной ёмкости хватило, итераторы, указатели и ссылки на уже существовавшие элементы сохраняются. Однако старый end() всё равно становится недействительным: конец последовательности изменился. Поэтому ответ «push_back всегда ломает итераторы» неверен. Но и проверять только указатель на первый элемент недостаточно: сохранённый end() требует отдельного внимания. Подробнее в проекте стандарта C++ 🐸 Библиотека собеса по C++
406
5
Что именно потокобезопасно в std::shared_ptr? Ответ: Безопасность совместного владения не означает безопасность любых действий с указателем и объектом. Разные экземпляры shared_ptr, которые владеют одним объектом, можно копировать, сбрасывать и уничтожать в разных потоках: управление общим счётчиком владельцев согласовано библиотекой. Но если несколько потоков обращаются к одному и тому же экземпляру shared_ptr и хотя бы один меняет его, нужна синхронизация. Например, нельзя без неё выполнять reset() в одном потоке и копировать этот же указатель в другом. С C++20 для такого сценария есть std::atomic<std::shared_ptr<T>>. Отдельный вопрос — сам объект T. Умный указатель не защищает его поля от гонки данных: для совместного изменения объекта нужны собственные меры синхронизации. Подробнее в проекте стандарта C++ 🐸 Библиотека собеса по C++
441
6
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один. Например, можно совместить: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд
462
7
Можно ли передать std::unique_ptr в функцию по значению? Ответ: Да, но именованный std::unique_ptr нужно передать с перемещением: consume(std::move(ptr)). Копирование у unique_ptr запрещено. При передаче по значению параметр функции получает владение объектом, а исходный указатель после успешного перемещения становится пустым. Сам объект при этом не обязан перемещаться в памяти: меняется его владелец. Важно: один лишь вызов std::move(ptr) ничего не передаёт. Он позволяет выбрать перемещающий конструктор, который и выполняет передачу владения. Если функция должна только поработать с объектом, обычно достаточно передать T& или const T&. Принимать unique_ptr по значению стоит, когда функция действительно забирает владение. Подробнее в проекте стандарта C++ 🐸 Библиотека собеса по C++
486
8
No text...
656
9
No text...
770
10
👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране? Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить. 🕰️ Опрос займёт около 3 минут. В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео. 🔗 Поделиться опытом 🐸 Библиотека программиста
427
11
Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить маши
Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить машинный код заранее? 1 октября в 20:00 на открытом уроке курса «C# разработчик. Экспертный уровень» разберёте JIT и AOT в .NET и попробуете ReadyToRun и NativeAOT на практике. Проследите путь от C# до IL и машинного кода. Узнаете, какую работу JIT выполняет во время исполнения приложения, и сравните обычную JIT-компиляцию с ReadyToRun и NativeAOT. Рассмотрите, что каждый подход меняет на этапе сборки и запуска. На практике соберёте одно приложение в нескольких режимах. Сравните получившиеся файлы, размер приложения и время запуска, а затем разберёте результаты. Отдельно обсудите ограничения NativeAOT и сценарии, в которых его применение оправдано. Урок проведёт Виктор Дзицкий. Зарегистрироваться: https://otus.pw/Vi1t/?erid=2W5zFJ4cMgM Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
33
12
🩹 Задача: const-итерация по Range #include <ranges> #include <vector> void process(const auto& view) { for (auto x : view) { (void)x; } } int main() { std::vector<int> data = { 1, 2, 3, 4, 5 }; auto pred = [](int x) { return x % 2 == 0; }; auto filtered = data | std::views::filter(pred); process(filtered); // ❌ не компилируется } Объясни механизм: почему begin() const невозможен в принципе, а не по недосмотру комитета.
792
13
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потер
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 18 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠
694
14
Какая сложность у std::map::insert?
494
15
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется зада
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science. 🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз. В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков. Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎 🔗 Узнать подробнее 🏃‍♀️ Proglib Academy
327
16
Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇
447
17
Какая ошибка возникнет при попытке использовать std::ranges::to для конвертации range в контейнер, не поддерживающий требуемый интерфейс?
467
18
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами Но цель одна: перейти
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️ На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка. ⚡️ Предзапись на осенний поток уже открыта 🏃‍♀️ Proglib Academy
535
19
Разработчик, DevOps-инженер или техлид — у каждого своя причина навести порядок в работе с AI-агентами. Разбираем, чем отличаются их задачи 😊
513
20
Где по умолчанию размещается кадр (frame) корутины?
576