球答案
点赞 评论

相关推荐

没想转测开的,投后台,给了个测开面试,想着不面白不面就来了哈哈哈大部分都回答上来了,只有半小时,感觉是kpi,无所谓,不脏面评就好请做一个自我介绍(包括学校、专业、技术栈、项目经历等)🔧 项目与技术深度问题关于项目瓶颈与优化在 Agrife 项目中,同步教务系统数据时遇到网络 IO 瓶颈,你是如何解决的?追问:虚拟线程 + CompletableFuture 的具体配合方式?关于数据库数据库这块的并发处理/性能优化是怎么做的?查询场景:索引、避免全表扫描?插入/写入场景:有没有异步处理等优化手段?关于高并发与缓存招新系统在面试结果集中查询时,访问量突增,你是如何应对的?如何避免缓存被"冲爆"?缓存预热/加载策略是什么?缓存与数据库的数据一致性如何保证?更新策略:先更库还是先更缓存?极端场景(缓存过期+并发读)如何处理?TTL、延时双删、Binlog 监听等方案的选型思路?关于消息队列如何保证消息的可靠投递?生产者端:ACK 机制、超时重试?Broker 端:持久化策略?消费者端:消费成功再 ACK、失败进死信队列?如何保证消息消费的幂等性?💡 软技能与职业认知问题如何看待实习中的"杂活"?如果分配的任务比较基础,你会怎么调整心态?在现在这个技术快速迭代的时代,你如何学习一项新技术?以前怎么学?现在结合 AI 怎么学?从文档→Demo→项目→深挖的学习路径是怎样的?在项目开发中,你是如何使用 AI 工具提升效率的?架构设计、文档编写、代码生成等环节如何配合 AI?常用哪些工具(Cursor / Copilot / Claude)?为什么选型?💻 算法/编码题滑动窗口算法题(根据描述推测为「最小覆盖子串」或「无重复字符的最长子串」变体)要求:使用左右指针动态维护窗口,统计字符频次,求满足条件的最小区间长度考察点:双指针、哈希计数、窗口收缩逻辑
点赞 评论 收藏
分享
04-02 18:58
四川大学 Java
📍面试公司:字节跳动🕐面试时间:2026.4.2💻面试岗位:后端实习生❓面试问题:1.controller/service/repository三层架构的功能2.各层怎么交互(答的依赖注入)3.鉴权怎么实现(说用的spring security套件,给予身份)4.缓存和数据库数据一致性怎么解决(回答的先改数据库在删除缓存)5.为什么不先删缓存(好像两种方式都有一定问题,但是后删缓存问题小一点)6.缓存删除失败了怎么办(应该想考消息队列,但是鼠鼠还真没想过)7.缓存有ttl吗,大量key同时过期怎么办(缓存雪崩呗,鼠鼠看过的但是只答了ttl加随机时间和双key策略)8.讲一下mysql索引(回答了主键索引和唯一索引,b+树实现)9.为什么用b+(回答的树高度低,查询次数少开销少)10.进程和线程的区别?线程什么哪些资源可以共享哪些不行(os原理,基本没怎么复习,答的一坨)11.死锁条件和解决方式(四个条件和死锁预防,死锁检测,死锁接触)12.cas和普通加锁的优劣(看的时候没认真看,只记得cas有aba问题)13.互斥锁,自旋锁区别(完全没看自旋锁)14.tcp,udp区别15.tcp为什么三次握手四次挥手16.手撕,数组的最大连续子数组和(leetcode原题,五分钟撕了,但是让讲就有点捋不清了,就说了当前缀和为负数了就抛弃前缀,重新开始子数组)17.脑筋急转弯:100只老虎和一只羊,老虎吃了羊就变羊,最后羊会不会被吃(好像是考虑奇偶情况,但是鼠鼠想的就是吃了羊等于自己成猎物了,大家应该都僵持下去下去)18.反问有什么不足:基础不扎实,比如os,数据库,网络,编程语言(都没问我Java,过程中问我c++熟悉不,我技术栈都没敢写肯定不敢说熟悉啊),算法(撕的快但是讲不清,感觉鼠鼠是死记硬背),不是这不是基本今天全问的都是不扎实吗🙌面试感想:很常规,不难,但是鼠鼠真的太菜了毕竟第一次,回答的还算流利了,以后再接再厉
Esten:补一下4.的缓存一致性解决: 在开发过程中,先修改数据库再删除缓存,也会有短暂脏数据时间段,即在数据库修改过程中,其他线程读取缓存仍然命中,会返回脏数据,但是由于修改操作时间极短,只有极少线程会读取到缓存中的脏数据,在互联网业务下属于可接受范畴;反之先删除缓存,再修改数据库,可能会出现其他线程由于命中缓存失败,前往数据库构建缓存,由于数据库的修改还未完成,读取到脏数据构建缓存,该缓存在后续ttl中一直存在返回脏数据,导致前端请求数据大量出错。 总结:两种方式都会有返回脏数据的可能,但是后删只会有短暂时间(线程修改数据库时间)业务错误,先删缓存可能有整个ttl时间业务错误
查看17道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务