TGViewer
Channel Public Channel
C/C++ Development | YeaHub

C/C++ Development | YeaHub

@yeahub_c_development

Теория, подготовка к интервью и курсы для C/C++ разработчиков

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

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

Для связи: @ruslan_kuyanets
Subscribers
743
Photos
280
Videos
56
Links
547

Showing posts older than #585 · Back to latest

Older Posts 20 shown
Post #584 153
#Собес #flowchart #algorithm #visualization
🤔 Что такое блок-схема в C?

💬 Кратко:

Блок-схема — это графическое представление алгоритма, которое используется для проектирования и планирования программ. В ней применяются стандартные символы, такие как прямоугольники (операции), ромбы (условия) и стрелки (поток выполнения). Такой подход помогает визуализировать логику программы перед её написанием.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
  • ❤ 1
Post #583 148
#Собес #vtable #virtual_table #C++
🤔 Что такое vtable?

💬 Кратко:
Vtable (виртуальная таблица) — это внутренняя структура данных, которую компилятор C++ создаёт для каждого класса, содержащего виртуальные функции. Она представляет собой массив указателей на эти функции. При вызове виртуального метода через указатель или ссылку на базовый класс, программа ищет нужный адрес функции в vtable объекта и выполняет косвенный вызов. Это позволяет реализовать полиморфизм, когда один и тот же код может работать с объектами разных производных классов.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #582 168
#article #oop
📚 ООП не мертво. Вы просто пользуетесь им как молотком по клавиатуре

Автор опровергает утверждения о «смерти» объектно-ориентированного программирования (ООП), подчеркивая, что ООП — это не сухой набор паттернов из учебников, а инженерный подход к организации кода, который помогает управлять изменениями и зависимостями в больших проектах. Он объясняет, что частые проблемы, приписываемые ООП (избыточные интерфейсы, сложность DI, неправильные примеры в книгах), возникают не из-за самой парадигмы, а из-за неправильного её применения, и что ООП остаётся полезным инструментом там, где важно инкапсулировать состояние и поведение в понятные сущности.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #581 141
#Собес #urlsession #networking
🤔 Какие способы работы с сетью используются в iOS?

💬 Кратко:

Основной способ работы с сетью в iOS — это URLSession. Также используются сторонние библиотеки, такие как Alamofire. Для WebSocket-соединений применяются специализированные решения. В современных проектах активно используется Swift Concurrency. Выбор подхода зависит от сложности и требований проекта.

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

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

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #579 143
#Собес #stack #lifo #push
🤔 Что такое стек (stack) в C?

💬 Кратко:

Стек — это структура данных, работающая по принципу LIFO (Last In, First Out), что означает, что последний добавленный элемент удаляется первым. Доступ к элементам возможен только с вершины стека. Основные операции:

- push() — добавление элемента в стек.
- pop() — удаление элемента из стека.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #578 156
#article #strings #codedesign
📚 Зоопарк строк в вашем C++ коде?

Автор подробно и с метафорами объясняет эволюцию различных способов работы со строками в языке C++ — от простейших C-строк (char* и массивов), через std::string и std::string_view, до более специализированных типов вроде std::pmr::string и строк из сторонних библиотек (например, Qt или NSString). Через примеры и аналогии с животными он показывает, как разные подходы решают разные задачи, какие проблемы возникают (копирования, владение памятью, совместимость) и как исторические причины породили настоящий «зоопарк» строковых типов в экосистеме C++.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #577 139
#Собес #two_phase_commit #distributed_transaction
🤔 Почему «отправка в брокер до коммита» не решает транзакционность с двумя очередями?

💬 Кратко:

С двумя независимыми очередями вы упираетесь в проблему двойной записи и отсутствие атомарности между БД и обоими брокерами. Без 2PC (дорого/редко доступно) единственный практичный путь — Outbox + идемпотентные публикации.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #576 152
#Собес #inline_optimization #compiler #stack
🤔 Что такое инлайн-оптимизация компилятора? В какой момент она происходит и как влияет на расположение переменных (стек/куча)?

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #575 150
#Собес #indirection #pointer_dereference #memory_access
🤔 Что такое индирекция и является ли переход по указателю бесплатной операцией?

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

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

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

Онлайн-платформа программирования, которая позволяет учащимся осваивать программирование с помощью структурированных курсов, тысяч практических задач и регулярных конкурсов

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #573 155
#Собес #transaction #ACID #commit
🤔 Как происходит запись данных в базу данных в рамках транзакции?

💬 Кратко:
Транзакция — это группа операций записи, которые выполняются как единое целое. Сначала изменения временно фиксируются в памяти или журнале. Если все операции успешны, выполняется COMMIT, и данные сохраняются. При ошибке выполняется ROLLBACK, отменяющий все изменения.

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

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

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

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

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

💬 Кратко:

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

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

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

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

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

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

💬 Кратко:

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

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

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

💬 Кратко:

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

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

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

💬 Кратко:

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

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

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

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

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

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

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

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →