alfront
Recurso gratuito

Las trampas con las que se caen las entrevistas técnicas

Cada tema tiene una trampa: el detalle que el entrevistador tira para separar a los que estudiaron de los que entienden. Esta guía junta las más comunes, del mismo contenido que usamos adentro de alfront.

Seis trampas, completas

Estas seis están enteras acá abajo, sin dejar el mail. La guía completa suma doce: por email van las otras seis, con S3, ECS, IP y el resto.

Bases de datos

Transacciones y niveles de aislamiento

Confundir Repeatable Read con Serializable. En Postgres, Repeatable Read es snapshot isolation y NO previene write skew: dos transacciones que leen el mismo estado y escriben en filas distintas pueden violar una invariante global. Solo Serializable lo evita (a costa de reintentos).

APIs

REST y diseño de APIs

Las dos trampas clásicas: (1) creer que "POST crea y PUT actualiza" por regla — lo que importa es la idempotencia: PUT reemplaza y es idempotente, POST no. Un PUT también puede crear (upsert en una URI conocida por el cliente). (2) Devolver 200 con un cuerpo tipo {"error": "..."}: rompe caché, monitoreo y clientes que miran el status. Si el cliente mandó mal los datos es 400/422; si no autenticó 401; si no tiene permiso 403; si hay conflicto de estado 409.

Contenedores

Docker

Dos trampas: (1) meter estado dentro del contenedor (escribir uploads, DB o logs en su capa escribible): al recrearlo —un deploy, un crash, un reschedule— ese estado se pierde. El estado va en volúmenes o servicios externos. (2) Confundir imagen con contenedor: "buildeo un contenedor" o "corro una imagen" delata el error. Se buildea una imagen (molde inmutable) y se corre un contenedor (instancia). Bonus: creer que un contenedor es una VM liviana; no trae su propio kernel, comparte el del host.

APIs

Autenticación (OAuth/JWT)

Dos trampas: (1) "guardo la sesión en un JWT y hago logout borrándolo del cliente" — un JWT válido sigue siendo válido hasta que expira aunque lo borres del browser; no hay invalidación server-side gratis. Para "cerrar sesión ya" necesitás vida corta + una denylist/rotación de refresh tokens, o directamente sesiones con estado. (2) Mezclar autenticación con autorización: validar que el JWT tenga firma OK (autenticación) no dice nada de si ese usuario puede tocar ESE recurso (autorización); los scopes/roles y el chequeo de ownership son un paso aparte.

Redes

DNS

Dos trampas: (1) decir "el DNS está propagando" cuando cambiás un registro y no se ve el cambio. No hay una propagación global: el authoritative ya tiene el valor nuevo al instante; lo que ves viejo es una caché (resolver/SO/browser) que respeta el TTL previo. Bajar el TTL ANTES de la migración es la jugada. (2) Intentar poner un CNAME en el apex del dominio: no está permitido porque el apex ya tiene SOA/NS y CNAME no coexiste; se resuelve con A/AAAA o ALIAS/ANAME.

Sistemas distribuidos

Consistencia y escala

La trampa clásica es recitar "CAP = elegí 2 de 3" como si pudieras renunciar a P. No podés: la partición te la impone la red, no la elegís. El trade-off real es C vs A cuando la partición ocurre. La segunda trampa es creer que consistencia eventual = "datos incorrectos" o "datos corruptos": es convergencia diferida, no incorrectitud. Si en la entrevista decís "elijo CP y AP según el caso" sin mencionar que P es obligatorio, ya perdiste.