Saltar al contenido

Las 40 mejores preguntas y respuestas de la entrevista de Python

diciembre 8, 2019

1) ¿Qué es Python? ¿Cuáles son los beneficios de usar Python?

Python es un lenguaje de programación con objetos, módulos, hilos, excepciones y gestión automática de memoria. Los beneficios de pythons son que es simple y fácil, portátil, extensible, estructura de datos integrada y es una fuente abierta.

2) ¿Qué es PEP 8?

PEP 8 es una convención de codificación, un conjunto de recomendaciones, sobre cómo escribir tu código Python más legible.

3) ¿Qué es el decapado y el desecado?

El módulo Pickle acepta cualquier objeto Python y lo convierte en una representación de cadena y lo vuelca a un archivo usando la función dump, este proceso se llama decapado. Mientras que el proceso de recuperación de los objetos originales de Python de la representación de cadena almacenada se llama desempaquetado.

4) ¿Cómo se interpreta Python?

La lengua pitón es una lengua interpretada. El programa Python se ejecuta directamente desde el código fuente. Convierte el código fuente que es escrito por el programador en un lenguaje intermedio, el cual es nuevamente traducido al lenguaje de máquina que debe ser ejecutado.

5) ¿Cómo se gestiona la memoria en Python?

  • La memoria de Python es administrada por el espacio privado en pilas de Python. Todos los objetos y estructuras de datos de Python se encuentran en un montón privado. El programador no tiene acceso a este montón privado y el intérprete se encarga de este montón privado de Python.
  • La asignación del espacio en pilas de Python para los objetos Python es realizada por el gestor de memoria de Python. La API principal da acceso a algunas herramientas para que el programador las codifique.
  • Python también tiene un colector de basura incorporado, que recicla toda la memoria no utilizada y libera la memoria y la pone a disposición del espacio en pilas.

6) ¿Cuáles son las herramientas que ayudan a encontrar fallos o a realizar análisis estáticos?

PyChecker es una herramienta de análisis estático que detecta los errores en el código fuente de Python y advierte sobre el estilo y la complejidad del error. Pylint es otra herramienta que verifica si el módulo cumple con el estándar de codificación.

7) ¿Qué son los decoradores Python?

Un decorador Python es un cambio específico que hacemos en la sintaxis de Python para alterar funciones fácilmente.

8) ¿Cuál es la diferencia entre list y tuple?

La diferencia entre lista y tupla es que la lista es mutable mientras que la tupla no lo es. Tuple puede ser hashado, por ejemplo, como clave para diccionarios.

9) ¿Cómo se pasan los argumentos por valor o por referencia?

Todo en Python es un objeto y todas las variables contienen referencias a los objetos. Los valores de referencia están de acuerdo con las funciones; por consiguiente, no se puede modificar el valor de las referencias. Sin embargo, puede modificar los objetos si es mutable.

10) ¿Qué son las comprensiones de Dict y List?

Son construcciones sintácticas para facilitar la creación de un Diccionario o Lista basado en iteraciones existentes.

11) ¿Cuáles son los tipos incorporados que proporciona python?

Hay tipos de Pythons mutables e Inmutables construidos en tipos Tipos de Pythons mutables incorporados

  • Lista
  • Sets
  • Diccionarios

Tipos de empotrables inmóviles

  • Cuerdas
  • Tuplas
  • Números

12) ¿Qué es namespace en Python?

En Python, cada nombre introducido tiene un lugar donde vive y donde puede ser enganchado. Esto se conoce como espacio de nombres. Es como una caja donde se asigna un nombre de variable al objeto colocado. Cada vez que se busque la variable, se buscará en esta casilla para obtener el objeto correspondiente.

13) ¿Qué es lambda en Python?

Se trata de una única expresión de función anónima que a menudo se utiliza como función en línea.

14) ¿Por qué las formas lambda en python no tienen declaraciones?

Una forma lambda en python no tiene sentencias ya que se utiliza para crear un nuevo objeto de función y luego devolverlo en tiempo de ejecución.

15) ¿Qué es pasar en Python?

Pasar significa, sin operación, declaración de Python, o en otras palabras, es un marcador de posición en la declaración compuesta, donde debe quedar un espacio en blanco y no se debe escribir nada allí.

16) En Python ¿qué son los iteradores?

En Python, los iteradores se utilizan para iterar un grupo de elementos, contenedores como list.

17) ¿Qué es unittest en Python?

Un marco de pruebas unitarias en Python se conoce como unittest. Permite compartir configuraciones, pruebas de automatización, código de apagado para pruebas, agregación de pruebas en colecciones, etc.

18) En Python ¿qué es rebanar?

Un mecanismo para seleccionar un rango de elementos de tipos de secuencia como lista, tupla, cadenas, etc. se conoce como rebanar.

19) ¿Qué son los generadores en Python?

La forma de implementar los iteradores se conoce como generadores. Es una función normal, excepto que produce expresión en la función.

20) ¿Qué es docstring en Python?

Una cadena de documentación Python se conoce como docstring, es una forma de documentar las funciones, módulos y clases de Python.

21) ¿Cómo se puede copiar un objeto en Python?

Para copiar un objeto en Python, puede intentar copiar.copy () o copy.deepcopy() para el caso general. No se pueden copiar todos los objetos excepto la mayoría de ellos.

22) ¿Qué es el índice negativo en Python?

Las secuencias de pitón pueden ser indexadas en números positivos y negativos. Para el índice positivo, 0 es el primer índice, 1 es el segundo índice y así sucesivamente. Para el índice negativo, (-1) es el último índice y (-2) es el segundo y así sucesivamente.

23) ¿Cómo se puede convertir un número en una cadena?

Para convertir un número en una cadena, utilice la función str(). Si desea una representación octal o hexadecimal, utilice la función incorporada oct() o hex().

24) ¿Cuál es la diferencia entre Xrange y range?

Xrange devuelve el objeto xrange mientras que Range devuelve la lista, y utiliza la misma memoria y sin importar el tamaño del rango.

25) ¿Qué es módulo y paquete en Python?

En Python, el módulo es la forma de estructurar el programa. Cada archivo de programa de Python es un módulo, que importa otros módulos como objetos y atributos.

La carpeta del programa Python es un paquete de módulos. Un paquete puede tener módulos o subcarpetas.

26) Mencione cuáles son las reglas para las variables locales y globales en Python?

Variables locales : Si a una variable se le asigna un nuevo valor en cualquier parte del cuerpo de la función, se asume que es local.

Variables globales : Las variables a las que sólo se hace referencia dentro de una función son implícitamente globales.

27) ¿Cómo puede compartir variables globales entre módulos?

Para compartir variables globales entre módulos dentro de un mismo programa, cree un módulo especial. Importe el módulo config en todos los módulos de su aplicación. El módulo estará disponible como una variable global en todos los módulos.

28) Explique cómo puede hacer un ejecutable de Python Script en Unix?

Para hacer un ejecutable de Python Script en Unix, necesita hacer dos cosas,

  • El modo del archivo de script debe ser ejecutable y
  • la primera línea debe comenzar con # (!/usr/local/bin/python)

29) Explica cómo borrar un archivo en Python?

Usando un comando os.remove (nombre de archivo) u os.unlink(nombre de archivo)

30) Explica cómo puedes generar números aleatorios en Python?

Para generar números aleatorios en Python, necesita importar el comando como

importar aleatoriamente

random.random()

Esto devuelve un número aleatorio en coma flotante en el rango[0,1]

31) Explique cómo puede acceder a un módulo escrito en Python desde C?

Puede acceder a un módulo escrito en Python desde C mediante el siguiente método,

Módulo = =PyImport_ImportModule(«<modulename>»);

32) Mencionar el uso del operador // en Python?

Es un Operador de División de Planta, que se utiliza para dividir dos operandos con el resultado como cociente mostrando sólo dígitos antes del punto decimal. Por ejemplo, 10//5 = 2 y 10,0//5,0 = 2,0.

33) Menciona cinco beneficios de usar Python?

  • Python cuenta con una enorme biblioteca estándar para la mayoría de las plataformas de Internet como Email, HTML, etc.
  • Python no requiere una gestión explícita de la memoria, ya que el propio intérprete asigna la memoria a nuevas variables y las libera automáticamente
  • .

  • Proporciona una fácil legibilidad gracias al uso de corchetes
  • Fácil de aprender para principiantes
  • Tener los tipos de datos incorporados ahorra tiempo y esfuerzo de programación al declarar variables

34) Mencionar el uso de la función dividir en Python ?

El uso de la función split en Python es que rompe una cadena en cadenas más cortas usando el separador definido. Proporciona una lista de todas las palabras presentes en la cadena.

35) Explicar qué es Flask & its benefits ?

Flask es un framework web micro para Python basado en «Werkzeug, Jinja 2 and good intentions» con licencia BSD. Werkzeug y jingja son dos de sus dependencias.

El frasco forma parte del micro-marco. Lo que significa que tendrá poca o ninguna dependencia de bibliotecas externas. Hace que el framework sea ligero mientras que hay poca dependencia para actualizar y menos errores de seguridad.

36) Mencione ¿cuál es la diferencia entre Django, Pirámide y Frasco?

Flask es un «microframework» construido principalmente para una aplicación pequeña con requisitos más sencillos. En el frasco, se deben utilizar bibliotecas externas. El frasco está listo para usar.

Las pirámides están construidas para aplicaciones más grandes. Proporciona flexibilidad y permite al desarrollador utilizar las herramientas adecuadas para su proyecto. El desarrollador puede elegir la base de datos, la estructura URL, el estilo de la plantilla y mucho más. La pirámide es pesada y configurable.

Al igual que Pyramid, Django también puede utilizarse para aplicaciones más grandes. Incluye un ORM.

37) Mencione qué es Flask-WTF y cuáles son sus características.

Flask-WTF ofrece una integración sencilla con los formularios WTF. Las características que incluye el Flask WTF son

  • Integración con wtforms
  • Asegure el formulario con el token csrf
  • Protección csrf global
  • Integración de la internacionalización
  • Soporte para Recaptcha
  • Carga de archivos que funciona con Flask Uploads

38) Explique cuál es la forma más común en que funciona el script Flask.

La forma más común de que el script del frasco funcione es

  • O bien debería ser la ruta de importación de su aplicación
  • O la ruta a un archivo Python

39) Explique cómo puede acceder a las sesiones en Flask?

Una sesión básicamente le permite recordar información de una solicitud a otra. En un frasco, utiliza una cookie firmada para que el usuario pueda ver el contenido de la sesión y modificarla. El usuario puede modificar la sesión si sólo dispone de la clave secreta Flask.secret_key.

40) ¿Es Flask un modelo MVC y si la respuesta es sí, dé un ejemplo que muestre un patrón MVC para su aplicación?

Básicamente, Flask es un marco minimalista que se comporta igual que el marco MVC. Por lo tanto, el MVC es un ajuste perfecto para Flask, y el patrón para MVC lo tendremos en cuenta en el siguiente ejemplo

de la importación de frasco Frasco

app = Frasco(_nombre_)

@app.route(«/»)

Def hello():

volver «Hello World»

app.run(debug = True)

En este código su,

  • La parte de configuración será

de la importación de frasco Frasco

app = Frasco(_nombre_)

  • Ver parte será

@app.route(«/»)

Def hello():

volver «Hello World»

  • Mientras usted modela o la parte principal será

app.run(debug = True)

41) Explicar la conexión de la base de datos en Python Flask?

Flask soporta aplicaciones con base de datos (RDBS). Este sistema requiere la creación de un esquema, que requiere la canalización del archivo shema.sql en un comando sqlite3. Así que necesita instalar el comando sqlite3 para crear o iniciar la base de datos en Flask.

Flask permite solicitar la base de datos de tres maneras

  • before_request() : Se llaman antes de una petición y no pasan argumentos
  • after_request() : Son llamados después de una petición y pasan la respuesta que será enviada al cliente
  • solicitud_de_desmontaje(): Se les llama en situaciones en las que se hace una excepción y no se garantiza la respuesta. Se les llama después de que se haya construido la respuesta. No se les permite modificar la petición, y sus valores son ignorados.

42) ¿Tiene varios servidores Memcache ejecutando Python, en los que uno de los servidores memcacher falla, y tiene sus datos, intentará alguna vez obtener datos clave de ese servidor fallido?

Los datos en el servidor que ha fallado no se eliminarán, pero hay una disposición para el autofallo, que puede configurar para varios nodos. La conmutación por error puede activarse durante cualquier tipo de error a nivel de socket o de servidor Memcached y no durante errores normales de cliente como añadir una clave existente, etc.

43) Explique cómo puede minimizar las interrupciones del servidor Memcached en su Desarrollo Python?

  • Cuando una instancia falla, varias de ellas se caen, esto pondrá una mayor carga en el servidor de base de datos cuando los datos perdidos se recargan cuando el cliente hace una solicitud. Para evitar esto, si su código ha sido escrito para minimizar las estampidas de caché, entonces dejará un impacto mínimo
  • Otra forma es mostrar una instancia de Memcached en una máquina nueva usando la dirección IP de la máquina perdida
  • El código es otra opción para minimizar las interrupciones del servidor, ya que le da la libertad de cambiar la lista de servidores Memcached con un mínimo de trabajo
  • .

  • Establecer el valor de tiempo de espera es otra opción que algunos clientes de Memcached implementan para las interrupciones en el servidor de Memcached. Cuando su servidor Memcached se cae, el cliente seguirá intentando enviar una petición hasta que se alcance el límite de tiempo de espera
  • .

44) Explicar que es el efecto Dogpile? ¿Cómo puede prevenir este efecto?

El efecto Dogpile se refiere al evento cuando la caché caduca, y los sitios web se ven afectados por las múltiples peticiones realizadas por el cliente al mismo tiempo. Este efecto se puede evitar utilizando el bloqueo de semáforo. En este sistema, cuando el valor expira, el primer proceso adquiere la cerradura y comienza a generar nuevo valor.

45) Explica como Memcached no debe ser usado en tu proyecto Python?

  • El mal uso común de Memcached es usarlo como un almacén de datos, y no como una caché
  • Nunca utilice Memcached como la única fuente de información que necesita para ejecutar su aplicación. Los datos deben estar siempre disponibles a través de otra fuente también
  • Memcached es sólo un almacén de claves o valores y no puede realizar consultas sobre los datos o iterar sobre los contenidos para extraer información
  • .

  • Memcached no ofrece ningún tipo de seguridad ni encriptación ni autenticación