Wednesday, October 15, 2008

Google Code Jam 2008 Semifinal - Zurich

Этот пост будет посвящен полуфиналу Google Code Jam 2008 в регионе EMEA (Europe, Middle East and Africa), вернее, моей поездке в Цюрих на этот onsite и оставшимся впечатлениям.

Для начала немного о предистории этого события, которой на этом блоге не имеется (по крайней мере пока), так как я пишу свой первый пост :D

Google Code Jam - ежегодное соревнование по спортивному программированию, которое проводится всемирно известной компанией Google. До 2007 года оно проводилось по формату и на сервере Topcoder, в 2007 году его не было вообще, а в 2008 его решили провести по совершенно изменённым правилам. Сейчас я не буду в них углубляться, а скажу лишь, что первые 4 раунда проводились онлайн, т.е. по интернету, и в результате последнего из них было избрано 500 человек, которые прошли в онсайт-раунд. Более двухсот из них были из региона EMEA и были распределены по Европейским офисам компании Google - из них наибольшее количество, 93, в Цюрихском офисе - в том числе я и Ника. К сожалению, остальные участники из Грузии не попали в этот этап соревнования, при чём большей частью из-за неспортивных препятствий...

Швейцарскую визу мы получили без особых проблем, и в ночь с 4ого на 5ое октября, совершив пересадку в Стамбуле, долетели до Цюрихского аэропорта.

Первым открытием для меня стала транспортная система Швейцарии. Общественным транспортом являются поезда (которые разъезжают как по туннелям, так и над землей), трамваи и водный транспорт (хотя на последнем мне покататься так и не удалось). Никаких автобусов или троллейбусов - соблюдают экологическую чистоту. Билеты на весь общественный транспорт одни и те же, то есть купив билет можно как сесть на поезд, так и на трамвай. В принципе, сесть-то можно и без билета. Никто не ограничивает доступ в транспорт - билеты проверяют внутри, да и то редко. Зато если попадешься без него, штраф 80 швейцарских франков.

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

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

***

В Цюрихе аэропорт находится не где-нибудь за чертой города, а довольно близко к центру, так что поездка в отель не заняла у нас много времени. Не знаю, насколько хорош отель Four Points by Sheraton Sihlcity по тамошним меркам, но я в таком ещё не жил :D



Первый день в Цюрихе я провёл в сладостной дремоте. Проснувшись лишь к шести часам вечера, я услышал жалобные стоны своего желудка и решил найти место, где можно было перекусить. Как оказалось, в воскресенье, да ещё и вечером, это было не так-то легко. Мы с Никой обошли за полтора часа окрестности отеля, нашли лишь один открытый бургер-бан, а потом обнаружили McDonalds и перекусили там. Особо интересного в тот день больше ничего не происходило, разве лишь что мы встретили нескольких других участников, в том числе ребят из Саратова.

Утром второго дня работники Google встречали нас в вестибюле отеля, чтобы отвести в местный офис.


После довольно затянувшейся регистрации мы заняли рабочие места по принципу "в тесноте, да не в обиде": каждому участнику была отведена полоска на столе шириной до 1 метра, где были расположены ноутбуки, external keyboard & mouse и где мы также должны были калякать свои мысли во время соревнования. Старт откладывался несколько раз, чтобы обеспечить сихронизированное начало контеста во всех офисах одновременно, но в итоге двухчасовая борьба наконец началась.

Не буду особо останавливаться на результатах, скажу лишь, что и я, и Ника выступили намного ниже своих возможностей и путевки в финал не заработали. Ну свои-то перспективы я, вообщем-то, и так довольно низко оценивал.

Сама итоговая таблица лежит здесь (надеюсь, ссылка не изменится).


После соревнования нам предложили перекусить (еда в Google потрясающая), а потом устроили office tours. К сожалению, фотографировать там было запрещено, но большинство того, что мы там видели, определённо лежит на youtube :)

Затем у нас был час, который каждый участник мог заполнить одной из презентаций или провести в комнате развлечений. Как и многие codejam'овцы, я избрал последнюю возможность, так что мы вдоволь наигрались в Air Hockey. Правда, шайба не клеилась к столу и часто летала по комнате, создавая угрозу здоровью участников.


Третий день нашего пребывания в Цюрихе был предназначен для собеседования. Моё было назначено на середину дня, поэтому с утра я, Василь и GeKa занялись туризмом в центре города.


Не знаю, как обстоит дело в других крупных компаниях, но собеседование в Google произвело на меня впечатление. В течение почти четырех часов четыре разных человека беседовали со мной о структурах баз данных, алгоритмах, моем опыте работы и т.д., и при этом я получал от этого большое удовольствие. Результаты обещали сообщить в течение двух недель, но вот на дворе уже декабрь, а ответа пока ни я, ни Ника, ни украинцы, приезжавшие сейчас на Чепмионат Южного Кавказа, не получили. Наверное, кризис :)

А нас следующий день мы умотали домой. Ах да, только сейчас вспомнил о печение в отеле - "Speckli". Его приносили после каждой уборки в комнате. Как выразился Вася, оно бессмертное - сколько ни ешь, возвращается снова :D