小米二面吊打凉经

小米一面(20 min)

常规问题,大家肯定都懂,就分析个常见的源码之类的

  • 自我介绍

  • HashMap 1.8 原理

  • MySQL(索引结构、事务深入解析,范围查询相关问题)

  • JVM 内存分区

  • JVM 类加载

  • 锁膨胀

  • 可冲入锁原理

  • 重量锁原理

  • 手写单例模式,双重检验锁

  • Spring 原理,知道多少说多少

  • Mybaties 原理(不懂)

小米二面(60 min)

过了两周,作为一个合格的备胎,被小米捞起来吊打了,但没被阿里吊打得那么难受了。。。

  • 自我介绍一下

    • (上次阿里 “熟悉” 踩雷,这次不敢了,我用“了解”总好了吧!)....平时我学习也有深入源码去分析,我对 Java 并发了解多一点点(结果这句又 TM 劝退警告)

  • Java 多个循环想要 break ,如何一次性打破?

    • emmm,沉默 5 秒,抛异常?

  • 不对,怎么能是抛异常,你再回去试试吧!break 的用法

    • 哦。。。

  • Map 容器了解哪一些

    • balabala

  • 停,除了这些你还懂哪些?

    • LinkedHashMap。。。?

  • 你说说它的底层原理

    • 嗯,面试官,这个的原理我只了解过一点点,balabala

  • 你说是啥顺序?只有 LRU 么?

    • emmm,沉默 5 秒,是吧。。。

  • 举个例子,LinkedHashMap 插入 key,a,b,最后输出是啥?

    • b a ?

  • 理由是啥?

    • LRU。。。

  • 你再回去试试吧!

    • 。。。

  • 哪一些可以作为锁对象?Integer 可以作为锁对象么?

    • 可以吧,因为是对象啊,重量锁锁的不就是对象么?

  • 你再回去试试吧!

  • Lambda 表达式的实现原理?

    • 这个没了解过,只知道是语法糖

  • 那,匿名内部类实现线程的时候,底层是怎么走的?

    • 语法糖 balaba

  • 函数式编程的理解?Java 8 如何实现的函数式编程?

    • balabala

  • Java 8 中的接口和抽象类的区别?

    • balaba

  • JVM 引入的锁优化技术有哪些

    • 锁膨胀、锁消除

  • 还有呢?

    • 逃逸分析,同步省略?

  • 那不还是锁消除么

    • 嗯。。。

  • 你再回去看看吧!

    • 嗯。。。

  • ReentrantLock 和 synchronized 底层的实现原理

    • balabala

  • ReentrantReadWriteLock 了解么?

    • 了解一点点。。。

  • ReentrantReadWriteLock 底层实现的原理?

    • (我特么只说一点点啊,又来原理)是这样的,只了解过一点点,就是 balabal

  • ReentrantReadWriteLock 同个线程是否可以重复获取读写锁,分类讨论

    • (懵逼,按照可重入性理解吧,但也不知道读锁和写锁哪个可重复啊)balabala

  • 是这样的么,你再回去看看吧!

    • 嗯。。。

  • AQS 原理分析一下,底层几个队列?

    • balaba,有一个 FIFO 队列

  • 就一个?就绪和阻塞放一个队列么?线程就绪放哪个,就绪出来的线程能直接运行么?

    • 哦,还有一个同步队列。。。运行的话 balabala。。。

  • 你确定?你再回去看看吧!

    • 哦。。。

  • 写个题吧,这样,既然你了解 ReentrantLock ,用它写两个线程交替打印 1 - 10

    • (第一次撕并发题,也不能切到本地 IDE,手一直抖,抖着写了 20 分钟。。。)

  • 2 Thousand Later

  • 我看看你写的如何啊

    • 妈耶,一运行,满屏的 bug,20+ bug。。。)

  • emm,不如说说你的思路吧

    • balabala,condition、共用一个 reentrantlcok 之类的。。。

  • 三个线程怎么做?

    • 再加一个 condition 和类?

  • 嗯。。。好吧,今天差不多了,你还有啥能力是没体现的么?

    • MySQL、设计模式、JVM、计算机网络、HTTP、操作系统、算法等都没问呢?

  • 这些不应该一面就问了么?

    • 哦。。那面试官你对我有何建议?

  • 深度还行,但广度太差了,看问题要全面,你回去多看看吧

    • 好的,谢谢面试官

总结

学习的时候,虽然常规的准备是首要,同时也要注意不常规的知识,一般到二面、三面就高能了,但某AT、某条应该是例外,直接开局高能

这次还是吊打,但没有被阿里的面试官那样按在地上疯狂摩擦了。知识点比较常规,不过,考察点还是有点不常规。总的来说,小米的面试挺看重广度。然后这些面试官总的来说很看重你的自我介绍,自我介绍的时候要注意一点

第一次手撕并发题,LC 上之前也有并发题,写过,但好久没写了,之前一直用 AQS 组件实现,ReentrantLock 的确好久没写,招架不住了。。。还是代码功底,所以平时复习的时候,自己脑补个小 Demo 试试


#小米##面经##Java工程师##校招#
全部评论
这个一问一答属实把我看笑了,一边笑一遍哭,留下了没有技术的眼泪
1 回复 分享
发布于 2020-06-24 01:30
可以看出基础不扎实呀。。加把劲复习一下吧🤣
点赞 回复 分享
发布于 2019-09-25 13:58
这完全是摩擦啊,好恨啊。
点赞 回复 分享
发布于 2019-09-25 13:59
摩擦摩擦
点赞 回复 分享
发布于 2019-09-25 14:20
也太难了吧😵😵😵😵
点赞 回复 分享
发布于 2019-09-25 14:21
Break + 标识可以实现goto效果😂
点赞 回复 分享
发布于 2019-09-25 14:46
好难啊,确认过眼神,是我不会的题
点赞 回复 分享
发布于 2019-09-25 15:00
楼主这面经质量可以的🤣
点赞 回复 分享
发布于 2019-09-25 15:03
第一题学java程序设计的时候老师上课讲过😂
点赞 回复 分享
发布于 2019-09-25 20:37
啊,大佬,又看到你了,就是那个被阿里血腥一波的大佬😂😂
点赞 回复 分享
发布于 2019-09-26 11:10
LinkedHashMap好像可以保存插入的顺序,楼主现在知道这个题咋回答吗
点赞 回复 分享
发布于 2020-06-24 08:52
。。。。有点难,哭了,感觉秋招回去种白薯了
点赞 回复 分享
发布于 2020-06-24 09:00
这。。。应届生问这么难???怪不得我去年简历都被小米挂掉
点赞 回复 分享
发布于 2020-06-24 09:18
你回去多看看吧
点赞 回复 分享
发布于 2020-06-26 11:22
balabala哈哈
点赞 回复 分享
发布于 2022-01-10 00:12

相关推荐

不愿透露姓名的神秘牛友
10-29 13:41
已编辑
希望被捞的劳伦斯很超脱:再想想觉得问的挺简单的,感觉不是kpi面,是真想要,系统学一下以后应该就能答出来。
查看9道真题和解析
点赞 评论 收藏
分享
评论
6
88
分享
牛客网
牛客企业服务