上海小公司Java实习生一面面经
面试题目
- 公司与岗位介绍,确认职业方向(测试/开发)。
- 薪资期待及生活成本沟通。
- 自我介绍。
- 项目背景沟通:项目是否上线、项目经历挖掘。
- WebSocket原理:有无对比其他连接?为什么选WebSocket?应用场景是什么?
- JWT与Session对比:为什么用JWT?Session会引起什么问题?
- JWT鉴权细节:登录信息存哪里?
- Redis应用:做登录功能时是否考虑引入Redis?
- AOP概念:什么是AOP?具体应用场景?
- AOP实现方式:有几种实现方式?
- 数据库索引:讲讲索引。
- 云服务器使用:阿里云用来存什么?有无使用过其他云服务?
- 反问环节:针对登录信息存储进行技术探讨。
参考解析
- WebSocket与HTTP对比:WebSocket是全双工通信,适用于实时性要求高的场景(如聊天、通知);HTTP是请求-响应模式。对比:长轮询、SSE(服务端推送)。
- JWT vs Session:Session存在服务端,集群需共享存储;JWT是无状态的,由客户端携带,减少了服务器存储压力。
- 登录信息存储:通常配合Redis存储用户Session信息或缓存Token状态以实现单点登录、强制下线等功能。
- AOP(面向切面编程):用于解耦横切关注点(如日志、事务、鉴权)。实现方式包括:JDK动态代理(基于接口)和CGLIB代理(基于类)。
- MySQL索引:索引是提升查询效率的数据结构(B+树)。核心点:聚集索引与非聚集索引、最左前缀原则、索引失效场景。