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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🧩 Выходной челлендж: 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)
32%
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++ разработчика

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