作者是2014年毕业的,在上海工作,从事Java研发五年多,中间换了两次工作,工资还算满意,但工作内容都是反复造轮子,技术提升慢,感觉也学不到东西,一直梦想着有一天能进入BAT等大型互联网企业工作,跟着大牛学习,提高自己的技术能力,为自己的履历镀金。
从萌生这个念头的那天起,我就开始密切地关注互联网大厂的Java岗招聘信息,以及自己整理各种技术干货、面经面题等,通过梳理总结、查漏补缺,依据自己的情况做了一份详细的学习计划,以弥补自己在技术知识方面存在的短版。
多多支持,即可免费获取资料——三连之后(承诺:100%免费)
快速入手通道:(点这里)下载!诚意满满!!!
阿里支付宝面试
支付宝一面
- 介绍一下自己。
- 项目参与的核心设计有哪些
- ArrayList和LinkedList底层
- HashMap及线程安全的ConcurrentHashMap,以及各自优劣势
- Java如何实现线程安全
- Synchronized和Lock哪个更好?
- HashMap中的get()方法是如何实现的?
- HashMap可以用在哪些场景?
- JVM,垃圾回收机制,内存划分等
- SQL优化,常用的索引?
- 还有什么问题需要问的。
02 支付宝二面
- 没有自我介绍,直接问做过哪些Java开发相关的项目。
- 对哪些技术比较熟悉?
- 多线程状态图,状态如何流转?
- 死锁,死锁原因
- 页锁、乐观锁、悲观锁?
- 乐观锁如何保证线程安全?
- 用过线程池吗,对应的好处,如何用?
- 两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
- 1000个多并发线程,10台机器,每台机器4核的,设计线程池大小。
- 代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。
- 说一下自己的优点。
支付宝三面
- jvm性能调优都做了什么
- 数据库性能调优如何做
- 分布式系统原理:CAP,最终一致性,幂等操作等
- 高并发情况下,我们系统是如何支撑大量的请求的
- 集群如何同步会话状态
- 常用NOSQL,有做过比较?
- 什么情况会出现雪崩,以及如何应对?
- 负载均衡的原理
- 数据库事务属性
- 与同事沟通的时候,如果遇到冲突了如何解决?
- 工作中觉得哪方面欠缺?
- 有问题要问么?
- 期望薪水?
- 为什么要离开现在的公司?
美团四面
美团点评高级Java一面(技术,电话面试,约40分钟)
- 自我介绍。
- 项目介绍。
- 了解过redis源码及redis集群么?
- 分布式下redis如何保证线程安全?
- Hashmap的原理,源码?
- Hashmap增删的情况后端数据结构如何位移?
- hashmap容量为什么是2的幂次?
- object类你知道的方法?
- 你重写过hashcode和equals么,要注意什么?
- jvm内存分区,为什么要有新生代和老年代?
- 有做个JVM内存优化吗?
- 数据库索引 主键和唯一索引有什么区别?
- 聚集索引和非聚集索引的区别?
- MySQL存储引擎innoDB和MyISAM的区别?
- 讲一下稳定的排序算法和不稳定的排序算法?
- 讲一下快速排序的思想?
美团点评高级Java二面(技术,现场面试,约60分钟)
- 几种线程池区别?
- aio,nio,bio的了解,NIO的核心概念有哪些?
- 常用的NIO框架有哪些,优劣势?
- 事务的四大隔离级别?
- jvm场景问题, 标记清除多次后老年代产生内存碎片,引起full gc,接下来可能发生什么问题?
- MySQL innodb的b+树索引,主键索引,聚簇索引有什么区别?
- 数据库四大特性?
- MySQL里有哪些锁,行锁表锁,乐观锁呢?
- MySQL的死锁怎么产生的,举了两个例子。
- dubbo里的zookeeper是做什么的?
- 表锁 行锁 乐观锁 悲观锁的特点和区别?
- 并发工具包有哪些,具体怎么用?
- Docker平时怎么使用的?
- Kafka如何解决数据堆积?
- kafka消息的存储机制?
- 如何用kafka保证消息的有序性?
- kafka如何保证并发情况下消息只被消费一次?
美团点评高级Java三面题目(技术,现场面试,约60分钟)
- 项目介绍。
- 最有技术难度的项目,介绍下相关核心设计流程。
- 分布式下redis如何保证线程安全?
- redis持久化的方式以及区别?
- zookeeper如何实现分布式锁、其他分布式锁怎么实现?
- kafka的架构,如何用kafka保证消息的有序性?
- 数据库的优化包含哪些?MySQL的优化,谈两个你优化的例子。
- redis用的哪个版本?
- 如何搭建redis集群?
- redis如何主从同步?
- redis分布式锁注意事项?
- redis持久化的方式以及区别?
- redis持久化方式及区别?
- my sql数据量多大的时候需要分表?
- my sql常用的存储引擎及区别?
- zookeeper的作用:分布式锁、注册服务中心?
- zookeeper如何实现分布式锁、其他分布式锁怎么实现?
- 分布式事务的解决方案?
- 单点登录怎么实现?
- 秒杀系统怎么来实现?
- 工作中,遇见了技术瓶颈无法解决,你的解决思路?
- 技术选型方面,一个新技术和一个稳定的旧技术,你会如何选择,会考虑哪些因素?
美团点评高级Java四面题目(HR,现场面试,约30分钟)
- 自我介绍下。
- 自己的优点和缺点。
- 为啥想来美团,对美团了解多少?
- 心中的互联网公司排序。
- 工作中遇见暂时无法解决的问题,你是怎么应对的?
- 最近在学什么新技术
- 你是通过什么路径与方法,去学习和接触一门新技术的?
- 未来的职业规划是什么?
拼多多Java研发岗4面试经过及面试题
一面
- 线程池由哪些组件组成,有哪些线程池,分别怎么使用,以及拒绝策略有哪些
- 写一题算法,层次遍历树并输出每层的层级
- 写一道题,二叉树的后序遍历,非递归算法。
- 什么时候多线程会发生死锁,写一个例子
- 说一说jdk1.8中,对hashMap的优化,对concurrentHashMap的优化
- 如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值
- 有1000个数据存在hashmap中,实际的数量是多少,考虑负载因子和扩容
- 常见的RPC有哪些?对应的区别和性能比较?
- 操作系统的用户态和核心态切换条件以及为什么要切换
- 线程间的通信方式,异步队列,消息延迟获取
二面
- MySQL的主从复制怎么做
- MySQL的索引,使用B+树索引的好处
- MySQL性能查看以及如何优化
- Redis是怎么做缓存的
- Redis的持久化操作
- 如何利用redis处理热点数据
- TCP三次握手的过程,如果没有第三次握手有什么问题。
- 分布式锁怎么实现
三面
- cap了解么,分别指什么
- 网络编程nio和netty相关,netty的线程模型,零拷贝实现
- Redis是单线程还是多线程?Redis的分布式集群怎么做?
- 分布式消息队列有哪些(Kafka等)?有使用过哪些?具体应用在什么场景?
- 负载均衡怎么做的呢,为什么这么做,了解过集群雪崩么。
- 谈谈高并发场景下削峰,限流的实现?
四面(HR)
- 为什么跳槽?
- 期望的薪资是多少?
- 如何看待加班问题?
- 平时自己是怎么学习技术的,除了Java相关,还会去了解其他什么技术?
- 未来几年有什么规划?
面试结束复盘查漏补缺
每次面试都是检验自己知识与技术实力的一次机会,面试结束后建议大家及时总结复盘,查漏补缺,然后有针对性地进行学习,既能提高下一场面试的成功概率,还能增加自己的技术知识栈储备,可谓是一举两得。
以下最新总结的阿里P6资深Java必考题范围和答案,包含最全MySQL、Redis、Java并发编程等等面试题和答案,用于参考~
如果你需要这份完整版的面试笔记,只需你多多支持我这篇文章。
多多支持,即可免费获取资料——三连之后(承诺:100%免费)
快速入手通道:(点这里)下载!诚意满满!!!
Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DWGNIdkZtWEFLaFhE
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下~
你的支持,我的动力;祝各位前程似锦,offer不断!!!
Java从入门到架构成长笔记目录
新手村—入门到开发半年(吃透12K+起步)
- Java基础篇: 基础语法+集合+异常+反射+IO+TCP+多线程
- Java web篇: MySQL数据库+JDBC+Servlet
- 三大框架篇: Spring+SpringMVC+MyBatis+商城实战项目
- SpringBoot+SpringCloud分布式开发篇: 微服务入门+实战
- 项目经验篇: 秒杀系统设计+SpringBoot商城实战
Java基础篇
三大框架篇
项目经验篇(秒杀+SpringBoot实战)
打怪升级第一步—开发1到3年
- Java并发编程底层篇: 并发基础+JMM+线程池+阻塞队列+并发集合+并发工具类+锁+atomic
- JVM与性能调优篇: 内存区域+垃圾回收器和内存分配策略+类加载机制+调优
- 网络编程篇: TCP/HTTP+Netty+多路复用
- SQL调优篇: SQL优化原则+锁+索引+调优+事务+执行计划
- Tomcat底层篇: 架构+基础+调优+集群+安全
- 设计模式篇: 六大原则+23种设计模式
- Spring源码篇: IOC+AOP+声明事务源码解读
- MyBatis源码篇: MyBaits源码架构分析+MyBaits核心模块分析+二级缓存
并发编程篇
JVM及调优篇
网络编程篇
MySQL调优篇
设计模式篇
Spring源码篇
MyBatis源码篇
打怪升级第二步:4-5年资深高开
- 分布式思维基础: 大型互联网架构演进过程+架构师应具备的分布式知识+主流分布式架构设计详解
- 分布式监控: Zookeeper+Nginx
- 分布式消息队列: RabbitMQ+RocketMQ+Kafka
- 分布式存储: Redis+MongDB+Mycat
分布式监控
消息队列
分布式存储
打怪升级第三步:5到7年架构进阶
- 微服务架构进阶: Docker+SpringCloud+Spring Cloud Alibaba+K8S
- 亿级流量性能调优实战: 调优基础+基础代码性能优化+设计模式与性能+并发编程性能优化+JVM深度调优+数据库性能调优
- 一线大厂分布式场景实战: 分布式事务解决方案+一线大厂单点登陆方案+分布式任务调度方案+高并发场景下分布锁方案+缓存解决方案
性能调优实战笔记
大厂分布式场景实战笔记