Forwarded from Библиотека собеса по C++ | вопросы с собеседований
std::optional<std::string> get_name() {
return "Alice";
}
int main() {
auto result = get_name()
.transform([](auto&& s) { s += " Smith"; return s; })
.transform([](auto&& s) { s += " Jr."; return s; });
std::cout << *result << std::endl;
std::cout << *get_name() << std::endl;
}📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет этот код?
Anonymous Quiz
28%
0 42
16%
Ошибка компиляции
7%
0 0
37%
1 42
12%
Undefined behavior
Как изначально назывался язык C++, когда Бьёрн Страуструп начал его разработку в 1979 году?
Anonymous Quiz
15%
C with Objects
3%
New C
68%
C with Classes
10%
Object C
5%
Enhanced C
😁7
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
🧩 Задача на выходные: загадка EOF
Задача: В чём подвох с проверкой eof()? Как правильно организовать цикл чтения?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
std::ifstream file("data.txt");
std::string line;
while (!file.eof()) {
std::getline(file, line);
std::cout << line << std::endl;
}Задача: В чём подвох с проверкой eof()? Как правильно организовать цикл чтения?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
🤔1
Какой конструктор вызывается для s2?
Anonymous Quiz
11%
Конструктор по умолчанию
9%
Конструктор перемещения
6%
Прямая инициализация
9%
Ошибка компиляции
66%
Конструктор копирования
Что произойдёт при выполнении этого теста?
Anonymous Quiz
40%
Тест провалится и выполнение прекратится после первого EXPECT_EQ
49%
Тест провалится, но оба EXPECT_EQ будут выполнены
6%
Тест пройдёт успешно
2%
Произойдёт ошибка компиляции
3%
Тест будет пропущен
Что проверяет этот матчер?
Anonymous Quiz
9%
Что values равен 42
2%
Что values является числом
5%
Что размер values равен 42
2%
Что первый элемент values равен 42
83%
Что контейнер values содержит элемент 42
Почему Optional<int> занимает больше памяти, чем просто int?
Anonymous Quiz
16%
Из-за выравнивания компилятор добавляет padding
11%
Виртуальная таблица занимает дополнительное место
59%
Флаг has_value требует дополнительный байт
7%
Шаблоны всегда увеличивают размер объектов
7%
Буфер buffer аллоцирует память в куче
Что делает атрибут [[no_unique_address]]?
Anonymous Quiz
10%
Удаляет поле из структуры на этапе компиляции полностью
64%
Позволяет пустому полю не занимать места как EBO для членов
8%
Делает поле статическим членом класса автоматически
12%
Требует обязательную heap allocation для поля
7%
Добавляет виртуальную таблицу к структуре для оптимизации
Как изменение порядка полей влияет на размер?
Anonymous Quiz
15%
Никак - компилятор всегда сортирует поля оптимально
52%
Размер уменьшится до 16 байт - меньше padding между полями
17%
Размер увеличится из-за нарушения естественного порядка
15%
Порядок полей не влияет на размер структуры вообще
1%
Компилятор выдаст ошибку при изменении порядка полей
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
🧩 Выходной челлендж: noexcept или не noexcept?
Многие добавляют noexcept "на глаз". А ты знаешь, где это критично?
Задача: В какие методы нужно добавить noexcept и почему?
Подсказка:один из них критически важен для производительности при работе с контейнерами STL.
💬 Делись своими мыслями! Объясни не только ЧТО добавить, но и ПОЧЕМУ это важно.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Многие добавляют noexcept "на глаз". А ты знаешь, где это критично?
class DataStore {
std::vector<int> data;
public:
DataStore() = default;
DataStore(DataStore&& other) {
data = std::move(other.data);
}
void add(int value) {
data.push_back(value);
}
};Задача: В какие методы нужно добавить noexcept и почему?
Подсказка:
💬 Делись своими мыслями! Объясни не только ЧТО добавить, но и ПОЧЕМУ это важно.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик