11.26京东日常实习一面面经(希望能过)

后端开发 京东科技 金融支付事业群
1.自我介绍
问实习时间安排
实习经历,追问两段实习经历为什么连在一起
2. 项目中遇到问题解决问题的能力(大概是这个意思,记不清了)
主要提到一个项目中用的ai大模型,面试官对这个貌似挺感兴趣,一直追问,大概问了接近十分钟,我提了一下了解大模型应用如langchain4j等框架
还问了怎么对ai设置prompt可以更好的完成任务,回答:尽量精确到具体功能,使用前git版本管理,使用后即时验证功能,若不对则回滚
3. Redis相关
(1)缓存穿透,讲了一下缓存空值的坏处,布隆过滤器
(2)和mysql的一致性,说用了延迟双删,后边追问延迟双删过程中出现缓存穿透怎么办?(有点懵,忘了自己说的啥了,只记得回答的不太好)
(3)Redis持久化机制,详细讲了rdb和aof及其优缺点。
(4)面试官追问:实际中是两者一起用,你对这个了解吗。(这个没怎么背过,只提了一下aof是记录指令更完整)
4. MySQL相关
(1)了解MySQL的锁吗(只列举了一下行锁,表锁,间隙锁,没追问)
(2)影响sql语句执行效率的因素(讲了讲索引,回表查询等,提到索引失效的原因)
(3)追问了一下类型转换导致索引失效,举例字符类型不加单引号‘’识别为数字,导致类型转换索引失效
(4)实际操作中如何使sql更高效(怎么感觉有点重复,接着回答尽量使用索引,避免索引失效,建立联合索引,避免回表查询,防止select *等)
(5)有时候MySQL优化器会导致sql执行和你想象的不一样,如何解决,让优化器按你的想法执行?(没见过,说不了解)
(6)索引也有坏处,了解吗
回答索引的本质是维护一个b+树,如果索引过多,就会影响增删改操作的效率#听到哪句话代表面试稳了OR挂了?#
5. 消息队列相关
(1)面试官提到项目中用到Rabbitmq,我主动回答用来当延时队列(想让他问实现原理和死信交换机,不过没问)
(2)消息队列消息丢失(回答生产者和消费者确认机制,消息持久化)
(3)追问消息持久化如何实现(没见过,说不了解,这玩意不是直接在可视化界面直接打开的么😭)
(4)还了解其他消息队列吗,为什么选用Rabbitmq有考虑过吗
还了解卡夫卡,卡夫卡特点是吞吐量高,我们的项目体量较小不适合
6. AOP
(1)项目中用了AOP,具体业务场景
答: 降低代码耦合,用于日志以及一些业务捆绑场景
(2)AOP底层原理,只回答到动态代理cglib,对对象进行增强
(3)AOP执行时间如何控制?
根据业务场景选择执行在方法前还是方法后,如日志则方法前执行打印参数信息
7. 其他
(1)项目中有类似秒杀的场景,如何解决
项目经历中学分管理系统活动名额模块,创建活动id和用户id唯一索引,防止重复注册,保证接口幂等性,同时将名额信息加载到Redis,永lua脚本原子性操作防止超卖现象
(2)短时间高并发情况下压力大,如何解决
答 使用Rabbitmq进行削峰填谷,因为项目并不是太注重时效性
8. 反问阶段
(1)面试表现,回答不能说
(2)对我的建议以及有什么不足,说跟上一个问题差不多,也不能说
(3)业务
(4)这个岗位注重什么,回答实习生能带来外部改变与冲击(?第一次见这种说法)
9. 总结
一共接近四十分钟,感觉问的还挺多的,刚面完感觉绝大部分都回答的挺流畅,而且我回答八股的时候还都是结合项目说的,但是到现在一天多还没发结果有点慌了
希望过过过
全部评论
哥在哪投的
点赞 回复 分享
发布于 昨天 16:52 广东

相关推荐

评论
2
3
分享

创作者周榜

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