Desarrollador Node.js: pregunta de entrevista

¿Cómo proteges una API Node.js?

Protege una API Node.js con validación de esquema, autorización en servidor, sesiones o tokens seguros, acceso parametrizado, rate limits, payloads acotados, dependencias actualizadas, cabeceras y secretos fuera del código.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

Cada cuerpo, query y cabecera se valida contra un esquema antes de que el código de negocio lo vea, eliminando campos desconocidos y acotando tamaños para que un payload grande no agote la memoria. La autenticación usa bibliotecas contrastadas y tokens de corta vida o cookies HttpOnly; la autorización se comprueba en cada acceso a recurso. El acceso a datos usa consultas parametrizadas o un ORM que lo hace. Límites de tasa y timeouts protegen contra abuso y ataques tipo slowloris, las cabeceras de seguridad se fijan con helmet o equivalente, las dependencias se auditan y actualizan con un calendario, y los secretos llegan del entorno o de un vault y no del repositorio.

Ejemplo

Una API valida cada ruta con un esquema zod, rechaza cuerpos de más de 1 MB en el parser, comprueba que quien llama es dueño del ID de proyecto en cada ruta de proyecto, usa pg con marcadores $1, aplica un limitador por token en Redis y ejecuta npm audit más un bot de actualización del lockfile cada semana. Un hallazgo de prototype pollution en una dependencia de fusión anidada lo atrapó la auditoría antes de llegar a producción.

Errores frecuentes

  • Confiar en campos de req.body directamente en una consulta o una ruta de fichero.
  • Guardar JWTs en localStorage donde cualquier XSS puede leerlos.
  • Fijar una dependencia antigua con una vulnerabilidad conocida porque actualizar es incómodo.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador Node.js