Era domingo, 26 de febrero y el ingeniero de software de 28 años había salido de su casa en Lagos, Nigeria, para venir a Estados Unidos por primera vez. Fue un viaje de trabajo. Durante los últimos seis meses, Omin había estado trabajando para Andela, una startup que conecta a los mejores talentos tecnológicos en África con los empleadores en los EE.UU. Andela acepta menos del 1% de los solicitantes en su programa y está respaldado por Mark Zuckerberg de Facebook y Priscilla Chan.
Comentarios
#4 Tampoco son tan sencillas las preguntas. Los árboles balanceados es un concepto que en mi vida laboral jamás he utilizado, y bien podría haberme olvidado de este asunto aprendido hace 20 años en la carrera. De hecho que el árbol sea binario ya ni recuerdo lo que significaba. Y hacer la función a bote pronto tiene su miga y te llevará un buen tiempo.
Las clases abstractas más de lo mismo, En la carrera no vi nada sobre eso y en mi vida laboral aprendí sobre ellas una vez y las utilicé porque en ese proyecto tenia libertad, tiempo, y me apetecía experimentar cosas sobre POO y buscarles la utilidad a esas clases. En la siguiente versión de ese proyecto, años después, eliminé todo ese berenjenal de POO que había montado para simplificar el proyecto, reducir costes y facilitar el mantenimiento. A día de hoy no sé si sabría responder qué utilidad tienen.
#17 Arbol binario que cada elto tiene dos hijos.
Las clases son "pa" ir a aprender o "pa" fumarselas.
#17 Acepto lo de que no recuerdes lo que es un arbol balanceado, es bastante posible, sobre todo si programas orientado a objetos donde te viene todo hecho y es fácil meter un "*Tree" olvidándose de lo que es, pero una vez recuerdas lo que es comprobar que está bien balanceado es lo más fácil del mundo. Podríamos decir que esa estructura está pensada para eso.
Lo de las clases abstractas... He pasado por muchas empresas y en todas les hemos encontrado utilidad de una forma o de otra. También son un concepto clave en cualquier lenguaje orientado a objetos, así que será un problema tan común que todos lo han tenido que resolver de una forma similar. ¿En serio no te explicaron nada de POO en la carrera? Porque abstracción es uno de los conceptos base del paradigma, se me hace rarísimo que, si tu carrera estuvo relacionada con el software, no te lo explicaran. Lo leo y la comparación que se me ocurre es como si a un matemático no le enseñasen álgebra.
#30 Si recuerdo lo que es un árbol balanceado porque se explicaba en estructura de datos y en Base de Datos era pregunta de examen habitual. No recordaba lo del árbol binario, tuve que pensarlo un rato para caer en la cuenta. Lo de hacer la función se me antoja un marrón, pues tendría que empezar por recordar o decidir como se implementaba un pseudocodigo para almacenar las hojas del árbol, hoja izquierda y hoja derecha en un árbol binario? quizás hoja[0] y hoja[1] podrían valer?. Y luego montar la función recursiva y que funcione probándola mentalmente, no es una pregunta trivial.
En la carrera no había asignatura de POO, cuando tuve una asignatura específica de esa materia no se explicó nada sobre eso, ni sobre otras técnicas de POO, eran otros tiempos. El álgebra tiene unos 4 siglos, la POO no estaba en todas las universidades hace 2 o 3 décadas. En el mundo empresarial ya te digo que solo las usé porque yo mismo decidí usarlas sin venir a cuento, sino nunca las habría tocado. En mis proyectos propios donde si era necesario usar POO puede que sí lograse hacerlas útiles. Una pregunta, ¿qué leguaje o frameworks utilizas laboralmente? eres de front o back end?
#34 En pseudocódigo te vale cualquier cosa. Yo usaría .left() Y .right(), pero si interpretas que es un array, la tuya también vale.
Es una de las quejas. Pones a un tipo cansado tras un viaje allí, con la presión del control de fronteras y sin saber por qué le preguntan eso ni exactamente qué tipo de respuesta quieren, y es probable que falle aunque sea un experto en el tema.
Como dices, POO lleva décadas. Hay posibilidades de que estudiases antes de ello y sigas en lenguajes imperativos, bases de datos... Aunque supongo que por la edad se podría descartar, solo la gente más mayor habrá podido esquivar Poco en la carrera y luego en el trabajo. Pero quiero pensar que puedes explicarle eso a los de la frontera y encontrarán una alternativa.
"Your visa says you are a software engineer. Is that correct?" the officer asked Omin in a tone the engineer described as accusatory. When Omin said it was right, the officer presented him with a piece of paper and a pen and told him to answer the following questions:
"Write a function to check if a Binary Search Tree is balanced."
"What is an abstract class, and why do you need it?"
No deja de sorprenderme la formación que tienen en los EE.UU. los oficiales de aduanas y fronteras. Qué nivelón, no hay quien se la cuele. Seleccionados de entre las mejores universidades del país.
#3 Bueno, son dos preguntas sencillas pero que alguien que no sabe de software no sabría resolver.
Es un buen test, otra cosa es que sea adecuado hacérselo a alguien que lleva 24 horas viajando y está más dormido que despierto, o que los agentes de aduanas no puedan interpretar la respuesta si el preguntado no da exactamente la que esperan.
#3 Sí amigo sí, las Green Cards no se las conceden a cualquiera, no te tocan en una de tómbola de feria
#14 Bueno, de hecho, sí que te tocan. Hay una lotería de Green Cards. A mi hermana le ha tocado y se ahorró casi un año de trámites.
#15 Ostía, pues es cierto, ¡si lo había leído por ahí antes! Felicidades a tu hermana, yo soy más del Perrito Piloto, pero la Green Card también mola.
#3 - Déjeme un ordenador para consultarlo en Stackoverflow.
- Tranquilo, ya puede continuar; ha superado la prueba.
#3 Me he quedao sin palabras.
#c-3" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2741732/order/3">#3 Algo parecido me estaba preguntando yo... Que te hagan las preguntas, ya es raro, pero... ¿cómo saben que las respuestas son correctas?
Vamos... que me gustaría saber qué hubiese pasado si el tío va y pone:
def profundidá(del_arbol):
if eso:
pues_ya_tal()
return "Is very difficult todo esto"
# Y esta pa asegurar compatibilidad
# con WindowsXP y anteriores:
raise Exception()
GOTO profundidá
#27 Pueden contratar por unos minutos a un ingeniero de software o dos para contrastar por telefono y todo, sin que haga falta verse ni con el sospechoso ni ninguno etre ellos ... una aduana asi de seria estara preparada para todo
A ver si viaja algún chapero a EEUU, nos íbamos a echar unas buenas risas.
Buffff... Como pillen a Rajoy en la aduana diciendo que es presidente!!!!
#8 Ellos tienen a Trump, tal vez el test consista en hacer preguntas y dejar pasar a quien las falle todas.
#10 "La segunda ya tal, la primera es como el agua que cae del cielo sin que sepamos exactamente por qué."
Que callado se lo teníaikipol
#2
#5
#9
#11 mamón, tienen que detenerte en todo el puto mundo
Que inocentes que sois, la virgen. El oficial está estudiando para ingeniero de software y aprovechó para que el pobre viajero le hiciera los deberes... Si es que os lo tengo que explicar todo
He leído la noticia y me imaginaba al oficial de aduanas con la cara de Ignatius Farray gritando PUTO NEGRO! PUTO NEGRO!.
Era un examen físico, para ver si era virgen.
Por mi experiencia de aduanas sospecho que muchos controles se basen en crear un ambiente de presión y ver como reacciona la persona. Si la persona se pone demasiado nerviosa o reacciona de manera extraña investigan mas a fondo.
Un búsqueda rápida en internet y ya tienes cosas cosas que preguntar. Después le dices al tipo que se respuesta es incorrecta. Si reacciona con extrañeza a las preguntas, y se indigna al cuestionar la respuesta es que dice la verdad.
Lo que menos importa es saber si la respuesta es correcta.
IsHeightBalanced(tree)
return (tree is empty) or
(IsHeightBalanced(tree.left) and
IsHeightBalanced(tree.right) and
abs(Height(tree.left) - Height(tree.right))
#19 Yo habria escrito:
if (tree.is_balance() == false)
balance(tree);
#19 Programador de scala?
Pásame tu CV, que estamos interesados
#19 Bueno, es que deberían dejarle consultar stackoverflow en el exámen. O es que se creen que un ingeniero de software saber resolver algo por si mismo?
si hubiese dicho que es un desequilibrado mental le habrian dado un arma en lugar de un examen..
Pero "ingeniero de software" es un oximoron. Comprendo al agente de aduanas
No se creían que era ingeniero informático porque era negro. Que cabroncetes.
- Señor agente de aduanas, ¿y si salgo por la puerta y vuelvo a entrar otra vez?
(Aplicando el "reiniciar y a ver qué pasa")