Библиотека собеса по C++ | вопросы с собеседований
4.47K subscribers
446 photos
5 videos
229 links
Вопросы с собеседований по C++ и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9ccf302b

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🍴 Задача на выходные: до скольки считает стандарт?

Стандарт C++ гарантирует, что можно зарегистрировать минимум N функций через std::atexit. Найди баг в этом коде:

#include <cstdlib>
#include <iostream>

void dummy_handler() {
static int counter = 0;
std::cout << "Handler " << ++counter << "\n";
}

int main() {
// Регистрируем 100 обработчиков
for (int i = 0; i < 100; ++i) {
if (std::atexit(dummy_handler) != 0) {
std::cerr << "Failed at " << i << "\n";
return 1;
}
}

std::cout << "All registered!\n";
return 0;
}


Вопрос: Гарантирует ли стандарт, что все 100 обработчиков зарегистрируются? Какое минимальное количество гарантируется? Как правильно обработать ошибку регистрации?

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Какое количество потоков может одновременно удерживать shared_lock на один shared_mutex?
Anonymous Quiz
17%
1
2%
2
20%
Количество ядер процессора
52%
Неограниченное
9%
256
2😁1
Какая сложность у std::unordered_map::find() в худшем случае?
Anonymous Quiz
17%
O(1)
13%
O(log n)
57%
O(n)
11%
O(n log n)
2%
O(√n)
🔥 Задача на выходные: загадка optional chains

std::optional<std::string> get_name() {
return "Alice";
}

int main() {
auto result = get_name()
.transform([](auto&& s) { s += " Smith"; return s; })
.transform([](auto&& s) { s += " Jr."; return s; });

std::cout << *result << std::endl;
std::cout << *get_name() << std::endl;
}


🐸 Задача: Что выведет этот код? Изменится ли исходное значение из get_name()? Почему компилятор может это скомпилировать или отклонить?

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой системный вызов в Linux позволяет реализовать zero-copy передачу данных между файловым дескриптором и сокетом?
Anonymous Quiz
38%
mmap()
29%
sendfile()
8%
splice()
19%
Как 2, так и 3
6%
copy_file_range()
🔥1
Какой уровень протокола нужно указать для установки опции TCP_NODELAY?
Anonymous Quiz
12%
SOL_SOCKET
14%
IPPROTO_IP
55%
IPPROTO_TCP
13%
SOL_TCP
7%
IPPROTO_UDP
Как изначально назывался язык C++, когда Бьёрн Страуструп начал его разработку в 1979 году?
Anonymous Quiz
10%
C with Objects
2%
New C
79%
C with Classes
7%
Object C
2%
Enhanced C
😁6🤔1
🧩 Задача на выходные: загадка EOF

std::ifstream file("data.txt");
std::string line;

while (!file.eof()) {
std::getline(file, line);
std::cout << line << std::endl;
}


Задача: В чём подвох с проверкой eof()? Как правильно организовать цикл чтения?

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#междусобойчик