Библиотека собеса по C++ | вопросы с собеседований
4.71K subscribers
382 photos
2 videos
158 links
Вопросы с собеседований по C++ и ответы на них.

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

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

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
🎉 Розыгрыш от Proglib Academy и DigitalRazor!

С 27 ноября по 27 декабря у вас есть шанс не только прокачать свои навыки, но и выиграть ПК при покупке любого курса Академии!

🎁 Призы для участников акции:

Игровой ПК DigitalRazor ProGaming
VIP-пакет курса Proglib Academy

💡 Как принять участие?
Купите любой курс Proglib Academy с 27 ноября по 27 декабря и получите шанс выиграть мощный ПК.

Приобретите технику DigitalRazor — участвуйте в розыгрыше VIP курса.

📅 Вместе с DigitalRazor мы создали спецпредложение -50% на курсы до 30 ноября, чтобы вы могли начать обучение на более выгодных условиях.

Выбрать курс
💼🔀 «Хочу уволиться, но боюсь»: что делать

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

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

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

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

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

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

Дополнительный код делает арифметику в компьютерах эффективнее и быстрее, поэтому он стал стандартом практически во всех современных архитектурах.
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📈 Кадровый голод в IT: почему компании готовы платить на 13% больше

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

Если вам интересно, как кадровый рынок в IT адаптируется к новым вызовам, и что это значит для вас как для разработчика или работодателя, читайте дальше!

📎 Читать статью
Существует мнение, что высшего образования в сфере разработки игр в России нет, но это не так. В этой большой статье я подробно и честно расскажу о своем опыте обучения на разработчика игр в одном из московских университетов.

👉 Статья
В видео рассматриваются принципы объектно-ориентированного программирования (ООП) — абстракцию, наследование, инкапсуляцию и полиморфизм — используя популярную игру Factorio в качестве наглядного примера.

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

👉 Видео
Вторая часть рассказа про получение высшего образования в сфере разработки видеоигр. Еще больше подробностей о процессе обучения, разработке студенческих проектов, защите дипломных работ и ответе на главный вопрос: «А стоило ли оно того?»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

❗️ using — современный способ создания псевдонимов типов, введённый в стандарте C++11. Это альтернатива старому синтаксису с typedef.
Что означает принцип RAII (Resource Acquisition Is Initialization) в C++?
🎨 Новый канал для вдохновения — UX in GIF

Мы запустили свежий канал, где делимся идеями для дизайна интерфейсов. Всё самое стильное, оригинальное и вдохновляющее теперь в одном месте.

📌 Чем полезен канал?

→ Идеи для дизайна интерфейсов.
→ Анимации, которые можно повторить или адаптировать.
→ Лёгкий способ искать вдохновение перед новым проектом.

👉 Подписывайтесь и вдохновляйтесь: UX in GIF
Please open Telegram to view this post
VIEW IN TELEGRAM