Что роднит бытовые приборы и технику, аквариумы и дорогие автомобили? Ответ очень прост: все перечисленное может быть, с одной стороны, «умным», с другой — уязвимым ко взлому. Хотя полностью избавиться от уязвимостей не выйдет, кое-что сделать все-таки можно. Например, создать кибериммунную среду, которая остается безопасной, даже если часть компонентов оказывается скомпрометирована. Для тех, кому интересно поучаствовать в создании такой среды, N + 1 вместе с «Лабораторией Касперского» составили тест на знание C++.
Те, кто пройдет его на отлично, получат шанс заняться развитием операционной системы KasperskyOS и разработкой продуктов на ее основе. Эта операционная система, построенная на микроядерной архитектуре, обеспечивает надежную изоляцию и независимый контроль взаимодействий между доменами безопасности, что позволяет разрабатывать решения, которые by-design защищены от киберугроз.
Начнем с простого. Что выведет данная программа?
#include <iostream>
int main(int argc, char **argv) {
std::cout << 1u - 2;
return 0;
}
Прочитайте код ниже. Функции передают:
a = {1, 2, 3, 4}, b = {4, 3, 2, 1}, N = 4
.
В результате значение b изменилось на {24, 12, 8, 6}
.
Что следует написать вместо abracadabra, чтобы алгоритм выдал такой результат?
int F(int *a, int *b, int N) {
int foo = 1;
for (int i = 0; i < N; ++i) {
b[i] = foo;
foo *= a[i];
}
// abracadabra
for (int i = N - 1; i >= 0; --i) {
b[i] *= foo;
foo *= a[i];
}
}
Что выведет “магическая” программа? (Если считаете, что произойдет ошибка, напишите в поле ответа слово “ERROR”)
#include <iostream>
int main() {
int a[] = {1, 2, 3, 4, 5};
std::cout << (1 + 3)[a] - (a - 1)[2];
return 0;
}
Какую строку следует удалить, чтобы программа выполнялась без ошибок?
#include <iostream>
class A {
public:
int a;
A(int a = 1) : a(a) {}
~A() {
throw 3;
std::cout << 3;
}
};
std::ostream &operator<<(std::ostream &out, A& a) {
return out << a.a;
}
int main(int argc, const char *argv[]) {
try {
A a;
throw 2;
} catch (int a) {
std::cout << a;
}
}
«Лаборатории Касперского» прямо сейчас нужны классные профессионалы, чтобы строить безопасный мир. И для классных профессионалов здесь созданы все условия: офис с тренажерным залом, сауной и массажным кабинетом, расширенный ДМС для сотрудников и их детей (со стоматологией), программа релокации для сотрудников из регионов и многое другое.
Сотрудникам доступны курсы и лекции для развития софт- и хард-скиллов, более 10 иностранных языков на выбор. Проводятся регулярные митапы. За прошлый год компания вложила в обучение больше 150 миллионов рублей. Подробнее о том, как работается в «Лаборатории Касперского», можно узнать здесь.