最近朋友让猎头帮忙推荐了下蚂蚁金服,等了差不多一个多星期都没音信,他还以为简历挂掉了,突然晚上八点多一个电话打过来,直接电话面试。面试题大概如下
1. 先自我介绍下,讲下你负责的业务模块?
2. 业务中怎么避免因为网络抖动,前台用户刷新页面重复提交?
3. JVM中的锁?重入锁、轻量级锁,
4. 数据库的事物隔离机制
5. 一个service调用多个dao怎么保证是用的一个数据库链接来支持事物的?ThreadLocal
6. ThreadLocal的数据结构是什么样的
7. 知道哪些并发包
8. jvm类的加载过程
9. CAS是什么?旧值,期望值,新值
10. CAS怎么保证多个线程更新的值是最新的?volatile
11. 知道volatile关键字吗?保证线程每次读都是主内存的值
12. 怎么解决ABA问题?版本号
13. 公平锁和非公平锁的区别?所谓公平锁指的是哪个线程先运行,那就可以先得到锁。非公平锁是不管线程是否是先运行,都是随机获得锁的。
14. java的四种引用?强引用、虚引用、弱引用、软引用
15. springmvc 的加载流程
16. spring和springmvc容器的父子关系?
17. springmnv注入的beanspring可以用吗?
18. spring是父springmvc是子 父类的东西子类有 子类的东西父类没有 springmnv注入的beanspring不可以用
19. spring的事物是怎么实现的?
20. 动态代理、静态代理、用到了哪些类、是在哪个包下、具体怎么实现的?
上面是电话面试
第二轮是现场面试
五个笔试题
1什么情况下会出现ConcurrentModificationException 如何避免
2一个20个节点的二义树第六层最多有多少
3银行A给B转账 考虑事物 A为热点账户
4通用的web项目类的加载流程
5. 一个请求带来大量的参数怎么把这些参数入库,设计数据库,瓶颈是什么?
面试题开始:
1. 先自我介绍下,说下具体的项目,业务?
2. 类加载器 ,有哪些加载器,类加载的顺序
3. 说下分布式多个系统之间如果多个系统请求比如风控、订单完成、支付失败这时候怎么处理?
4. synchronized和lock有啥区别?大量请求用哪种?
5. Springbean的生命周期?
6. init-method、destory-method区别?
7. 数据库索引靠左原则,原理底层