2014年毕业,在上海工作,从事Java研发五年多,中间换了两次工作,工资还算满意,但工作内容都是反复造轮子,技术提升慢,感觉也学不到东西,一直梦想着有一天能进入BAT等大型互联网企业工作,跟着大牛学习,提高自己的技术能力,为自己的履历镀金。

从萌生这个念头的那天起,我就开始密切地关注互联网大厂的Java岗招聘信息,以及自己整理各种技术干货、面经面题等,通过梳理总结、查漏补缺,依据自己的情况做了一份详细的学习计划,以弥补自己在技术知识方面

阿里支付宝面试

支付宝一面

  1. 介绍一下自己。
  2. 项目参与的核心设计有哪些
  3. ArrayList和LinkedList底层
  4. HashMap及线程安全的ConcurrentHashMap,以及各自优劣势
  5. Java如何实现线程安全
  6. Synchronized和Lock哪个更好?
  7. HashMap中的get()方法是如何实现的?
  8. HashMap可以用在哪些场景?
  9. JVM,垃圾回收机制,内存划分等
  10. SQL优化,常用的索引?
  11. 还有什么问题需要问的。

支付宝二面

  1. 没有自我介绍,直接问做过哪些Java开发相关的项目。
  2. 对哪些技术比较熟悉?
  3. 多线程状态图,状态如何流转?
  4. 死锁,死锁原因
  5. 页锁、乐观锁、悲观锁?
  6. 乐观锁如何保证线程安全?
  7. 用过线程池吗,对应的好处,如何用?
  8. 两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
  9. 1000个多并发线程,10台机器,每台机器4核的,设计线程池大小。
  10. 代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。
  11. 说一下自己的优点。

支付宝三面

  1. jvm性能调优都做了什么
  2. 数据库性能调优如何做
  3. 分布式系统原理:CAP,最终一致性,幂等操作等
  4. 高并发情况下,我们系统是如何支撑大量的请求的
  5. 集群如何同步会话状态
  6. 常用NOSQL,有做过比较?
  7. 什么情况会出现雪崩,以及如何应对?
  8. 负载均衡的原理
  9. 数据库事务属性
  10. 与同事沟通的时候,如果遇到冲突了如何解决?
  11. 工作中觉得哪方面欠缺?
  12. 有问题要问么?
  13. 期望薪水?
  14. 为什么要离开现在的公司?

美团四面

美团点评高级Java一面(技术,电话面试,约40分钟)

  1. 自我介绍。
  2. 项目介绍。
  3. 了解过redis源码及redis集群么?
  4. 分布式下redis如何保证线程安全?
  5. Hashmap的原理,源码?
  6. Hashmap增删的情况后端数据结构如何位移?
  7. hashmap容量为什么是2的幂次?
  8. object类你知道的方法?
  9. 你重写过hashcode和equals么,要注意什么?
  10. jvm内存分区,为什么要有新生代和老年代?
  11. 有做个JVM内存优化吗?
  12. 数据库索引 主键和唯一索引有什么区别?
  13. 聚集索引和非聚集索引的区别?
  14. MySQL存储引擎innoDB和MyISAM的区别?
  15. 讲一下稳定的排序算法和不稳定的排序算法?
  16. 讲一下快速排序的思想?

美团点评高级Java二面(技术,现场面试,约60分钟)