小米java后端一面(100分钟)二面(40分钟)

一面
1、手写快排
2、手写LRU算法
两个算法题看起来简单,但是写的过程中面试官一步一步地提出一些新的要求,问了一些非常细致的问题,比如如何让LRU线程安全,我回答的直接加Synchronized,或者使用读写锁,还可以使用分段锁。又问分段的话分多少合适?我不会,他就给普及了一下最好与cpu内核数量一致,又讲了一下原因,学到了。写完算法的话一共40分钟过去了。
3、MySQL的事务隔离级别?MVCC怎么解决的可重复读和读已提交?MySQL默认隔离级别是什么?可重复读级别怎么解决了幻读问题?
4、了解redis的数据结构吗?讲一下跳表?
5、Dubbo的注册中心只能是zookeeper吗?(我说不是,redis理论上也可以)
6、为什么不用redis做注册中心?(我只答了zookeeper稳定性更高,原因没说出来)
7、GC有关的能想到多少讲多少?为什么CMS并发标记后还要有个重新标记阶段?重新标记为什么不能跟用户线程并发?
8、讲一下STW(GC中的stop the world)?
9、有看过jdk源码吗?说一下hashmap的扩容,以及你读源码的时候的自己的收获?
10、又聊了一下线程池
反问环节:对我评价一下吧
答:基础还不错,LRU算法我给你扩展了很多问题,都答的比较到位,这是比较加分的。建议的话对于redis、zookeeper、spring这些有时间还是自己读一下源码,不要只停留在会用的程度,而且也不建议只通过网上的博客来学习。回去等二面电话吧。
(整体感受:非常不错,面试官非常耐心,对于我回答的问题,他能及时反馈答得好不好,如果没答到点上,还会亲自讲解一下,学到了很多知识)
二面
1、自我介绍
2、你的分布式项目当中有用到分布式session吗?讲一下。
3、分布式锁你用的redis,为什么不用MySQL,这不是更简单吗?
4、有一个接口要查询数据库当中三张表,假设有十万个数据要查询,速度特别慢,用户容忍不了,你怎么解决?
5、redis缓存热点数据时为什么要设置随机的超时时间?
6、项目当中用的Dubbo的某个provider挂了怎么办?
7、http的get和post区别?post请求客户端如何知道请求已经到达服务端了?
8、数据库中原本有个A索引,现在想直接加个B索引,变成AB索引,能直接添加成功吗?
9、介绍一下你对线程池了解多少?如果往无界队列一直添加任务会发生什么?如何排查?
#面经##小米##校招##Java工程师#
全部评论
二面到oc多久时间
点赞 回复 分享
发布于 2021-09-28 21:54
第8点那个是说变成AB复合索引吗?
点赞 回复 分享
发布于 2021-09-28 15:22
老哥HR面了吗?oc了吗
点赞 回复 分享
发布于 2021-09-10 20:02
太强了LZ 我想问下,LRU算法是整个类都给他实现了么
点赞 回复 分享
发布于 2021-09-08 20:55
你好,有提到不建议看博客学习,给过别的学习渠道的建议吗?求解
点赞 回复 分享
发布于 2021-09-03 14:37
LZ太强了,膜拜
点赞 回复 分享
发布于 2021-08-24 17:15
好强!😂
点赞 回复 分享
发布于 2021-08-19 18:05
base?北京吗?lz
点赞 回复 分享
发布于 2021-08-19 17:34

相关推荐

你背过凌晨4点的八股文么:简历挂了的话会是流程终止,像我一样
点赞 评论 收藏
分享
大方的大熊猫准备进厂:1.教育背景:你希望从事什么专业的工作你的主修课就是什么;成绩优秀是你应该做的,没什么可描述的,成绩不优秀也许人家在大学忙着创业呢?(成绩优秀不一定是好事,只能说明多元化的大学你上成了高中,没有真正上明白大学,反而体现了你死板,不爱社交,没有别的突出能力) 2.实践经历:你想表达的意思没有说清楚。你是说你会个性化服务,还是你有实习经历。如果没有带来,经济收益,表彰,更好的发展前景,那你还不如说说提升了自己哪些技能。你说有人给你送锦旗我都能明白你优秀,但是你说你会xxxx,你说这话谁信,证据呢。 3.入伍经历:你描述的就是你的工作职责或者你应该做的,并没有体现出来你把这个事情做好了,而且入伍经历并不能证明你能干好你要应聘的工作,不如只写经历其余所有内容都不写。 4.荣誉技能:重点突出一下,但不要过多描述,这些荣誉的含金量懂得都懂。 重点:你要应聘什么工作(具体岗位,实习生不具体),你的期望薪资
点赞 评论 收藏
分享
评论
2
41
分享

创作者周榜

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