fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

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

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

رفتن به کانال در Telegram

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

نمایش بیشتر
4 601
مشترکین
-224 ساعت
-57 روز
-1330 روز
آرشیو پست ها
Что такое «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

Что такое «объектоподобный» (object-like) макрос в C++?
Anonymous voting

Что такое линкер (linker) в процессе сборки C++ программы?
Anonymous voting

Может ли макрос вызывать сам себя рекурсивно?
Anonymous voting

Какой концепт C++20 описывает отношение между итератором и sentinel?
Anonymous voting

😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности. Как адаптировать продукт и не исчезнуть из выдачи: — интегрировать MCP и A2A-взаимодействие, чтобы агенты могли вас читать; — научиться контролировать стоимость (лимиты, кэш, роутинг между моделями); — настроить AgentOps: трейсинг, логирование и отлов регрессий. Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях. Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше. Зафиксировать цену и начать деплоить агентов без слива бюджета 👈

🧩 Выходной челлендж: дочисти парсер команд У тебя есть заготовка интерактивной оболочки — read-eval-print loop. Осталось дописать несколько ключевых частей.
#include <iostream>
#include <sstream>
#include <vector>
#include <string>

std::vector<std::string> parseCommand(const std::string& line) {
    // TODO: разбить строку на токены по пробелам
    // Учти: несколько пробелов подряд — не ошибка
}

void execute(const std::vector<std::string>& tokens) {
    if (tokens.empty()) return;
    
    if (tokens[0] == "echo") {
        // TODO: вывести все аргументы через пробел
    } else if (tokens[0] == "exit") {
        exit(0);
    } else {
        // TODO: вывести "Unknown command: <имя команды>"
    }
}

int main() {
    std::string line;
    while (true) {
        std::cout << "> ";
        if (!std::getline(std::cin, line)) break;
        execute(parseCommand(line));
    }
}
Задача: заполни три TODO. 💬 Покажи своё решение — особенно интересны варианты с std::istringstream и ручным разбором. 📍Навигация: Вакансии • Задачи • Собесы Библиотека C/C++ разработчика #междусобойчик