ar
Feedback
Библиотека собеса по C++ | вопросы с собеседований

Библиотека собеса по C++ | вопросы с собеседований

الذهاب إلى القناة على Telegram

Вопросы с собеседований по C++ и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/9ccf302b Для обратной связи: @proglibrary_feeedback_bot

إظهار المزيد
5 450
المشتركون
-13 95024 ساعات
-13 9417 أيام
-13 96830 أيام
أرشيف المشاركات
👁️‍🗨 Что такое std::thread::id()? std::thread::id — легковесный объект, который можно использовать для идентификации потоков. Стандарт C++ гарантирует, что объекты std::thread::id для разных потоков будут различны, а для одного и того же потока — как равные.

🌀 Что такое поток в C++? Поток — это минимальная единица выполнения кода в программе • Каждому потоку ОС выделяет память под стек и специальный числовой идентификатор • Внутри программы потоки могут совместно использовать код и данные • В стандартно библиотеке C++ потоки представлены объектом класса std::thread #junior

Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемы Proglib Academy — тут мы рассказываем про обучение и курсы Азбука айтишника — здесь мы познаем азы из мира программирования 🤖Про нейросети Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка Библиотека нейротекста | ChatGPT, Gemini, Bing Библиотека нейровидео | Sora AI, Runway ML, дипфейки Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion #️⃣C# Книги для шарпистов | C#, .NET, F# Библиотека шарписта — полезные статьи, новости и обучающие материалы по C# Библиотека задач по C# — код, квизы и тесты Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel ☁️DevOps Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps Вакансии по DevOps & SRE Библиотека задач по DevOps — код, квизы и тесты Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования 🐘PHP Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP Вакансии по PHP, Symfony, Laravel Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по PHP — код, квизы и тесты 🐍Python Библиотека питониста — полезные статьи, новости и обучающие материалы по Python Вакансии по питону, Django, Flask Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Python — код, квизы и тесты ☕Java Книги для джавистов | Java Библиотека джависта — полезные статьи по Java, новости и обучающие материалы Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Java — код, квизы и тесты Вакансии для java-разработчиков 👾Data Science Книги для дата сайентистов | Data Science Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Data Science — код, квизы и тесты Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту 🦫Go Книги для Go разработчиков Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Go — код, квизы и тесты Вакансии по Go 🧠C++ Книги для C/C++ разработчиков Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++ Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по C++ — код, квизы и тесты Вакансии по C++ 💻Другие каналы Библиотека фронтендера Библиотека мобильного разработчика Библиотека хакера Библиотека тестировщика Библиотека разработчика игр | Gamedev, Unity, Unreal Engine Вакансии по фронтенду, джаваскрипт, React, Angular, Vue Вакансии для мобильных разработчиков Вакансии по QA тестированию InfoSec Jobs — вакансии по информационной безопасности 📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈 Также у нас есть боты: Бот с IT-вакансиями Бот с мероприятиями в сфере IT Мы в других соцсетях: 🔸VK 🔸YouTube 🔸Дзен 🔸Facebook * 🔸Instagram * * Организация Meta запрещена на территории РФ

👺 Является ли тип std::list потокобезопасной (thread-safe) коллекцией? Нет, std::list в C++ не является потокобезопасной (th
👺 Является ли тип std::list потокобезопасной (thread-safe) коллекцией? Нет, std::list в C++ не является потокобезопасной (thread-safe) коллекцией по умолчанию. Особенности: • std::list, как и большинство стандартных контейнеров C++, не имеет встроенных механизмов синхронизации. • Одновременное чтение из std::list из нескольких потоков обычно безопасно, если ни один из потоков не модифицирует список. • Если один или несколько потоков модифицируют список (вставка, удаление, изменение элементов), пока другие читают или также модифицируют его, это может привести к гонкам данных (data races). • Для безопасного использования std::list в многопоточной среде необходимо применять внешние механизмы синхронизации, такие как мьютексы или блокировки чтения-записи.

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting

❗️Задача для конкурса в честь дня программиста Условие: Даны две строки s и f (начальная и конечная) и словарь D (набор слов). Нужно определить, можно ли преобразовать s в f, используя только слова из словаря D. При этом каждое преобразование должно менять только один символ, а длина слова должна оставаться неизменной. Если преобразование возможно, нужно найти кратчайшую последовательность таких преобразований и вернуть ее длину. Если преобразование невозможно, вернуть "Преобразование невозможно". Пример ввода 1:
    D = ["cat", "cot", "dot", "dog", "bat", "dag"]
    s = "cat"
    t = "dog"
Вывод: Минимальное количество шагов для преобразования 'cat' в 'dog': 3 Пример ввода 2:
    D = ["cat", "cot", "bat"]
    s = "cat"
    t = "dog"
Вывод: Минимальное количество шагов для преобразования 'cat' в 'dog': Преобразование невозможно

🆒 Дарим наш курс за ответ на задачу В предверии дня программиста проводим конкурс: решите нашу задачу на тему программирован
🆒 Дарим наш курс за ответ на задачу
В предверии дня программиста проводим конкурс: решите нашу задачу на тему программирования — рандомно выберем победителя
Подробные условия: ➡️ Решаем задачу со следующего поста ➡️ Решение присылаем в бота @ProglibContest_bot ➡️ Рандомно среди правильных ответов разыгрываем курс на выбор Курсы на выбор: 🔵 Архитектуры и шаблоны программирования 🔵 Основы программирования на Python 🔵 Базовые модели ML и приложения 🔵 Frontend Basic: принцип работы современного веба Таймлайн: 11-12 сентября — принимаем ответы ⬇️ 13 сентября — подводим итоги

😱 Можно ли использовать std::make_unique и std::make_shared для инициализации массива? Ответ: Да. 1 . std::make_unique: Начиная с C++14 можно создавать через make_unique auto arr = std::make_unique<int[]>(5); 2 . std::make_shared: В стандарте C++20 появилась возможность создавать и make_shared auto arr = std::make_shared<int[]>(5);

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

🍣 Что такое битовые поля? Битовые поля в C++ — это способ экономии памяти, позволяющий задавать члены класса с точным размером в битах. Например, в структуре можно выделить под день недели всего 3 бита, а под день месяца — 6.
struct Date {
  unsigned short nWeekDay : 3;  // 0..7 (3 бита)
  unsigned short nMonthDay : 6; // 0..31 (6 бит)
  unsigned short nMonth : 5;    // 0..12 (5 бит)
};
❗️Битовые поля могут усложнять код и отладку, а также имеют ограничения (например, нельзя получить адрес битового поля).

Язык программирования для амбициозных проектов🧑‍💻 С++ отлично подходит для высоконагруженных IT-продуктов за счёт своей про
Язык программирования для амбициозных проектов🧑‍💻 С++ отлично подходит для высоконагруженных IT-продуктов за счёт своей производительности. Язык используют при разработке нейросетей, роботов, систем умного дома и видеоигр. Курс «Разработчик на C++» поможет освоить инструмент на продвинутом уровне. Это сильная программа с актуальными инструментами разработки и 80% практики. Вам будут преподавать разработчики из Яндекса, Wildberries, Huawei и других компаний. Сможете тренироваться на реальных кейсах и добавите в портфолио до 15 проектов.   В расширенной траектории курса три специализации на выбор👇 1️⃣ Кроссплатформенная разработка на QT. 2️⃣ Разработка видеоигр на UE5. 3️⃣ Разработка умных гаджетов. Сейчас на курс действует скидка 45% по промокоду CPPDEV. Активируйте его на странице оплаты и начинайте путь к масштабным проектам → https://netolo.gy/drA8 Реклама. ООО "Нетология". ИНН 7726464125. Erid: 2VSb5x4iMn8

Какой контейнеров гарантирует отсутствие дубликатов?
Anonymous voting

😜 Шпаргалка по библиотеке fmt Небольшая, но очень полезная шпаргалка, рассказывающая о возможных способах форматирования раз
😜 Шпаргалка по библиотеке fmt Небольшая, но очень полезная шпаргалка, рассказывающая о возможных способах форматирования различных типов данных с помощью стандартной библиотеки fmt. 👉 Источник

📖 От Кнута до Седжвика: классика алгоритмической литературы Обзор лучших книг по алгоритмам для программистов всех уровней.
+5
📖 От Кнута до Седжвика: классика алгоритмической литературы Обзор лучших книг по алгоритмам для программистов всех уровней. От иллюстрированных пособий для начинающих до фундаментальных трудов для экспертов. 🔗 Читать подборку

🍯 Задача с собеседования Входные данные: - Дан массив состоящий из int'ов - Повторяющихся элементов в списке нет Задача: - Нужно преобразовать этот массив в строку, сворачивая соседние по числовому ряду числа в диапазоны Примеры: [1,4,5,2,3,9,8,11,0] => "0-5,8-9,11" [1,4,3,2] => "1-4" [1,4] => "1,4"
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>

std::string convertToRanges(std::vector<int>& nums) {
    if (nums.empty()) {
        return "";
    }

    // Сортируем вектор
    std::sort(nums.begin(), nums.end());

    std::vector<std::string> ranges;
    int start = nums[0];
    int prev = start;

    for (size_t i = 1; i < nums.size(); ++i) {
        if (nums[i] != prev + 1) {
            // Если последовательность прервалась, добавляем диапазон
            if (start == prev) {
                ranges.push_back(std::to_string(start));
            }
            else {
                ranges.push_back(std::to_string(start) + "-" + std::to_string(prev));
            }
            start = nums[i];
        }
        prev = nums[i];
    }

    // Добавляем последний диапазон
    if (start == prev) {
        ranges.push_back(std::to_string(start));
    }
    else {
        ranges.push_back(std::to_string(start) + "-" + std::to_string(prev));
    }

    // Объединяем диапазоны в одну строку
    std::ostringstream result;
    for (size_t i = 0; i < ranges.size(); ++i) {
        if (i > 0) {
            result << ",";
        }
        result << ranges[i];
    }

    return result.str();
}

int main() {
    std::vector<int> nums1 = { 1, 4, 5, 2, 3, 9, 8, 11, 0 };
    std::cout << convertToRanges(nums1) << std::endl;  // Ожидаемый вывод: "0-5,8-9,11"

    std::vector<int> nums2 = { 1, 4, 3, 2 };
    std::cout << convertToRanges(nums2) << std::endl;  // Ожидаемый вывод: "1-4"

    std::vector<int> nums3 = { 1, 4 };
    std::cout << convertToRanges(nums3) << std::endl;  // Ожидаемый вывод: "1,4"

    return 0;
}

Что выведет код?
Anonymous voting