小米互二一面面经
18号晚上视频面,已过,约的下周二的二面。面试官人很好,爆赞;
--------------手动分割线--------------
1. 自我介绍
2. HashMap(自己说的很细,面试官说了句挺不错,问你几个很细的问题)
3. HashMap1.8之后有没有循环依赖的问题(我说改成尾插了,应该没了,面试官笑着说我记得好像有,我笑着真的吗,我下去再看看,俩人很开心)
4. reHash那段源码你看没有(没有)
5. 默认长度是16,那我初始大小给5他会是多少
6. 长度为什么是2的幂次
7. HashMap翻转链表的时候原来在3位置的元素,他会到哪(记不太清了,面试官跟我讲可能在3也可能在6)
8. ConcurrentHashMap
9. 说1.8它变成了Node+Cas+Syn的方式,你讲下CAS(我顺着ABA也说了一遍)
10. ABA问题是比较经典。但还有两个缺陷你知道吗(不知道,面试官跟我讲,一个是cpu占用太高,一个是每次只能修改一条数据)
11. Synchronized讲一下(自己忘了说最关键的monintenter了,面试官提醒对象头里边有什么你能说一下嘛)
12. Synchronized原子可见有序的原理
13. Java对象头里还有哪些东西你记得吗(好久以前看过,后来没注意,忘了)
14. 最近在看什么书(深入理解Java虚拟机第三版的,是深入理解还是深入剖析呀,我说深入理解,是蓝色的吗,我说紫色的,你拿过来我看看,我笑着拿到摄像头前,面试官:哦哦,挺好的,我后边也买一本)
15. 这本书收获最大的地方在哪(排查OOM异常)
16. Redis的数据类型讲一下
17. Mysql事务隔离级别(幻读是怎么解决的,我记得是加锁,怎么加锁忘了,面试官提醒是阶段锁)
18. JDBC你还记得多少(两个人对着屏幕笑,我说好久没用了,就实习的时候有个功能要用Connection建立连接。面试官:恩,建立连接之后准备sql,执行sql,最后干嘛咧,我说关闭连接)
19. 不关闭连接会发生什么问题(从网络角度来讲,会有大量的CLOSE_WAIT状态,因为没有及时的释放资源,从jvm来讲,可能会造成内存泄漏)
20. 项目里边用的JWT是 Java Web Token的意思吗(Json Web Token)
21 你这个JWT在分布式里边会不会出现失效的问题(分布式我不太了解,我知道session可能会在分布式里边出现失效,但我的理解应该不会失效,阿巴阿巴阿巴)
22. 哦,分布式你不太了解,那这个token会不会出现被破解的问题呢。(emmm,大概率不会,把token加密的过程说了一遍,最后弱弱的,因为用了md5算法,虽然现在好像md5也可以破解了,但是双重加密了,应该破解很麻烦)
23 面试官跟我科普了一下现在大厂网络安全的一些做法
24. Spring 简单讲一下
25 Spring AOP的原理
26 Spring里边用到了哪些设计模式
27 线程池以及线程池的核心参数,作用
28. 四个拒绝策略(说了三个,最后一个死活想不起来,面试官微笑提醒)
29. 反转链表
30. 连续子序列的最大和
感觉自己有点视屏面试写算法恐惧症,面试一写算法就紧张。面试官让我放松,然后一直提醒,最后终于做出来了。
反问:
q:算法对结果影响大吗?
a:哈哈哈哈,不用纠结,前面基础挺好的,你这算法也做出来了嘛。后边好好准备一下,二面毕竟也要写。(千感万谢)
面试官反问:为啥想来北京,我看你在成都啊,成都挺好的
我:就成都互联网生态扯了几句
最后谢谢师兄!!!! 祈祷二面师兄算法简单点。。啊啊啊啊啊啊,给我个offer吧
#面经##小米##Java工程师##校招#