Desarrollador Java: pregunta de entrevista

¿Cómo proteges una aplicación Spring?

Protege aplicaciones Spring con autenticación explícita, autorización de mínimo privilegio en requests y métodos, CSRF cuando autentican cookies, hashing seguro, validación y eventos auditados.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

Spring Security es una cadena de filtros delante de la aplicación. La autenticación establece quién llama mediante sesión, JWT u OAuth2; la autorización decide qué puede hacer, expresada como reglas de URL en el SecurityFilterChain y como @PreAuthorize en métodos para que un controlador esquivado tampoco alcance lógica protegida. Las contraseñas usan un hash lento y adaptativo como bcrypt o Argon2, CSRF sigue activo para navegadores autenticados por cookie, se activan cabeceras como HSTS y content security policy, se valida la entrada y se registran fallos de login y cambios de privilegios.

Ejemplo

Una API con tokens bearer desactiva CSRF y pone la sesión en stateless, mientras la interfaz de administración de la misma aplicación mantiene sesiones y tokens CSRF en otra cadena de filtros. Un método @PreAuthorize("hasRole('ADMIN') or #userId == authentication.name") impide que un usuario lea el perfil de otro incluso a través de un endpoint añadido después.

Errores frecuentes

  • Desactivar CSRF globalmente porque un formulario dejó de funcionar y servir después páginas autenticadas por cookie sin él.
  • Comprobar roles solo en el controlador y dejar métodos de servicio llamables desde cualquier sitio.
  • Guardar contraseñas con un hash rápido como SHA-256 sin sal por usuario.

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 Java