个人情况
2017年毕业,普通本科,计算机科学与技术专业,毕业后在一个二三线小城市从事Java开发,2年Java开发经验。做过分布式开发,没有高并发的处理经验,平时做To G的项目居多。写下面经是希望给各位有相同面试公司的小伙伴做个参考,同时也希望记下自己的一些收获和踩下的坑。
简历投递
当时有考虑到深圳发展,所以在BOSS上投了微众银行,第一面是电话面试。期间约了两次才约到电面。第一次约的星期一晚上七点,但是等了半小时没来电话。后来BOSS说有事,改约星期三晚上七点半。岗位:Java开发工程师。
一面
七点半电话如约而至,听声音面试官是个很年轻的小伙。问我有没有空现在进行面试,我说可以的。先简单的自我介绍后,没有问项目,直接问了技术方面相关的东西。
我看你们项目用过redis,你知道redis常见的数据类型有哪些吗?
你们平时用redis做些什么?
你知道redis为什么快吗?
redis的持久化机制说一下。
redis如何实现分布式锁?(答完redis的一系列问题,后面回答的问题,面试官小哥都会说,OK,OK,当时真的给了我一点幻觉,感觉他对我很满意,让我放松了戒备,套路得一批)
你知道什么是Spring的AOP吗?(面试官:OK,OK)
你知道AOP的底层实现原理吗?(面试官:OK,OK)
JDK动态代理和CGLIB动态代理的区别?(面试官:OK,OK)
哪种情况下用JDK动态代理,哪种情况下用CGLIB动态代理?(这题没答上来,原来看过相关文章,当时没记住),但是(面试官依旧:OK,OK)
用过什么设计模式吗?(我说平时基本都是开发功能模块的多,用到设计模式的比较少,但是读源码时会注意一些设计模式的实现,如JDK IO的体系,HttpServlet,Spring中的设计模式)(面试官依旧:OK,OK)
单例模式的几种实现方式?(面试官:OK,OK)
说一下数据库优化思路?(面试官:OK,OK)
你知道回表吗?(第一次听说这个词,就说不知道)(面试官:OK,OK)
mysql常见的执行引擎有哪些?(面试官:OK,OK)
索引的实现原理?(面试官:OK,OK)
B树和B+树的区别?(面试官:OK,OK)
线程池原理?(面试官:OK,OK)
ConcurrentHashMap各版本的差异?(面试官:OK,OK)
HashTable为什么效率低?(面试官:OK,OK)
HashTable有没有对整个类加锁?(原来看过源码,基本所有方法都用了synchronize关键字,我说没有)
你有什么问题要问我的吗?(问了下相关业务和技术栈)
一面结果:卒。
总结
面试官人很好,总是说OK,让我都有些飘起来了, 有时候面试官看上去对你很满意,并不意味着你就真的能过,从此我学会了,在面试中要学会保持平常心,不管面试官对你评价如何,保持平常心真的很重要。面试题目挺常规的,可以说百分之九十都是常规题,学过相关技术应该都能答上,没有特别为难人,面试体验不错,整体好评,虽然自己没过。革命尚未成功,同志仍需努力。