Какой атрибут запретит компилятору удалять функцию как неиспользуемую?
Anonymous Quiz
7%
__attribute__((noinline))
63%
__attribute__((used))
7%
__attribute__((visibility("default")))
5%
__attribute__((section(".isr")))
17%
extern "C"
Для чего используется паттерн Flyweight в C++?
Anonymous Quiz
19%
Для обёртки объекта и добавления к нему дополнительного поведения
11%
Для разделения абстракции от реализации в независимые иерархии
63%
Для экономии памяти через разделение общего состояния объектов
6%
Для построения сложных объектов по шагам через класс-строитель
2%
Для обеспечения единственного экземпляра класса в приложении
Какой паттерн используется в системах событий Qt (сигналы и слоты)?
Anonymous Quiz
16%
Command
8%
Mediator
14%
Chain of Responsibility
58%
Observer
4%
Strategy
Forwarded from Библиотека задач по C++ | тесты, код, задания
🏆 Задача на выходные: string_view vs string в API
Перед тобой два варианта API логгера. Выбери лучший и обоснуй. Нет единственно верного ответа — важна аргументация.
✏️ Напиши в комментариях: какой метод в каком варианте правильный, а какой — нет. Предложи «идеальный»
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Перед тобой два варианта API логгера. Выбери лучший и обоснуй. Нет единственно верного ответа — важна аргументация.
#include <string>
#include <string_view>
// Вариант А
class LoggerA {
public:
void log(const std::string& msg);
void setPrefix(const std::string& prefix);
std::string getLastMessage() const;
};
// Вариант Б
class LoggerB {
public:
void log(std::string_view msg);
void setPrefix(std::string_view prefix);
std::string_view getLastMessage() const;
};
// Контекст использования:
// 1. log() вызывается тысячи раз в секунду
// 2. setPrefix() — один раз при старте
// 3. getLastMessage() — для диагностики
// 4. Логгер хранит последнее сообщение внутри
LoggerC.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
Что изменилось с std::numeric_limits<T>::quiet_NaN() в C++23?
Anonymous Quiz
27%
Стала constexpr
21%
Заработала с if consteval без std::isnan
22%
Возвращает std::optional вместо сигнального NaN
21%
Добавлен operator==, возвращающий false без UB
10%
Стала [[nodiscard]]
Что такое «event loop» в контексте C++ и библиотеки Asio?
Anonymous Quiz
8%
Механизм обхода элементов контейнера в цикле по событиям планировщика
7%
Паттерн проектирования для управления жизненным циклом потоков операционной системы
2%
Системный вызов ядра Linux для асинхронного ожидания файловых дескрипторов
72%
Бесконечный цикл опроса очереди задач и диспетчеризации обработчиков ввода-вывода
11%
Механизм синхронизации между несколькими экземплярами io_context в Asio
Что такое «P1144» (trivial relocation) и какую оптимизацию он вносит?
Anonymous Quiz
6%
Предложение добавить тривиальные операторы сравнения для всех стандартных контейнеров STL
37%
Предложение позволить перемещать некоторые типы через memcpy + memset вместо move+destroy
14%
Оптимизация выравнивания объектов при перемещении между различными аллокаторами контейнеров
33%
Стандартизация семантики перемещения с нулевой стоимостью для trivially-movable типов в STL
10%
Расширение trivially copyable для поддержки типов с нетривиальным но быстрым деструктором
🤔3
Что такое std::coroutine_handle в C++20?
Anonymous Quiz
24%
Умный указатель для управления временем жизни корутин и их состоянием
34%
Низкоуровневый дескриптор, позволяющий возобновить или уничтожить корутину
18%
Базовый класс для всех пользовательских корутин со стандартным интерфейсом
16%
Шаблонный тип для хранения возвращаемого значения корутины в рантайме
7%
Синхронизирующий примитив для ожидания завершения корутины из другого потока
🦾 Почему ваши AI-продукты на базе LLM ломаются (и как это чинить)?
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓 Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓 Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре
🫠 Задача на выходные: LRU Cache
Классика интервью. Проверяет знание STL, сложности операций и дизайн-мышление😸
✏️ Реализуй. Объясни выбор структур данных и почему сложность O(1).
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Классика интервью. Проверяет знание STL, сложности операций и дизайн-мышление😸
// Реализуй класс LRUCache:
// - LRUCache(int capacity)
// - int get(int key) // O(1)
// - void put(int key, int val) // O(1)
//
// При переполнении вытесняется
// наименее недавно использованный элемент.
//
// Разрешено использовать STL.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
Какую проблему метапрограммирования решают шаблоны с переменным числом аргументов совместно с рекурсией?
Anonymous Quiz
18%
Динамическое выделение памяти для параметров
10%
Проверка корректности аргументов при выполнении
7%
Генерация случайных типов для тестирования
62%
Обход всех элементов пакета параметров поочерёдно
3%
Создание потоков для каждого аргумента пакета