Библиотека собеса по C++ | вопросы с собеседований
Open in Telegram
Вопросы с собеседований по C++ и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/9ccf302b Для обратной связи: @proglibrary_feeedback_bot
Show more5 457
Subscribers
-324 hours
+117 days
-1830 days
Posts Archive
😞 Для чего нужна using?
using Func = int(); — это объявление псевдонима типа в C++ с использованием ключевого слова using. Оно определяет псевдоним Func как тип функции, которая не принимает никаких аргументов и возвращает int.
❗️ using — современный способ создания псевдонимов типов, введённый в стандарте C++11. Это альтернатива старому синтаксису с typedef.
Подготовься к собеседованию на позицию Data Scientist!
Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование?
Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению:
1. Внешнее и тензорное произведение
2. One-hot кодировка
3. Мониторинг осадков
4. Симуляция бросков кубиков в «Монополии»
5. Бурение скважин для добычи золота
6. Вычисление свертки
7. Бэктестинг торговой стратегии
8. Прогноз оттока клиентов с помощью логистической регрессии
9. Обнаружение спама с использованием дерева решений
10. Предсказание цен на квартиры с помощью линейной регрессии
Чтобы начать решать задачи, достаточно ответить на четыре простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Математика для Data Science и 10 задачам.
Почему использование std::endl может быть менее эффективным, чем \n в некоторых случаях?
Всё дело в буферизации вывода
- std::endl не только добавляет символ новой строки (\n) в поток, но и явно сбрасывает (flushes) буфер вывода. Это означает, что данные из буфера немедленно отправляются в устройство вывода (например, на экран или в файл).
- \n, напротив, просто добавляет символ новой строки в поток без принудительного сброса буфера. Буферизация остаётся управляемой самой стандартной библиотекой, и данные выводятся только тогда, когда буфер заполняется или программа явно вызывает std::flush.
#include <iostream>
#include <chrono>
int main() {
auto start = std::chrono::high_resolution_clock::now();
for (int i = 0; i < 10000; ++i) {
std::cout << "Hello, World!" << std::endl; // Принудительный сброс после каждой строки
}
auto middle = std::chrono::high_resolution_clock::now();
for (int i = 0; i < 10000; ++i) {
std::cout << "Hello, World!\n"; // Буферизация, меньше операций I/O
}
auto end = std::chrono::high_resolution_clock::now();
std::cout << "Time with std::endl: "
<< std::chrono::duration_cast<std::chrono::milliseconds>(middle - start).count()
<< " ms\n";
std::cout << "Time with \\n: "
<< std::chrono::duration_cast<std::chrono::milliseconds>(end - middle).count()
<< " ms\n";
return 0;
}
В результате выполния кода будет заметно, что время вывода с \n будет меньше.👍Узнайте, как создавать приложения на Си с GUI грамотно!
На бесплатном уроке онлайн-курса «Программист С» — «Создаем приложение на С с графическим интерфейсом пользователя»: регистрация
Приложения на Си с GUI сочетают в себе высокий уровень контроля над ресурсами системы с богатым пользовательским интерфейсом, что обеспечивает высокую производительность, гибкость, кроссплатформенность, эффективность взаимодействия с системным окружением.
На бесплатном вебинаре рассмотрим:
- Основные технологии создания приложения с GUI
- Обзор библиотеки GTK+ для создания GUI на языке С
- Разработаем простое приложения для работы с базой данных на GTK+
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Repost from Библиотека C/C++ разработчика | cpp, boost, qt
Вторая часть рассказа про получение высшего образования в сфере разработки видеоигр. Еще больше подробностей о процессе обучения, разработке студенческих проектов, защите дипломных работ и ответе на главный вопрос: «А стоило ли оно того?»
👉 Статья
В видео рассматриваются принципы объектно-ориентированного программирования (ООП) — абстракцию, наследование, инкапсуляцию и полиморфизм — используя популярную игру Factorio в качестве наглядного примера.
В видео вы узнайте, как абстракция помогает упрощать сложные системы, наследование позволяет расширять функциональность, инкапсуляция обеспечивает безопасность и порядок, а полиморфизм предоставляет гибкость в использовании компонентов. Это видео станет отличным ресурсом как для любителей Factorio, так и для тех, кто хочет глубже понять ООП через интересные и доступные примеры.
👉 Видео
В видео рассматриваются принципы объектно-ориентированного программирования (ООП) — абстракцию, наследование, инкапсуляцию и полиморфизм — используя популярную игру Factorio в качестве наглядного примера.
В видео вы узнайте, как абстракция помогает упрощать сложные системы, наследование позволяет расширять функциональность, инкапсуляция обеспечивает безопасность и порядок, а полиморфизм предоставляет гибкость в использовании компонентов. Это видео станет отличным ресурсом как для любителей Factorio, так и для тех, кто хочет глубже понять ООП через интересные и доступные примеры.
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2024 ГОДУ? 🚀
Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!
👉 Стартуем 11 декабря.
Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.
Ты научишься:
✅ Разбивать приложение на слои в соответствии с Clean Architecture
✅ Формировать Domain Model и применять тактические паттерны DDD
✅ Реализовывать Use Case как Command/Query
✅ Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения
✅ Писать 3 вида тестов для разных слоев приложения
Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqw84rvt&utm_campaign=6
А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.
А еще:
✅ Проверим все домашки
✅ Поддержим в чате
✅ Проведем живые разборы
✅ Ответим на все вопросы
📕 Сертификат об участии по итогам прохождения курса.
🔥 Не откладывай свой рост на потом
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2Vtzqw84rvt
Что нужно сделать, чтобы приведение работало адекватно (b == 42.0)?
Существует мнение, что высшего образования в сфере разработки игр в России нет, но это не так. В этой большой статье я подробно и честно расскажу о своем опыте обучения на разработчика игр в одном из московских университетов.
👉 Статья
Repost from Библиотека Go-разработчика | Golang
📈 Кадровый голод в IT: почему компании готовы платить на 13% больше
Несмотря на экономическую нестабильность и сокращения в некоторых секторах, компании готовы платить рекордные зарплаты, чтобы привлечь и удержать талантливых специалистов. В статье, по ссылке ниже, мы разбираемся, почему в IT наблюдается дефицит кадров, какие навыки сейчас востребованы, и как работодатели борются за внимание лучших профессионалов, предлагая условия, о которых еще недавно можно было только мечтать.
Если вам интересно, как кадровый рынок в IT адаптируется к новым вызовам, и что это значит для вас как для разработчика или работодателя, читайте дальше!
📎 Читать статью
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
😒 Что такое дополнительный код?
Дополнительный код — это способ представления отрицательных чисел в компьютерах, который используется для упрощения операций с ними.
В основе лежит принцип, где отрицательное число представляется как его модуль, инвертированный побитово, и к результату добавляется единица.
Например, в 8-битной системе число -5 в дополнительном коде выглядит как
5 = 0b00000101
~5 = 0b11111010
-5 = 0b11111011.
Этот подход позволяет использовать одни и те же алгоритмы для сложения и вычитания, устраняя необходимость раздельной обработки знаков чисел.
❗Дополнительный код делает арифметику в компьютерах эффективнее и быстрее, поэтому он стал стандартом практически во всех современных архитектурах.
💼🔀 «Хочу уволиться, но боюсь»: что делать
«Завтра напишу заявление об увольнении» — фраза, которую многие повторяют каждый понедельник, но так и не решаются на перемены. Сегодня поговорим о том, как перестать саботировать собственную карьеру и научиться управлять страхом перемен. Спойлер: дело не в лени и не в комфортной зарплате.
👉 Читать статью
👉 Зеркало
🎉 Розыгрыш от Proglib Academy и DigitalRazor!
С 27 ноября по 27 декабря у вас есть шанс не только прокачать свои навыки, но и выиграть ПК при покупке любого курса Академии!
🎁 Призы для участников акции:
– Игровой ПК DigitalRazor ProGaming
– VIP-пакет курса Proglib Academy
💡 Как принять участие?
Купите любой курс Proglib Academy с 27 ноября по 27 декабря и получите шанс выиграть мощный ПК.
Приобретите технику DigitalRazor — участвуйте в розыгрыше VIP курса.
📅 Вместе с DigitalRazor мы создали спецпредложение -50% на курсы до 30 ноября, чтобы вы могли начать обучение на более выгодных условиях.
Выбрать курс
Available now! Telegram Research 2025 — the year's key insights 
