失速飞机 level
获赞
40
粉丝
15
关注
15
看过 TA
701
门头沟学院
2023
Java
IP属地:北京
暂未填写个人简介
私信
关注
04-03 18:25
门头沟学院 Java
0 点赞 评论 收藏
分享
03-25 14:47
已编辑
门头沟学院 Java
实习项目拷问实习期间项目挑一两个重点说一下如何定位慢sql这是一个什么联合索引为什么不给中间的status的填进去?好问题表的数据量有没有分表,怎么分表?按月分表,那么分页查询怎么查?前端有传时间范围单表查询时长?10ms到50ms深分页怎么处理?缓存优化怎么做的?主动更新缓存失败?主动更新的并发问题?用的是什么消息队列?消息丢失怎么处理?这个系统可用性如何考虑的?定时脚本:解决入队失败,以及消费这个回调失败 ,缓存降级缓存命中率?基础知识服务器如何识别http的请求头和请求体的?cookie在http中如何传输 ?如何实现一个线程安全的任务队列?数据库为什么要有连接池?刚才你说到数据库连接池为了防止链接频繁的创建销毁,那么像http服务器,rpc服务器他们的连接就是频繁创建和销毁没有连接池,那为什么数据库需要连接池呢?答:因为数据库连接是昂贵、有状态、数量有限的资源,而 HTTP/RPC 是轻量、无状态、可快速销毁的,所以数据库必须用连接池来复用,HTTP 不需要。1. 连接成本完全不一样HTTP 连接:只是一个 TCP 短连接,用完就断,没有状态、没有认证、没有会话上下文,创建销毁非常轻。就算用 HTTP 长连接,也是复用 TCP,不是复用业务状态。数据库连接:是有状态的重量级连接:TCP 握手 + 用户名密码验证 + 权限检查 + 会话初始化(事务、锁、缓存区)。这个成本是 HTTP 的 几十倍上百倍。2. 生命周期完全不同HTTP 请求:一次请求一次连接,用完即丢,非常短暂。数据库连接:一旦建立,可以持续复用很久,完全没必要每次执行 SQL 都重新建连接。3. 数据库对连接数量极其敏感数据库有严格连接上限(MySQL 默认 151)。连接多了,数据库会:内存暴涨、线程爆炸、锁冲突、直接夯死。而 HTTP 服务器扛几万连接都没事,因为它是非阻塞、IO 多路复用,不占很重的资源。算法题:数组平方后的不同数
查看21道真题和解析
0 点赞 评论 收藏
分享
2025-03-12 20:21
已编辑
门头沟学院 Java
北京 业务:做消息队列相关,并且是toB(对这个业务还是不太感兴趣)。上来两个算法,在腾讯会议上做,使用acm模式算法1:判断链表是否有环算法2:两个有序数组求交集,请看第一张图开始问基础知识1. synchronized和ReentrantLock的区别以及使用场景2. jvm的内存结构3. 有没有过实际的排查jvm问题的经验(回答:使用jmap分析堆的使用情况,发现老年代内存溢出,原因是创建大对象,然后大对象从年轻代直接老年代,导致老年代空间不够)4. 当前在公司用的是jdk版本是多少(回答:jdk8,但是后续考虑升级到jdk11)5. 追问:为什么要升级到jdk11(回答:(不太清楚)或许为了使用jdk11的垃圾回收器吧)6. 内存溢出后如何检查是哪个对象占用过多空间呢(不清楚)开始拷问项目:问了特别多数据库从单机迁移到分布式数据库的问题,面试官比较感兴趣。改进:1. 当时做算法题的思路不够最优解。原因是自己好久没面试有点紧张了,题意没有完全看清,并且思路还不明确的前提下就开始开始做了,应该先看清题目给的条件,明确一个完整的思路再开始写。2. 回答八股的时候,有些不是一下子能反应过来的问题需要先构思一下,避免罗里吧嗦,自己都看不下去了。3. 一定要提前检查工具是否能共享屏幕,然后对着流程图来给面试官讲解数据库迁移项目,这样方便理解。提前练习下这个项目的讲解。4. 面试官说简历上可以把百度之前实习经历也加上,并且项目可以写的不用这么仔细。
查看9道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务