Forwarded from Библиотека собеса по C++ | вопросы с собеседований
🚀 Челендж на выходных: полный ленивый pipeline
Собери всё вместе: напиши ленивый pipeline обработки данных без лишних копий и временных контейнеров.
✏️ Задача: реализуй весь pipeline. Можно использовать
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Собери всё вместе: напиши ленивый 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: реализуй каждый адаптер в цепочке
C++20 Ranges или написать адаптеры вручную. Ключевое требование — в любой момент в памяти хранится не более одного элемента из файла.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👾3❤1😁1
🦾 Надоело чинить «упавших» ИИ-агентов после каждого микросбоя внешних сервисов?
Анонсируем старт продаж большого курса по AgentOps. Мы собрали опыт десятков разработчиков и сделали программу, которая учит выводить ИИ в стабильный прод.
🗓 Ждем вас 28 апреля в 19:00 МСК на эфире: «Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены».
👉 Кто вещает и в чем польза?
Спикер Кирилл Кухарев (Senior AI Engineer в Raft, спикер AI Conf и Highload++). Он реализовал более 50 коммерческих проектов в GenAI и на вебинаре покажет, как взять под контроль работу нескольких агентов, чтобы они не перекидывали друг другу лишний контекст и не сжигали ваши деньги.
В прямом эфире разберем:
• Как формируется контекст в LLM при маршрутизации между агентами;
• Куда утекают лишние токены и возникает перерасход;
• Практические методы: как сжимать историю, грамотно делить задачи, лимитировать передачу контекста и собирать промпты прямо в процессе запроса пользователя.
🔥 Два способа получить максимум:
1. Приходите на вебинар 28 апреля. Дарим участникам промокод на 5.000 ₽ (работает 3 дня после эфира - это шанс забрать курс по самому низу рынка).
2. Выбирайте Инженерный трек. В подарок к нему идет полный доступ к записям и автопроверкам завершенного курса «Разработка ИИ-агентов».
👉 Занять место на вебинаре и стать профи в AgentOps
Анонсируем старт продаж большого курса по AgentOps. Мы собрали опыт десятков разработчиков и сделали программу, которая учит выводить ИИ в стабильный прод.
🗓 Ждем вас 28 апреля в 19:00 МСК на эфире: «Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены».
Спикер Кирилл Кухарев (Senior AI Engineer в Raft, спикер AI Conf и Highload++). Он реализовал более 50 коммерческих проектов в GenAI и на вебинаре покажет, как взять под контроль работу нескольких агентов, чтобы они не перекидывали друг другу лишний контекст и не сжигали ваши деньги.
В прямом эфире разберем:
• Как формируется контекст в LLM при маршрутизации между агентами;
• Куда утекают лишние токены и возникает перерасход;
• Практические методы: как сжимать историю, грамотно делить задачи, лимитировать передачу контекста и собирать промпты прямо в процессе запроса пользователя.
🔥 Два способа получить максимум:
1. Приходите на вебинар 28 апреля. Дарим участникам промокод на 5.000 ₽ (работает 3 дня после эфира - это шанс забрать курс по самому низу рынка).
2. Выбирайте Инженерный трек. В подарок к нему идет полный доступ к записям и автопроверкам завершенного курса «Разработка ИИ-агентов».
👉 Занять место на вебинаре и стать профи в AgentOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱2😁1
📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Интересное:
• Как техлиду перестать быть справочником и научить своих аналитиков самостоятельности — разбор как лиду работать, а не работать поисковиком
• Почему constexpr вычисляется не всегда в compile-time — особенности работы constexpr
в реальных проектах
• C++ Ranges. Ленивые вычисления (C++20) — продолжаем тему диапазонов
• std::call_once и once_flag: явная ленивая инициализация — фитча, помогающая удобно подгружать ресурсы
• Как использовать ИИ для составления резюме и поиска работы: 5 рабочих промптов — советы, как с помощью AI продвинуть свой резюме
🔹📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Интересное:
• Как техлиду перестать быть справочником и научить своих аналитиков самостоятельности — разбор как лиду работать, а не работать поисковиком
• Почему constexpr вычисляется не всегда в compile-time — особенности работы constexpr
в реальных проектах
• C++ Ranges. Ленивые вычисления (C++20) — продолжаем тему диапазонов
• std::call_once и once_flag: явная ленивая инициализация — фитча, помогающая удобно подгружать ресурсы
• Как использовать ИИ для составления резюме и поиска работы: 5 рабочих промптов — советы, как с помощью AI продвинуть свой резюме
🔹📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
❤1🔥1😁1
🏃♀️ Уже завтра стартует курс по разработке AI-агентов.
Про AI-агентов часто думают, что это просто модная обертка над джпт для пет-проектов. Кажется, прикрутил API к скрипту и типа готово. А вот и нет! Когда дело доходит до прода, начинаются настоящие проблемы.
Эту инженерную часть мы и будем разбирать на курсе. Будем учиться интегрировать внешние API, работать с RAG, LangGraph, CrewAI и деплоить всё это так, чтобы работало как часы.
Стартуем завтра. Для участия и доступа к программе переходите по ссылке.
Про AI-агентов часто думают, что это просто модная обертка над джпт для пет-проектов. Кажется, прикрутил API к скрипту и типа готово. А вот и нет! Когда дело доходит до прода, начинаются настоящие проблемы.
Зачем глубоко копать мультиагентные системы, если можно обойтись старым добрым кодом? Как контролировать расходы на токены, чтобы новая фича не разорила бизнес? Как заставить агента работать стабильно и предсказуемо, а не галлюцинировать?
Эту инженерную часть мы и будем разбирать на курсе. Будем учиться интегрировать внешние API, работать с RAG, LangGraph, CrewAI и деплоить всё это так, чтобы работало как часы.
Стартуем завтра. Для участия и доступа к программе переходите по ссылке.
👍1😁1😢1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Какой PMR-аллокатор оптимален для объектов, живущих только в одной итерации?
Anonymous Quiz
11%
synchronized_pool_resource
20%
unsynchronized_pool_resource
39%
monotonic_buffer_resource
19%
std::allocator
10%
new_delete_resource
😁4👍1🥱1
🎈 Минималистичная настройка редактора Zed
Плейлист с пошаговой настройкой редактора
✏️ Настройка Zed
✏️ Настройка VSCode
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
Плейлист с пошаговой настройкой редактора
Zed для минималистов в духе Neovim. Так же на канале лежит плейлист с похожей настройкой для VSCode.✏️ Настройка Zed
✏️ Настройка VSCode
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
🔥1😁1
C++20 ввёл концепты — способ формально выразить требования к типам. В Ranges они используются повсеместно, поэтому важно понимать, что говорят сообщения об ошибках и почему один алгоритм принимает
vector, а другой требует что-то большее.// ❌ Не скомпилируется
std::list<int> lst = {3, 1, 2};
std::ranges::sort(lst);
// Ошибка: list не удовлетворяет концепту random_access_range
// ✅ vector удовлетворяет random_access_range
std::vector<int> vec = {3, 1, 2};
std::ranges::sort(vec);
// ✅ У list есть собственный метод сортировки
lst.sort();
Концепты выстроены в цепочку наследования: каждый следующий добавляет требования к предыдущему.
sized_range и viewable_range — ортогональны иерархии, они не зависят от позиции в цепочке.range
└── input_range
└── forward_range
└── bidirectional_range
└── random_access_range
└── contiguous_range
Ещё есть viewable_range, он тоже не входит в иерархию. Нужен, так как не любой range можно безопасно обернуть во view. Если передать временный объект, итератор получит висячий указатель — объект уничтожается раньше, чем его успевают использовать. Концепт
viewable_range запрещает это на уровне компилятора.Тут всё просто, нужно обернуть проверку в
static_assert и сразу, на этапе компиляции, получишь ошибку если что-то не так:static_assert(std::ranges::random_access_range<std::vector<int>>);
static_assert(!std::ranges::random_access_range<std::list<int>>);
static_assert(std::ranges::bidirectional_range<std::list<int>>);
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🙏1
😎 Топ-вакансий для C++ разработчиков за неделю
Senior Rendering engineer C++ в 3D Карту — от 350 000 и до 400 000 ₽ Удалёнка/Гибрид (Санкт-Петербург, Москва)
C-разработчик (Storage) — от 350 000 и до 450 000 ₽ Удалёнка
Инженер-программист С++ — от 250 000 и до 300 000 ₽ Офис/Удалёнка (Москва)
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
Senior Rendering engineer C++ в 3D Карту — от 350 000 и до 400 000 ₽ Удалёнка/Гибрид (Санкт-Петербург, Москва)
C-разработчик (Storage) — от 350 000 и до 450 000 ₽ Удалёнка
Инженер-программист С++ — от 250 000 и до 300 000 ₽ Офис/Удалёнка (Москва)
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
❤2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
😢1
Тема:
Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены
В кружке Кирилл рассказал, какие именно подходы будем разбирать.
👉 Занять место на вебинаре
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1😁1
🔩 Vtable изнутри: что компилятор прячет за
Автор статьи разбирает внутреннее устройство виртуальных таблиц согласно
❗Ключевые моменты статьи:
• почему vptr указывает не на начало vtable, а со смещением
• как расположены записи в vtable при множественном и виртуальном наследовании
• что такое construction vtable (VTT) и когда она используется
Основной фокус — не просто «как работает virtual», а что происходит на уровне байтов и ассемблера, когда компилятор реализует динамическую диспетчеризацию.
Если вы когда-либо видели в стектрейсе
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#линкер_рекомендует
virtualАвтор статьи разбирает внутреннее устройство виртуальных таблиц согласно
Itanium C++ ABI — тому самому стандарту, которому следуют GCC и Clang на большинстве платформ.❗Ключевые моменты статьи:
• почему vptr указывает не на начало vtable, а со смещением
• как расположены записи в vtable при множественном и виртуальном наследовании
• что такое construction vtable (VTT) и когда она используется
Основной фокус — не просто «как работает virtual», а что происходит на уровне байтов и ассемблера, когда компилятор реализует динамическую диспетчеризацию.
Если вы когда-либо видели в стектрейсе
vtable for ClassName и не понимали, что это — самое время разобраться.👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#линкер_рекомендует
👍9❤1
Forwarded from Библиотека питониста | Python, Django, Flask
🌳 Деревья в алгоритмах — быстрый гайд по иерархическим структурам
Деревья — одна из самых частых тем на собеседованиях и в реальных системах.
Если понять базу, закрывается огромный пласт задач.
👉 Что такое дерево:
Это структура данных, где элементы связаны иерархически: есть корень → ветки → листья.
Примеры из жизни:
— файловая система
— DOM в браузере
— организационные структуры
Базовые типы деревьев:
— Бинарное дерево — у каждого узла максимум 2 потомка
— Бинарное дерево поиска (BST) — слева меньше, справа больше
— Сбалансированные деревья (AVL, Red-Black) — держат высоту под контролем
— Trie — для строк и префиксов
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Деревья — одна из самых частых тем на собеседованиях и в реальных системах.
Если понять базу, закрывается огромный пласт задач.
👉 Что такое дерево:
Это структура данных, где элементы связаны иерархически: есть корень → ветки → листья.
Примеры из жизни:
— файловая система
— DOM в браузере
— организационные структуры
Базовые типы деревьев:
— Бинарное дерево — у каждого узла максимум 2 потомка
— Бинарное дерево поиска (BST) — слева меньше, справа больше
— Сбалансированные деревья (AVL, Red-Black) — держат высоту под контролем
— Trie — для строк и префиксов
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
👍7😁1
userver — асинхронный фреймворк для микросервисов и highload-систем, который используется в production внутри Яндекса и доступен в open source. Вышла версия 3.0 — с большим количеством прикладных улучшений для backend-разработки.
• Более 2500 изменений и доработок
• Chaotic — генерация однотипного кода по схемам данных
• userver easy — быстрый запуск микросервиса с возможностью дальнейшего масштабирования
• Улучшения по потреблению RAM и CPU
• Дополнительные инструменты диагностики и отказоустойчивости
Во многих C++ backend-проектах основные затраты времени уходят не на бизнес-логику, а на инфраструктурную обвязку: HTTP, базы данных, логирование, асинхронность, observability, graceful shutdown, retries, metrics.
Здесь это уже собрано в production-ready стек, который прошёл нагрузку в сервисах масштаба Яндекса.
Chaotic закрывает одну из самых затратных задач — поддержку boilerplate-кода вокруг DTO, схем и сериализации. А userver easy снижает порог запуска новых сервисов и ускоряет прототипирование без необходимости собирать каркас проекта с нуля.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#cpp #backend #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Адаптеры
std::views::* — главный инструментарий Ranges. Каждый из них создаёт новое «представление» существующих данных без копирования. Сегодня разберём views::filter.#include <ranges>
#include <vector>
namespace views = std::views;
std::vector<int> nums = {1, -2, 3, -4, 5, -6};
auto positives = nums | views::filter([](int x) { return x > 0; });
// Итерация даёт: 1, 3, 5
Ничего не копируется — positives это просто обёртка поверх
nums, которая позволяет удобно обрабатывать его элементы.auto is_even = [](int x) { return x % 2 == 0; };
auto result = nums
| views::filter([](int x) { return x > 0; }) // 1, 3, 5
| views::filter(is_even); // нет чётных → пустоФильтры можно комбинировать в произвольную цепочку. Вычисление происходит лениво — только в момент итерации.
Достаточно просто ограничить обработку только тех элементов, которые хотим обработать:
auto squares = nums
| views::filter([](int x) { return x > 0; })
| views::transform([](int x) { return x * x; });
// Итерация даёт: 1, 9, 25
View — это не контейнер. Чтобы получить
std::vector необходимо явно дать указание, что мы хотим привести результат к вектору:// C++23
auto vec = nums | views::filter(is_even)
| std::ranges::to<std::vector>();
// C++20
std::vector<int> vec(result.begin(), result.end());
Синтаксис в виде pipe удобе, но если необходимо (например, для шаблонов), то можно пользоваться диапазонами как типами/объетами. Обе записи идентичны:
auto v1 = nums | views::filter(is_even);
auto v2 = std::ranges::filter_view{nums, is_even};
// UB — вектор уничтожен после точки с запятой
auto bad = std::vector{1, 2, 3} | views::filter(is_even);
// Правильно — храните источник данных отдельно
std::vector<int> data = {1, 2, 3};
auto ok = data | views::filter(is_even);
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2❤1
🛠 Бесплатные курсы от MIT
Университеты дают алгоритмы, OS, компиляторы — но не учат пользоваться инструментами, с которыми разработчик проводит большую часть рабочего времени. MIT решили это исправить.
• Курс покрывает shell, профилирование, отладку, git и упаковку кода — всё то, что обычно осваивается методом тыка в первые годы работы.
• В версии 2026 добавлен модуль по agentic coding: как встраивать AI-инструменты в реальный рабочий процесс, не теряя контроль над кодом.
• Отдельный акцент на качестве кода — тема, которая в академической среде почти не появляется
• Лекции доступны на YouTube, материалы открыты, есть переводы на 17 языков включая русский.
🍬 The Missing Semester of Your CS Education (eng)
🍬 Пропущенный семестр курса по компьютерным наукам (рус)
✏️ Что из этого списка вы осваивали самостоятельно, а не на работе или учёбе?
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Университеты дают алгоритмы, OS, компиляторы — но не учат пользоваться инструментами, с которыми разработчик проводит большую часть рабочего времени. MIT решили это исправить.
• Курс покрывает shell, профилирование, отладку, git и упаковку кода — всё то, что обычно осваивается методом тыка в первые годы работы.
• В версии 2026 добавлен модуль по agentic coding: как встраивать AI-инструменты в реальный рабочий процесс, не теряя контроль над кодом.
• Отдельный акцент на качестве кода — тема, которая в академической среде почти не появляется
• Лекции доступны на YouTube, материалы открыты, есть переводы на 17 языков включая русский.
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2😁1
#include <ranges>
#include <vector>
void process(const auto& view) {
for (auto x : view) { (void)x; }
}
int main() {
std::vector<int> data = { 1, 2, 3, 4, 5 };
auto pred = [](int x) {
return x % 2 == 0;
};
auto filtered = data | std::views::filter(pred);
process(filtered); // ❌ не компилируется
}
Объясни механизм: почему
begin() const невозможен в принципе, а не по недосмотру комитета.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🔥 База по ИИ-агентам от научного сотрудника Сколтеха и НИУ ВШЭ
Знакомьтесь, Екатерина Трофимова. Кандидат компьютерных наук, ресерчер в Центре ИИ Сколтеха и лаборатории LAMBDA. Она объединяет глубокую академическую экспертизу и практику: знает, как ИИ-системы устроены «под капотом» и как встроить их в реальные проекты (в т.ч. для Т-банка).
Мы попросили Екатерину собрать список мастхев материалов для тех, кто хочет проектировать агентов в проде. Сохраняйте список.
🛠 Стек и фреймворки:
DSPy — алгоритмическая оптимизация промптов (вместо ручного подбора слов).
Semantic Kernel и LangMem — инструменты для управления сессионной и долгосрочной памятью.
MCP (Model Context Protocol) — новый стандарт от Anthropic для подключения агентов к вашим БД и локальным файлам.
📖 Документация, которую нужно знать:
Anthropic Prompt Caching — как кэшировать контекст и радикально резать косты на API.
OpenAI Agents SDK / Cookbook — лучшие практики работы с памятью.
Augment — платформа для оптимизации работы ИИ-агентов и контроля токенов.
🔬 Хардкорные статьи и препринты (на выходные):
Lost in the Middle — почему LLM «слепнут» на длинных текстах и забывают середину контекста.
How Do Coding Agents Spend Your Money? — куда улетает бюджет при работе автономных кодинг-агентов.
MemGPT — архитектура операционной системы для LLM с иллюзией бесконечной памяти.
InjecAgent / AgentSentry — всё о безопасности и защите агентов от инъекций в промпты.
Екатерина Трофимова — один из ключевых экспертов нашего курса AgentOps. На своих лекциях она детально разбирает, как проектировать инструменты для агентов, как агент принимает решения о вызове инструментов и какие ограничения возникают в реальном проде
🎁 Акция в честь старта продаж!
Прямо сейчас при покупке Инженерного трека вы получаете полный доступ к материалам курса «Разработка ИИ-агентов» в подарок.
👉 Забрать 2 курса по цене 1 и начать обучение
Знакомьтесь, Екатерина Трофимова. Кандидат компьютерных наук, ресерчер в Центре ИИ Сколтеха и лаборатории LAMBDA. Она объединяет глубокую академическую экспертизу и практику: знает, как ИИ-системы устроены «под капотом» и как встроить их в реальные проекты (в т.ч. для Т-банка).
Мы попросили Екатерину собрать список мастхев материалов для тех, кто хочет проектировать агентов в проде. Сохраняйте список.
🛠 Стек и фреймворки:
DSPy — алгоритмическая оптимизация промптов (вместо ручного подбора слов).
Semantic Kernel и LangMem — инструменты для управления сессионной и долгосрочной памятью.
MCP (Model Context Protocol) — новый стандарт от Anthropic для подключения агентов к вашим БД и локальным файлам.
📖 Документация, которую нужно знать:
Anthropic Prompt Caching — как кэшировать контекст и радикально резать косты на API.
OpenAI Agents SDK / Cookbook — лучшие практики работы с памятью.
Augment — платформа для оптимизации работы ИИ-агентов и контроля токенов.
🔬 Хардкорные статьи и препринты (на выходные):
Lost in the Middle — почему LLM «слепнут» на длинных текстах и забывают середину контекста.
How Do Coding Agents Spend Your Money? — куда улетает бюджет при работе автономных кодинг-агентов.
MemGPT — архитектура операционной системы для LLM с иллюзией бесконечной памяти.
InjecAgent / AgentSentry — всё о безопасности и защите агентов от инъекций в промпты.
Екатерина Трофимова — один из ключевых экспертов нашего курса AgentOps. На своих лекциях она детально разбирает, как проектировать инструменты для агентов, как агент принимает решения о вызове инструментов и какие ограничения возникают в реальном проде
🎁 Акция в честь старта продаж!
Прямо сейчас при покупке Инженерного трека вы получаете полный доступ к материалам курса «Разработка ИИ-агентов» в подарок.
👉 Забрать 2 курса по цене 1 и начать обучение
👍1😁1