Muchos de vosotros habréis pensado alguna vez cómo sería trabajar en Google, Facebook o cualquiera de las grandes compañías punteras en el sector, cuáles serían los requisitos para llegar hasta allí. Pues bien, a través del blog de un programador en Estados Unidos nos enteramos del método y las preguntas oficiales para ingresar como programador en Facebook.
Adam Haney es un diseñador web free-lance que hace muy poco tiempo tuvo, quizá, la oportunidad de su vida. Un día, sin tener constancia de nada, un amigo habló de él a un reclutador de Facebook en su Universidad de Tenessee (Estados Unidos) y éste le envío un mail solicitándole su currículum. Haney nos cuenta a través de su blog lo que pide Facebook a día de hoy para entrar en la red social a trabajar. Como él mismo dice, revela la información porque nadie en la compañía le dijo que no podía hacerlo, así que paso a describir el proceso de admisión para entrar en una de los dos empresas más importantes a día de hoy de la web 2.0.
Primer contacto
El primer contacto que realizó fue a través del teléfono. Desde Facebook comienzan con el proceso de una manera más o menos amena, conociendo de voz al aspirante y eliminando así la posibilidad de entrar más en detalle sobre lo que se pide o no para comenzar a trabajar. A Haney se le preguntó por sus objetivos y su formación técnica (en el caso de Adam Linux, MySQL, PHP, C / C ++, Python… ). La conversación luego dio paso a tres preguntas técnicas simples con el fin de eliminar rápidamente a aquellos que no dieran el mínimo exigido:
Dada una lista de números, ¿cuántos intentos se necesita para determinar un número específico X?
¿Cuál es el tiempo de ejecución de Big-O en la búsqueda binaria?
Explicar lo que es una función virtual que se encuentra en C + +, para qué se usa y cómo se vincula.
Entrevistas Técnicas
El propio entrevistado acabó la conversación con una propuesta de segunda entrevista (por lo que supone que pasó esta primera fase). En este caso se trataba de una serie de entrevistas técnicas. La primera de ellas tuvo lugar con un equipo de publicidad de Facebook. Haney fue preguntado por su experiencia en el sector y las tecnologías y áreas que le interesaban. Luego pasaron a realizarle una única pregunta/problema:
- Dada una lista ordenada de números, encontrar la línea ascendente más larga (por ejemplo 2, 1, 3, 2, 3, 4, 1, 5, 2, 3 4, 6, 7).
El resulta de Adam fue satisfactorio, asegurándose de que había una API bien definida. Además, se le pidió finalmente cuál sería el tiempo de ejecución del programa.
La segunda entrevista técnica que tuvo constaba de tres preguntas:
Dada un lista de resultados de exámenes, donde cada línea de un archivo contiene un número de identificación del estudiante y una puntuación de 0 a 10. Escribir un programa que produjera tres sub-archivos. Uno para para el 30% de las mejores notas, otro para el 20% de la media y uno final para el 50% de las notas más bajas.
Escribir una función de eliminado para elementos duplicados.
Escribir una función para imprimir un árbol binario en orden de niveles.
El programador volvió a pasar esta entrevista técnica (no revela los resultados pero si alguno está interesado en las soluciones, Haney las ofrece) y se encontraba a un paso de ingresar en Facebook, se le citó para la entrevista técnica final.
Entrevista técnica final
Una única pregunta final sellaba la entrada en la red social:
- Teniendo en cuenta dos matrices A y B, donde el tamaño de A es equivalente al número de elementos en A y B, y A y B se clasifican en la memoria adicional contenida en A. Fusiona las dos matrices en lugar de una sola.
En este caso se le exigía una sugerencia al problema. Aunque Haney dice que fue capaz de resolverlo, finalmente no consiguió el puesto en la red social. Como dice en el blog, tampoco le dieron pistas sobre la razón, aunque él mismo apunta que tratándose de la empresa que es, quizá se requiera no sólo resolver los problemas, sino rapidez y talento innato. En cualquier caso y como decía al principio esto es una muestra de lo que a día de hoy exige una de las compañías punteras en la red. ¿Qué os parece?