творческое задание. Сразу вас предупрежу: вся полученная здесь информация конфиденциальна, как целиком, так и частично. Прошу не распространяться. Соглашение у вас на столах, прошу подписать, и мы продолжим.
Появилась небольшая суета и движение, листки были мало кем прочитаны, но подписаны.
– Вот и отлично, можно приступать к объяснению задания. Его суть несложная: вам необходимо, как можно быстрее найти баг в коде. Возможно, он тут не один, поэтому будем оценивать по скорости и по важности найденной проблемы. Это код нам предоставили наши коллеги из Поднебесной – полезная технология, они нас и предупредили о наличие бага. И так, как этот код непосредственно связан с должностью, борьба за которую и будет вестись между вами, мы решили объединить «приятное с полезным». Если вопросов нет, то можно подходить за автоматизированные рабочие места, там уже всё подготовлено, есть огромная библиотека софта на случай, если вам что-то нужно специфическое. Хотя, думаю, специфическое вы и сами напишете. Временных ограничений нет, борьба до победного. Желаю вам удачи.
Я сел за самую правую машину, на ней было моё имя. На столе лежал листочек с логином и зашифрованным паролем. Способ шифрования был очень интересным: пример с интегралами, логарифмами, рядами и тому подобными высшематематическими функциями и выражениями. Разумеется, в моем нынешнем положении это не составило никакого труда, ответ был у меня в голове сразу же после осмотра примера. Но сразу же дискредитировать себя я не стал, а взял листик и для порядка рассчитал несколько математических примеров из шифровки. Спустя пять минут решение было записано и выведен ответ, он же пароль. Я отложил листок и вбил пароль. Пока система производила авторизацию, я оглянулся. Неплохие ребята, судя по всему, меня окружали, они тоже усидчиво выписывали формулы. Я заметил, как один после быстрого росчерка последней строчки на листке кинулся набивать пароль, но ответ от системы был отрицательным, потом он стукнул себя в лоб и повторил попытку.
– Наверное, с кириллицы не переключил, – усмехнулся я про себя.
Вторая попытка была у него успешная.
Больше я по сторонам не смотрел, начал разбираться в сути задания, нашёл нужные исходники, открыл необходимые редакторы и дебагеры.
Моему изумлению не было предела, а улыбка не сходила с лица, когда я понял всю иронию сложившейся ситуации. Предоставленный код для поиска багов был не то, чтобы мне понятен – он был написан мною. Это та самая технология облачной кластеризации, которую так выгодно «загнал» мой друг.
– Интересная получилась петля. Видимо, мы плохо рекламировали свой софт, надо будет учесть это в будущем.
Теперь я прекрасно понимал, о каком баге, сообщённом китайскими коллегами, идёт речь. Я мог решить поставленную задачу в считанные минуты, окончив соревновательный процесс. Но опять же решил не выдавать себя и позаниматься часок «левыми» делами.
Остальные участники уже в полном составе изучали мой код, пытаясь найти в нём недостатки, черкая и выписывая что-то на листочки.
Спустя полчаса, я начал вести краткую запись, описывая уязвимость. Она была настолько неявная, что даже не знаю, какими способностями надо обладать, чтоб её выявить.
Неожиданно с самого левого стола, короткостриженый юноша, попросил Ивана Ивановича уделить ему пару минут, объявив, что нашёл баг. Для подстраховки я тоже объявил о найденной проблеме, предупредив что уже почти закончил подготовку отчёта.
Сотрудник центра подошёл к моему оппоненту и начал изучать записи.
– А можно мне ознакомиться с найденной проблемой? – немного обнаглев спросил я. На что получил ответ, что проблема уже объявлена, и что нет запретов на то, чтоб с ней ознакомиться остальным участникам.
Это было просто замечательно. Я встал из-за своей машины и устремился к первой, испытывая лёгкий трепет – вдруг это была именно та уязвимость и меня опередили?
Совсем молоденький парнишка с нестандартным размером головы принялся объяснять, заикаясь и тыкая пальцем то в лист бумаги, то в монитор. Складывалось ощущение, что он никогда не видел, как работают тестеровщики и как должен выглядеть готовый отчёт об обнаруженном в коде баге. Тем не менее, доклад продолжался, я даже стал вникать. Проблема была точно не связана с уязвимостью, и я вздохнул с облегчением. Но то, что описывал оппонент, представляло для меня интерес. Ту я решил вмешаться, перебив докладчика.
– То, что Вы описываете, не является багом. Это чистой воды оптимизация, причём совершенная! – я не скрывал восхищения. – Я даже не знал о таком методе, за что вам очень признателен! Сегодня благодаря вам я стал умнее!
– Всё верно, это оптимизация, – подвёл итог Иван Иванович. – Продолжаем поиски. Ян Владимирович, вы хотели что-то продемонстрировать?
– Да, совсем скоро, только отчёт закончу.
– Хорошо. Ждём!
Прошло приблизительно 30 минут, когда я закончил отчёт. За это время никто не проявлял активности. Я подозвал руководителя и сдал проблему, рассказал её суть и возможные последствия. Иван Иванович молча слушал, после чего взял мой отчёт и сказал, что скоро вернётся и, чтоб мы продолжали поиски.
Его не было довольно долго. За пять минут до его прихода мне пришло сообщение от друга Володи: «Привет, китайские чаеманы, нашли уязвимость, прислали мне отчёт. Крутые ребята – не думал, что смогут. Сказали, что произведут расчёт в ближайших сутках. Скоро новая жизнь!»
Я засмеялся в голос после прочтения. Вот это поворот! Быстро накидал ответ: «Привет, отчёт-то на русском, надеюсь? А то не помню, чтоб ты знал китайский язык».
Иван Иванович вернулся, на его лице сияла улыбка. Он объявил, что в ходе проделанной работы уязвимость была обнаружена, и что соревновательный процесс завершается. Он попросил остаться меня и того паренька. Когда посторонние покинули аудиторию, он заговорил.
– Опять же, – начал он, – в свете последних событий, появились внешние факторы, которые меняют первоначальные условия. Поэтому мы можем предложить трудоустройство для вас обоих. Первоначальная вакансия по праву достаётся Яну Владимировичу за выполнение поставленной задачи. Вторая вакансия – за безупречную оптимизацию Павлу Аркадиевичу. Трудовые обязанности, к сожалению, в этих стенах я поведать вам не могу, но сейчас могу рассказать про общие условия, которые будут касаться и вас, Ян, и вас, Павел. Во-первых, полное государственное обеспечение…
– Это что, получается, захочу я самолёт, и мне его купят? – пошутил я.
– Ну, в Великой стране много самолётов, может и не купят, но предоставят, это всё зависит от результатов труда. Во-вторых, вам выдадут жилье. В-третьих, свободный график работы, но с небольшим нюансом: погулять по нашему городу вы сможете только через полгода, назовём это вахтой.
– А можно уточнить