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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #argument #function #parameter
🤔 Что такое аргумент (argument) в C?

💬 Кратко:

Аргумент — это значение, передаваемое в функцию при её вызове. В объявлении функции параметры записываются в скобках, а аргументы передаются при вызове функции.

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

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

💬 Кратко:

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #docker #entrypoint #caching
🤔 Какие типовые проблемы возникают при работе с Docker?

💬 Кратко:

Типичные проблемы — большие образы, утечки ресурсов, ошибки в Dockerfile, проблемы с кэшированием, конфликт портов, неправильная работа томов и зависимость от окружения. Также нередко возникают сложности с безопасностью.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #кибербезопасность
📚 Структурированный 90-дневный план обучения кибербезопасности предназначенный для начинающих специалистов

План обучения, разделённый на ежедневные задания, охватывающие ключевые темы

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤝1
#Собес #segmentation_fault #gdb #debugger
🤔 Как устранить ошибку сегментации (segmentation fault) в C++?

💬 Кратко:

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤2👍1
#Собес #mutex #synchronization #semaphore
🤔 В чем отличие Mutex от других примитивов синхронизации?

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #OpenTelemetry #tracing #distributed_tracing
🤔 Что такое OpenTelemetry / tracing?

💬 Кратко:
OpenTelemetry — это открытый стандарт и набор инструментов для сбора телеметрии (логов, метрик, трассировок) из приложений. Трассировка (tracing) — это метод отслеживания пути запроса через распределённую систему, где каждый этап представлен как "span" (пролёт). Это помогает понять, где возникают задержки или ошибки в микросервисной архитектуре. OpenTelemetry предоставляет единый API и SDK для инструментирования кода и агентов для экспорта данных в системы мониторинга.

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

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

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

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

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

💬 Кратко:

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤2👍1💯1
#Собес #macro #define #preprocessor
🤔 Что такое макросы (macros) в C?

💬 Кратко:

Макросы – это именованные фрагменты кода, заменяемые при компиляции. Они определяются с помощью #define и бывают двух типов:

- Объектоподобные (#define PI 3.14)
- Функциональные (#define MAX(a, b) ((a) > (b) ? (a) : (b)))

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1👍1
#Собес #database #sql
🤔 Какие существуют типы баз данных (SQL / NoSQL) и как выбирать подходящую для игры?

💬 Кратко:

SQL и NoSQL — это два основных типа баз данных. SQL базы используют строгую структуру и таблицы, а NoSQL — более гибкие форматы хранения. Для игр с чёткой схемой данных хорошо подходит SQL. Для быстро меняющихся или масштабируемых данных чаще выбирают NoSQL. Выбор зависит от нагрузки, структуры данных и требований к масштабированию.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#video #архитектура
📚 Road to Highload: видеопроект о проектировании архитектуры высоконагруженных систем

Инженеры Яндекс 360 накопили значительный опыт в проектировании и разработке систем, которыми ежедневно пользуются больше 95 миллионов человек ежемесячно.

В этом видеопроекте разработчики на практических примерах рассказывают, как создают архитектуру систем, которые держат 1 000 000 RPS и хранят петабайты мета-данных.

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

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

💬 Кратко:

Вектора в C++ — это динамические структуры данных, которые могут изменять свой размер, в то время как массивы имеют фиксированный размер, определяемый при их создании.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤡2
#Собес #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() — это точка входа программы.

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

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