Библиотека собеса по C++ | вопросы с собеседований
4.57K subscribers
405 photos
3 videos
187 links
Вопросы с собеседований по C++ и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9ccf302b

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Напоминаем: у нас можно (и нужно) купить рекламу

→ Более 60 телеграм-каналов по всем направлениям IT
→ Почти 1,2 миллиона аудитории
→ Собственное медиа и сайт с DAU 25 000 — можем усилить продвижение
→ Классные email-рассылки
→ И, конечно же, крутые контент-менеджеры, которые сделают нативную интеграцию/придумают виральный пост/реализуют любые контентные предпочтения

Для заказа пишите сюда: @proglib_adv
November 27, 2024
November 28, 2024
💼🔀 «Хочу уволиться, но боюсь»: что делать

«Завтра напишу заявление об увольнении» — фраза, которую многие повторяют каждый понедельник, но так и не решаются на перемены. Сегодня поговорим о том, как перестать саботировать собственную карьеру и научиться управлять страхом перемен. Спойлер: дело не в лени и не в комфортной зарплате.

👉 Читать статью
👉 Зеркало
November 30, 2024
😒 Что такое дополнительный код?

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

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

Например, в 8-битной системе число -5 в дополнительном коде выглядит как
5 = 0b00000101
~5 = 0b11111010
-5 = 0b11111011.

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

Дополнительный код делает арифметику в компьютерах эффективнее и быстрее, поэтому он стал стандартом практически во всех современных архитектурах.
December 2, 2024
December 2, 2024
December 3, 2024
Forwarded from Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
December 3, 2024
December 6, 2024
В видео рассматриваются принципы объектно-ориентированного программирования (ООП) — абстракцию, наследование, инкапсуляцию и полиморфизм — используя популярную игру Factorio в качестве наглядного примера.

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

👉 Видео
December 7, 2024
December 8, 2024
Почему использование 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 будет меньше.
December 10, 2024
Подготовься к собеседованию на позицию Data Scientist!

Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование?

Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению:

1. Внешнее и тензорное произведение

2. One-hot кодировка

3. Мониторинг осадков

4. Симуляция бросков кубиков в «Монополии»

5. Бурение скважин для добычи золота

6. Вычисление свертки

7. Бэктестинг торговой стратегии

8. Прогноз оттока клиентов с помощью логистической регрессии

9. Обнаружение спама с использованием дерева решений

10. Предсказание цен на квартиры с помощью линейной регрессии

Чтобы начать решать задачи, достаточно ответить на четыре простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Математика для Data Science и 10 задачам.
December 11, 2024
December 11, 2024
😞 Для чего нужна using?

using Func = int(); — это объявление псевдонима типа в C++ с использованием ключевого слова using. Оно определяет псевдоним Func как тип функции, которая не принимает никаких аргументов и возвращает int.

❗️ using — современный способ создания псевдонимов типов, введённый в стандарте C++11. Это альтернатива старому синтаксису с typedef.
December 12, 2024
December 13, 2024