Выбрать главу

– Вообще-то это зависит от того, как данную коллекцию планируется использовать, – отвечаю я. – В принципе, в большинстве случаев удобнее ArrayList. Но, если, скажем, предполагается часто вставлять элементы в середину списка…

В глазах Алекса появляется интерес. Рассказываю про списки, понимая, что всё хорошо помню, словно только что программу писал. Алекс задаёт уточняющие вопросы. Переходим к HashMap. Объясняю его устройство, как это работает. Не подозревал в себе таких знаний. Дальше он спрашивает про множества. Про модификаторы доступа. Про то, как сделать класс неизменяемым. Про синхронизацию.

– Ну, хорошо, – говорит он. – А можете прямо сейчас программу написать?

– На бумажке?

– Ну да, – пожимает он плечами. – А что?

– Да ничего. На компьютере эффективнее. Но это же интервью.

– Ну, напишите мне программу, которая решает систему линейных уравнений.

– А коэффициенты откуда брать?

– Сделайте с клавиатуры ввод.

Мне кажется немного глупым писать это всё на бумажке. Но старательно реализую метод Гаусса. Кажется, он удовлетворён. Ищет, к чему придраться, но не находит.

– Ладно, – говорит он. – А с Юниксом у вас как?

– Нормально, – отвечаю я.

– Если бы у вас была вот такая табличка в текстовом файле, и вам нужно было бы просуммировать в ней вот эту колонку для тех строк, где тут встречается a или b, вы бы как это сделали?

– Ну, много способов есть, – отвечаю я. – Я бы, наверно, использовал awk. Примерно вот так…

Продолжаем в том же духе. Вспоминаем SQL, Perl, Groovy. Потом его заносит в теорию вероятностей. Мне любопытно, имеет ли это отношение к вакансии, на которую они меня рассматривают, но я терпеливо решаю задачку про бракованные детали.

– Ok, – говорит неожиданно Алекс. – Do you have any hobbies?

– Yes, – отвечаю я. – I like to write. Actually I have started to write a book.

– What is it about?

– It’s a sort of fairy tale, – объясняю я, – about a small boy from a village who wanted to find a way to a sea.

Ни черта себе. Я что, знаю английский?

– Достаточно, – говорит Алекс. – Давайте я задам вам небольшую логическую задачку, а пока вы решаете, позову ещё пару людей.

Он объясняет мне условие задачи и выходит из комнаты. Я сижу, уставившись в листочек. В принципе, понятно. Пробую визуализировать условие. Рисую табличку. Ну, так ещё понятнее.

В комнату входят двое. Алекса среди них нет. Есть полноватая девушка в очках и зелёном костюме из пиджака и юбки, а также коротко стриженый круглолицый румяный мужчина немного старше меня.

– Здравствуйте, – говорит он. – Антон.

– Юля, – представляется девушка.

– Хармс, – говорю я. – То есть, Владимир.

Они переглядываются.

– А вы что делаете? – спрашивает Антон, присаживаясь на место Алекса. Юля садится сбоку.

– Вот, задачу решаю про лошадей. Решил. Вот схема забегов.

Объясняю решение. Похоже, он не очень слушает.

– А вы на джаве программировать умеете? – спрашивает Юля.

– Ну да, – отвечаю я, хотя вдруг у меня снова закрадываются сомнения.

– Какие коллекции знаете?

Опять перечисляю все эти интерфейсы, реализации, наследников. Немного заикаюсь. Слова «интерфейс SortedSet» даются мне с трудом.

– А вот если бы вам нужно было в программе использовать список, вы бы что выбрали – ArrayList или LinkedList?

Я чувствую, что начинаю потеть. Видимо, Алексу что-то не понравилось в моих ответах, и они решили меня подловить. Не вполне уверенно рассказываю то же самое второй раз. А может, эта Юля – переодетый Алекс? Нет, не похоже.

Юля повторяет практически дословно вопросы Алекса про множества и неизменяемые классы. Я отвечаю. Потом она говорит:

– Ну, хорошо. А прямо сейчас программу написать сможете?

– Смогу.

– Напишите мне программу, которая решает систему линейных уравнений.

– А коэффициенты с клавиатуры вводить? – уточняю я.

– Ну, пусть так.

Я переворачиваю листок с лошадями:

– Вот.

– Это что? – пугается Юля, хватаясь за свои очки.

– Метод Гаусса.

– А откуда он у вас готовый?

– Меня только что молодой человек об этом же спрашивал. Алекс. Я ему уже показывал.

Юля и Антон переглядываются.

– Интересно, что он ещё спрашивал, – говорит Антон. – Вы посидите пока тут.

Они выходят. Сижу, скучаю. Рисую от нечего делать график нормального распределения. Через пару минут они возвращаются вчетвером – Алекс, Юля, Антон и ещё какой-то молодой паренёк, худенький, маленький, суетливый. Как его зовут, мне не сообщают. Ему не хватает стула, поэтому он выходит снова и прикатывает стул на колёсиках откуда-то ещё.

– Разобрались, – говорит Антон. – Хорошо. А вы мехмат МГУ кончали?

– Да, – говорю я.

– А вы можете мне график нормального распределения случайной величины нарисовать?