Experiencia de entrevista de Fynd para ingeniero júnior de Python (más de 1 año de experiencia)

Hola a todos, Espero que todo esté bien con ustedes. Hoy voy a compartir mi experiencia en la entrevista de fynd para el puesto de ingeniero júnior de Python. Espero que te ayude a prepararte para tu próxima entrevista de codificación. Entonces, sin más preámbulos, comencemos.

Solicité el puesto a través del portal de empleos de Linkedin. Al día siguiente, recibí una llamada telefónica de presentación del equipo de recursos humanos. Me dieron una breve introducción sobre Fynd y luego programó una entrevista con un miembro del equipo de ingenieros sénior que tenía más de 5 años de experiencia. 

Ronda 1: Comenzamos con la introducción. Duró más de 90 minutos.

Resumen de preguntas:

Comenzó con los conceptos básicos de python .

Tipos de datos

  • Ninguno Tipo
  • Numérico -> int, float, complejo, bool
  • Tipo de secuencia -> Lista, tupla, str
  • Tipo de asignación -> dict
  • tipo de conjunto -> conjunto y conjunto congelado (pregunté la diferencia)

Conceptos básicos de SGBD :

  • ¿Cuál es la diferencia entre RDBMS y DBMS?
  • ¿Alguna vez no ha utilizado una base de datos SQL? ¿En qué se diferencia de la base de datos de relaciones? Cuáles son las ventajas y desventajas de usarlos.
  • Preguntado por Index. ¿Qué pasará si colocamos el índice en todas las columnas? ¿Será más rápido o más lento?
  • Se le pidió que analizara un dato. Fue un ejemplo de relación muchos a muchos (proceso – receta). Esquema preguntado. Definí 3 tablas. Proceso, Receta y ProcessRecipeMapper. y luego se le pidió que escribiera una consulta para recuperar todos los datos. Así que utilicé el concepto relacionado con Django Prefetch y Select. También me pidió que escribiera la consulta en SQL. Tomó algo de tiempo y no fue perfecto (ya que no lo he usado en mi experiencia profesional), pero el entrevistador entendió lo que estaba tratando de lograr.

Fundamentos de Django:

  • Discutimos sobre el flujo de solicitud HTTP simple en django. Lo que sucede durante la llamada a la API explica el flujo.

Simple Código fácil de implementar sin usar funciones integradas. https://www.geeksforgeeks.org/palabras-inversas-en-una-string-dada/

Ronda 2 (Ronda de tareas):

  • Ronda de tareas: el entrevistador sabe que tengo experiencia en DRF. Entonces, para el desafío, me pidieron que implementara la API de películas que tiene géneros, calificación, director, lista de actores (solo el nombre) en resumen, una API muy básica usando el marco Flask/Sanic/Fast API de su elección. (Elegí Sanic y Mongo ) y base de datos SQLite/Mongo. 
  • No había una fecha límite específica, pero completé la tarea en un fin de semana. Además, escribí casos de prueba, implementé el almacenamiento en caché, Swagger con fines de documentación y Docker e implementé el código en AWS EC2. 
  • PD Debido a mis esfuerzos de adición, me asignaron directamente a la 4ª ronda y se saltan una ronda técnica. Con base en esta experiencia, es mi consejo para el lector que si le asignan una tarea, no le tenga miedo. ¡Haz tu mejor esfuerzo, no sabes lo que sucederá después! ¡Al menos aprender de la tarea eventualmente te ayudará!

Ronda 3 (técnica): debido a mis esfuerzos de adición, se saltan una ronda técnica

Ronda 4 (Ronda de Ingeniero Principal):  Comenzamos con la introducción. 

  • Me explicó sobre fynd y próximos proyectos.
  • Luego me preguntó cuál es la diferencia entre C y Python. Respondí: uno se basa en lenguaje funcional/procedimental, otro sigue OOP. ¡Él sonrió y dijo que esta es una definición de libro de texto! dime algo que no sepa. Hice lo mejor que pude y expliqué cada punto que me vino a la mente.
  • Luego me preguntó en qué idioma la ejecución del código es más rápida. Respondí a C. Nuevamente respondió, esta es una definición de libro de texto, ¡explícame cómo! Discutimos sobre algunos conceptos de OS de compilación. En c, el código pasa por diferentes etapas: Enlazador, Ensamblador, Compilador, pero incluso en Python, el intérprete ejecuta el archivo .pyc. No pude explicarle la mejor respuesta.
  • Luego, como pista, me preguntó el concepto de copia superficial y copia profunda.
    Código de muestra:

    Python3

    # code
    a = 5
    b = 10
      
    b = a
    a = 7
    print(a, b)

    Y pídeme que explique la asignación de memoria, le dije que a y b se asignarán a una asignación de memoria diferente y ambos consumirán 8 bytes (tamaño de int) de memoria.

  • Luego me preguntó qué pasará si ejecuto esto:

    Python3

    # code
    a = 5
    b = 7
      
    print(id(a), id(b))
      
    a = 5
    b = 5
      
    print(id(a), id(b))

    PD: ¡Intenta obtener la respuesta por tu cuenta!

  • Luego discutimos un poco sobre el índice de la base de datos, la normalización.
  • También me preguntó sobre la diferencia entre la arquitectura de servicios Monolith y Micro.
  • La siguiente pregunta fue, ¿qué sucederá cuando escriba fynd.com en el navegador? Discutimos sobre DNS, enrutamiento (conceptos básicos), puerta de enlace y conceptos básicos del arco del sistema.
  • Pregunta de codificación: similar al máximo de la ventana deslizante. (Se requiere código de trabajo).

Ronda 5 : tipo de pregunta básica de recursos humanos. 

  • ¿Por qué quieres unirte a Fynd? ¿Qué sabes de Fynd?
  • Por qué quiere dejar su organización actual, etc.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *