Python es el lenguaje más utilizado en empresas importantes como Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify y muchas más debido a su rendimiento y sus potentes bibliotecas. Para ingresar a estas empresas y organizaciones como desarrollador de Python, debe dominar algunos aspectos importantes Preguntas de la entrevista de Python para descifrar su Ronda de evaluación en línea de Python y su Ronda de entrevistas de Python. Hemos preparado una lista de los Las 50 preguntas principales de la entrevista sobre Python junto con sus respuestas al as en las entrevistas.
clasificación de selección
Preguntas de la entrevista de Python
Tabla de contenidos
- Preguntas básicas de la entrevista de Python para principiantes
- 1. ¿Qué es Python? Enumere algunas aplicaciones populares de Python en el mundo de la tecnología.
- 2. ¿Cuáles son los beneficios de utilizar el lenguaje Python como herramienta en el escenario actual?
- 3. ¿Python es un lenguaje compilado o un lenguaje interpretado?
- 4. ¿Qué hace el símbolo '#' en Python?
- 6. ¿Cómo se pasan los argumentos por valor o por referencia en Python?
- 7. ¿Cuál es la diferencia entre un Conjunto y un Diccionario?
- 8. ¿Qué es la comprensión de listas? Dar un ejemplo.
- 9. ¿Qué es una función lambda?
- 10. ¿Qué es un pase en Python?
- 11. ¿Cuál es la diferencia entre / y // en Python?
- 12. ¿Cómo se realiza el manejo excepcional en Python?
- 13. ¿Qué es la función swapcase en Python?
- 14. Diferencia entre bucle for y while en Python
- 15. ¿Podemos pasar una función como argumento en Python?
- 16. ¿Qué son *args y *kwargs?
- 17. ¿Se requiere sangría en Python?
- 18. ¿Qué es el alcance en Python?
- 19. ¿Qué es la cadena de documentación en Python?
- 20. ¿Qué es un lenguaje tipado dinámicamente?
- 21. ¿Qué es una pausa, una continuación y un pase en Python?
- 23. ¿Cómo pones un número en Python?
- Preguntas de la entrevista de Python intermedio
- 24. ¿Cuál es la diferencia entre las funciones xrange y range?
- 25. ¿Qué es la comprensión del diccionario? Dar un ejemplo
- 26. ¿Es la comprensión de tuplas? En caso afirmativo, ¿cómo? Si no, ¿por qué?
- 27. ¿Diferenciar entre lista y tupla?
- 28. ¿Cuál es la diferencia entre una copia superficial y una copia profunda?
- 29. ¿Qué técnica de clasificación utilizan las funciones sort() y sorted() de Python?
- 30. ¿Qué son los decoradores?
- 31. ¿Cómo se depura un programa Python?
- 32. ¿Qué son los iteradores en Python?
- 33. ¿Qué son los generadores en Python?
- 34. ¿Python admite herencia múltiple?
- 35. ¿Qué es el polimorfismo en Python?
- 36. ¿Definir encapsulación en Python?
- 38. ¿Cómo se realiza la gestión de la memoria en Python?
- 39. ¿Cómo eliminar un archivo usando Python?
- 40. ¿Qué es el corte en Python?
- 41. ¿Qué es un espacio de nombres en Python?
- Preguntas y respuestas avanzadas de la entrevista de Python
- 42. ¿Qué es PIP?
- 43. ¿Qué es una función zip?
- 44. ¿Qué son el decapado y el decapado?
- 45. ¿Qué es el parcheo de monos en Python?
- 46. ¿Qué es __init__() en Python?
- 47. ¿Escribir un código para mostrar la hora actual?
- 48. ¿Qué son los especificadores de acceso en Python?
- 49. ¿Qué son las pruebas unitarias en Python?
- 50. ¿Bloqueo global de intérprete de Python (GIL)?
- 51. ¿Qué son las anotaciones de funciones en Python?
- 52. ¿Qué son los grupos de excepción en Python?
- 53. ¿Qué es la declaración de cambio de Python?
- 54. ¿Qué es el operador morsa?
Preguntas básicas de la entrevista de Python para principiantes
1. ¿Qué es Python? Enumere algunas aplicaciones populares de Python en el mundo de la tecnología.
Python es un lenguaje de programación de alto nivel y de propósito general ampliamente utilizado. Fue creado por Guido van Rossum en 1991 y desarrollado por la Python Software Foundation. Fue diseñado con énfasis en la legibilidad del código y su sintaxis permite a los programadores expresar sus conceptos en menos líneas de código.
Se utiliza para:
- Secuencias de comandos del sistema
- Desarrollo web
- Desarrollo de juegos
- Desarrollo de software
- Matemáticas complejas
2. ¿Cuáles son los beneficios de utilizar el lenguaje Python como herramienta en el escenario actual?
Los siguientes son los beneficios de usar el lenguaje Python:
- Lenguaje orientado a objetos
- Lenguaje de alto nivel
- Lenguaje escrito dinámicamente
- Bibliotecas de amplio soporte
- Presencia de módulos de terceros.
- Código abierto y desarrollo comunitario
- Portátil e interactivo
- Portátil en todos los sistemas operativos
3. ¿Python es un lenguaje compilado o un lenguaje interpretado?
En realidad, Python es un lenguaje parcialmente compilado y parcialmente interpretado. La parte de compilación se realiza primero cuando ejecutamos nuestro código y esto generará un código de bytes internamente. Este código de bytes se convierte mediante la máquina virtual Python (pvm) de acuerdo con la plataforma subyacente (máquina + sistema operativo).
4. ¿Qué hace el símbolo '#' en Python?
'#' se usa para comentar todo lo que viene después en la línea.
6. ¿Cómo se pasan los argumentos por valor o por referencia en Python?
Todo en Python es un objeto y todas las variables contienen referencias a los objetos. Los valores de referencia son según las funciones; como resultado, no puede cambiar el valor de las referencias. Sin embargo, puedes cambiar los objetos si es mutable.
7. ¿Cuál es la diferencia entre un Conjunto y un Diccionario?
El conjunto es una colección desordenada de tipos de datos que es iterable, mutable y no tiene elementos duplicados.
Un diccionario en Python es una colección ordenada de valores de datos, que se utiliza para almacenar valores de datos como un mapa.
8. ¿Qué es la comprensión de listas? Dar un ejemplo.
La comprensión de listas es una construcción de sintaxis para facilitar la creación de una lista basada en iterables existentes.
Por ejemplo:
my_list = [i for i in range(1, 10)]>
9. ¿Qué es una función lambda?
Una función lambda es una función anónima. Esta función puede tener cualquier número de parámetros, pero puede tener solo una declaración. Por ejemplo:
a = lambda x, y : x*y print(a(7, 19))>
10. ¿Qué es un pase en Python?
Pasar significa no realizar ninguna operación o, en otras palabras, es un marcador de posición en la declaración compuesta, donde debe quedar un espacio en blanco y no es necesario escribir nada allí.
11. ¿Cuál es la diferencia entre / y // en Python?
/ representa una división precisa (el resultado es un número de punto flotante) mientras que // representa una división de piso (el resultado es un número entero). Por ejemplo:
5//2 = 2 5/2 = 2.5>
12. ¿Cómo se realiza el manejo excepcional en Python?
Hay 3 palabras clave principales, es decir, probar, excepto y finalmente, que se utilizan para detectar excepciones y manejar el mecanismo de recuperación en consecuencia. Try es el bloque de un código que se monitorea para detectar errores. Excepto que el bloque se ejecuta cuando ocurre un error.
La belleza del bloque final es ejecutar el código después de intentar detectar un error. Este bloque se ejecuta independientemente de si ocurrió un error o no. Finalmente, el bloque se utiliza para realizar las actividades de limpieza requeridas de objetos/variables.
13. ¿Qué es la función swapcase en Python?
Es una función de cadena que convierte todos los caracteres en mayúsculas a minúsculas y viceversa. Se utiliza para alterar el caso existente de la cadena. Este método crea una copia de la cadena que contiene todos los caracteres en el caso de intercambio. Por ejemplo:
string = 'techcodeview.com' string.swapcase() --->'gEEKSFORgEEKS'>
14. Diferencia entre bucle for y while en Python
El bucle for se utiliza generalmente para iterar a través de los elementos de varios tipos de colecciones, como Lista , tupla , Colocar , y Diccionario . Los desarrolladores utilizan un bucle for donde tienen las condiciones de inicio y fin. Mientras que el bucle while es la función de bucle real que se utiliza en cualquier otro lenguaje de programación. Los programadores usan un bucle while de Python donde solo tienen las condiciones finales.
15. ¿Podemos pasar una función como argumento en Python?
Sí, se pueden pasar varios argumentos a una función, incluidos objetos, variables (del mismo tipo de datos o distintos) y funciones. Las funciones se pueden pasar como parámetros a otras funciones porque son objetos. Las funciones de orden superior son funciones que pueden tomar otras funciones como argumentos.
Para leer más, consulte el artículo: Pasar una función como argumento en Python
16. ¿Qué son *args y *kwargs?
Para pasar un número variable de argumentos a una función en Python, use la sintaxis especial *args y **kwargs en la especificación de la función. Se utiliza para pasar una lista de argumentos de longitud variable y sin palabras clave. Al usar *, la variable que asociamos con * se vuelve iterable, lo que le permite realizar operaciones en ella, como iterar sobre ella y usar operaciones de orden superior como mapear y filtrar.
17. ¿Se requiere sangría en Python?
Sí, sangría es necesario en Python. A Pitón Se puede informar al intérprete que un grupo de declaraciones pertenece a un bloque de código específico mediante el uso de sangría de Python. Las sangrías hacen que el código sea fácil de leer para los desarrolladores en todos los lenguajes de programación, pero en Python es muy importante sangrar el código en un orden específico.
18. ¿Qué es el alcance en Python?
La ubicación donde podemos encontrar una variable y también acceder a ella si es necesario se llama alcance de una variable.
- Variables locales de Python: Las variables locales son aquellas que se inicializan dentro de una función y son exclusivas de esa función. No se puede acceder a él fuera de la función.
- Variables globales de Python: Las variables globales son las que se definen y declaran fuera de cualquier función y no se especifican para ninguna función.
- Alcance a nivel de módulo: Se refiere a los objetos globales del módulo actual accesible en el programa.
- Alcance más externo: Se refiere a cualquier nombre integrado al que el programa pueda llamar. El nombre al que se hace referencia se encuentra en último lugar entre los objetos de este ámbito.
19. ¿Qué es la cadena de documentación en Python?
Las cadenas de documentación de Python (o cadenas de documentación) proporcionan una forma conveniente de asociar documentación con módulos, funciones, clases y métodos de Python.
- Declaración de cadenas de documentos: Las cadenas de documentación se declaran utilizando 'comillas simples triples' o comillas dobles triples justo debajo de la declaración de clase, método o función. Todas las funciones deben tener una cadena de documentación.
- Accediendo a cadenas de documentos: Se puede acceder a las cadenas de documentación utilizando el método __doc__ del objeto o utilizando la función de ayuda.
20. ¿Qué es un lenguaje tipado dinámicamente?
Idiomas escritos son los lenguajes en los que definimos el tipo de dato y será conocido por la máquina en tiempo de compilación o en tiempo de ejecución. Los idiomas mecanografiados se pueden clasificar en dos categorías:
para bucle en bash
- Idiomas escritos estáticamente: En este tipo de lenguaje, el tipo de datos de una variable se conoce en el momento de la compilación, lo que significa que el programador debe especificar el tipo de datos de una variable en el momento de su declaración.
- Idiomas escritos dinámicamente: Estos son los lenguajes que no requieren ningún tipo de datos predefinido para ninguna variable, ya que la propia máquina los interpreta en tiempo de ejecución. En estos lenguajes, los intérpretes asignan el tipo de datos a una variable en tiempo de ejecución en función de su valor.
21. ¿Qué es una pausa, una continuación y un pase en Python?
El declaración de ruptura se utiliza para terminar el bucle o declaración en la que está presente. Después de eso, el control pasará a las declaraciones que están presentes después de la declaración de interrupción, si están disponibles.
Continuar También es una declaración de control de bucle al igual que la declaración de interrupción. La declaración de continuación es opuesta a la de la declaración de interrupción, en lugar de terminar el ciclo, obliga a ejecutar la siguiente iteración del ciclo.
Aprobar significa no realizar ninguna operación o, en otras palabras, es un marcador de posición en la declaración compuesta, donde debe quedar un espacio en blanco y no es necesario escribir nada allí.
Numérico: El tipo de datos numéricos en Python representa los datos que tienen un valor numérico. Un valor numérico puede ser un número entero, un número flotante, un booleano , o incluso un número complejo.
23. ¿Cómo pones un número en Python?
El módulo matemático de Python incluye un método que se puede utilizar para calcular el mínimo de un número.
- piso() El método en Python devuelve el piso de x, es decir, el entero más grande no mayor que x.
- Además, el método ceil(x) en Python devuelve un valor máximo de x, es decir, el entero más pequeño mayor o igual a x.
Preguntas de la entrevista de Python intermedio
24. ¿Cuál es la diferencia entre las funciones xrange y range?
range() y xrange() son dos funciones que podrían usarse para iterar una cierta cantidad de veces en bucles for en Python. En Python 3, no existe xrange, pero la función range se comporta como xrange en Python 2.
- rango() – Esto devuelve una lista de números creados usando la función range().
- rango x() – Esta función devuelve el objeto generador que se puede usar para mostrar números solo mediante un bucle. El único rango particular se muestra a pedido y por eso se llama evaluación perezosa .
25. ¿Qué es la comprensión del diccionario? Dar un ejemplo
La comprensión del diccionario es una construcción de sintaxis para facilitar la creación de un diccionario basado en el iterable existente.
Por ejemplo: my_dict = {i:i+7 para i en el rango(1, 10)}
26. ¿Es la comprensión de tuplas? En caso afirmativo, ¿cómo? Si no, ¿por qué?
(i for i in (1, 2, 3))>
La comprensión de tuplas no es posible en Python porque terminará en un generador, no en una comprensión de tuplas.
27. ¿Diferenciar entre lista y tupla?
Analicemos las diferencias entre Lista y Tupla:
Lista
- Las listas son tipos de datos mutables.
- Las listas consumen más memoria
- La lista es mejor para realizar operaciones, como inserción y eliminación.
- La implicación de las iteraciones requiere mucho tiempo.
tupla
- Las tuplas son tipos de datos inmutables.
- Tuple consume menos memoria en comparación con la lista
- Un tipo de datos Tuple es apropiado para acceder a los elementos.
- La implicación de las iteraciones es comparativamente más rápida.
28. ¿Cuál es la diferencia entre una copia superficial y una copia profunda?
La copia superficial se utiliza cuando se crea un nuevo tipo de instancia y mantiene los valores copiados, mientras que la copia profunda almacena los valores que ya están copiados.
Una copia superficial tiene una ejecución del programa más rápida, mientras que una copia profunda lo hace lento.
29. ¿Qué técnica de clasificación utilizan las funciones sort() y sorted() de Python?
Python usa el Tim ordenar Algoritmo para ordenar. Es una clasificación estable cuyo peor caso es O (N log N). Es un algoritmo de clasificación híbrido, derivado de la clasificación por combinación y la clasificación por inserción, diseñado para funcionar bien en muchos tipos de datos del mundo real.
30. ¿Qué son los decoradores?
Los decoradores son una herramienta muy poderosa y útil en Python, ya que son el cambio específico que realizamos en la sintaxis de Python para alterar funciones fácilmente.
c ++ convierte int a cadena
31. ¿Cómo se depura un programa Python?
Usando este comando podemos depurar un programa Python:
$ python -m pdb python-script.py>
32. ¿Qué son los iteradores en Python?
En Python, los iteradores se utilizan para iterar un grupo de elementos, contenedores como una lista. Los iteradores son colecciones de elementos y pueden ser una lista, tuplas o un diccionario. El iterador de Python implementa __itr__ y el método next() para iterar los elementos almacenados. Generalmente usamos bucles para iterar sobre las colecciones (lista, tupla) en Python.
33. ¿Qué son los generadores en Python?
En Python, el generador es una forma que especifica cómo implementar iteradores. Es una función normal excepto que produce expresión en la función. No implementa los métodos __itr__ y next() y también reduce otros gastos generales.
Si una función contiene al menos una declaración de rendimiento, se convierte en un generador. La palabra clave de rendimiento pausa la ejecución actual guardando sus estados y luego la reanuda desde la misma cuando es necesario.
34. ¿Python admite herencia múltiple?
Python admite herencias múltiples, a diferencia de Java. Las herencias múltiples significan que una clase puede derivar de más de una clase principal.
35. ¿Qué es el polimorfismo en Python?
Polimorfismo significa la capacidad de tomar múltiples formas. Entonces, por ejemplo, si la clase principal tiene un método llamado ABC, entonces la clase secundaria también puede tener un método con el mismo nombre ABC que tenga sus propios parámetros y variables. Python permite el polimorfismo.
36. ¿Definir encapsulación en Python?
La encapsulación significa unir el código y los datos. Una clase de Python es un ejemplo de encapsulación.
38. ¿Cómo se realiza la gestión de la memoria en Python?
Python usa su espacio de almacenamiento dinámico privado para administrar la memoria. Básicamente, todos los objetos y estructuras de datos se almacenan en el espacio del montón privado. Incluso el programador no puede acceder a este espacio privado ya que el intérprete se encarga de este espacio. Python también tiene un recolector de basura incorporado, que recicla toda la memoria no utilizada, la libera y la pone a disposición del espacio del montón.
39. ¿Cómo eliminar un archivo usando Python?
Podemos eliminar un archivo usando Python mediante los siguientes enfoques:
- sistema operativo.remove()
- sistema operativo.unlink()
40. ¿Qué es el corte en Python?
Rebanado de pitón es una operación de cadena para extraer una parte de la cadena o alguna parte de una lista. Con este operador, se puede especificar dónde comenzar el corte, dónde finalizar y especificar el paso. La división de listas devuelve una nueva lista de la lista existente.
Syntax: Lst[ Initial : End : IndexJump ]>
41. ¿Qué es un espacio de nombres en Python?
Un espacio de nombres es un sistema de nombres que se utiliza para garantizar que los nombres sean únicos y evitar conflictos de nombres.
Preguntas y respuestas avanzadas de la entrevista de Python
42. ¿Qué es PIP?
PIP es un acrónimo de Python Installer Package que proporciona una interfaz perfecta para instalar varios módulos de Python. Es una herramienta de línea de comandos que puede buscar paquetes en Internet e instalarlos sin la interacción del usuario.
43. ¿Qué es una función zip?
La función zip() de Python devuelve un objeto zip, que asigna un índice similar de varios contenedores. Toma un iterable, lo convierte en un iterador y agrega los elementos en función de los iterables pasados. Devuelve un iterador de tuplas.
44. ¿Qué son el decapado y el decapado?
El módulo Pickle acepta cualquier objeto de Python, lo convierte en una representación de cadena y lo vuelca en un archivo mediante la función de volcado; este proceso se llama decapado. Mientras que el proceso de recuperar objetos Python originales de la representación de cadena almacenada se llama deseleccionado.
45. ¿Qué es el parcheo de monos en Python?
En Python, el término parche mono solo se refiere a modificaciones dinámicas de una clase o módulo en tiempo de ejecución.
# g.py class GeeksClass: def function(self): print 'function()' import m def monkey_function(self): print 'monkey_function()' m.GeeksClass.function = monkey_function obj = m.GeeksClass() obj.function()>
46. ¿Qué es __init__() en Python?
Equivalente a los constructores en terminología de programación orientada a objetos, __init__ es un método reservado en las clases de Python. El método __init__ se llama automáticamente cada vez que se inicia un nuevo objeto. Este método asigna memoria al nuevo objeto tan pronto como se crea. Este método también se puede utilizar para inicializar variables.
47. ¿Escribir un código para mostrar la hora actual?
import time currenttime= time.localtime(time.time()) print (Current time is, currenttime)>
48. ¿Qué son los especificadores de acceso en Python?
Python usa el símbolo '_' para determinar el control de acceso para un miembro de datos específico o una función miembro de una clase. Una clase en Python tiene tres tipos de Modificadores de acceso a Python :
- Modificador de acceso público: Los miembros de una clase que se declaran públicos son fácilmente accesibles desde cualquier parte del programa. Todos los miembros de datos y funciones miembro de una clase son públicos de forma predeterminada.
- Modificador de acceso protegido: Los miembros de una clase que se declaran protegidos sólo son accesibles para una clase derivada de ella. Todos los miembros de datos de una clase se declaran protegidos agregando un símbolo de guión bajo '_' antes de los miembros de datos de esa clase.
- Modificador de acceso privado: Los miembros de una clase que se declaran privados son accesibles únicamente dentro de la clase; el modificador de acceso privado es el modificador de acceso más seguro. Los miembros de datos de una clase se declaran privados agregando un símbolo de doble guión bajo '__' antes del miembro de datos de esa clase.
49. ¿Qué son las pruebas unitarias en Python?
La prueba unitaria es el primer nivel de prueba de software donde se prueban las partes comprobables más pequeñas del software. Esto se utiliza para validar que cada unidad del software funcione según lo diseñado. El marco de prueba unitaria es el marco de estilo xUnit de Python. El método de prueba de caja blanca se utiliza para las pruebas unitarias.
50. ¿Bloqueo global de intérprete de Python (GIL)?
Bloqueo global del intérprete de Python (GIL) es un tipo de bloqueo de proceso que Python utiliza siempre que trata con procesos. Generalmente, Python solo usa un hilo para ejecutar el conjunto de declaraciones escritas. El rendimiento del proceso de un solo subproceso y del proceso de subprocesos múltiples será el mismo en Python y esto se debe a GIL en Python. No podemos lograr subprocesos múltiples en Python porque tenemos un bloqueo de intérprete global que restringe los subprocesos y funciona como un solo subproceso.
51. ¿Qué son las anotaciones de funciones en Python?
Anotación de función es una característica que le permite agregar metadatos a los parámetros de función y valores de retorno. De esta manera puede especificar el tipo de entrada de los parámetros de la función y el tipo de retorno del valor que devuelve la función.
diferencia entre un gigabyte y un megabyte
Las anotaciones de funciones son expresiones arbitrarias de Python que están asociadas con varias partes de funciones. Estas expresiones se evalúan en tiempo de compilación y no tienen vida en el entorno de ejecución de Python. Python no otorga ningún significado a estas anotaciones. Cobran vida cuando los interpretan bibliotecas de terceros, por ejemplo, mypy.
52. ¿Qué son los grupos de excepción en Python?
La última característica de Python 3.11, Grupos de excepción . El ExceptionGroup se puede manejar usando una nueva sintaxis excepto*. El símbolo * indica que cada cláusula excepto* puede manejar múltiples excepciones.
ExceptionGroup es una colección/grupo de diferentes tipos de excepciones. Sin crear múltiples excepciones, podemos agrupar diferentes excepciones que luego podemos recuperar una por una cuando sea necesario; el orden en que se almacenan las excepciones en el grupo de excepciones no importa al llamarlas.
Python3 try: raise ExceptionGroup('Example ExceptionGroup', ( TypeError('Example TypeError'), ValueError('Example ValueError'), KeyError('Example KeyError'), AttributeError('Example AttributeError') )) except* TypeError: ... except* ValueError as e: ... except* (KeyError, AttributeError) as e: ...> 53. ¿Qué es la declaración de cambio de Python?
Desde la versión 3.10 en adelante, Python ha implementado una función de cambio de caso llamada coincidencia de patrones estructurales. Puede implementar esta función con las palabras clave de coincidencia y caso. Tenga en cuenta que el símbolo de subrayado es lo que se utiliza para definir un caso predeterminado para la declaración de cambio en Python.
Nota : Antes de Python 3.10, Python no admite declaraciones de coincidencia.
Python3 match term: case pattern-1: action-1 case pattern-2: action-2 case pattern-3: action-3 case _: action-default>
54. ¿Qué es el operador morsa?
El operador de la morsa le permite asignar un valor a una variable dentro de una expresión. Esto puede resultar útil cuando necesita utilizar un valor varias veces en un bucle, pero no desea repetir el cálculo.
El operador Walrus está representado por la sintaxis `:=` y se puede usar en una variedad de contextos, incluidos bucles while y declaraciones if.
Nota: Las versiones de Python anteriores a la 3.8 no son compatibles con Walrus Operador.
Python3 names = ['Jacob', 'Joe', 'Jim'] if (name := input('Enter a name: ')) in names: print(f'Hello, {name}!') else: print('Name not found.')>