快手Java开发工程师一二面+HR面面经(已意向)
本人211硕士软件工程专业,昨天收到快手的offer意向书,真是等了好久。
下面是我的面经分享,我的面试问题基本都很少,因为每道题我都答了很久,总之,尽量针对一个点深入地给面试官讲解,让面试官感觉你对一个问题有深入研究,这是个加分项。另外,因为我前面答得都很好,跟面试官聊得也很开心,所以面试官在让我手撕代码的时候,都给我出了最最简单的题。
8.28 一面
1.自我介绍。
2.着重介绍一个你熟悉的项目(因为这里我做过多个项目,所以让我挑一个最熟悉的讲)。
3.介绍一下HashMap、HashTable、ConcurrentHashMap。
4.哪些key适合作为HashMap的key,数组可以吗,链表可以吗?
5.java如何自己写一个插件,如果没写过,你可以说一下你自己的对于写java插件的想法。
6.java如何自己实现插件之间的隔离。
7.讲一下锁的升级过程。
8.讲一下synchronized和ReentrantLock的区别。
9.讲一下线程池。
10.讲一下Spring Cloud有哪些组件以及功能是什么。
11.讲一下Spring中如何统一处理Exception。
12.讲一下mysql中的聚簇索引和非聚簇索引。
13.mysql中为什么用B+树,为什么B+树的高度相对于B树要小很多?
14.算法:
斐波那契数列
因为这题太简单了,我直接用五分钟写了递归和非递归两种写法。
15.项目中遇到哪些困难,如何解决的?
9.3二面
1.自我介绍
2.找一个项目介绍一下
3.你是如何学习java的,平时是怎么自学的?
4.项目中有哪个困难,你是怎么解决的?你认为导致这个问题的根本原因是什么?为什么会产生这种原因?如果这个问题重新让你来做一遍,你会怎么做?
5.你为什么要选择这个岗位?
6.你为什么要考研究生?
7.项目中的通信方式是什么样子的?
8.算法:
统计每个学生的访问次数。(这个是面试官现场出的题,不是力扣原题,思路就是用HashMap记录每个学生的访问次数)
算法中我采用了HashMap,然后针对我写的代码,问了一下HashMap的原理,底层是什么数据结构?如何put的,如何get的,containsKey方法做了什么?数组用什么方式遍历最快?那HashMap怎么遍历最快?然后你的代码有什么需要优化的地方吗(这里不是算法优化,而是代码优化)?
9.你对未来的工作有什么规划?
到这里已经30分钟了,后面就是跟面试官的闲聊过程,最开心的就是,面试官当场给我通过,让我等HR(于是后来我就等了三个周)。
9.26 HR面
hr面我等了三个周,就一个电话,五分钟就解决了,主要问了以下几个问题。
1.什么时候毕业?(2022年6月底)
2.手里还有什么offer意向书?(阿里巴巴,字节跳动)
3.你怎么看待这几个offer意向书,你更倾向于哪一个?
4.你投递这几家公司的理由是什么?
5.你还有什么问题要问我的?
基本就这几个问题,然后hr说让我回去等意向书就可以了,昨天终于收到了等待已久的意向书,很开心。