Подборка объединяет вопросы, отмеченные на этапах интервью в Касперский. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: c++, security, information security.
В C++ автоматическое управление памятью реализуется с помощью умных указателей — специальных классов-обёрток над обычными указателями, которые автоматически управляют временем жизни объекта и освобождением памяти.
В RAII (Resource Acquisition Is Initialization) используется принцип, что управление ресурсами (например, памятью, файлами, сокетами) связывается с временем жизни объектов через интерфейсы.
std::uniqueptr — умный указатель, который владеет объектом эксклюзивно. Он не копируемый, только перемещаемый, что гарантирует единственного владельца ресурса. При уничтожении uniqueptr освобождает управляемый объект.
В языках программирования, особенно в C/C++, указатели — это переменные, которые хранят адреса других переменных или объектов в памяти. Основные виды указателей:
Умные указатели с уникальным владением (например, std::uniqueptr в C++) предназначены для автоматического управления временем жизни динамически выделенных объектов.
Mutex (взаимная блокировка) — это примитив синхронизации, который обеспечивает эксклюзивный доступ к ресурсу: в каждый момент времени только один поток может владеть мьютексом и работать с защищёнными данными.