小米服务端开发工程师一面

自我介绍
面试官看我的简历 (苍穹外卖翻版),
说说springboot了解多少(提了一下springboot的特点:自动装配)
你刚刚谈到第三方包的starter,讲一下它有什么用 (解释了自动装配原理 spring.factory)

讲一下websocket (项目中用了,websocket是长连接,不用的话客户端可能得轮询)
介绍java的集合类 (从collection下的到map下的我说了一大堆)
map的put和get方法(主打的就是hash code,讲了一通)
map能放对象吗(其实上面讲的时候已经提到了,讲得太多了面试官没注意)
treeset和hashmap区别(没太懂,我说treeset的红黑树要排序,面试官就直接问下一个问题了)
如何将集合变成线程安全的(Collection工具包)
如果不用那个有没有线程安全的(concurrentHashmap)

讲讲多线程,项目中那里用了多线程(redis逻辑过期的时候,另外开了线程来更新)
我突然讲到redis的缓存击穿相关内容,面试官不太懂,问redis的键过期不是会自动删除的吗?

讲讲mysql,讲讲索引(我不太知道从哪里讲起,谈了一下分为聚簇索引和非聚簇索引)
两个有什么区别(分别按主键、其他列的来建B+树,但是前者信息节点包含全部数据,后者不包含,自己又扯到索引覆盖)
mysql数据表数据数量限制(当时不太懂意思,我问是分库分表吗,面试官说是直接下一个问题)

还会什么,我说懂一点微服务
问我的理解(讲了一下微服务的思想以及多体间数据共享的问题,提了分布式锁,但是没问,我的项目是单体的,解释了下微服务才刚学不久)
微服务之间是怎么通信的(feign,rabbitmq,blockingqueue等,顺带讲了一下他们的区别)

问JVM会不会(我说只费一点点,我JVM跟康师傅学的)
谈一下垃圾回收器(我从单线程gc回收器,讲到多线程垃圾回收器,顺带讲了一下CMS,G1,ZGC,不知道他喜欢听哪个方面,怕冗长每个没敢太深入)

手撕题目:写生产者消费者
当晚收到二面预约,虽然最近的周日也能预约面试(这加班太狠了),我还是果断选择周二最晚那个时间段

总结起来,听说小米比较喜欢问八股,面试和手撕难度不大,确实如此,但是听说工资也不会高,许愿OC
全部评论
请问是实习吗
点赞
送花
回复
分享
发布于 04-26 22:06 山东
m
点赞
送花
回复
分享
发布于 05-01 20:26 重庆

相关推荐

3 18 评论
分享
牛客网
牛客企业服务