es
Feedback
Библиотека собеса по C++ | вопросы с собеседований

Библиотека собеса по C++ | вопросы с собеседований

Ir al canal en Telegram

Вопросы с собеседований по C++ и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/9ccf302b Для обратной связи: @proglibrary_feeedback_bot

Mostrar más
4 598
Suscriptores
-124 horas
-107 días
-5330 días
Archivo de publicaciones
🚀 Челендж на выходных: полный ленивый pipeline Собери всё вместе: напиши ленивый pipeline обработки данных без лишних копий и временных контейнеров.
// Дано: файл с числами (по одному на строку)
// Задача: найти сумму квадратов чётных чисел из первых 1000 строк

// Наивное решение (неленивое):
// 1. Загрузить всё в vector<int>          — O(n) память
// 2. Отфильтровать чётные                 — ещё O(n)
// 3. Возвести в квадрат                   — ещё O(n)
// 4. Просуммировать первые 1000           — O(n)

// Ленивое решение должно:
// - Читать файл построчно (не грузить всё)
// - Фильтровать на лету
// - Трансформировать на лету
// - Останавливаться после 1000 элементов

// Скелет:
auto result = lines_from_file("data.txt")       // ленивый итератор строк
    | parse_ints()                              // string -> optional<int>
    | filter_valid()                            // убрать nullopt
    | filter([](int x){ return x % 2 == 0; })  // только чётные
    | transform([](int x){ return x * x; })    // квадрат
    | take(1000)                                // первые 1000
    | sum();                                    // свёртка

// TODO: реализуй каждый адаптер в цепочке
✏️ Задача: реализуй весь pipeline. Можно использовать C++20 Ranges или написать адаптеры вручную. Ключевое требование — в любой момент в памяти хранится не более одного элемента из файла. 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #междусобойчик

Можно ли использовать концепт рекурсивно — так, чтобы он ссылался на самого себя?
Anonymous voting

Что такое «частичное упорядочивание» шаблонов функций и когда компилятор его применяет?
Anonymous voting

Для каких операторов оно гарантировано «короткое замыкание» (short-circuit evaluation)?
Anonymous voting

Что вернёт std::filesystem::path("/foo/./bar/../baz").lexically_normal()?
Anonymous voting

Что такое «phantom types» и как они применяются для создания DSL в C++?
Anonymous voting

Что такое «expression templates» как техника построения DSL в C++?
Anonymous voting

Чем std::unique_lock отличается от std::lock_guard?
Anonymous voting

🔥 Найди баг: копирование строки сломало указатель
#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++ разработчика #междусобойчик

Чем sentinel принципиально отличается от итератора конца?
Anonymous voting

Сколько пользовательских преобразований компилятор может применить в одной неявной цепочке?
Anonymous voting

При каком условии компилятор перестаёт неявно генерировать конструктор копирования?
Anonymous voting

Что правильно описывает inline переменную (C++17)?
Anonymous voting

Что означает [[no_unique_address]] для членов класса?
Anonymous voting

Какова роль препроцессора в компиляции C++?
Anonymous voting

Что такое "aggregate initialization" и как изменилось в C++20/23?
Anonymous voting

🧩 Задача на выходные: правильная ли это 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++ разработчика #междусобойчик

Что гарантирует концепт std::sized_sentinel_for?
Anonymous voting

Какой из перечисленных элементов относится к области видимости файла (file scope)?
Anonymous voting