沉沉果粒 伦敦政治经济学院·2022届
APP 内打开
分享
3
51

记一次小米一面面经。

记一次小米一面,潜水很久了,也分享一下。

面试官挺好,提前短信通知我面试时间。

上来自我介绍balabala。

看你实习过,问那个公司具体干什么的,你干了什么,怼项目,关于elasticsearch海量数据做过滤和统计。

看你简历上都是java,那我问你点java的东西把。

Q:你说你重写了hashcode,说一下你怎么写的?

A:我只是过滤和统计的时候用到了set和map所以要重写hashcode,SHIFT+ALT+S生成的。。。

Q:重写equels需要重写hashcode吗,为什么?

A:因为规定equels相等,hashcode必须相等,比如说hashmap、hashset添加的时候是先比较hashcode。

Q:和equels的区别?

A:是比较两个对象的引用,equals是比较两个对象的值。

Q:object类equals方法是怎么实现的?

A:不知道,没看过。(刚看了一下,实际上也是==)

Q:hashmap讲一下?

A:balabalabala...

Q:hashmap初始容量可以自己定义吗?

A:可以,但是必须是2的多少次幂。

Q:那我定义24呢?

A:那么初始容量是32.

Q:底层是怎么实现的?

A:我记得看过,忘了。。。(刚刚想起来,是先与16比较,如果比16大,对16做<<位运算把,好像是这样)

Q:hashtable知道吗?

A:知道,hashtable是线程安全的,锁住整个数组,基本已经淘汰了。可以用concurrenthashmap。(没有继续往下问concurrenthashmap)

Q:hashmap可以存null值吗,hashtable呢?

A:可以,不可以.

Q:final修饰的对象可以改变引用吗,可以改变值吗?

A:可以改变值,不能改变应用。

Q:volatile知道吗?

A:volatile内存可见balabala禁止重排序

Q:实现原理知道吗,内存屏障?

A:不知道。

Q:volatile是线程安全的吗,比如++操作?

A:不是线程安全的,因为++操作是三个操作,先读再加再写。

Q:static方法可以访问非static方法或变量吗?

A:不可以。

Q:为什么不可以?

A:...不知道,没研究过这个问题。

Q:那对象和类呢?

A:想起来了,因为static方法是属于类的,所以static方法是不能访问的对象的方法的,因为每个对象的值可能不一样。

Q:线程池用过吗?说一下常用的线程池?

A:用过,但是不记得常用的线程池,给他讲了一下线程池的原理,然后线程池的一些参数。

Q:keepAliveTime这个参数是干嘛用的吗?

A:知道,非核心线程的存活时间。

Q:那是怎么计算这个时间的?

A:从非核心线程闲置的时候开始计算(我猜的,他又问我确定吗,我说我确定)

Q:synchronize讲一下,sleep,wait?

A:balabalabala

Q:可重入锁知道吗,synchronize是否可重入?

A:知道,不可重入。对一个对象加锁后可以再对另外一个对象加锁。

Q:synchronize对static方法加锁?

A:锁住整个类。

Q:ThreadLocal知道吗?

A:不知道。。。

Q:说一下堆和栈?

A:balabalabala。

Q:新生对象一定放在eden区吗?

A:不知道。。

Q:那如果一个对象特别大,放在哪里?

A:老年区(他还问我确定吗,提示你的时候回给你下套...)

Q:看你用过spring,spring的拦截器知道吗?

A:不是特别了解,项目中用到过...然后给他讲了我的单点登录...通过拦截器判断用户是否登录。

Q:看你用过redis,redis事务支持回滚吗?

A:不支持回滚,redis事务串行执行,执行失败也不回滚。

Q:考你两个算法题,两个链表,判断是否相交,找出相交的第一个点?

A:(后悔没刷剑指offer)用了最蠢的办法,插入到map里。。。

Q:25匹马,五条赛道。每条赛道跑一匹马,只能知道名次,不能知道速度,怎么找出前一二三名,用几次?

A:(想了3-5分钟吧,不想浪费对方时间,虽然知道是不是最优的)8次。

Q:有什么想问我的?

A:因为我是第一次正经面试...能不能给个评价?

Q:还可以(很中肯...)

ps:面试官很好,会适当引导。很感谢这位大哥。


发布时间:2020年07月29日
用户头像
我来说两句…
共 3 条评论
林尽欢 北京林业大学·2022届
优秀啊付锅,今天小米打电话说约面试把我惊了,,大佬保佑一波
2020年08月03日 回复
果粒橙 四川大学·2022届
大对象并不是大于某一个门限值直接扔到老年代,这个只在serial和parNew中起作用
2020年08月10日 回复
普洱茶山黑话 河海大学·2022届
老哥你这头像有点秀啊
2020年08月05日 回复