Home
Series About Subscribe
Preguntas de entrevista de Python para principiantes (Junior)

Preguntas de entrevista de Python para principiantes (Junior)

He recopilado una serie de posts con mi base de datos personal de preguntas de entrevista de Python. No es perfecta, no está completa, y no, no incluye respuestas. Algunas preguntas pueden parecer un poco raras o sacadas de la nada. Pero en mi experiencia, son muy buenas para ayudarte a descubrir quién está realmente listo para el puesto.

La serie está dividida en tres partes según el nivel de experiencia:

¿Tienes una pregunta que crees que debería estar aquí? ¿O algo que siempre preguntas en las entrevistas? Cuéntamelo — me encantaría escuchar tu opinión.


Preguntas

1. Fundamentos de Python

Q: ¿Qué es Python?

Q: ¿Qué es la función lambda en Python? ¿Por qué existe?

Q: ¿Qué es pass en Python?

Q: ¿Qué son *args y **kwargs en la definición de una función?

Q: ¿Qué es un docstring en Python? ¿Cómo se escriben? ¿Son obligatorios?

Q: ¿Qué palabras clave se pueden usar junto con for?

Q: ¿Qué es el slicing en Python? ¿Pueden los slices tener índices negativos?

Q: ¿Qué es el módulo __init__.py? ¿Para qué sirve?

Q: ¿Qué es PEP8?

2. Tipos de datos y estructuras

Q: ¿Qué tipos de datos incorporados ofrece Python? ¿Cuáles son mutables y cuáles inmutables?

Q: ¿Cuál es la diferencia entre los tipos list y tuple en Python?

Q: ¿Qué puede ser una clave en un dict?

Q: ¿Cuál es la diferencia entre globals(), locals() y vars()?

Q: ¿Qué son las dataclasses en Python? ¿Cuándo conviene usarlas?

3. Programación orientada a objetos (POO)

Q: ¿Qué son @classmethod, @staticmethod y @property?

Q: ¿Cuál es la diferencia entre @classmethod y @staticmethod?

Q: ¿Python soporta completamente la programación orientada a objetos? ¿Por qué sí o por qué no?

Q: ¿Para qué se usa self en Python?

Q: ¿Para qué se usa el método __init__?

Q: ¿Cómo puedo ver los métodos de un objeto?

Q: ¿Qué es el atributo __dict__ de un objeto en Python?

4. Módulos y paquetes de Python

Q: ¿Cuál es la diferencia entre un módulo y un paquete?

Q: Explica cómo hacer que un script de Python sea ejecutable en Unix.

5. Conceptos avanzados de Python

Q: ¿Se pueden escribir aplicaciones multithreading en Python? ¿Cuál es la diferencia entre multithreading y multiprocessing?

Q: ¿Qué es un decorador? ¿Cómo se crea un decorador propio?

Q: Explica el pickling y unpickling en Python. ¿En qué se diferencia de marshaling y unmarshaling?

Q: ¿Cómo obtienes la documentación de un objeto o método en Python?

6. Retos de programación

Q: ¿Cuál es la forma más pythonic de intercambiar valores entre variables?

Q: Escribe una función que genere la secuencia de Fibonacci.

Q: ¿Cómo convertir una cadena con código binario (1 y 0) en un número (integer)? Escribe una función para hacerlo.

Q: ¿Cómo comprobar que la tupla A contiene todos los elementos de la tupla B? ¿Ambas tuplas contienen valores únicos? Escribe una función para hacerlo.

Q: ¿Cuál es la salida del siguiente código?

def f():
   x = 15
   print(x)
x = 12
f()

Q: ¿Cómo convertir una cadena en un número formado por los códigos ASCII de sus letras? Ejemplo: 'abcd' -> 979899100. Escribe una función para hacerlo.

Q: ¿Cómo eliminar las líneas vacías (de longitud 0) de una lista de líneas? Escribe una función para hacerlo.

Q: Escribe una función que cuente todos los pares distintos cuya diferencia sea igual a k.

Q: Escribe una función que devuelva una cadena con los números del 0 al 100: "0123456789101112...".

Q: Escribe una función que convierta una lista con elementos duplicados en una lista con elementos únicos. Ejemplo: [1, 1, 2, 3, 3] -> [1, 2, 3].

Q: Genera una lista de números primos en el rango (1, 100) usando Python.

Q: Escribe un programa que imprima los números del 1 al 20. Pero para los múltiplos de tres imprime "Fizz" en vez del número, y para los múltiplos de cinco imprime "Buzz". Para los números que son múltiplos de tres y cinco a la vez, imprime "FizzBuzz".

¿Crees que falta algo? ¿Tienes tu propia pregunta genial de Python? Compártela en los comentarios, o mándamela por Twitter — me encantaría saber de ti.

Material adicional

Liked this? I publish one deep-dive every week.

Join 4,000+ engineers. No BS.

Get the newsletter

Enjoyed what you just read? Others like these as well:

Optional arguments MUST use keywords (Python3)

Design Patterns Suck

Python Interview Questions for Mid-Level Developers