четверг, 28 августа 2025 г.

Собес с Ростелекомом

Собес с Ростелекомом

yurembo

 

На прошлой неделе у меня было собеседование с компанией Ростелеком на позицию C++-программиста в отдел передачи видеоданных. Со мной беседовал только один человечек посредством Яндекс.Телемоста, и после моего рассказа о себе любимом было только две вполне простые задачки.

 

В первой задачке надо было улучшить код в многопоточном приложении отправитель/получатель. Код для нее по памяти мне писать лень, поэтому я расскажу только о своих предложениях по улучшению, которые вспомню. Во-первых, я бы заменил класс потоков с std::thread на std::jthread. Главное преимущество последнего — это остановка потока в любое время, не дожидаясь завершения выполнения алгоритма, к нему привязанного.

 

Поток-получатель находится в бесконечном цикле, беспрерывно проверяя содержимое дека. Дек оставим в покое, хотя в данном случае можно было бы использовать стек. Тем не менее мне не нравится бесконечный цикл. Он имеет смысл только в играх, при бесконечной перерисовке экрана. Всё. А в случае рассматриваемого приложения можно воспользоваться сокетами, чтобы не гонять бесконечный цикл.

 

Вторая задачка: объяснить, что делает, и улучшить код класса, содержащий два указателя на строки. Ненавижу строки C. Первым делом их надо заменить строками класса std::string. От этого упростится деструктор, который написан тоже не верно: delete[] c. Квадратные скобки не нужны, так как в конструкторе создается простой указатель. Если оставить как есть и создать объект этого класса, то при его разрушении возникнет неопределенное поведение. В остальном класс содержит конструкторы копирования и перемещения, которые используются для копирования и перемещения объектов, включающих две строки. Ну, как бы всё. Комментировать здесь больше нечего.

 

После собеса прошло больше недели, между тем эйчарка не отвечает. Хоть бы сказала: верно или не верно я ответил. Я уж не надеюсь на указание того, что было правильным и неправильном. В данном случае эйчарка пропала с концами и в Телеграмм не отвечает. Это крайне непрофессиональное поведение.

Комментариев нет:

Отправить комментарий