我从4月份找到现在一共面了腾讯云智 、绿盟 、美团 、联想四家公司,来和大家分享一下我的面试经历(本文来自一位朋友的面试经历)。
云智
云智,一共是三面,每隔一天一场面试,最后还有个HR发offer的一张面试。
一面
面试官喜欢先聊项目,从项目中的某个功能点出发,最后问一堆八股文。
所以嘛,准备好八股文是非常有必要滴。别听有些人在大声吹嘘背八股文没用。
其他八股文:
-
说说你对Java中零拷贝的理解
-
大文件断点续传秒传的该如何实现?
-
说说单点登录的理解
-
Nginx有哪些负载均衡算法
-
为什么慢查询导致CPU彪高?
-
Redis在你们项目中用来做什么?
-
缓存数据一致性问题,你们项目中是如何解决的?会存在什么问题吗?
-
你们项目中分布式锁采用什么方式实现的?为什么采用这种方式?
二面:
二面主要是八股文+屏幕共享写代码。
八股文主要有:
-
说说你对线程安全的理解
-
说说线程池参数
-
为什么要用线程池
-
线程池核心线程执行完了会怎么样?
-
线程池优缺点
-
JVM内存分布
-
垃圾收集器
-
垃圾回收算法
-
说说你对synchronized的理解
-
wait方法为什么需要放在同步代码中,可以放在外面吗?
-
说说synchronized和volatile的区别
-
什么是内存屏障?
-
你知道哪些happens-before原则
-
说说你对事务中ACID的理解
-
MySQL是如何保证ACID的?
-
说说B树与B+树的区别
-
索引下推是什么东东?
-
聊聊你对explain关键的理解
共享屏幕:就是一个相对比较简单的代码实现,或许是考察咱们写代码的能力,总体上来说不是很难。
hr面
基本上都是聊天, 你平时有什么爱好? 对未来是怎么规划的? 你期望薪资是多少? 大概什么什么时候能入职?你有什么要问我的吗?
绿盟
绿盟面试还是蛮快的,只有一个技术面,技术面完第三天HR问到岗时间给薪资补贴说明。
一面
八股文居多,相对来说还是蛮简单的。没有准备过的话,也没那么简单,只要稍微准备过的都问题不大。
主要八股文有:
-
Arraylist扩容机制是什么
-
Hashmap底层 什么时候红黑树 什么时候退回list
-
Concurrenthashamap怎么解决线程安全问题
-
Java线程池参数以及拒绝策略
因为我有个项目中用到线程池,然后问了:
-
当时为什么用线程池优化,有什么好处
-
我不想用线程池,有什么方案可以代替吗?
再就是JVM部分的八股文:
-
JVM内存结构
-
说说你对双亲委派模型的理解
-
垃圾回收算法
-
垃圾收集器
-
你们项目中用的是什么垃圾收集器?为什么?
再就是Redis的八股文:
-
缓存一致性有哪些解决方案?你个人觉得哪种方案比较好?
-
bitmap是什么
-
说说缓存三大问题:雪崩 击穿 穿透
-
怎么设置过期健
-
你用到最多的数据类型是什么?哪些业务场景?
MySQL数据库部分问题:
-
索引类似有哪些?
-
你知道哪些索引优化手段?
-
什么是回表?
-
联合索引是什么?为什么说是最左匹配?
-
你知道哪些SQL优化手段?
-
事务特性有哪些?
-
怎么保证的四大特性?
-
union和 union all的区别
在问了Linux相关问题:
-
vim命令用过吗?怎么用的?
-
会写shell脚本吗?
-
什么命令能后台运行jar
-
你还会什么Linux命令吗?
-
你平时用的最多的Linux命令是什么?
美团
美团面试,其实一开始也是一些八股文为主,不过时一层一层的问,但是基本上都能应对,最后倒在共享屏幕写sql上,这是一道MySQL8才有新特性,窗口函数的题目,我完全不会,所以就GG了。
联想的面试过程基本上已经不记得,因为是在三月初面的,但是好像也没遇到什么问题,收到了offer。