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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🔥 Задача на выходные: загадка 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
39%
mmap()
28%
sendfile()
7%
splice()
19%
Как 2, так и 3
6%
copy_file_range()
🔥1
Какой уровень протокола нужно указать для установки опции TCP_NODELAY?
Anonymous Quiz
12%
SOL_SOCKET
14%
IPPROTO_IP
52%
IPPROTO_TCP
16%
SOL_TCP
6%
IPPROTO_UDP
Как изначально назывался язык C++, когда Бьёрн Страуструп начал его разработку в 1979 году?
Anonymous Quiz
11%
C with Objects
2%
New C
78%
C with Classes
8%
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++ разработчика

#междусобойчик
🧩 Выходной челлендж: noexcept или не noexcept?

Многие добавляют 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 и почему?

Подсказка: один из них критически важен для производительности при работе с контейнерами STL.

💬 Делись своими мыслями! Объясни не только ЧТО добавить, но и ПОЧЕМУ это важно.

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

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

#междусобойчик
1
Какова сложность алгоритма std::inplace_merge() при наличии достаточного объёма памяти?
Anonymous Quiz
44%
O(n)
17%
O(log n)
33%
O(n log n)
4%
O(n²)
3%
O(n log²n)
🐛 Баг на выходные: порядок ASSERT vs EXPECT

Кажется, разница между 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++ разработчика

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