Перейти к содержимому

SberInfra / СберИнфра

Актуальность: 1 кв 2025

  • Сделать структуры Base и Child;
  • Структура Base должна содержать строковое поле name;
  • Структура Child должна содержать строковое поле lastName;
  • Создать функцию Say у структуры Base, которая распечатывает на экране: Hello, %name!;
  • Пронаследовать Child от Base;
  • Инициализировать экземпляр b1 Base и присвоить name значение Parent
  • Инициализировать экземпляр c1 Child, присвоить name значение Child и присвоить lastName значение Inherited;
  • Вызвать у обоих экземпляров метод Say;
  • Переопределить метод Say для структуры Child, чтобы он выводил на экран: Hello, %lastName!;
  • Сделать массив, содержащий b1 и c1;
  • Вызвать Say у всех элементов массива из шага 10;
  • Сделать метод NewObject для создания экземпляров Base и Child в зависимости от входного параметра;
  • Написать юнит тесты для метода NewObject;
  • Сделать генератор объектов Base и Child такой, чтобы: объекты Base создавались в фоновом потоке с задержкой 1 секунда; объекты Child создавались в фоновом потоке с задержкой 2 секунды; общее время генерации объектов не превышало 11 секунд.
  • Сделать асинхронный обработчик сгенерированных объектов такой, чтобы: метод Say вызывался в порядке генерации объектов; не приводил к утечкам памяти.