Библиотека собеса по C++ | вопросы с собеседований
前往频道在 Telegram
Вопросы с собеседований по C++ и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/9ccf302b Для обратной связи: @proglibrary_feeedback_bot
显示更多4 599
订阅者
+224 小时
-57 天
-4530 天
帖子存档
Какой тип функции может быть зарегистрирован через std::atexit?
Какое ключевое слово позволяет получить доступ к затенённой глобальной переменной?
Почему сериализация std::string требует сохранения длины строки?
Что такое "padding" и почему это важно при бинарной сериализации структур?
В каком случае sleep(0) может быть полезен в спин-локе?v
«Этот манёвр будет стоить нам 51 год...»
Для «плюсовиков» алгоритмическая секция — самое ответственное испытание. Не рискуйте временем: подготовьтесь к вопросам по структурам данных и архитектуре заранее, пока это ещё выгодно.
В Proglib Academy грядёт повышение цен. Успейте забрать курсы по старой стоимости:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Подготовиться к собеседованию
⚠️ Повышение цен 19 января
😃 Задача на выходные
#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++ разработчика
#междусобойчик😃 Задача на выходные
#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++ разработчика
#междусобойчикМожно ли создать атомарную переменную пользовательского типа (класса)?
Какой механизм лежит в основе вытесняющей многозадачности в современных операционных системах?
В чём разница между compare_exchange_weak и compare_exchange_strong?
Какой memory order является самым строгим и обеспечивает полную последовательную согласованность?
Что означает термин "memory order" в контексте атомарных операций?
Что произойдёт с vtable, если класс не содержит ни одной виртуальной функции?
Что делает keyword "explicit" для конструктора?
Можно ли модифицировать элементы std::unordered_multiset через итератор?
Чем отличается метод erase() с аргументом-значением от erase() с итератором в unordered_multiset?
Какой метод позволяет узнать, в каком bucket находится элемент с определённым значением?
Что означает "load factor" (коэффициент загрузки) в контексте хэш-таблиц?
