Какая главная цель unit-тестирования?
Anonymous Quiz
2%
Проверка всей системы целиком
95%
Тестирование изолированных единиц кода
2%
Проверка пользовательского интерфейса
1%
Нагрузочное тестирование
0%
Проверка безопасности
Что НЕ является zero-cost abstraction в C++?
Anonymous Quiz
20%
Использование std::array вместо обычного C-массива
9%
Range-based for loop для итерации по контейнерам
6%
Применение constexpr функций для вычислений
15%
Template метапрограммирование на этапе компиляции
50%
Использование std::function с лямбда-выражением внутри
Почему trivially copyable типы важны для производительности?
Anonymous Quiz
70%
Можно использовать memcpy вместо copy constructor - быстрее
3%
Они всегда занимают меньше памяти чем обычные структуры
18%
Компилятор автоматически добавляет им SIMD инструкции
7%
Они не требуют выравнивания в памяти по границам
3%
Виртуальные функции работают с ними эффективнее обычного
🧩 Выходной челлендж: noexcept или не noexcept?
Многие добавляют noexcept "на глаз". А ты знаешь, где это критично?
Задача: В какие методы нужно добавить noexcept и почему?
Подсказка:один из них критически важен для производительности при работе с контейнерами STL.
💬 Делись своими мыслями! Объясни не только ЧТО добавить, но и ПОЧЕМУ это важно.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Многие добавляют noexcept "на глаз". А ты знаешь, где это критично?
class DataStore {
std::vector<int> data;
public:
DataStore() = default;
DataStore(DataStore&& other) {
data = std::move(other.data);
}
void add(int value) {
data.push_back(value);
}
};Задача: В какие методы нужно добавить noexcept и почему?
Подсказка:
💬 Делись своими мыслями! Объясни не только ЧТО добавить, но и ПОЧЕМУ это важно.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
❤1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Какая функция позволяет узнать, находится ли выполнение в процессе раскрутки стека?
Anonymous Quiz
30%
std::is_unwinding()
12%
std::uncaught_exception()
10%
std::uncaught_exceptions()
11%
std::in_exception()
37%
Такой функции нет
❤2👍1
Что означал спецификатор export для шаблонов?
Anonymous Quiz
33%
Экспорт шаблона в другие модули
28%
Разделение объявления и определения
7%
Публичный доступ к шаблону классов
25%
Экспорт символов из динамической DLL
8%
Inline hint для шаблонных функций
Какова сложность алгоритма std::inplace_merge() при наличии достаточного объёма памяти?
Anonymous Quiz
44%
O(n)
17%
O(log n)
32%
O(n log n)
4%
O(n²)
3%
O(n log²n)
Что произойдёт, если new не может выделить память, а std::set_new_handler не установлен?
Anonymous Quiz
18%
Вернёт nullptr
10%
Программа аварийно завершится
9%
Вызовет std::terminate()
62%
Выбросит std::bad_alloc
1%
Зависнет в бесконечном цикле
❤1
🐛 Баг на выходные: порядок ASSERT vs EXPECT
Кажется, разница между ASSERT_* и EXPECT_* — мелочь. Но она меняет поведение теста кардинально.
Что произойдёт при выполнении теста? Какие строки выполнятся, а какие нет? Когда использование ASSERT_EQ вместо EXPECT_EQ — правильное решение, а когда — опасное?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Кажется, разница между ASSERT_* и EXPECT_* — мелочь. Но она меняет поведение теста кардинально.
TEST(VectorTest, CheckElements) {
std::vector<int> v = {1, 2, 3};
ASSERT_EQ(v.size(), 4u); // (1)
EXPECT_EQ(v[0], 1); // (2)
EXPECT_EQ(v[3], 4); // (3)
}Что произойдёт при выполнении теста? Какие строки выполнятся, а какие нет? Когда использование ASSERT_EQ вместо EXPECT_EQ — правильное решение, а когда — опасное?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Что делает return в конструкторе класса в C++?
Anonymous Quiz
25%
Возвращает указатель на созданный объект
14%
Возвращает значение типа void вызывающему
4%
Вызывает деструктор и освобождает память
47%
Завершает конструктор досрочно без значения
9%
Генерирует исключение типа std::bad_alloc