Библиотека собеса по C++ | вопросы с собеседований
Open in Telegram
Вопросы с собеседований по C++ и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/9ccf302b Для обратной связи: @proglibrary_feeedback_bot
Show more8 323
Subscribers
-324 hours
+117 days
-1830 days
Posts Archive
Какое преимущество дает [[nodiscard]] атрибут?
Что такое "memory leak" (утечка памяти)?
В чем разница между std::function и указателем на функцию?
Что такое fold expression в C++?
🧑🏻💻Хотите писать безопасный, масштабируемый и читаемый код на современном C++?
Актуальное повышение квалификации «C++ Developer. Professional» создано для тех, кто хочет выйти за пределы базового синтаксиса и овладеть актуальными практиками разработки — от C++20 и C++23 до многопоточности, шаблонов и сетевого взаимодействия.
Программа составлена практикующими разработчиками и обновляется с учётом требований индустрии. Вы выполните 14 практических заданий, отработаете паттерны проектирования, оптимизацию, работу с памятью и получите диплом, который котируется в ведущих IT-компаниях.
⚡️Набор закрывается совсем скоро, это последний шанс пройти вступительное тестирование и получить скидку на обучение: https://otus.pw/8QDNf/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, Erid 2VtzqwzpHbnЧто означает аббревиатура SBO в контексте std::string?
Какое главное отличие std::map от std::unordered_map?
Что означает выражение alignof(T)?
❤️ Размер типа T в байтах
🔥 Требуемое выравнивание для типа T
🙏 Смещение типа T в структуре
🌚 Количество байт, которое нужно добавить для выравнивания T
Ответ: 🔥 —
alignof(T) возвращает требуемое выравнивание для типа T в байтах.📚 Загадочная библиотека setjmp.h — неочевидный инструмент для управления потоком выполнения
Библиотека setjmp.h предоставляет два необычных макроса:
• setjmp — сохраняет текущее состояние программы (регистры, стек) в буфер jmp_buf
• longjmp — «откатывает» выполнение к сохранённому состоянию, как прыжок во времени
#include <stdio.h>
#include <setjmp.h>
jmp_buf jump_buffer;
void risky_function() {
printf("Готовимся к прыжку...\n");
longjmp(jump_buffer, 42); // Прыжок обратно в setjmp!
}
int main() {
int ret = setjmp(jump_buffer);
if (ret == 0) {
printf("Первая инициализация...\n");
risky_function();
} else {
printf("Вернулись с кодом: %d\n", ret); // Выведет 42!
}
return 0;
}
⚠️ Осторожно!
• Не заменяет исключения — нет вызова деструкторов (как в C++)
• Опасность утечек — если между setjmp и longjmp выделялась память, она не освободится
• Портит стек — может сломать логику функций
🛠 Где может пригодиться?
• Обработка критических ошибок (а-ля «аварийный выход»)
• Код для встраиваемых систем, где нужно быстро восстановить состояние
• Нестандартные хаки (но лучше так не делать 😈)
Библиотека C/C++ разработчикаЧто произойдет при использовании memcpy для копирования объекта с виртуальными функциями?
❤️ Объект будет правильно скопирован
🔥 Виртуальная таблица не будет скопирована правильно
🙏 Компилятор выдаст ошибку
🌚 Это неопределенное поведение
Библиотека C/C++ разработчика
💼⌛️ ТОП-5 причин, почему программист не может долго найти работу
Почему некоторые разработчики остаются "между работами" месяцы?
Не всегда дело в нехватке вакансий или «рынок просел». Часто дело в подходе к поиску проекта. Вроде бы есть опыт, стек, даже pet-проекты, но офферов всё нет.
Часто корень проблемы — неумение продать себя правильно. Отказ выполнять тестовые задания, считая их ненужными или обидными. Кроме того, нежелание рассматривать стажировки как стартовую площадку для получения опыта и расширения профессиональных связей также может замедлить процесс трудоустройства. И это далеко не все возможные причины.
🔗 Подробнее в статье
🐸 Библиотека джависта
Repost from Библиотека задач по C++ | тесты, код, задания
Что выведет код?
❤️ 1 4 8
🔥 1 4 4
🙏 Зависит от платформы
🌚 Ошибка компиляции
Библиотека C/C++ разработчика
📈Плоские контейнеры и C++: как оптимизировать производительность и память
Пытаетесь сделать код быстрее и экономичнее? Время научиться использовать плоские контейнеры в C++! На открытом уроке 15 апреля в 20:00 мск мы разберемся, что такое плоские контейнеры!
Что вас ждет:
- Описание плоских контейнеров в C++: какие они бывают и чем отличаются от стандартных.
- Реальные примеры, когда и почему плоские контейнеры — это ваша идеальная пара для эффективной работы с данными.
- Практическая часть: сравнение с традиционными контейнерами и примеры применения на реальных задачах.
Кому будет полезно:
• Программистам C++, работающим с большими объемами данных.
• Разработчикам высокопроизводительных приложений и игр.
• Инженерам, которым нужно минимизировать использование памяти и повысить эффективность.
👉Регистрируйтесь прямо сейчас и получите скидку на большое обучение «C++ Developer. Professional»: https://otus.pw/JnRa/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, Erid 2Vtzquveb2p👍 Acatch
🥲 catch
👏 catchA
🌚 Программа аварийно завершится
Библиотека C/C++ разработчика
В чем разница между std::atomic::load() и std::atomic::exchange()?
👍 load() атомарно читает значение, exchange() атомарно заменяет и возвращает старое
🤔 load() блокирует потоки, exchange() не блокирует
👏 load() работает быстрее, exchange() безопаснее
🌚 load() не имеет побочных эффектов, exchange() изменяет все копии объекта
Repost from IT Job Hub | Работа и вакансии в IT
💵💻🌍 Как не налететь на грабли: оформление и выплаты при валютной удалёнке из России
Если вы следили за нашим мини-сериалом о валютной удаленке, то уже знаете:
🔜 Как найти зарубежную удалёнку и зарабатывать больше
🔜 Как пройти путь от резюме до оффера
И вот финальная часть — потому что оффер это только начало.
Что в статье:
📍 Все легальные способы получения валютных выплат, от ИП в Грузии до пейролл-сервисов.
📍 Реальные риски: блокировки, штрафы, политическая турбулентность.
📍 Юридические тонкости и что писать в контракте, чтобы не остаться без денег.
📍 Как не влететь на налоги и почему «авось» — плохой бизнес-план.
Читать гайд по выживанию айтишника в валютных джунглях 🔗
👻 Что такое предкомпилированные заголовки (PCH)?
Принцип работы:
PCH позволяют компилятору обработать заголовочные файлы один раз и сохранить промежуточное представление. При последующих компиляциях используется уже готовый результат вместо повторной обработки.
Необходимые изменения:
• Создание специального заголовочного файла со всеми часто используемыми включениями
• Настройка системы сборки для использования PCH
• Обновление PCH при изменении включенных в него заголовков
Совместимость:
• GCC: -include pch.h с флагом -x c++-header для создания
• Clang: аналогично GCC
• MSVC: директивы #pragma hdrstop и /Yu
Available now! Telegram Research 2025 — the year's key insights 
