后端岗位面试题更新 2026-08-05

在云图库项目里,登录模块你是怎么设计和实现的?包括前端交互、后端校验以及会话保持等环节。

后端开发安全意识系统设计技术原理

考察说明

考查候选人对常见登录功能全链路的理解与实际落地能力,涉及安全、状态管理和前后端协作。

回答思路

  1. 【回答框架 1】登录功能通常采用前后端分离设计:前端负责收集凭证并提交,后端负责校验与签发会话凭证。前端一般用表单或第三方登录组件,通过 HTTPS 发送用户名与密码,避免明文传输。
  2. 【回答框架 2】后端常见方案是使用 Session 或 JWT。Session 依赖服务端存储,适合传统单体应用;JWT 无状态,适合分布式或移动端。选择时需考虑扩展性和登出、失效等场景。
  3. 【回答框架 3】密码存储必须采用哈希加盐,例如 bcrypt 或 PBKDF2,绝不能明文或简单 MD5。登录成功后,应生成会话令牌并设置合理的过期时间,同时考虑续期与刷新机制。
  4. 【回答框架 4】安全方面需防止暴力破解,常见措施包括验证码、登录失败次数限制、IP 限流等。同时要防止 SQL 注入和 XSS,输入校验必不可少。
  5. 【回答框架 5】实际项目中,我会先梳理用户表结构,设计接口如登录、登出、获取当前用户信息;再实现中间件或拦截器校验令牌,最后用测试覆盖正常与异常流程。若涉及第三方登录,需额外处理 OAuth 流程。
  6. 【关键点 1】密码必须加盐哈希存储,推荐 bcrypt;传输使用 HTTPS 或加签。
  7. 【关键点 2】会话管理可选择 Session 或 JWT,并明确其失效与续期策略。
  8. 【关键点 3】登录接口应有防暴力破解机制,如失败锁定和验证码。
  9. 【关键点 4】前端需妥善处理令牌存储(如 localStorage 但有 XSS 风险,HttpOnly Cookie 更安全)。
  10. 【关键点 5】登录状态校验应放在网关或后端中间件,前端不能仅靠路由守卫。
  11. 【易错点 1】仅用 token 就认为登录完成,忽略 token 在服务端的校验与过期处理。
  12. 【易错点 2】将密码明文存库或使用弱哈希如 MD5、SHA1 无加盐。
  13. 【易错点 3】会话令牌不设过期时间或无限续期,导致长期有效被滥用。