Nivel 4: Este nivel me pareció el más difícil de los cinco. Requería la aplicación de varios conceptos para resolver un único problema. Hay un total de dos preguntas en este nivel y se da un tiempo de un total de dos semanas para resolver cada pregunta.
En este nivel se requiere un amplio conocimiento de algoritmos y estructuras de datos.
La primera pregunta estaba basada en el concepto de teoría de números y grafos. Tuve que implementar el algoritmo de Bellman-Ford para resolver esta pregunta.
Me llevó mucho tiempo entender estos conceptos e implementarlos para resolver estas preguntas. Pero fui capaz de resolver ambas preguntas a tiempo.
¡Después de completar con éxito el nivel 4 se obtiene otro enlace de referencia para invitar a un amigo más a probar este desafío!
Nivel 5: Este fue el segundo problema más difícil de todo el desafío y se basó en un concepto puramente matemático. El nivel final sólo tenía una pregunta y se dieron veintidós días para resolver ese problema.
El problema requería la comprensión de permutaciones y combinaciones y la aplicación del teorema de enumeración de Pólya y el lema de Burnside. Después de entender estos dos teoremas la parte de codificación fue bastante sencilla.
¡Con la presentación de esta pregunta, el Desafío Google Foobar se ha completado!
Después de terminar el desafío, obtuve una cadena encriptada que fue fácil de descifrar usando base64
.
import base64encrypted="THE ENCRYPTED MESSAGE"my_eyes=str.encode("MY USER NAME")decoded=base64.b64decode(encrypted)decrypted=""for i in range(0,len(decoded)):decrypted+=chr((my_eyes ^ decoded))print(decrypted)
Este fue el código que usé para descifrar el mensaje. El mensaje descifrado era:
{'success' : 'great', 'colleague' : 'esteemed', 'efforts' : 'incredible', 'achievement' : 'unlocked', 'rabbits' : 'safe', 'foo' : 'win!'}
¿Qué ocurrirá después de completar el reto?
Después de completar con éxito los cinco niveles, lo más probable es que el reclutador de Google se ponga en contacto contigo para realizar una entrevista.
Es posible que recibas un correo electrónico o una llamada telefónica y que, si superas la entrevista, te contraten en Google.
¿Cómo conseguir el reto Foobar?
Desgraciadamente, este reto no está disponible para todo el mundo y Google lo envía sólo a desarrolladores específicos (puede estar basado en su historial de búsqueda – palabras clave técnicas).
No te preocupes si aún no has conseguido esta invitación, esta no es la única manera de conseguir un trabajo en Google.
¡No encuentres Foobar, deja que Foobar te encuentre a ti!