Что делает keyword "explicit" для конструктора?
Anonymous Quiz
1%
Делает конструктор публичным
1%
Ускоряет создание объектов
3%
Делает конструктор виртуальным
12%
Требует явного вызова деструктора
83%
Запрещает неявные преобразования типов
Что произойдёт с vtable, если класс не содержит ни одной виртуальной функции?
Anonymous Quiz
14%
Создастся пустая vtable
5%
Создастся vtable с одной записью
6%
Создастся vtable для конструктора
3%
Компилятор выдаст ошибку
72%
vtable не будет создана вообще
Что означает термин "memory order" в контексте атомарных операций?
Anonymous Quiz
7%
Порядок размещения переменных в памяти
4%
Последовательность освобождения памяти
8%
Порядок выделения памяти операционной системой
76%
Гарантии относительно упорядочивания операций с памятью между потоками
6%
Приоритет доступа к памяти
Какой memory order является самым строгим и обеспечивает полную последовательную согласованность?
Anonymous Quiz
3%
memory_order_relaxed
23%
memory_order_acquire
7%
memory_order_release
59%
memory_order_seq_cst
7%
memory_order_consume
👍3
В чём разница между compare_exchange_weak и compare_exchange_strong?
Anonymous Quiz
4%
Weak всегда медленнее, но надёжнее
6%
Strong может использоваться только с целыми числами
5%
Strong требует больше памяти
66%
Weak может ложно провалиться даже при совпадении значений
18%
Weak не является потокобезопасной
Какой механизм лежит в основе вытесняющей многозадачности в современных операционных системах?
Anonymous Quiz
59%
Прерывания от таймера и переключение контекста планировщиком
14%
Добровольная передача управления через yield()
11%
Polling опрос готовности потоков
10%
Семафоры и мьютексы
6%
Механизм сообщений между процессами
Можно ли создать атомарную переменную пользовательского типа (класса)?
Anonymous Quiz
31%
Нет, атомарные переменные работают только с примитивными типами
8%
Да, но только если класс содержит единственное поле
55%
Да, если тип является trivially copyable и удовлетворяет другим требованиям
4%
Да, но только для классов без конструкторов
2%
Нет, требуется специальная библиотека
#include <iostream>
#include <thread>
#include <chrono>
struct Counter {
long long a;
long long b;
};
void increment(long long& val) {
for (int i = 0; i < 100'000'000; i++) val++;
}
int main() {
Counter cnt{ 0, 0 };
auto start = std::chrono::high_resolution_clock::now();
std::thread t1(increment, std::ref(cnt.a));
std::thread t2(increment, std::ref(cnt.b));
t1.join(); t2.join();
auto end = std::chrono::high_resolution_clock::now();
std::cout << "Time: " << std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count() << "ms\n";
return 0;
}
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🔥1🌚1
«Этот манёвр будет стоить нам 51 год...»
Для «плюсовиков» алгоритмическая секция — самое ответственное испытание. Не рискуйте временем: подготовьтесь к вопросам по структурам данных и архитектуре заранее, пока это ещё выгодно.
В Proglib Academy грядёт повышение цен. Успейте забрать курсы по старой стоимости:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Подготовиться к собеседованию
⚠️ Повышение цен 19 января
Для «плюсовиков» алгоритмическая секция — самое ответственное испытание. Не рискуйте временем: подготовьтесь к вопросам по структурам данных и архитектуре заранее, пока это ещё выгодно.
В Proglib Academy грядёт повышение цен. Успейте забрать курсы по старой стоимости:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Подготовиться к собеседованию
⚠️ Повышение цен 19 января
В каком случае sleep(0) может быть полезен в спин-локе?v
Anonymous Quiz
2%
Для точного измерения времени
4%
Для увеличения производительности
52%
Для снижения потребления CPU при активном ожидании
23%
Это антипаттерн, никогда не используется
20%
Для гарантированной синхронизации
Что такое "padding" и почему это важно при бинарной сериализации структур?
Anonymous Quiz
96%
Дополнительные байты для выравнивания данных в памяти
1%
Метод шифрования данных
3%
Способ сжатия информации
1%
Техника оптимизации скорости
0%
Метод валидации данных
Почему сериализация std::string требует сохранения длины строки?
Anonymous Quiz
10%
Для оптимизации памяти
23%
Для совместимости с C
2%
Для шифрования
63%
Длина не всегда определяется по '\0'
1%
Компилятор требует это
Какое ключевое слово позволяет получить доступ к затенённой глобальной переменной?
Anonymous Quiz
17%
global
8%
outer
69%
::
2%
parent
4%
super
Какой тип функции может быть зарегистрирован через std::atexit?
Anonymous Quiz
16%
Любая функция
66%
Только void функции без параметров
11%
Функции с любым возвращаемым типом
4%
Только статические методы класса
3%
Функции с параметрами по умолчанию
👍1
Что выведет программа?
Anonymous Quiz
18%
DestructorCleanup
39%
CleanupDestructor
3%
Destructor
36%
Cleanup
4%
Ничего
🤔2😁1