Simulación de Entrevista – Python
1. Pregunta 1: ¿Cuál es la diferencia entre listas, tuplas y conjuntos en Python?
Respuesta: - Lista (list): Mutable,
ordenada, permite elementos duplicados.
- Tupla (tuple): Inmutable, ordenada, permite duplicados.
- Conjunto (set): Mutable, no ordenado, no permite duplicados.
2. Pregunta 2: ¿Qué es el Garbage Collector en Python?
Respuesta: Es el mecanismo automático de
administración de memoria que libera objetos que ya no tienen referencias
activas, principalmente mediante conteo de referencias y un recolector de
ciclos.
3. Pregunta 3: Explica la diferencia entre is y == en Python.
Respuesta: == compara valores (contenido).
is compara identidad de objetos (si apuntan al mismo espacio en memoria).
4. Pregunta 4: ¿Qué son los decoradores en Python?
Respuesta: Son funciones que reciben otra
función como parámetro y devuelven una nueva función con funcionalidad
extendida, sin modificar directamente la original. Se usan mucho en frameworks
como Flask o Django.
5. Pregunta 5: ¿Qué diferencia hay entre multithreading y multiprocessing en Python?
Respuesta: - Multithreading: Varios hilos
dentro de un proceso. Limitado por el GIL (Global Interpreter Lock), útil para
tareas de I/O.
- Multiprocessing: Varios procesos independientes. Evita el GIL, útil para
tareas CPU-bound.
6. Pregunta 6: ¿Qué son las list comprehensions?
Respuesta: Es una forma concisa de crear
listas aplicando expresiones y filtros.
Ejemplo:
nums = [x**2 for x in range(5) if x % 2 == 0]
Resultado: [0, 4, 16]
7. Pregunta 7: ¿Qué es un context manager y para qué se usa with?
Respuesta: Un context manager administra
recursos que deben abrirse y cerrarse correctamente (archivos, conexiones). La
sentencia with garantiza liberación de recursos.
Ejemplo:
with open('data.txt', 'r') as f:
contenido = f.read()
8. Pregunta 8: ¿Cuál es la diferencia entre @staticmethod, @classmethod y métodos de instancia en Python?
Respuesta: - Método de instancia: recibe
self, opera sobre una instancia.
- @classmethod: recibe cls, opera sobre la clase.
- @staticmethod: no recibe self ni cls, es como una función normal dentro de la
clase.
9. Pregunta 9: ¿Qué es pickling en Python?
Respuesta: Es el proceso de serializar
objetos de Python en un flujo de bytes usando el módulo pickle, útil para
guardarlos en archivos o transmitirlos.
10. Pregunta 10: ¿Cómo manejarías excepciones en Python?
Respuesta: Con bloques try-except-finally:
try:
x = 10 / 0
except ZeroDivisionError:
print('Error: división por cero')
finally:
print('Finalizando...')