小米Java开发一二面凉经
总体感受
小米的面试官是真的很友好啊,都很有活力的感觉,平易近人,而且对一时间答不上来的问题有不错的引导。也没有说一些让人不舒服的话,总之是非常愉快的体验。
我是小米提前批的,在8.21收到消息,8.28一面;8.31通知二面,9.4二面;目前在等消息。
后续更新,已经拿到offer了~
一面
总时长:70分钟
上来先自我介绍不用说了,因为我提到了我读了jdk源码和了解了jvm相关,所以一面问的这些比较多。总共问了大概有以下这些问题
讲讲HashMap的底层实现
红黑树是什么,为什么HashMap要用红黑树
JDK1.8当中HashMap的put是怎么实现的,链表和红黑树的具体插入是怎么做的
红黑树是什么,为什么HashMap要用红黑树
JDK1.8当中HashMap的put是怎么实现的,链表和红黑树的具体插入是怎么做的
JDK1.8中HashMap对链表的插入是头插法还是尾插法?JDK1.7呢?为什么要改?
HashMap有线程安全版本吗
ConcurrentHashMap在JDK1.7和JDK1.8分别是怎么实现的
HashTable是什么,底层实现呢
ArrayList和LinkedList有什么区别
为什么jdk1.7的ConcurrentHashMap用ReentrantLock而1.8用synchronized
synchronized和ReentrantLock有什么区别
AQS是什么,有什么用
如何开启一条新线程
线程池是什么,有什么核心参数
如果线程池是空的,放入一个新的工作,线程池会怎样处理,线程池是满的呢?
如果线程池是空的,放了一个工作之后该工作结束了,再放一个新的工作会怎么样
什么是CAS,CAS有什么缺点,如何处理
了解tomcat吗?tomcat是什么,说说你的理解
servlet是什么,和tomcat有什么关系
SpringMVC中的MVC代表什么
jvm中内存分了几块
垃圾收集算法有哪些
CMS垃圾收集器讲一下
G1垃圾收集器讲一下
CMS和G1都有多次标记阶段,为什么要这样
虚拟机栈里有什么,干什么用的
虚拟机栈会抛出错误吗,什么时候会抛出什么错误
讲讲HTTP协议
当我在地址栏输入www.baidu.com并按回车的时候会发生什么
TCP三次握手
如何优化一条SQL语句
为什么SQL语句中的'非'操作性能低
写一下非递归的前序遍历
为什么用ArrayDeque而不用Java提供的Stack
反问环节
HashMap有线程安全版本吗
ConcurrentHashMap在JDK1.7和JDK1.8分别是怎么实现的
HashTable是什么,底层实现呢
ArrayList和LinkedList有什么区别
为什么jdk1.7的ConcurrentHashMap用ReentrantLock而1.8用synchronized
synchronized和ReentrantLock有什么区别
AQS是什么,有什么用
如何开启一条新线程
线程池是什么,有什么核心参数
如果线程池是空的,放入一个新的工作,线程池会怎样处理,线程池是满的呢?
如果线程池是空的,放了一个工作之后该工作结束了,再放一个新的工作会怎么样
什么是CAS,CAS有什么缺点,如何处理
了解tomcat吗?tomcat是什么,说说你的理解
servlet是什么,和tomcat有什么关系
SpringMVC中的MVC代表什么
jvm中内存分了几块
垃圾收集算法有哪些
CMS垃圾收集器讲一下
G1垃圾收集器讲一下
CMS和G1都有多次标记阶段,为什么要这样
虚拟机栈里有什么,干什么用的
虚拟机栈会抛出错误吗,什么时候会抛出什么错误
讲讲HTTP协议
当我在地址栏输入www.baidu.com并按回车的时候会发生什么
TCP三次握手
如何优化一条SQL语句
为什么SQL语句中的'非'操作性能低
写一下非递归的前序遍历
为什么用ArrayDeque而不用Java提供的Stack
反问环节
问了相当多的问题啊~大部分都答上来了,只有HashMap中链表插入和SQL相关的答得不太好。最后写非递归前序遍历的时候太紧张写成了层次遍历~面试官还很贴心地引导我去改代码,从队列换成栈之后成功通过。
一面之后没几天就打电话通知我二面了(吐槽一下小米的面试官好辛苦,第一次晚上九点给我打电话,第二次晚上九点半打电话。。。)
二面
二面的时候感觉就不太好了。面试官听说我自己写了点小型项目之后,居然在线进我GitHub上看。。。
之后就开始问问题了:
在些项目的时候出现过什么困难,最后怎么解决的?
你用了MyBatis,那我们知道MyBatis是一个空接口+XML文件实现功能的,那么具体是怎么实现的?
只问了两个问题。。第二个没答上来,面试官让我写代码
写一个快速排序试试,先讲讲什么是快速排序,然后再写
有没有更好的快排形式?(我写了三数取中)
然后。。没有然后了,写出来之后出现了一个小bug,是因为--写成++导致的。面试官在我改完这个问题之后就结束了技术问答,开始问我考不考研balabala的,最后还问了我是哪里人
之后就是反问环节了
目前等通知中。。非常紧张,感觉二面凉了
#面经##校招##小米##Java工程师#