一直有个大厂的心,复工回来,就开始看大厂机会,有幸接到了阿里的面试,非常荣幸,很快就拿到了Offer,一个字就是"爽" 经历了三轮技术面和一轮Hr面,面试官们都非常nice,为了帮助更多人想进阿里巴巴的同学完成梦想,特地整理了面试的问题,给大家一些建议,希望大家也能拿到自己心仪的Offer
阿里一面:
- 介绍一下自己。
- 项目参与的核心设计有哪些
- java反射原理, 注解原理?
- ArrayList和LinkedList的插入和访问的时间复杂度?
- 说说一致性 Hash 原理
- HashMap及线程安全的ConcurrentHashMap,以及各自优劣势
- https和http区别,有没有用过其他安全传输手段?
- SQL优化,常用的索引?
- 请详细描述springmvc处理请求全流程?
- 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
- 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?
- 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?
- Synchronized和Lock哪个更好?
- ArrayList和LinkedList底层
阿里二面:
- 先直接问做过哪些Java开发相关的项目。
- 数据库索引,底层是怎样实现的,为什么要用B树索引?
- Mysql主从同步的实现原理?
- 两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
- 代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。
- 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?
- 描述分布式事务之TCC服务设计?
- Redis 的 list zset 的底层实现
- 分布式 session 的共享方案有哪些,有什么优劣势
- 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?
- 排序算法的复杂度,快速排序非递归实现。
阿里三面:
- jvm性能调优都做了什么
- 分布式系统原理:CAP,最终一致性,幂等操作等
- 高并发情况下,我们系统是如何支撑大量的请求的
- 什么情况会出现雪崩,以及如何应对?
- 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?
- 分布式架构设计哪方面比较熟悉
- 介绍你实践的性能优化案例,以及你的优化思路
- 谈谈分布式锁、以及分布式全局唯一ID的实现比较?
- 谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里
- 最近两年遇到的最大的挫折,从挫折中学到了什么?
阿里四面
- 项目介绍
- 听到说做了限流,限流标准(并发数? qps?并发数和qps关系?说出了5种限流方案和对应算法原理)
- dubbo调用端怎么在jvm中生成对应服务?dubbo服务端和调用端超时时间设置和区别、dubbo长连接。
- mysql行锁最大并发数?(秒杀项目指出)
- 设计秒杀系统,我说的异步的方式,会问怎么优化?改为了同步的方式,异步和同步区别? 然后我也问了阿里那边
- 碰到哪些技术难点?怎么解决?有没有参考其他大厂?其他大厂方案什么样的?有没有关注阿里这边最新的技术?
- 刚刚的秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的消息最终一致性,异步?有没有更好的方案?同步TCC方式,TCC方式原理?(三个阶段的具体实现)
HR面
- 自我介绍
- 如何学习新技术?
- 如何团队合作的?
- 职业规划
由于文章的篇幅有限,所以这次的阿里面试题答案整理在了PDF文档里
整理了一套 2020 最新的 Java 面试题,基本上覆盖了所有的面试知识点,包括的内容如下:
Java基础,容器,多线程,反射,Java web模块,网络,设计模式,SpringMVC,SpringBoot,SpringCloud,Hibernate,Mybatis,中间件(RabbitMQ,Kafaka,Zookeeper),数据库(MySQL,Redis)和JVM等相关内容。
需要获取得话麻烦一键三连之后看下图小助理的微信:(13210158912)添加即可免费获取到哦
如果大家看的还不过瘾,再来份美团架构师总结的面试知识点,看完两份BAT so easy!