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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Что такое линкер (linker) в процессе сборки C++ программы?
Anonymous Quiz
3%
Инструмент, преобразующий исходный код в объектный файл
91%
Инструмент, объединяющий объектные файлы в исполняемый файл
1%
Инструмент, оптимизирующий байт-код программы
1%
Инструмент, проверяющий синтаксис исходного кода
😁2🤔1
🧩 Задача на выходные: правильная ли это BST?

Классическая ловушка на собеседованиях. Этот код проверяет BST неправильно:

bool isValidBST(TreeNode* node) {
if (!node) return true;
if (node->left && node->left->val >= node->val) return false;
if (node->right && node->right->val <= node->val) return false;
return isValidBST(node->left) && isValidBST(node->right);
}



Для дерева:
    5
/ \
1 4
/ \
3 6


Функция вернёт true. Но это не BST!

✏️ Объясни баг и перепиши функцию корректно.


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

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Найди баг: копирование строки сломало указатель

#include <string>
#include <iostream>

struct Token {
std::string value;
const char* ptr;

Token(const std::string& s) : value(s), ptr(value.data()) {}
};

int main() {
Token t1("hi");
Token t2 = t1; // копируем

std::cout << t1.ptr << "\n"; // "hi"
std::cout << t2.ptr << "\n"; // ???
}


‼️ Задача: найди баг (если он есть), объясни, почему он связан с SSO, и предложи исправление.

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

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Что вернёт std::filesystem::path("/foo/./bar/../baz").lexically_normal()?
Anonymous Quiz
10%
/foo/./bar/../baz
58%
/foo/baz
23%
/foo/bar/baz
5%
baz
5%
/baz