C/C++ | Тесты
1.94K subscribers
26 photos
429 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.iss.one/+BTbqlW1VbIFmYmVi
Задачи t.iss.one/+9WeVk7cGswkzNTIy
Вакансии t.iss.one/+za2mJYs4riAzMzFi
Download Telegram
🤔 Когда начинают жить и умирают глобальные и локальные переменные в С++?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Какие знаешь Smart Pointers?

Основные умные указатели:
unique_ptr — для владения одним объектом, запрещает копирование.
shared_ptr — для совместного владения объектом с подсчётом ссылок.
weak_ptr — для слабых ссылок, чтобы избежать циклических зависимостей.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какие можно выделить моменты, которые поменяли в 11-ом стандарте в лучшую сторону?

1. Move semantics: добавлены rvalue-ссылки и std::move для оптимизации копирования.
2. Lambda-выражения: упростили работу с функциями.
3. auto: автоматическое определение типов для удобства разработки.
4. Unordered контейнеры: такие как unordered_map и unordered_set, ускорили работу с большими наборами данных.
5. Multithreading: появился стандартный std::thread и библиотека <future> для работы с потоками.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 В чем разница set и unordered_set?

Set — это отсортированное множество, которое хранит элементы в порядке возрастания и использует бинарное дерево для внутренней реализации. Unordered_set хранит элементы в произвольном порядке и использует хеш-таблицу для доступа к элементам. В set операции поиска, вставки и удаления имеют сложность O(log n), а в unordered_set — O(1) в среднем случае, но O(n) в худшем случае. Set предпочтителен, когда требуется поддерживать порядок элементов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как вызвать pure virtual call?

Вызов pure virtual function call (std::terminate()) возможен в двух случаях:
1. Вызов чисто виртуальной функции из конструктора или деструктора базового класса (так как объект еще не или уже не принадлежит производному классу).
2. Вызов метода через удаленный объект (разыменование нулевого указателя на объект с виртуальными методами).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
🤔 Коллизия в хеш-таблицах

Коллизия в хеш-таблицах возникает, когда два разных ключа имеют одинаковое хэш-значение.
Методы разрешения коллизий:
1. Цепочки (chaining): элементы с одинаковым хэш-значением хранятся в связанном списке или другой структуре.
2. Открытая адресация (open addressing): ищется следующая доступная ячейка для хранения элемента.
Коллизии снижают производительность, поэтому важно выбирать хорошие хэш-функции.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какая сложность поиска в set и unordered_set?

В set поиск имеет сложность O(log n), так как он реализован как сбалансированное бинарное дерево. В unordered_set сложность поиска в среднем O(1), но в худшем случае (при большом количестве коллизий) может достигать O(n).

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3