曾经一直是被面试者,如今也体验了一把面试官的瘾,心情还是有一点小冲动的,有一种翻身农奴把歌唱的感觉。今天我分享一下第一次当面试官的经验。
面试前
由于是第一次当面试官,对于面试题准备的很用心,把之前被面试的题都拿出来,一道题一道题筛选,曾经不会的题,又翻资料把它解决,生怕被被人给问住了,那多丢人,弄得比自己面试还专心:
精心总结了面试题库:
- java基础
- java线程
- JVM相关
- spring相关
- 中间件
- mysql
- 网络相关
- 算法
java基础:
hashmap1.7和1.8中的put过程可以讲述一下吗?为什么1.7先扩容后插入 1.8先插入后扩容
hashmap的put以及扩容的时候老数据是怎样数据转移的?为什么是扩容两倍
hashmap是线程安全的吗?有哪些是线程安全的?
hashmap\currentHashmap两者有啥区别
currentHashmap的size的实现
java线程:
线程有几种状态?创建线程的方式
怎么理解线程安全
讲述一下synchronized和lock有何区别?
synchronized锁升级的过程
对JUC包下那些类比较熟悉 看过源码的?
线程池的哪几种实现方式,原理
线程使用start来启动,线程池中为什么使用线程的run方法
cutdownlatch的实现原理 如果更深入可以讲述一下AQS原理
AQS是怎么保证可见性和原子性的
乐观锁和悲观锁的使用场景是什么
如果竞争比较激烈的情况下,使用乐观锁会出现什么问题
讲述一下cutdownlatch的原理?使用synchronized来实现闭锁的功能
Semaphore和cutdownlatch区别
volatile线程安全吗?在什么场景使用
runnable thread callable futrue futruetask threadpool completablefutrue forkjoinpool
问题:
两个线程交替打印奇偶数
三个线程按顺序执行
三组线程按顺序执行
JVM:
JVM的内存结构?每种结构都有啥用?
哪些内存结构是线程共享的
1.8版本的内存结构有什么变化?消失的永久代去哪里了?
永久代和方法区是什么关系
哪些对象对被标记回收?哪些变量可以作为GCROOT
垃圾回收算法有哪些?
JVM有哪些垃圾回收器?
可以讲述一下CMS的垃圾回收过程吗
CMS有哪些优点和缺点?
CMS可以导致Minor GC吗
CMS和G1有啥区别
讲述一下安全点和安全区域
记忆集
spring:
springboot启动流程
bean的生命周期?bean实例化过程中是什么设计模式?
讲一下对自动装配的理解
ApplicationContext和beanFactory区别
beanFactory和FactoryBean区别
spring怎么解决循环依赖的问题的
spring的注入方式有几种?set和构造函数注入在循环依赖注入的时候可以注入成功吗
为什么IDEA中不推荐属性上加@Autowire注解 resource和autowire注解有啥区别
spring事务工作流程
问题:一个方法中同时又新增和发送消息的流程,出现了发送消息查不到新增数据的情况 怎么解决?
mybatis-spring整合流程
在增删改查中对mybatis的缓存是怎么操作的
mybatis的mapper的设计模式讲一下
分布式事务的实现方案
中间件:
rabbitmq 流程 死信队列
kafka为什么这么快?
什么是零拷贝
kafka中的零拷贝底层使用了什么函数
kafka怎么保证消息的可靠性的
kafka消费的时候出现异常,会不会导致数据丢失?怎么处理
kafka怎么保证消息的顺序,在多个分区的时候怎么能保证消息的有序性
使用过哪些redis的数据结构
sorted set 的数据结构是什么? 可以讲一下底层实现原理吗?
redis为什么快
zk遵循什么协议 什么是ZAB协议
zk怎么选主的
zk怎么保证数据一致性的
zk的内容结构
zk怎么保证顺序性的
zk的使用场景
mysql:
mysql有什么数据引擎
innodb和myisam的区别是什么?
可以讲述一下B+树和B数的区别吗
mysql的事务隔离级别有哪些?
可以讲述一下可重复读是怎么回事吗?
mysql不可重复读是怎么解决幻读的
mysql的锁都有哪些?
间隙锁在哪些场景可以生效
网络:
TCP的三次握手?三次握手的目的是啥
TCP的四次挥手
time_wait的报错是哪里发生的?为什么是2MSL
算法:
实现链表反转的函数
无序的海量数据中找出是个最大的数
判断链表中是否存在环
面试中
HR经过了大量的筛选,然后推到我这里(不得不吐槽一下HR筛选的能力),反正推到我这里的人都是参差不齐的,有上至四十岁的高龄程序员,有刚刚毕业的小白,我就是想问一下:难道你就不看岗位要求吗?
其中有几个值得分享一下,第一位是某里的P7,虽然不是核心部门的,但我还是怀着敬畏之心去面的,当时我就是从上面题库中随便选了几道,这位大哥硬是没有答上来,问过这的项目,拿来一个管理后台给我这说半天,最后我还是通过了,毕竟我是一面,但是最后是被二面刷下去的,听说要价比总监还高。还有一位是某奇异的小伙子,虽然工作经验才五年,但是跳了六次槽,问为什么跳槽,每次很傲娇,脸上写着我跳槽我骄傲的样子,不过技术还可以,看着这么一个有点实力的大哥,我就好奇的问了一下薪资,大哥开口45K,有股票,这下给我吓懵了,不过我还是通过了,然后就没有然后了,至于哪个环节被pass掉了,我就不清楚了。
其实我想说,我就是想找个能干活的,不求大厂,工作经验OK就行,当然薪资也OK,咋就这么难呢
面试后
这次面试的体验:面试者一定要明白岗位的需求,如果不明白,就要及时跟HR沟通,明白岗位标准,因为面试官也是按照这个标准去面的,高了低了都不行,面试官其实心里也特别想找一个合适的,可以速战速决的那种,毕竟面多了就没有那么的耐烦了