В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Самописный конструктор игнорирует rawPtr и создаёт другой объект через new T. Счётчик 0 также неверен для первого владельца. При этом std::shared_ptr в начале примера — другой, стандартный класс.
При нулевой ёмкости Set разыменовывает begin пустого set. Также опасны переполнение signed timestamp, рассогласование трёх контейнеров при исключении и отсутствие межпоточной синхронизации.
На каждом шаге сравнивайте цель со значением узла: при меньшем значении идите влево, при большем — вправо. При совпадении верните узел, при достижении пустой ветви — nullptr.
Программа напечатает 1213 без пробелов и перевода строки. Создание obj1 и obj3 вызывает обычный конструктор, obj2 — копирующий, а присваивание obj3 — operator=.
Определите основной шаблон как Fac, а не как частичную специализацию Fac<N> с теми же параметрами. Сделайте result публичным и добавьте специализацию для нуля.
Сливайте два диапазона алгоритмом std::merge в отдельный вектор. Он сохраняет все элементы, включая повторяющиеся, и требует, чтобы оба входа уже были отсортированы.
Храните S как поле ForInterview и возвращайте ссылку на это поле. Локальный S уничтожается при выходе из get_ref, поэтому возвращённая ссылка на него сразу становится висячей.
Сначала исправьте объявление B::foo. Для перехода между независимыми базами A и B нужен проверяемый dynamic_cast; static_cast допустим вниз к C только при заранее известном фактическом типе.
Добавьте глобальный объект, конструктор которого печатает сообщение. Его инициализация выполняется до входа в main, поэтому менять тело main не требуется.
Виртуальное наследование в обеих промежуточных ветвях даёт D единственный подобъект A. Поэтому obj.h становится однозначным и обозначает одно общее поле.
Добавьте публичный virtual-деструктор базового класса. Тогда delete через BaseClass* вызовет сначала деструктор фактического производного типа, затем деструктор базы.