Библиотека собеса по C++ | вопросы с собеседований
Ir al canal en Telegram
Вопросы с собеседований по C++ и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/9ccf302b Для обратной связи: @proglibrary_feeedback_bot
Mostrar más4 595
Suscriptores
-224 horas
-27 días
-3130 días
Archivo de publicaciones
🤖 Диапазоны значений в case
В GCC есть расширение, позволяющее использовать диапазоны в конструкции switch-case
Это бывает удобно когда можно проверяемое значение привести к числовому. Так не придется писать двойные проверки в конструкции if
💡 Как вы думаете про что принцип Open-closed principle (SOLID)?
❗Свой вариант можете написать в комментариях
Описание
• ПО должно быть открыто для расширения, но закрыто для модификации
• Мы должны легко уметь от наследоваться от какого-то класса, но при этом наше наследование не должно изменять поведение оригинального класса
• Если всё-таки хотим поменять, то меняем в наследнике
💈 Для чего нужна библиотека limits.h?
limits.h — это файл, включаемый в стандартную библиотеку языка программирования Си, который содержит определения характеристик общих типов переменных. Эти значения могут различаться в зависимости от конкретной реализации, но обычно они не меньше диапазона, определенного для конечного представления
🍎Сюда входят максимальные и минимальные значения для основных типов
🍍Особенно часто в коде встречаются INT_MIN, INT_MAX
👉 Дока
Грокаем С++ - канал, который поможет вам стать настоящим профи и глубоко шарить в плюсах.
Там два сеньора простыми словами разбирают:
- Ответы на вопросы с собеседований
- Фишки новых стандартов
- Нюансы метапрограммирования
- ответы на нестандартные вопросы типа: «Что будет, если за раз попытаться выделить 100ГБ памяти?» или «Как вызвать метод объекта через обычный указатель?»
Присоединяйтесь к самому дважды положительному и уютному коммьюнити в мире плюсов и всего за 10 минут в день вы очень скоро поймете самые сложные языковые концепции.
@grokaem_cpp
Реклама. Тройняков Владимир Дмитриевич, ИНН 110121811411. Erid 2VtzqvNxmsV
💣 Лучшие книги по C++ для начинающих и продолжающих: ваши рекомендации
❗Мы ищем лучшие книги (ru, en) по C++, которые помогут как начинающим программистам, делающим свои первые шаги в мире программирования, так и продолжающим программистам, желающим углубить свои знания и перейти на следующий уровень мастерства
❗Мы также хотели бы узнать, почему именно эти книги вы бы порекомендовали. Расскажите, чем они выделяются среди других, какие сильные стороны у этих книг, и как они помогли вам в вашем профессиональном развитии. Ваши обоснования помогут другим программистам принять решение о том, какую книгу выбрать для дальнейшего обучения
😏👉 Опросик
🍰 Зачем нужен std::atomic?
std::atomic — это шаблон для реализации атомарных операций
💡Для std::atomic существуют стандартные алиасы
• std::atomic_bool == std::atomic<bool>
• std::atomic_char == std::atomic<char>
• std::atomic_int == std::atomic<int>
• и т. д.
❗Полученный из std::atomic объект можно безопасно использоваться из нескольких потоков, не задумываясь о синхронизации
🦾 Ты круто кодишь на С++, really?
Попробуй пройти тест наш по C++ и проверь подходит ли тебе наш курс
Ответишь — пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса.
👉 ПРОЙТИ ТЕСТ: https://otus.pw/Kf54/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 Erid 2VtzqxTGLf8🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🧨Что такое align(...)?
align(...) — расширение языка, которая задает выравнивание структуры и её элементов
❗ Число в align задаёт выравнивание в байтах и может принимать значения от 1 до 8192
‼️ Начиная с C++11 появилось ключевое слово alignas, работает также, но в отличие от align входит в стандарт языка
💡 Зачем нужен __func__?
__func__ — идентификатор, появившийся ещё в C99. Содержит имя функции в скопе которой находится идентификатор
🧨 Принцип единственной обязанности
Принцип единственной обязанности (Single Responsibility Principle) — первый из SOLID принципов
💡 Формулировка
- У вас должна быть только одна причина, чтобы поменять класс
- Основной причиной для изменения класса это появление новых требований. Это ведёт к изменению ответственности
- Следуя этому принципу класс не должен иметь больше одной ответственности. Это уменьшит вероятность нарушения логики приложения
❗Главной идеей данного принципа — это то, что если мы что-то поменяли в одном месте, то мы не хотим чтобы что-то сломалось в другом месте
🧨 Принципы SOLID
Принципы SOLID — в отличие от шаблонов проектирование GoF это правила, которым удобно следовать при разработке для улучшения структуры кода, облегчения возможности поддержки и развития нового функционала
💡В SOLID входит шесть принципов, по одному на каждую букву
- Single Responsibility Principle (Принцип единственной обязанности)
- Open/Closed Principle (Принцип открытости/закрытости)
- Liskov Substitution Principle (Принцип подстановки Лисков)
- Interface Segregation Principle (Принцип разделения интерфейсов)
- Dependency Inversion Principle (Принцип инверсии зависимостей)
#solid
❓ Хотите познакомиться с разработкой на Unreal Engine 5 и попробовать себя в роли разработчика игр?
Отус приглашает 10 апреля в 20:00 по мск на бесплатный вебинар по созданию игрового шутера на Unreal Engine 5 «Создаём шутер от первого лица на Unreal Engine 5. Создание проекта, игровой сцены, игровые ассеты и анимации»!
Вебинар является бесплатной частью полноценного онлайн-курса «Unreal Engine Game Developer. Basic».
На вебинаре вы вместе с опытным экспертом:
✅ создадите проект и игровую сцену;
✅ импортируете игровые ассеты и анимации для вашего шутера;
✅ подготовите UI: уровень здоровья и боеприпасов.
➡ Регистрация на вебинар: https://otus.pw/ToRX/
Основные темы открытого урока:
- Создание уровня игры
- Импорт моделей и анимаций
- Настройка анимаций
- Создание простейшего UI
✨ Не переживайте, если вы пропустили первый вебинар, после регистрации на второй, вам будет доступна запись первого вебинара, которую вы сможете посмотреть на странице курса.
После вебинара вы сможете продолжить обучение на специальных условиях и получить видеокурс по программированию на С++ в подарок.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
💡Блок инициализации в цикле for
В стандарте C++20 было добавлен блок инициализации переменных для цикла foreach
❗С помощью этого можно сделать код более читаемым
❗Также можно ограничить время жизни переменных только циклом. Это особо полезно если используем разделяемые ресурсы
Яндекс открыл регистрацию в бесплатную летнюю Школу бэкенд-разработки
Студентов, желающих получить новые знания в области бэкенда, научат тонкостям написания кода для высоконагруженных веб‑сервисов, навыкам эксплуатации сложных систем.
Для поступления в Школу бэкенд разработки понадобится база по алгоритмам и структурам данных, умение писать читаемый код и находить баги, а также знание одного из языков — Python, Java или C++. Все это пригодится на отборе во время решения заданий Контеста и технического интервью.
Участников, успешно прошедших отбор, ждет двухэтапное обучение онлайн и офлайн. Очный этап пройдет в офисах Яндекса в Москве и Санкт-Петербурге. Иногородним ученикам оплатят проезд и проживание, а лучшие студенты первого этапа попадут на оплачиваемую практику в новом формате — Лаборатории.
Изучайте материалы для подготовки. Регистрация в школу и рассылка тестовых заданий уже началась.
💡 Можно ли вызвать delete this?
❗Ответ
Да, можно. В основном это делается, если деструктор приватный и другого способа уничтожить объект нет. В остальных же случаях, при двойном вызове delete на одном и том же указателе будет undefined behavior
Ждём тебя на OneDayOffer 20 апреля — где ты можешь получить предложение о работе от SberAutoTech. Присоединяйся к проекту по разработке технологии автономного вождения и строй будущее беспилотного транспорта с нами.
Мы ищем талантливых системных аналитиков и С++ разработчиков, готовых к вызовам! Пройди все этапы собеседования за один день и получи предложение о работе.
Заполни форму, выполни тестовое задание и получи приглашение на онлайн-мероприятие.
Твоя карьера может измениться уже сегодня! Узнай больше по ссылке.
👩💻 Изучите Контейнеры STL для профессиональной разработки на С++
Ждём вас на бесплатном практическом уроке от OTUS.
Стандартная библиотека C++ предоставляет набор контейнеров данных для большинства сценариев хранения, преобразования и индексирования. На вебинаре рассмотрим устройство и подход выбора используемых контейнеров.
Встречаемся 11 апреля в 20:00 мск в рамках курса «C++ Developer. Professional». Доступна рассрочка на обучение!
➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/Qpk4/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 Erid 2VtzquWeaucКакой из следующих типов поддерживается C++, но не C?
