Похожие презентации:
Вопросы на собеседовании: С++
1.
Вопросы на собеседовании: С++2.
Категории вопросов насобеседованиии
С++
Математика
Алгоритмы
Архитектура ПК
Геймдев (Unreal Engine 4, Unity)
Рендер (иногда)
3.
Приведение типов в С++static_cast, когда можно применять
dynamic_cast и что такое RTTI (runtime type information). Как реализованы в с++
reinterpret_cast и почему это опасно
const_cast зачем и когда
C-style cast, когда это можно и почему плохо
4.
Типы полиморфизмов С++Статический (compile time)
Перегрузка операторов
Перегрузка функций
Динамический (runtime)
Виртуальные функции
5.
Виртуальные функцииЧто такое виртуальные функции и зачем они нужны
Как реализованы виртуальные функции
vtable и vptr
Где лежит vtable
Vtable и RTTI (type_id)
6.
Наследованиеpublic, protected и private - наследование
Порядок вызовов конструкторов и деструкторов
Вызов конструктора с аргументом
Виртуальные деструкторы, зачем
Абстрактный класс. Как сделать.
Множественное наследование когда и зачем
Интерфейсы с точки зрения ООП. Чем отличается абстрактный класс от интерфейса
Ромбовидное наследование (diamond problem)
Как решать?
virtual наследование
7.
CV (const, volatile) - квалификаторыconst
const переменные, const члены класса
const int* ptr , int* const ptr , const int* const ptr
int const* ptr, int const*const
const-методы
Зачем нужны
Ключевое слово mutable
volatile
Зачем и когда применять
8.
staticstatic переменные внутри классов и функций. И где они лежат
static члены класса
static-переменные
static-функции
9.
ПамятьКак можно выделять память
new vs malloc, delete vs free
new vs new[], delete vs delete[]
Placement new
Int* ptr = new (&a) int;
10.
Умные указателиstd::shared_ptr
Как создавать (make shared), зачем
std::weak_ptr
std::unique_ptr
std::auto_ptr (легаси, удален в С++ 17)
11.
КонтейнерыПоследовательные
std::vector
std::array
std::list
std::deque
std::forward_list
Упорядоченные ассоциативные
std::map, std::multimap
std::set, std::multiset
Неупорядоченные ассоциативные
std::unordered_map, std::unordered_multimap
std::unordered_set, std::unordered_multiset
12.
Итераторы и range-based-foriterator vs const_iterator
Обход массива с помощью итераторов
Range based for
for (auto foo : fooCollection) vs for (auto& foo : fooCollection)
13.
С++ 11Lambda-expressions
auto
std::function
enum class
Nullptr_t
constexpr (constexpr_if)
…
Move semantics
14.
Move semanticsR-value ссылки (int&& vs int& vs const int&)
std::move
Perfect forwarding и std::forward
Value-категории (pr, r, gl, l, x)
15.
template<typename T>Шаблоны классов и шаблоны функций
Полные и частичные специализации шаблонов
SFINAE
std::enable_if
Type traits
16.
Многопоточностьstd::thread
std::mutex, std::lock_guard, std::unique_lock
std::shared_mutex, std::shared_lock
Conditional variables
std::atomic
Lock-free data structures
17.
ПрочееArgument-dependent lookup (Koenig lookup)
Unity (blob) builds
Forward declarations
Передача по ссылке и значению
18.
Тестовые задачиhttps://www.hackerrank.com/domains/cpp
Написать простую игру (например арканоид) за короткое время 4 часа
Реализация сложного функционала за неограниченное время
Raytracing
Render a scene
19.
Что почитать и как практиковатьScott Meyers | Effective Modern C++
https://www.learncpp.com/
https://learnopengl.com/
http://thbecker.net/articles/rvalue_references/section_01.html - RValue references explained by Thomas
becker
https://www.fluentcpp.com/2018/05/15/make-sfinae-pretty-1-what-value-sfinae-brings-to-code/ - SFINAE
https://www.youtube.com/user/FamTrinli - 16 игр на SFML
https://www.sfml-dev.org/
https://www.hackerrank.com/domains/cpp
20.
Q&A21.
Вопросы на собеседовании: С++Пункт 1
Пункт 2
Пункт 3