Cel: +52 (55) 3040-5403 Correo: mariana.velazquez@recluit.com
post-tittle

¿Cómo superar una entrevista de Python?

Por: Reclu IT

24 de abril de 2019

Conocer experiencias más directas y personales de los profesionales TI, siempre dejan grandes enseñanzas para sus colegas, por eso es tan llamativa lo que comparte James Jones, seudónimo de un empleado en un banco de inversiones en Estados Unidos.

El experto comparte que como «ingeniero» en un banco de inversiones, realiza muchas entrevistas, especialmente con personas que afirman programar en Python. Después de todo, Python es un lenguaje con muchos recién llegados y muchas personas que hacen grandes afirmaciones sobre su dominio de Python … en la práctica no lo tienen.

Antes de ingresar a una habitación y decir que conoce Python, James Jones recomienda familiarizarse con los siguientes obstáculos de una entrevista de trabajo típica de Python:

  • «¿Qué es una lista de comprensión?»

A primera vista, parece una pregunta fácil de responder. Es una forma abreviada de crear una nueva lista; por ejemplo, agregando dos a cada número en una lista existente:

new_list = [x + 2 para x en números]

Pero entonces el entrevistador puede profundizar un poco más y preguntar algo como: «¿Entonces es el equivalente a un for-loop anexado a la lista?» Un candidato primerizo diría «sí», pero eso no es cierto (generalmente). Las comprensiones de listas son más eficientes que los bucles, donde la lista en el bucle se crea sin elementos inicializados.

En la lista de comprensión, sabemos cuál será el tamaño del resultado; por lo tanto, Python puede asignar la memoria por adelantado, que es mucho más eficiente que agregar dinámicamente a una lista.

El entrevistador puede ser aún más malvado preguntando si definir las expresiones lambda directamente en una lista de comprensión es una buena idea. No lo es. Por lo tanto, una simple pregunta puede atascarse rápidamente en detalles sobre cosas que no piensa conscientemente en el día a día, incluso como un desarrollador experimentado.

Este es un verdadero desafío como nuevo programador: es natural que los entrevistadores vean cuán profundos son los conocimientos de un candidato. Mi consejo es ser directo y no enojarte cuando no sabes algo. De esa manera, la entrevista puede pasar rápidamente a algo que quizás sepas.

  • «¿Por qué la gente dice que Python es de un solo hilo?»

En este caso, el entrevistador desea conocer su comprensión del bloqueo global del intérprete. Python tiene paquetes de hilos; pero en algunas versiones de Python, el bloqueo global del intérprete garantiza que, en cualquier momento dado, solo se pueda ejecutar un subproceso (mantiene el bloqueo). Puede parecer que las cosas se ejecutan en paralelo, pero en realidad no lo son. Aumenta la velocidad de las aplicaciones de subproceso único y facilita la integración de las bibliotecas de C (que no son seguras para subprocesos). Hasta ahora tan bueno.

Luego, el entrevistador podría preguntar: «¿Podemos ejecutar algo en paralelo en Python?» Esto es cuando quieren que hable de procesos contra hilos, y el hecho de que Python tiene una buena biblioteca de multiprocesamiento. También podríamos agrupar las solicitudes en un grupo de cómputo o en una cola de trabajo como Celery. El bloqueo global del intérprete tampoco detiene el procesamiento de subprocesos al mismo tiempo muchas solicitudes de entrada / salida; el bloqueo se comparte, mientras que los subprocesos están a la espera de que finalicen las solicitudes (esto es particularmente efectivo en las versiones de Python después de 3.2).

Este profesional TI recomienda no «perder la cabeza», esto se refiera a:

Como nuevo programador en una entrevista de estilo trivial, es muy probable que no sepas todo lo que se te pedirá; El truco es lidiar con eso.

No hace falta decir que debes conocer los principales elementos sintácticos de Python: cosas como generadores, las diferencias entre listas y tuplas, expresiones lambda, filtros de iterables, etc.

Es muy útil saber cómo funcionan las estructuras de datos centrales. Por ejemplo, a menudo se te preguntará cómo funciona un diccionario bajo el capó. También debe tener opiniones sobre el sistema de tipos y la naturaleza interpretada del lenguaje en comparación con un lenguaje estáticamente tipificado y compilado (es una cuestión de compensaciones). Como en cualquier otro idioma, debe asegurarse de haber practicado preguntas sobre la estructura de datos y algoritmos en una plataforma como HackerRank o Leetcode. También se le puede presentar un código en papel, y también es útil practicar el código de ejecución en seco en su cabeza.»

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)
post-tittle

¿Cómo superar una entrevista de Python?

Por: Reclu IT

24 de abril de 2019

Conocer experiencias más directas y personales de los profesionales TI, siempre dejan grandes enseñanzas para sus colegas, por eso es tan llamativa lo que comparte James Jones, seudónimo de un empleado en un banco de inversiones en Estados Unidos.

El experto comparte que como «ingeniero» en un banco de inversiones, realiza muchas entrevistas, especialmente con personas que afirman programar en Python. Después de todo, Python es un lenguaje con muchos recién llegados y muchas personas que hacen grandes afirmaciones sobre su dominio de Python … en la práctica no lo tienen.

Antes de ingresar a una habitación y decir que conoce Python, James Jones recomienda familiarizarse con los siguientes obstáculos de una entrevista de trabajo típica de Python:

  • «¿Qué es una lista de comprensión?»

A primera vista, parece una pregunta fácil de responder. Es una forma abreviada de crear una nueva lista; por ejemplo, agregando dos a cada número en una lista existente:

new_list = [x + 2 para x en números]

Pero entonces el entrevistador puede profundizar un poco más y preguntar algo como: «¿Entonces es el equivalente a un for-loop anexado a la lista?» Un candidato primerizo diría «sí», pero eso no es cierto (generalmente). Las comprensiones de listas son más eficientes que los bucles, donde la lista en el bucle se crea sin elementos inicializados.

En la lista de comprensión, sabemos cuál será el tamaño del resultado; por lo tanto, Python puede asignar la memoria por adelantado, que es mucho más eficiente que agregar dinámicamente a una lista.

El entrevistador puede ser aún más malvado preguntando si definir las expresiones lambda directamente en una lista de comprensión es una buena idea. No lo es. Por lo tanto, una simple pregunta puede atascarse rápidamente en detalles sobre cosas que no piensa conscientemente en el día a día, incluso como un desarrollador experimentado.

Este es un verdadero desafío como nuevo programador: es natural que los entrevistadores vean cuán profundos son los conocimientos de un candidato. Mi consejo es ser directo y no enojarte cuando no sabes algo. De esa manera, la entrevista puede pasar rápidamente a algo que quizás sepas.

  • «¿Por qué la gente dice que Python es de un solo hilo?»

En este caso, el entrevistador desea conocer su comprensión del bloqueo global del intérprete. Python tiene paquetes de hilos; pero en algunas versiones de Python, el bloqueo global del intérprete garantiza que, en cualquier momento dado, solo se pueda ejecutar un subproceso (mantiene el bloqueo). Puede parecer que las cosas se ejecutan en paralelo, pero en realidad no lo son. Aumenta la velocidad de las aplicaciones de subproceso único y facilita la integración de las bibliotecas de C (que no son seguras para subprocesos). Hasta ahora tan bueno.

Luego, el entrevistador podría preguntar: «¿Podemos ejecutar algo en paralelo en Python?» Esto es cuando quieren que hable de procesos contra hilos, y el hecho de que Python tiene una buena biblioteca de multiprocesamiento. También podríamos agrupar las solicitudes en un grupo de cómputo o en una cola de trabajo como Celery. El bloqueo global del intérprete tampoco detiene el procesamiento de subprocesos al mismo tiempo muchas solicitudes de entrada / salida; el bloqueo se comparte, mientras que los subprocesos están a la espera de que finalicen las solicitudes (esto es particularmente efectivo en las versiones de Python después de 3.2).

Este profesional TI recomienda no «perder la cabeza», esto se refiera a:

Como nuevo programador en una entrevista de estilo trivial, es muy probable que no sepas todo lo que se te pedirá; El truco es lidiar con eso.

No hace falta decir que debes conocer los principales elementos sintácticos de Python: cosas como generadores, las diferencias entre listas y tuplas, expresiones lambda, filtros de iterables, etc.

Es muy útil saber cómo funcionan las estructuras de datos centrales. Por ejemplo, a menudo se te preguntará cómo funciona un diccionario bajo el capó. También debe tener opiniones sobre el sistema de tipos y la naturaleza interpretada del lenguaje en comparación con un lenguaje estáticamente tipificado y compilado (es una cuestión de compensaciones). Como en cualquier otro idioma, debe asegurarse de haber practicado preguntas sobre la estructura de datos y algoritmos en una plataforma como HackerRank o Leetcode. También se le puede presentar un código en papel, y también es útil practicar el código de ejecución en seco en su cabeza.»

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)

Política de privacidad de www.recluit.mx

Para recibir la información sobre sus Datos Personales, la finalidad y las partes con las que se comparte,
contacten con el Propietario.