字节广告后端-日常面经

1. JWT数据格式
Header.Payload.Signature,Header存算法,Payload存用户信息,Signature用于防篡改

2. 用户感知token过期
前端请求返回401状态码
本地缓存过期时间主动判断

3. 拦截器实现
是,实现Spring的HandlerInterceptor接口,重写preHandle等方法

4. Bean生命周期
实例化→属性注入→初始化→销毁

5. 后置处理器
实现BeanPostProcessor,在bean初始化前后拦截,如AOP代理生成时使用

6. Lombok作用
自动生成getter/setter/构造器/toString等,减少样板代码,提升开发效率

7. Redis数据结构
String/List/Hash/Set/ZSet/Bitmap/HyperLogLog/GEO

8. ZSet实现
底层用跳跃表(SkipList)+哈希表,跳跃表按分数排序,哈希表支持O(1)查分数

9. ZSet查询复杂度
O(logn),因跳跃表分层结构,每层跳过约一半节点,类似二分查找

10. InnoDB索引类型
主键索引、唯一索引、普通索引、全文索引(5.6+)、空间索引

11. 索引有效性判断
看查询条件是否命中索引字段,是否避免%前缀模糊查询/函数计算等破坏索引的操作

12. 索引底层实现
B+树结构,普通索引叶子节点存主键值,主键索引存行数据

13. 进程vs线程
进程:资源分配单位,独立地址空间
线程:CPU调度单位,共享进程资源,切换开销更小

14. 线程同步措施
synchronized/Lock/Atomic原子类/volatile/CAS/ThreadLocal

15. TCP关闭流程
四次挥手:客户端FIN→服务端ACK→服务端FIN→客户端ACK

16. 关闭连接状态
客户端:TIME_WAIT(等待2MSL确保包送达)
服务端:CLOSE_WAIT(未及时调用close)
TIME_WAIT过多会占用端口资源,影响新连接建立

手撕 数组最小操作次数
全部评论

相关推荐

评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务