🧩 Задача на выходные: загадка EOF
Задача: В чём подвох с проверкой eof()? Как правильно организовать цикл чтения?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
std::ifstream file("data.txt");
std::string line;
while (!file.eof()) {
std::getline(file, line);
std::cout << line << std::endl;
}Задача: В чём подвох с проверкой eof()? Как правильно организовать цикл чтения?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Зачем нужен флаг -g при компиляции?
Anonymous Quiz
7%
Включает все предупреждения
61%
Добавляет отладочную информацию
3%
Генерирует документацию кода
7%
Включает графический режим
23%
Активирует глобальную оптимизацию
❤1😁1
Что такое Test Fixture в контексте unit-тестирования?
Anonymous Quiz
5%
Инструмент для исправления багов
7%
Макрос для определения тестов
16%
Функция для генерации тестовых данных
66%
Класс, предоставляющий общее окружение для множества тестов
7%
Отчёт о результатах тестирования
👍4
Какая главная цель unit-тестирования?
Anonymous Quiz
3%
Проверка всей системы целиком
94%
Тестирование изолированных единиц кода
2%
Проверка пользовательского интерфейса
1%
Нагрузочное тестирование
0%
Проверка безопасности
Что НЕ является zero-cost abstraction в C++?
Anonymous Quiz
19%
Использование std::array вместо обычного C-массива
9%
Range-based for loop для итерации по контейнерам
6%
Применение constexpr функций для вычислений
16%
Template метапрограммирование на этапе компиляции
50%
Использование std::function с лямбда-выражением внутри
Почему trivially copyable типы важны для производительности?
Anonymous Quiz
70%
Можно использовать memcpy вместо copy constructor - быстрее
3%
Они всегда занимают меньше памяти чем обычные структуры
18%
Компилятор автоматически добавляет им SIMD инструкции
6%
Они не требуют выравнивания в памяти по границам
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()
13%
std::uncaught_exception()
10%
std::uncaught_exceptions()
11%
std::in_exception()
36%
Такой функции нет
❤2👍1
Что означал спецификатор export для шаблонов?
Anonymous Quiz
31%
Экспорт шаблона в другие модули
27%
Разделение объявления и определения
8%
Публичный доступ к шаблону классов
25%
Экспорт символов из динамической DLL
9%
Inline hint для шаблонных функций
Какова сложность алгоритма std::inplace_merge() при наличии достаточного объёма памяти?
Anonymous Quiz
42%
O(n)
19%
O(log n)
32%
O(n log n)
4%
O(n²)
4%
O(n log²n)
Что произойдёт, если new не может выделить память, а std::set_new_handler не установлен?
Anonymous Quiz
16%
Вернёт nullptr
9%
Программа аварийно завершится
9%
Вызовет std::terminate()
64%
Выбросит 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
23%
Возвращает указатель на созданный объект
16%
Возвращает значение типа void вызывающему
4%
Вызывает деструктор и освобождает память
49%
Завершает конструктор досрочно без значения
8%
Генерирует исключение типа std::bad_alloc
Что произойдёт при вызове std::exit() с точки зрения деструкторов?
Anonymous Quiz
52%
Вызовутся все деструкторы всех объектов
23%
Не вызовется ни один деструктор объектов
14%
Вызовутся деструкторы только глобальных объектов
4%
Вызовутся деструкторы только локальных объектов
8%
Вызовутся деструкторы только статических объектов
👾2
Какова разница между throw и throw без аргумента внутри catch-блока программы?
Anonymous Quiz
25%
throw без аргумента создаёт новое пустое исключение типа std::exception
48%
throw без аргумента перебрасывает текущее исключение без копирования
7%
throw без аргумента завершает программу вызовом std::terminate() сразу
11%
throw без аргумента передаёт исключение только в ближайший catch-блок
9%
throw без аргумента и throw с аргументом полностью идентичны по сути
Какая функция немедленно завершает программу, не вызывая никаких деструкторов и обработчиков?
Anonymous Quiz
15%
std::exit()
29%
std::abort()
51%
std::terminate()
4%
std::quick_exit()
2%
std::_Exit()
Что такое "lazy evaluation" и как оно связано с co_yield в сопрограммах C++?
Anonymous Quiz
13%
Lazy evaluation вычисляет все значения заранее и кэширует для быстрого доступа
4%
Lazy evaluation требует специального компилятора с поддержкой ленивых списков
8%
co_yield всегда вычисляет следующее значение заранее для оптимизации скорости
6%
Lazy evaluation несовместима с многопоточностью из-за состояния сопрограммы
70%
co_yield позволяет откладывать вычисление следующего значения до запроса
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
В программе:
— практика с первого занятия:
— оркестрация в
— продвинутый
— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
👉 Присоединиться к четвёртому потоку и вывести агентов в прод
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
AgentOps и сместили фокус с базовых концепций на суровый инжиниринг. Ответить на вопросы про аллокаторы и умные указатели на собесе легко, а вот развернуть ИИ-агента локально и без утечек бюджета в проде — задача со звёздочкой.В программе:
— практика с первого занятия:
Jupyter-ноутбуки с автопроверкой;— оркестрация в
LangGraph: human-in-the-loop и механизм time-travel;— продвинутый
RAG для продакшена и парсинг сложных документов;— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
Agent забирайте скидку 10 000 ₽ (89 000 ₽ вместо 99 000 ₽). Успейте занять место до 28 февраля!👉 Присоединиться к четвёртому потоку и вывести агентов в прод