【一】 笔试(60min)
题型包括单选+多选+判断+1道解答题
考的比较基础,很多代码分析题,最后的解答题没啥思路写不出来~
【二】一面(65min)
一面主要问基础,底层问的挺多,多线程和java锁这块占了20min左右
1. 谈谈你对多线程的了解
2. 谈谈你对synchronized锁的理解,锁的粒度的是什么,一个线程怎么去判断synchronized锁已经被占用,底层实现是什么?
3. synchronized锁方法和锁代码块的区别是什么,你平时写代码怎么用synchronized锁,举例~
4. ConcurrentHashMap如何保证线程安全(分别讲了jdk1.7 和 jdk1.8的)
5. mysql默认的事务隔离级别是什么?你如何理解可重复读?
6. mysql联合索引有什么好处
7. 索引失效的情况,面试官给了一个联合索引,然后写了2个例子,问索引为何失效(分别是违反最左前缀法则以及使用了范围查询)
8. 谈一谈JVM的GC,包括几个垃圾回收算法
9. 有看过GC的日志,出现OOM你怎么解决?
10. CMS了解吗
11. java 的 instanceof 关键字
12. 你看的最多的专业书是哪些?(我回答:Java疯狂讲义以及深入理解Java虚拟机)
13. 你说你看过深入理解Java虚拟机,那类的加载过程了解吗,一个类有可能被加载两次吗?(我回答没有,又问那有办法实现吗……)
14. Spring AOP,用了哪个设计模式? 如果让你自己去实现类似于Spring AOP的功能,你怎么实现(我举了一个动态代理的例子)
15. 平时写代码用过设计模式吗,关于设计模式在JDK源码的应用你了解多少(我举了Callable创建线程基于适配器模式以及Runnable创建线程基于静态代理模式)
反问:我问了公司是使用开源框架还是会用自己的一套框架
面完之后面试官就让我等一会,说安排第二场面试
【二】二面(55min)
二面的面试官身材高大魁梧,我还以为是哪个健身达人~
二面主要问的是实习经历
1. 为什么不留在上一个公司?
2. 说说你实习过程主要做了些什么, 收获了什么?
3. 问了一个关于拉取广告主字段信息,解析json数据格式的功能如何实现?
3. 问了我简历上lazada登录自动获取邮箱验证码这个功能是怎么实现的(包括业务背景、用到的技术、整个开发思路)
4. 实习过程中遇到最大的困难是什么,如何解决(我回答了有时候给的需求需要用到的技术是没接触过的,那么就要学会快速掌握一个新知识的能力)
5. 你如何看待给你的需求用到的技术你没接触过或者不是你擅长的
6. 公司的项目是怎么部署的
7. 你简历上写了实现过旧项目转Dock的部署,关于Docker,你是如何学习的,你对Docker的了解有多少?
8. 项目也问了一两个问题,记不太清问的是啥了~~
反问:
① 公司的前后端比例大概是多少,听说凡科用的技术会比较老,那会前后端分离吗?
② 我问面试官对我的面试过程的评价,有什么需要改进的地方吗?(面试官还是挺好的,指出了一两个问题以及给了几点建议)
最后,面试官又问了:如果有两个团队,一个是团队里的很多项目都是成熟的,有一定的技术沉淀,里面也有很多技术功底很好的人,但是接触到的技术相对没那么新;
另一个团队很多都是从0到1,接触的技术都是比较新的,比如你说的前后端分离,并且团队里面的人也是偏年轻;你选择哪个?
【三】 HR电话
在回去的路上,就收到hr的电话,说通过面试了,这效率有点高~
全部评论
(6) 回帖