Atasco de código de Google

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 29 de marzo de 2020; las comprobaciones requieren 7 ediciones .
Atasco de código de Google
sitio web
Tema programación
Idioma inglés
Fundadores Google
fechas desde 2003 hasta el presente
Inicio del evento 2003
Ubicación
País Mundo
Sitio web codingcompetitions.withgoogle.com/… (  inglés)

Google Code Jam  es una competencia internacional de programación organizada por Google . Mantiene la historia desde 2003 como un medio para identificar las mejores mentes para posibles trabajos en Google [1] . La competición consiste en un conjunto de problemas algorítmicos que deben ser resueltos en un tiempo fijo. A diferencia de la mayoría de las competencias de programación, los participantes pueden usar cualquier lenguaje de programación y entorno de desarrollo para resolver un problema.

Google Code Jam es considerado uno de los campeonatos de programación más masivos. Así, en 2014, se registraron casi 50 mil participantes, entre los cuales 25.462 personas pasaron la ronda de clasificación [2] .

Descripción

Durante la competencia, los participantes reciben un conjunto de tareas algorítmicas que deben resolverse en un tiempo limitado. En este caso, la competencia se lleva a cabo simultáneamente, a los participantes se les asignan las mismas tareas, cuyas soluciones se pueden proporcionar en cualquier lenguaje de programación [3] .

Para obtener un resultado exitoso, los participantes necesitan no solo resolver los problemas correctamente, sino también codificar rápidamente su implementación. Un problema se considera resuelto con éxito cuando la solución proporcionada da respuestas correctas a todas las entradas de la prueba . En este caso, desde un punto de vista técnico, el participante inicia una solicitud de prueba y el sistema le proporciona datos de entrada, que debe responder dentro de un límite de tiempo determinado (dependiendo del conjunto de datos). Por lo general, para las pruebas en cada tarea, se proporciona un conjunto de datos pequeño y grande, que difiere en complejidad, y cuyo procesamiento se da durante 4 y 8 minutos, respectivamente [2] . Si el participante da la respuesta correcta al conjunto de datos proporcionado (se aprueban todas las pruebas), se le acredita una cierta cantidad de puntos, dependiendo de la tarea. Si al menos una de las pruebas es incorrecta, no se otorgan puntos y se agrega un tiempo de penalización de 4 minutos al participante. Como regla general, el participante recibe el resultado de un conjunto de datos pequeño inmediatamente después de enviar su decisión, y si la respuesta correcta para un conjunto de datos grande se conoce solo al final de la competencia [4] .

Google Code Jam te permite utilizar cualquier lenguaje de programación, desde C++ , JavaScript y terminando en como INTERCAL , LOLCODE , Whitespace y otros [5] . Al mismo tiempo, los participantes tienden a utilizar lenguajes de programación populares, principalmente C++ , Java , C# , Python [2] .

En 2017, se presentaron alrededor de 60 000 solicitudes de más de 130 países de todo el mundo. El premio para el primer lugar en la competencia es de $ 15,000 [5] .

Calendario de competición

Cualquiera puede participar en el concurso. Después de enviar una solicitud, se le brinda la oportunidad de participar en una ronda de clasificación, que dura aproximadamente un día y para la cual debe obtener una cierta cantidad de puntos. A partir de entonces, se lleva a cabo una serie de tres rondas 1A, 1B y 1C, cada una de las cuales tiene lugar en días diferentes y tiene una duración de 2,5 horas cada una. En cada una de estas competencias, 1000 finalistas del primer lugar avanzan a la siguiente ronda (segunda). Si el participante ya pasó a la 2da ronda, entonces no se le permite participar en 1B y 1C [4] .

Después del final de la segunda ronda, 500 personas participan en la siguiente 3ra ronda, al final de la cual hay 25 mejores que van a la final. Todas las competiciones, excepto la final, se llevan a cabo en línea [4] . La parte final tiene lugar en una de las ciudades del mundo y se transmite por Internet [6] .

Ganadores del concurso

Año Ubicación Participantes 1er lugar Segundo lugar 3er lugar
2020 Virtual 44 434 Gennady Korotkevich kevin sol andres el
2019 San Francisco , Estados Unidos 35 509 Gennady Korotkevich makoto soejima andres el
2018 toronto , canadá 24 584 Gennady Korotkevich Camille Debowski makoto soejima
2017 Dublín , Irlanda [7] 25 289 Gennady Korotkevich Konstantin Semionov Vladislav Epifanov
2016 Nueva York , Estados Unidos [8] 27 170 Gennady Korotkevich Kevin Atienza Egor Kulikov
2015 Seattle , Estados Unidos [9] 23 296 Gennady Korotkevich makoto soejima bruce feliz
2014 Los Ángeles , Estados Unidos [10] 25 462 Gennady Korotkevich evgeny kapun Yuzhou Gu
2013 Londres , Reino Unido [11] 21 273 Iván Metelski Vasili Biletsky Vladislav Isenbaev
2012 Nueva York , Estados Unidos 20 613 Yakub Pahotsky neil wu Michal Forishek
2011 Tokio , Japón 14 397 makoto soejima Iván Metelski Yakub Pahotsky
2010 Dublín , Irlanda 12 092 Egor Kulikov Erik-Jan Kriigsman sergei kopeliovich
2009 Mountain View , EE . UU. 8289 Tiancheng bajo Jichao Qi Yoichi Iwata
2008 Mountain View , EE . UU. 7154 Tiancheng bajo Zeyuan Zhu bruce feliz
2006 Nueva York , Estados Unidos ? Petr Mitrichev ying wang andréi stankevich
2005 Mountain View , EE . UU. ? Marek Cigan Erik-Jan Kriigsman Petr Mitrichev
2004 Mountain View , EE . UU. ? sergio sancho Por Rukh Loh Reid Barton
2003 Mountain View , EE . UU. ? jimmy mardel cristobal hendry Eugeny Vasilchenko

Resultados por país

País 1er lugar Segundo lugar 3er lugar
Bielorrusia ocho una 0
Porcelana 2 3 una
Rusia 2 2 7
Polonia 2 0 una
Japón una una 2
Argentina una 0 0
Suecia una 0 0
EE.UU 0 2 3
Países Bajos 0 2 0
Canadá 0 2 0
Ucrania 0 una 0
Filipinas 0 una 0
Sudáfrica 0 0 2
Eslovaquia 0 0 una

Notas

  1. Google lanza Code Jam 2003 (enlace descendente) (18 de septiembre de 2003). Archivado desde el original el 25 de abril de 2012. 
  2. ↑ 1 2 3 Sergii Dymchenko, Mariia Mykhailova. Resolución declarativa de problemas complicados de atascos de código de Google con el sistema ECLiPSe CLP basado en Prolog  // Actas del 30.º Simposio anual de ACM sobre informática aplicada. — Nueva York, NY, EE. UU.: ACM, 2015-01-01. — S. 2122–2124 . — ISBN 9781450331968 . -doi : 10.1145/ 2695664.2696032 .
  3. Aylin Caliskan-Islam [etc.] Desanonimización de programadores mediante estilometría de código   // Usenix . - Washington, DC, 2015. - 12 de agosto. — ISSN 978-1-931971-232 . Archivado desde el original el 23 de abril de 2017.
  4. ↑ 1 2 3 Términos y condiciones | Atasco de código de Google . código.google.com. Consultado el 22 de abril de 2017. Archivado desde el original el 23 de abril de 2017.
  5. 1 2 Google Code Jam regresa con un premio en efectivo de $ 15,000, el registro está abierto  , TechJuice (  16 de marzo de 2017). Archivado desde el original el 23 de abril de 2017. Consultado el 22 de abril de 2017.
  6. Transmisión en vivo de la final mundial de Code Jam 2016logotipo de youtube 
  7. El bielorruso Korotkevich volvió a ser el mejor en Google Code Jam  (ruso)  (11 de agosto de 2017). Archivado desde el original el 11 de agosto de 2018. Consultado el 11 de agosto de 2018.
  8. El estudiante de ITMO Gennady Korotkevich ganó el Google Code Jam por tercera vez consecutiva  (ruso) , Expert Center for Electronic State  (8 de agosto de 2016). Archivado desde el original el 23 de abril de 2017. Consultado el 22 de abril de 2017.
  9. Otra victoria para Gena Korotkevich. El bielorruso ganó el concurso de programación de Google  (rus.) . Archivado desde el original el 23 de abril de 2017. Consultado el 22 de abril de 2017.
  10. El programador Gomel recibió $15,000 de Google  (ruso) . Archivado desde el original el 23 de abril de 2017. Consultado el 22 de abril de 2017.
  11. El bielorruso Ivan Metelsky ganó Google Code Jam 2013 | dev.by (enlace inaccesible) . desarrollador por Consultado el 22 de abril de 2017. Archivado desde el original el 23 de abril de 2017. 

Enlaces