C/C++ Development | YeaHub
742 subscribers
280 photos
56 videos
1 file
548 links
Теория, подготовка к интервью и курсы для C/C++ разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #multithreading #mutable_state #thread_safety
🤔 Почему изменяемые поля класса создают проблемы в многопоточности?

💬 Кратко:
Изменяемые поля класса создают проблемы в многопоточности, потому что несколько потоков могут одновременно читать и изменять одно и то же поле, приводя к состоянию гонки. Это означает, что конечное значение поля зависит от порядка выполнения потоков, что делает результат непредсказуемым. Например, если два потока инкрементируют один и тот же счётчик, некоторые инкременты могут быть потеряны. Для решения этой проблемы необходимо использовать механизмы синхронизации, такие как блокировки или атомарные операции.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #cache #cache_eviction #cache_policy
🤔 Какие политики очистки кэша существуют?

💬 Кратко:
Политики очистки кэша (eviction policies) определяют, какие данные удалить из кэша при его заполнении. LRU (Least Recently Used) удаляет данные, к которым дольше всего не обращались. FIFO (First In, First Out) удаляет самые старые записи по времени добавления. LFU (Least Frequently Used) удаляет данные с наименьшим количеством обращений. TTL (Time To Live) удаляет записи по истечении заданного времени. Выбор политики зависит от паттерна доступа к данным.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #практика
📚 Coddy

Платформа-задачник по популярным языкам. Все по классике: редактор кода+учебный материал+задания. Рассчитан на новичков и достаточно много бесплатных уровней

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #stack #heap #memory_management
🤔 Как отличается время жизни объектов в стеке и куче?

💬 Кратко:
Стек хранит локальные переменные и данные с коротким временем жизни, которые автоматически удаляются при выходе из области видимости. Куча используется для динамического выделения памяти, где объекты живут до явного освобождения или сборки мусора. Стек быстрее, но ограничен по размеру, а куча гибче, но медленнее.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #static_array #dynamic_array #memory_allocation
🤔 Чем отличается статический массив от динамического?

💬 Кратко:
Статический массив имеет фиксированный размер, который определяется на этапе компиляции и не может быть изменён во время выполнения программы. Динамический массив (например, вектор в C++ или список в Python) может изменять свой размер в процессе работы программы, выделяя и освобождая память по мере необходимости. Использование статических массивов проще и быстрее, но менее гибко, тогда как динамические массивы удобны, когда размер данных заранее неизвестен.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #graceful_shutdown #FastAPI #Kubernetes
🤔 Как организовать graceful shutdown FastAPI-сервиса в Kubernetes?

💬 Кратко:
Graceful shutdown — это процесс корректного завершения работы сервиса, при котором он перестаёт принимать новые запросы, завершает обработку текущих и закрывает соединения. В Kubernetes это достигается обработкой сигнала SIGTERM, который посылается поду при его остановке. FastAPI на Uvicorn поддерживает graceful shutdown по умолчанию, но для сложных сценариев (например, закрытие соединений с БД) требуется дополнительная логика.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #cpproadmap #книги #курсы
📚 CppRoadmap

Кураторский список ресурсов по C++: книги, курсы, фреймворки, библиотеки, документация и полезные инструменты. Включает разделы по современным стандартам, паттернам проектирования, идиомам языка и онлайн-компиляторам. Подходит для структурированного изучения и углубления в тему.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #main #compilation #execution
🤔 Скомпилируется ли программа на C без функции main()? Что насчёт её выполнения?

💬 Кратко:

Программа на C может быть скомпилирована без функции main(), но она не будет выполняться, так как main() — это точка входа программы.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #control_statement #branching #looping
🤔 Что такое управляющие операторы в C?


💬 Кратко:

Управляющие операторы (control statements) в C определяют, какие части кода будут выполняться и в каком порядке. Существует два основных типа управления потоком:

- Разветвления (branching) – выбор между разными действиями (if, switch).
- Циклы (looping) – повторение действий (for, while, do-while).

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #real #time #system
🤔 Какие backend-требования критичны для систем реального времени?

💬 Кратко:

Системы реального времени требуют предсказуемых задержек и стабильного времени отклика. Для них критична низкая latency, отказоустойчивость и контроль нагрузки. Backend должен корректно работать при пиках событий и частичных сбоях. Асинхронность и минимизация блокировок играют ключевую роль. Непредсказуемые операции, такие как долгие транзакции или синхронные вызовы, недопустимы.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#course #ии
📚 Мини-курс о применении ИИ в разработке

Он рассчитан на начинающих, пройти его можно всего за час. Конспекты доступны на русском языке

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #stl #containers #algorithms
🤔 Что такое STL в C++?

💬 Кратко:

STL (Standard Template Library) — это мощная библиотека в C++ для работы с последовательностями данных, которая включает контейнеры, алгоритмы и итераторы.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #third #party #integration
🤔 Как решить задачу интеграции third-party сервиса (например, Facebook) на уровне проектирования и релиза? Какие технические сложности могут возникнуть?

💬 Кратко:

На уровне проектирования нужно использовать абстракцию (как в вопросе 1), чтобы изолировать код сервиса от основной логики игры. На уровне релиза интеграцию следует вести в отдельной feature-ветке, а вливать в основную ветку только после тщательного тестирования. Основные сложности: нестабильность SDK, различия в работе на разных платформах (Android/iOS), необходимость ручной настройки (например, в Xcode или AndroidManifest), конфликты версий библиотек и возможное падение производительности.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #idempotency #duplicate_request #client
🤔 Где происходит обработка дублирующих запросов — на клиенте или сервере?

💬 Кратко:
Обработка дублирующих запросов должна происходить на сервере. Клиент может отправлять повторные запросы, но только сервер может гарантировать идемпотентность, то есть что повторная обработка не изменит состояние системы. Это защищает от ошибок сети, таймаутов и повторных нажатий кнопок.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#course #начинающие
📚 Learn C++

Этот ресурс на английском мне нравится тем, что все темы чётĸо струĸтурированы и видны с заглавной страницы. Есть и теория, и праĸтиĸа — всё вводим ручĸами и ĸомпилируем где-то у себя. Обновления — тоже есть. Слева ĸолонĸа поĸазывает всё, что пересмотрели, и это здорово

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #loop #for #while
🤔 Что такое цикл (loop) в C?

💬 Кратко:

Цикл в C — это конструкция, позволяющая повторять выполнение кода, пока выполняется заданное условие. В C есть три основных типа циклов:

- for — используется, когда известно количество итераций.
- while — выполняется, пока условие истинно.
- do while — выполняется хотя бы один раз, затем проверяет условие.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #type_casting #implicit_conversion #explicit_conversion
🤔 Что такое приведение типов (type casting) в C?

💬 Кратко:

Приведение типов (type casting) – это преобразование переменной из одного типа в другой. Оно бывает неявным и явным.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #pipeline #build
🤔 Работал ли ты с CI/CD пайплайнами?

💬 Кратко:

CI/CD — это подход к автоматизации сборки, тестирования и деплоя приложений. CI отвечает за частую интеграцию кода и проверки. CD автоматизирует доставку и развертывание. Пайплайн состоит из последовательных шагов. Это снижает количество ошибок и ускоряет релизы.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #book
📚 Страуструп Б. - Язык программирования С++. Специальное издание, 2019

Книга написана Бьерном Страуструпом - автором языка программирования C++ - и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный объектно-ориентированный подход к созданию программных продуктов.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #adapter #pattern
🤔 Как называется паттерн проектирования, когда создается абстракция над разными сущностями, которые по смыслу одинаковые, но имеют разные поля?

💬 Кратко:

Скорее всего, речь идет о паттерне Адаптер (Adapter). Он позволяет объектам с несовместимыми интерфейсами работать вместе. Адаптер "оборачивает" один из объектов, преобразуя его интерфейс в тот, который ожидает другой объект. Это как переходник для розетки, который позволяет вилке одного стандарта работать с розеткой другого.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #race_condition #thread_safety #mutex
🤔 Как исправить проблему гонки потоков в счетчике?

💬 Кратко:
Проблема гонки потоков возникает, когда несколько потоков одновременно читают и изменяют общую переменную, например, счётчик, без синхронизации. Это может привести к потере обновлений и некорректному итоговому значению. Для исправления нужно обеспечить атомарность операций над счётчиком, используя мьютексы для блокировки доступа или атомарные типы данных, которые гарантируют выполнение операций чтения-модификации-записи как единого целого.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа