11.7 爱学习一面(11.13三面oc)

1. 为什么要走 java 这条路

2. 是否有考研计划

3. 自学的学习路线是怎么样的

4. 平时学习和自学的时间是怎么安排的

5. 介绍项目

6. 浏览器发起请求到后端发生校验整体的执行流程是怎么样的

7. sa-token 进行注解式权限校验的原理是怎么样的

8. 假设现在有一个请求是需要将一个图片共享出去,给一个没有登陆的人来访问,你会考虑怎么实现,并且限制共享的时间为一个小时,基于你现有的权限框架,你会怎么扩展

9. 假设我在 59 分的时候拿到你共享出来的这个链接了,61分的时候还能继续用吗,结合你刚说的 satoken 框架的token 刷新机制来说一下

10. 你说你选择使用临时token 的方案,如果每个用户都是用这个临时token, 那么会不会显得太笨重了,你有没有什么其他的方案

11. 你说你使用了模板方法和门面模式,你的抽象类和子类之间的方法都有哪些,你的抽象类的骨架是怎么样的,有哪些抽象方法,作用分别是什么

12. 为什么没有考虑不直接在前端上传文件

13. 你说你通过手动事务的方式来解决云存储上传成功但是数据库更新失败从而产生孤儿文件的情况,你通过回滚来删除云存储已经上传大的文件信息,那么这样对于用户体验是否友好,用户明明点了上传,但是提示上传失败,你可以考虑怎么优化,我答的用重试机制来代替回滚

14. 断点续传是怎么做的,在网络不好的时候是怎么解决的

15. 在你当初设计者模块的时候是怎么考虑的,有没有从用户的角度去思考,我答了异步上传来优化体验,又追问要是前端用户刷新了浏览器,那文件上传不就断开了吗,这里确实没有考虑到

16. 前面你提到了 redis key 的过期策略,讲一下 redis 中过期key 是怎么被删除的

17. 当时发现首页图片加载慢的瓶颈是在哪里,怎么定位到的

18. 为什么把图片数据缓存在了jvm 缓存或者是 redis 中,二进制的数据不适合做缓存,你有考虑过吗

19. 假设现在你在写代码的过程中突然告诉你缓存不能这么用,你会如何调整或者重构你的方案,你的优化思路是什么

20. 当时为什么选择使用云存储来存储图片而不是使用数据库来存储数据信息

21. 多人协同编辑是怎么实现的,是否可以查看编辑轨迹,是否支持回滚,如果要你支持,你怎么实现

22. 是否每一次编辑都会度图片进行存储,答只有最后一个人退出编辑才会将数据存回云存储,追问怎么知道哪一个人是最后一次退出编辑的,怎么监听的,答通过 websocket 的断开连接回调函数

23. 你的项目是否支持水平扩展 
24. mysql 什么是最左匹配原则

25. 慢 sql 排查思路

26. mybatis 如何防止 sql 注入

27. 分页查询中mybatis 是如何映射到实际的sql 语句的

28. 在使用框架的时候是否有看过源码,对哪些源码印象比较深刻

29. 算法 LRU,本地 ide,15分钟内完成

    全程一个半小时,结束后一小时约二面
#我的实习求职记录# #发面经攒人品#
全部评论
有无二面面经啊哥们
点赞 回复 分享
发布于 2025-12-15 10:37 山东
算法lru怎么在本地写啊输入输出怎么处理
点赞 回复 分享
发布于 2025-12-12 12:10 山东
佬好强
点赞 回复 分享
发布于 2025-11-08 02:00 广东

相关推荐

04-09 13:59
吉林大学 Java
问题 1 请先做个简单的自我介绍,并详细说说你在项目中是如何利用Redis和消息队列处理高并发抢券/秒杀场景的?问题 2你在项目中使用的分布式锁经历了怎样的演进过程?请结合JMeter的压测数据,谈谈最初的Redisson方案是如何实现一人一单的,以及它是怎么处理超卖回滚的?问题 3请详细解释一下Redisson分布式锁中的“看门狗(Watchdog)”机制是如何工作的?它的触发条件和底层续期逻辑是什么?问题 4如果不直接使用Redisson,让你自己手动编码实现一个类似“看门狗”的自动续期机制,你会怎么设计这套逻辑?问题 5既然Redis本身支持设置Key的过期时间,那我们为什么不能直接依赖这个自动过期时间来释放分布式锁?完全依赖超时自动释放会有什么隐患?问题 6在预扣减Redis库存成功后,如果由于网络故障或RabbitMQ宕机导致消息发送失败,数据库没有成功落库,这种情况下的数据不一致问题你是如何保证兜底解决的?问题 7你提到方案经过了优化,请问从纯分布式锁优化为Lua脚本方案后,系统的QPS具体提升了多少?性能翻倍的根本原因是什么?问题 8使用Lua脚本嵌入Redis执行确实能大幅提升并发性能,但在工程实践中,编写和维护Lua脚本存在哪些弊端或需要注意的风险?问题 9你提到项目中大量使用了MyBatis Plus,那么请问MyBatis底层是如何防止SQL注入的?它的核心原理机制是什么?问题 10在使用MyBatis Plus进行数据分页查询时,它的物理分页底层是如何实现的?拦截器(Interceptor)在这里起到了什么核心作用?问题 11框架在进行物理分页时,具体的分页参数(如当前页码、每页大小)在应用层和底层之间是如何封装和传递的?问题 12除了MyBatis Plus,你平时还会去主动研究哪些主流框架的底层源码?能分享一下你最熟悉的框架源码机制吗?问题 13当你在项目中需要引入一个新的中间件或技术栈时,你的学习和落地路径是怎样的?你会如何平衡AI辅助工具和官方文档的使用?问题 14在日常开发排错和遇到复杂的系统性能瓶颈时,你通常会如何利用AI工具?有什么核心决策是你绝对不会完全交由AI去决定的?问题 15你在设计分布式锁的Key时,曾和AI的建议产生过分歧。请结合具体的业务安全场景(如防黑产刷单),谈谈你是如何权衡纯粹的“技术并发度”与真实的“业务安全性”的?问题 16结合你的项目开发经验,谈谈你为什么深度依赖Spring Boot框架?它的核心设计优势(例如自动装配)在底层是如何实现的?问题 17请深入讲解一下Spring的IOC容器是如何管理Bean的生命周期的?特别是遇到带有AOP增强的循环依赖时,三级缓存是如何精妙运作来解决这个死循环问题的?问题 18在处理系统中大量重复的公共字段(如创建时间、更新人)时,你是如何利用自定义注解结合Spring AOP和反射机制,实现无侵入式自动填充的?算法题用java实现lru
查看20道真题和解析
点赞 评论 收藏
分享
评论
4
18
分享

创作者周榜

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