字节27实习后端开发面经

1、项目拷打二十多分钟
2、项目拷打过程中问到RocketMQ如何保证消息的不丢失?
3、我的项目用了“先更新数据库再删除缓存的策略”,面试官问如果上述策略发生数据不一致怎么办?
4、我的项目用了“通过 Redis 实现消息队列消费业务的幂等性处理”,问了具体怎么做的,还问了redis挂了怎么保证消息被可靠的消费?
5、问了Java线程池的核心参数?
6、线程池的拒绝策略有哪些?
7、为什么要用线程池,或者说什么情况下用线程池?
8、Java有哪几种线程池?
9、ThreadLocal的实现原理?
10、ThreadLocal为什么在多线程情况是安全的?
11、ThreadLocal如果一个线程在读,一个在写,出现数据不一致怎么办?
12、Mybatis的缓存?
13、bean加载的过程?
14、BeanFactory 和 FactoryBean ?
算法题:力扣 121 买卖股票的最佳时机 和 力扣122 买卖股票的最佳时机Ⅱ
全部评论
ThreadLocal如果一个线程在读,一个在写,出现数据不一致怎么办?这题考察什么啊,threadlocal不是线程隔离的吗,怎么可能一个线程读一个线程写啊
1 回复 分享
发布于 11-17 17:34 广东
那个岗呢
点赞 回复 分享
发布于 11-17 21:23 吉林

相关推荐

11-23 20:54
复旦大学 Java
点赞 评论 收藏
分享
11-27 12:10
门头沟学院 Java
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/GEO8. ZSet实现底层用跳跃表(SkipList)+哈希表,跳跃表按分数排序,哈希表支持O(1)查分数9. ZSet查询复杂度O(logn),因跳跃表分层结构,每层跳过约一半节点,类似二分查找10. InnoDB索引类型主键索引、唯一索引、普通索引、全文索引(5.6+)、空间索引11. 索引有效性判断看查询条件是否命中索引字段,是否避免%前缀模糊查询/函数计算等破坏索引的操作12. 索引底层实现B+树结构,普通索引叶子节点存主键值,主键索引存行数据13. 进程vs线程进程:资源分配单位,独立地址空间线程:CPU调度单位,共享进程资源,切换开销更小14. 线程同步措施synchronized/Lock/Atomic原子类/volatile/CAS/ThreadLocal15. TCP关闭流程四次挥手:客户端FIN→服务端ACK→服务端FIN→客户端ACK16. 关闭连接状态客户端:TIME_WAIT(等待2MSL确保包送达)服务端:CLOSE_WAIT(未及时调用close)TIME_WAIT过多会占用端口资源,影响新连接建立手撕 数组最小操作次数
查看17道真题和解析
点赞 评论 收藏
分享
评论
8
28
分享

创作者周榜

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