菜鸟笔记
提升您的技术认知

我的支付宝3面+美团4面+腾讯4面,巧获Offer

阅读 : 60

作者是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分钟)

  1. 几种线程池区别?
  2. aio,nio,bio的了解,NIO的核心概念有哪些?
  3. 常用的NIO框架有哪些,优劣势?
  4. 事务的四大隔离级别?
  5. jvm场景问题, 标记清除多次后老年代产生内存碎片,引起full gc,接下来可能发生什么问题?
  6. MySQL innodb的b+树索引,主键索引,聚簇索引有什么区别?
  7. 数据库四大特性?
  8. MySQL里有哪些锁,行锁表锁,乐观锁呢?
  9. MySQL的死锁怎么产生的,举了两个例子。
  10. dubbo里的zookeeper是做什么的?
  11. 表锁 行锁 乐观锁 悲观锁的特点和区别?
  12. 并发工具包有哪些,具体怎么用?
  13. Docker平时怎么使用的?
  14. Kafka如何解决数据堆积?
  15. kafka消息的存储机制?
  16. 如何用kafka保证消息的有序性?
  17. kafka如何保证并发情况下消息只被消费一次?

Java三面题目(技术,现场面试,约60分钟)

  1. 项目介绍。
  2. 最有技术难度的项目,介绍下相关核心设计流程。
  3. 分布式下redis如何保证线程安全?
  4. redis持久化的方式以及区别?
  5. zookeeper如何实现分布式锁、其他分布式锁怎么实现?
  6. kafka的架构,如何用kafka保证消息的有序性?
  7. 数据库的优化包含哪些?MySQL的优化,谈两个你优化的例子。
  8. redis用的哪个版本?
  9. 如何搭建redis集群?
  10. redis如何主从同步?
  11. redis分布式锁注意事项?
  12. redis持久化的方式以及区别?
  13. redis持久化方式及区别?
  14. my sql数据量多大的时候需要分表?
  15. my sql常用的存储引擎及区别?
  16. zookeeper的作用:分布式锁、注册服务中心?
  17. zookeeper如何实现分布式锁、其他分布式锁怎么实现?
  18. 分布式事务的解决方案?
  19. 单点登录怎么实现?
  20. 秒杀系统怎么来实现?
  21. 工作中,遇见了技术瓶颈无法解决,你的解决思路?
  22. 技术选型方面,一个新技术和一个稳定的旧技术,你会如何选择,会考虑哪些因素?

Java四面题目(HR,现场面试,约30分钟)

  1. 自我介绍下。
  2. 自己的优点和缺点。
  3. 为啥想来美团,对美团了解多少?
  4. 心中的互联网公司排序。
  5. 工作中遇见暂时无法解决的问题,你是怎么应对的?
  6. 最近在学什么新技术
  7. 你是通过什么路径与方法,去学习和接触一门新技术的?
  8. 未来的职业规划是什么?

腾讯4面

一面

  1. 线程池由哪些组件组成,有哪些线程池,分别怎么使用,以及拒绝策略有哪些
  2. 写一题算法,层次遍历树并输出每层的层级
  3. 写一道题,二叉树的后序遍历,非递归算法。
  4. 什么时候多线程会发生死锁,写一个例子
  5. 说一说jdk1.8中,对hashMap的优化,对concurrentHashMap的优化
  6. 如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值
  7. 有1000个数据存在hashmap中,实际的数量是多少,考虑负载因子和扩容
  8. 常见的RPC有哪些?对应的区别和性能比较?
  9. 操作系统的用户态和核心态切换条件以及为什么要切换
  10. 线程间的通信方式,异步队列,消息延迟获取

二面

  1. MySQL的主从复制怎么做
  2. MySQL的索引,使用B+树索引的好处
  3. MySQL性能查看以及如何优化
  4. Redis是怎么做缓存的
  5. Redis的持久化操作
  6. 如何利用redis处理热点数据
  7. TCP三次握手的过程,如果没有第三次握手有什么问题。
  8. 分布式锁怎么实现

三面

  1. cap了解么,分别指什么
  2. 网络编程nio和netty相关,netty的线程模型,零拷贝实现
  3. Redis是单线程还是多线程?Redis的分布式集群怎么做?
  4. 分布式消息队列有哪些(Kafka等)?有使用过哪些?具体应用在什么场景?
  5. 负载均衡怎么做的呢,为什么这么做,了解过集群雪崩么。
  6. 谈谈高并发场景下削峰,限流的实现?

四面(HR)

  1. 为什么跳槽?
  2. 期望的薪资是多少?
  3. 如何看待加班问题?
  4. 平时自己是怎么学习技术的,除了Java相关,还会去了解其他什么技术?
  5. 未来几年有什么规划?

面试结束复盘查漏补缺

每次面试都是检验自己知识与技术实力的一次机会,面试结束后建议大家及时总结复盘,查漏补缺,然后有针对性地进行学习,既能提高下一场面试的成功概率,还能增加自己的技术知识栈储备,可谓是一举两得。