三面支付宝,Java高级工程师面试规律?
阿里作为互联网的龙头,一直是互联网风向标的存在,很多的互联网公司无论是体系设计还是面试问题,都在向他靠拢,或者说模仿,但是阿里真的就那么神秘和高不可攀嘛?不一定的,最近跟一个刚获得支付宝offer的读者进行交流,它跟我说了他面试的时候遇到的问题,结合之前在网上看到的一些面试题,突然发现,其实除了一些比较偏门的,大部分基本就是涵盖的那几个方面,我总结就是6+2,来看看这些问题吧
01 支付宝一面
介绍一下自己。
项目参与的核心设计有哪些
ArrayList和LinkedList底层
HashMap及线程安全的ConcurrentHashMap,以及各自优劣势
Java如何实现线程安全
Synchronized和Lock哪个更好?
HashMap中的get()方法是如何实现的?
HashMap可以用在哪些场景?
JVM,垃圾回收机制,内存划分等
SQL优化,常用的索引?
还有什么问题需要问的。
02 支付宝二面
没有自我介绍,直接问做过哪些Java开发相关的项目。
对哪些技术比较熟悉?
多线程状态图,状态如何流转?
死锁,死锁原因
页锁、乐观锁、悲观锁?
乐观锁如何保证线程安全?
用过线程池吗,对应的好处,如何用?
两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
1000个多并发线程,10台机器,每台机器4核的,设计线程池大小。
代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。
说一下自己的优点。
03 支付宝三面
jvm性能调优都做了什么
数据库性能调优如何做
分布式系统原理:CAP,最终一致性,幂等操作等
高并发情况下,我们系统是如何支撑大量的请求的
集群如何同步会话状态
常用NOSQL,有做过比较?
什么情况会出现雪崩,以及如何应对?
负载均衡的原理
数据库事务属性
与同事沟通的时候,如果遇到冲突了如何解决?
工作中觉得哪方面欠缺?
有问题要问么?
期望薪水?
为什么要离开现在的公司?
以上就是阿里支付宝现场三面题目
其实结合面试题,大家不难看出,题目基本涵盖的方面就那一些,最主要的, 多线程与高并发,jvm、设计模式、redis,zookeeper,数据库 这6个模块,再接下来就是一些具体项目的应用,但是,有的老铁可能说一个问题,这些东西就能进阿里,开玩笑呢?这不是忽悠人嘛
我觉得有这种想法很正常,我也这样反问我的读者,他这样跟我说, 知识点就这些,但是,不同的人不同的公司学习和考察的深度是不一样的,像阿里在面试的时候,它更喜欢听i你从底层源码讲解这些知识点。