Google Code Jam

Google Code Jam — международное соревнование по программированию, проводимое Google. Ведёт историю с 2003 года, как средство для выявления лучших умов для возможной работы в Google[1]. Соревнование состоит из набора алгоритмических задач, которые должны быть решены за фиксированное время. В отличие от большинства соревнований по программированию, участники могут использовать любой язык программирования и среду разработки для решения задачи.

Google Code Jam
Изображение логотипа
сайт
Тематика программирование
Язык английский
Основатели Google
Даты проведения c 2003 по настоящее время
Начало проведения 2003
Расположение
Страна Мир
Сайт codingcompetitions.withgoogle.com/… (англ.)

Google Code Jam считается одним из самых массовых чемпионатов по программированию. Так, в 2014 году было зарегистрировано почти 50 тысяч участников, среди которых 25 462 человека прошли квалификационный раунд[2].

Описание

править

Во время соревнования участникам предоставляется набор алгоритмических задач, которые нужно решить за ограниченное время. При этом соревнование происходит одновременно, участникам выдаются одинаковые задания, решения которых могут предоставляться на любом языке программирования[3].

Для получения успешного результата участникам нужно не только корректно решать задачи, но и быстро кодировать их реализацию. Задача считается успешно решённой тогда, когда предоставленное решение выдаёт правильные ответы на все тестовые входные данные. При этом с технической точки зрения участник инициирует запрос на тестирование, и система предоставляет ему входные данные, на которые должен быть дан ответ за некоторое предельное время (в зависимости от набора данных). Обычно для тестирования в каждой задаче предоставляется малый и большой набор данных, отличающийся сложностью, и на обработку которых даётся по 4 и 8 минут соответственно[2]. Если на предоставленный набор данных участник даёт корректный ответ (все тесты пройдены), то участнику зачисляется некоторое число очков, зависящее от задачи. Если хотя бы один из тестов неверен, то очки не начисляются, а участнику добавляется штрафное время 4 минуты. Как правило, результат для малого набора данных участник получает сразу после отправления своего решения, а верный ли ответ для большого набора данных становится известным только в конце соревнования[4].

Google Code Jam разрешает использовать любой язык программирования, начиная с C++, JavaScript и заканчивая такими, как INTERCAL, LOLCODE, Whitespace и др[5]. В то же время, участники как правило используют популярные языки программирования, в основном это C++, Java, C#, Python[2].

В 2017 году было подано около 60 000 заявок на участие из более чем 130 стран мира. Приз за первое место в соревновании составляет 15 000 долларов[5].

График проведения соревнований

править

В соревновании может принять участие любой желающий. После подачи заявки дается возможность участия в квалификационном раунде, который длится около суток и для прохождения которого необходимо набрать некоторое число баллов. В дальнейшем проводится серия из трёх раундов 1A, 1B и 1C, каждый из которых проходит в разные дни и имеет длительность 2,5 часа каждый. В каждом из этих соревнований проходит в следующий раунд (2-й) по 1000 участников, занявших первые места. Если участник уже прошёл в 2-й раунд, то к участию в 1B и 1C не допускается[4].

После завершения второго раунда в следующем 3-м раунде участвует 500 человек, по завершении которого остается 25 лучших, отправляющихся в финал. Все соревнования, кроме финала, проходят в онлайн[4]. Финальная часть проходит в одном из городов мира, и транслируется в Интернет[6].

Победители соревнований

править
Год Место проведения Участников 1-е место 2-е место 3-е место
2020 Виртуальный 44 434   Геннадий Короткевич   Кевин Сан   Эндрю Хе
2019 Сан-Франциско, США 35 509   Геннадий Короткевич   Макото Соэдзима   Эндрю Хе
2018 Торонто, Канада 24 584   Геннадий Короткевич   Камил Дебовски   Макото Соэдзима
2017 Дублин, Ирландия[7] 25 289   Геннадий Короткевич   Константин Семёнов   Владислав Епифанов
2016 Нью-Йорк, США[8] 27 170   Геннадий Короткевич   Кевин Атьенза   Егор Куликов
2015 Сиэтл, США[9] 23 296   Геннадий Короткевич   Макото Соэдзима   Брюс Мерри
2014 Лос-Анджелес, США[10] 25 462   Геннадий Короткевич   Евгений Капун   Юйчжоу Гу
2013 Лондон, Великобритания[11] 21 273   Иван Метельский   Василий Билецкий   Владислав Исенбаев
2012 Нью-Йорк, США 20 613   Якуб Пахоцкий   Нил Ву   Михал Форишек
2011 Токио, Япония 14 397   Макото Соэдзима   Иван Метельский   Якуб Пахоцкий
2010 Дублин, Ирландия 12 092   Егор Куликов   Эрик-Ян Крийгсман   Сергей Копелиович
2009 Маунтин-Вью, США 8289   Тяньчэн Лоу   Цзичао Ци   Ёити Ивата
2008 Маунтин-Вью, США 7154   Тяньчэн Лоу   Цзэюань Чжу   Брюс Мерри
2006 Нью-Йорк, США ?   Пётр Митричев   Ин Ван   Андрей Станкевич
2005 Маунтин-Вью, США ?   Марек Цыган   Эрик-Ян Крийгсман   Пётр Митричев
2004 Маунтин-Вью, США ?   Сержио Санчо   По Рух Лох   Рейд Бартон[англ.]
2003 Маунтин-Вью, США ?   Джимми Мардель   Кристофер Хендри   Евгений Васильченко

Результаты по странам

править
Страна 1-е место 2-е место 3-е место
  Беларусь 8 1 0
  Китай 2 3 1
  Россия 2 2 7
  Польша 2 0 1
  Япония 1 1 2
  Аргентина 1 0 0
  Швеция 1 0 0
  США 0 2 3
  Нидерланды 0 2 0
  Канада 0 2 0
  Украина 0 1 0
  Филиппины 0 1 0
  ЮАР 0 0 2
  Словакия 0 0 1

Примечания

править
  1. Google Launches Code Jam 2003 (18 сентября 2003). Архивировано из оригинала 25 апреля 2012 года.
  2. 1 2 3 Sergii Dymchenko, Mariia Mykhailova. Declaratively Solving Tricky Google Code Jam Problems with Prolog-based ECLiPSe CLP System // Proceedings of the 30th Annual ACM Symposium on Applied Computing. — New York, NY, USA: ACM, 2015-01-01. — С. 2122–2124. — ISBN 9781450331968. — doi:10.1145/2695664.2696032.
  3. Aylin Caliskan-Islam [etc.] De-anonymizing Programmers via Code Stylometry (англ.) // Usenix. — Washington, D.C., 2015. — 12 August. — ISSN 978-1-931971-232. Архивировано 23 апреля 2017 года.
  4. 1 2 3 Terms and Conditions | Google Code Jam. code.google.com. Дата обращения: 22 апреля 2017. Архивировано 23 апреля 2017 года.
  5. 1 2 "Google Code Jam returns with a cash prize of $15,000, registration is open". TechJuice (англ.). 2017-03-16. Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  6.   2016 Code Jam World Finals Live Stream
  7. "Белорус Короткевич вновь стал лучшим на Google Code Jam". 2017-08-11. Архивировано 11 августа 2018. Дата обращения: 11 августа 2018.
  8. "Студент ИТМО Геннадий Короткевич в третий раз подряд выиграл Google Code Jam". Экспертный центр электронного государства. 2016-08-08. Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  9. "Еще одна победа Гены Короткевича. Белорус победил в конкурсе программирования Google". Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  10. "Гомельский программист получил от Google 15 тыс. долларов". Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  11. Белорус Иван Метельский выиграл Google Code Jam 2013 | dev.by. dev.by. Дата обращения: 22 апреля 2017. Архивировано из оригинала 23 апреля 2017 года.

Ссылки

править