小米9.9面经

面了33分钟。。期间好长一段时间只能听见面试官嗯嗯嗯的声音。看不到脸。。然后再复盘一下吧。
首先是计网,说说你理解的网络七层架构吧。这里分开了七层从上往下应用层。表示层。会话层。传输层。网络层。数据链路层。物理层分开来说了每层的作用和相关的协议。然后面试官问了一句你觉得分层的好处是什么。我说架构清晰,每层各负其责。下层为上层服务。面试官未置可否。评论区老铁可以讨论一波。
之后是说道了spring框架。(ps:我也不知道为啥先问框架。不应该先问集合嘛。)说说你理解的IOC。此处我说了10多分钟。从bean的加载过程到解决循环依赖到反射机制单例模式等等。自认为非常完美。面试官就是在这段时间内看不见脸只听到嗯嗯额的声音。。然后。最后来了一句你没有答到点子上。。感情我白白浪费了10多分钟啊(ps:小米面试只有30分钟左右),我问那点子是什么。面试官回复自己去看。****。然后说到aop。我说到了底层是由动态***实现。两种方式混合实现。基于接口的和基于子类的。然后说到了拦截器。结果面试官倒是没说没说道点子上。就一直嗯。哇。难受得一批。我跟个弟弟一样自言自语了10多分钟。。
然后。很神奇。问完框架问集合。。说说你知道的集合。Collection和Map开始扯。说道线程安全和不安全的集合。一直想让面试官问我线程方面的东西。结果。面试官并没有问。我又一个人讲了几分钟。。好不容易我扯到了JUC并发包。就问到了Concurrenthashmap。。我刚想说AQS。。面试官就问get需要加锁吗。我说不需要。为什么。因为get使用volatile和cas实现。每次增加节点和改变节点的值都能让其他线程马上看到。然后就没有然后了。
你项目里面用到了redis和mysql是吧。说说他们的区别。传统数据库如mysql都遵循ACID特性,而redis之类的key-value型内存型的Nosql更适合做分布式。然后说了一下CAP理论相关。。说说redis的数据结构。string。list。set。zset。hash。。好。那他们做了哪些优化。。这里我具体说道了跳表。但是面试官很嫌弃。
你用mysql是吧。说说mysql的索引吧。。先说了几种索引。主键索引。唯一索引。普通索引和全文索引。然后说innoDB底层用b+Tree。然后又说到了为什么用他。期间很想面试官一步一步引导的。而不是一直都是我说。感觉面试官并没有加入自己的思考。当然我也有问题。可能逻辑上和语言组织上有点问题。但是确实并不算一场很专业的面试。
最后写了一个堆排序。我也不知道代码写出来了没有反正思想说明白了。面试官假装肉眼debug了一下说问题不大。
并不是说一场体验不怎么好的面试就一定是面试官的责任。我确实也有将得不好的地方。但是。全程嗯嗯额我实在是受不了。本来时间就很短。无法全面的了解面试者的全部。面试官却并没有对这方面进行引导,比如说为什么快。为什么怎么怎么样。全程我一个人噼里啪啦说。很没趣的啊。最后也没有说还有什么要问我的。就说等系统通知就下线了。哎。菜还是我菜啊。
#小米##Java工程师##面经#
全部评论
我理解IOC和AOP需要先说它解决了什么问题,再去说底层实现这些。(IOC:获取对象时不需要手动创建,而由容器来管理。AOP: 通过织入切面来降低非业务代码的耦合度)。为什么要有IOC和AOP可能比它是怎么实现的更重要。
点赞 回复 分享
发布于 2019-09-09 17:17
本科吗,感觉已经很强了
点赞 回复 分享
发布于 2019-09-09 17:12
我面小米面试官一直在打字。
点赞 回复 分享
发布于 2019-09-09 17:12
很强啊,应该稳了
点赞 回复 分享
发布于 2019-09-09 17:15
小兄弟,让我找到你了😏
点赞 回复 分享
发布于 2019-09-09 17:33
其实我提前批二面的时候也是这样。一直在说自己的,不过楼主你这个应该稳的,放心
点赞 回复 分享
发布于 2019-09-09 19:46

相关推荐

评论
1
34
分享
牛客网
牛客企业服务