前言
爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。
每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。
以下展示的阿里面试题(含答案)、学习包、实战文档等,均可以分享给大家!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UjswwQUK-1618041528852)(//upload-images.jianshu.io/upload_images/20355010-72148a6757ccbf3f.jpg?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]
支付宝一面
- 介绍一下自己。
- 项目参与的核心设计有哪些
- 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相关,还会去了解其他什么技术?
- 未来几年有什么规划?
总结
面试难免让人焦虑不安。经历过的人都懂的。但是如果你提前预测面试官要问你的问题并想出得体的回答方式,就会容易很多。
此外,都说“面试造火箭,工作拧螺丝”,那对于准备面试的朋友,你只需懂一个字:刷!
给我刷刷刷刷,使劲儿刷刷刷刷刷!今天既是来谈面试的,那就必须得来整点面试真题,这不花了我整28天,做了份“Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法等”
且除了单纯的刷题,也得需准备一本【JAVA进阶核心知识手册】:JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring 原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负载均衡、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算,用来查漏补缺最好不过。
JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring 原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负载均衡、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算,用来查漏补缺最好不过。