阿里巴巴面经、面试流程、面试题
从去年年中一直到今年年初,我面阿里总共面了5-6次,经历了三次完整的4轮技术面 + 1轮HR面,目前将面试过程和常见题目记录一下,供参考。
面试流程
面试轮次
阿里社招一般都是P6级别以上,技术面4轮以上 + 1轮HR面。
阿里校招一般都是P4、P5级别,技术面3轮 + 1轮HR面。
面试侧重点
以社招P6为例,来看看每轮考察的侧重点。
一面
一面面试官一般是你组内师兄或组长,主要考察Java基础、中间件原理以及项目经历;面试时长30-60分钟。
Java基础和中间件考察范围会在文末附上。
项目经历这块,选择一个具有代表性的讲解即可,这里指的代表性,建议选择和应聘岗位相关度稍高,难度稍大的项目,保证讲解时长处于10-15分钟左右为宜。若项目讲解时长较短,其他考察点(Java基础和中间件原理等)会涉及的非常深入,加大面试难度。
二面
二面面试官一般是团队负责招聘的技术或其他组组长,有时甚至就是一面面试官,主要考察算法,算法这块的背考就刷LeetCode或牛客网即可,保证刷完300题较为保险,至少要刷完100道。
LeetCode:https://leetcode-cn.com/problemset/all/ (中文版)
牛客网:https://www.nowcoder.com/ta/coding-interviews?page=1 (剑指offer)
算法这块的考察一般是面试官发送面试链接,面试者进入链接然后写代码即可,一般题量在1-3道,面试时长30-60分钟。偶尔需要开视频哦。
笔试代码一般不强制要求100%可运行,但是尽可能保证自己的代码可顺利运行,包括main方法的测试用例。这里切记,不会写的地方,宁可写思路,也不要写存在重大bug的代码。
三面
三面面试官一般为你所在部门的主管,侧重考查项目难点、中间件底层实现以及场景题。从三面开始,考题就比较宽泛了,一般45分钟左右。
这里一定要准备好项目中遇到的难点问题,如果准备的不好,面试官会diss你,甚至面试评价中会写上几笔,影响你最终的录取。
有的同学可能会问,我们参与的很多项目都是偏业务,基本没什么难点。如果业务量比较大,如QPS达到万级别及以上,你可以往高可用等保障策略上讲解。如果业务量确实较小,可以往复杂的功能实现上讲解,这里可"发挥"的空间就比较大了,实在目前没有复杂的功能,可以往后期可以优化或即将要做的功能上讲解。
四面
四面面试官一般是你部门主管的上级或其他部门的主管,侧重中间件底层、场景题以及个人发展规划等,开放性较大,一般30分钟左右。
比较有意思的是,某一次四面面试官问,你最近在看什么书,最想推荐给我的是哪一本,为什么?这里就需要各位平时在日常开发之余,还是需要不断充电啊。
HR面
HR一般是你所在部门的HRG,考察一般侧重你个人发展,常见问题:
- 最近几次离职的原因;
- 当前的职级、薪资情况以及期望薪资;
- 你认为在当前公司中遇到的最大的挑战是什么;
- 你在当前公司得到了哪些提升;
- 你对未来的职业规划是怎样的;
- 你认为你和其他求职者相比有哪些优点;
- 项目讲解(这里不要偏向技术,偏业务的讲解就行,偶尔会diss你,要抗住);
- 你到公司最大的期望是什么;
经过四轮技术 + 一轮HR大概率稳了,但是偶尔可能会有一些小插曲,比如HC被锁、大老板针对你的面试评价保持怀疑态度等都有可能导致你的offer审批不下来。
HR面之后一周左右HR会通知你的offer方案,这个时候你经过前面的面试,对你的岗位工作也有了一定的了解,然后可以参考自己的offer方案再决定是否接下offer。
当你接下口头offer后,后续会安排体检(一周)和背调(一周),完成之后会发放书面offer,这个时候就妥了,等着入职吧。
面试宝典
Java基础、中间件基础
以下是面试期间整理的面试题目录,具体内容就不贴了,建议大家自己动手整理,加深印象。
- 为什么重写equals()方法就必须重写hashCode()方法?
- Object有哪些方法?
- 接口和抽象类的区别,什么情况下用接口或抽象类?
- 为什么String设计成不可变?String 和 StringBuilder、StringBuffer 的区别?
- String s = new String(“abc”) 和 String s = “abc” 的区别?
- Arraylist、HashMap的初始容量、加载因子、扩容增量?
- 有序的Map有哪些?为什么TreeMap是有序的?哪些集合是线程安全的?
- HashMap的底层数据结构,是如何插入的?哈希冲突解决方案?为什么是非线程安全的?
- HashMap为什么初始容量总是2的n次方?
- ConcurrentHashMap 和 Hashtable 的区别?
- synchronized的使用方式、底层实现以及JDK1.6的优化?
- 谈谈 synchronized和ReentrantLock 的区别?
- Java内存模型及volatile实现原理?
- volatile和synchronized的区别,volatile一定能替代synchronized吗?
- CountDownLatch、CyclicBarrier、Semaphore、LockSupport和Exchanger?
- ThreadLocal实现原理强引用、软引用、弱引用、虚引用?
- JDK提供的并发容器CopyOnWrite、ArrayListBlockingQueue(阻塞队列FIFO)ConcurrentLinkedQueue(非阻塞队列)等实现方式?
- CAS
- ReentrantLock的实现?
- 多线程的实现方式,start()是立刻启动吗?
- ThreadPoolExecutor的重要参数?执行顺序?如何设置参数?
- 什么是死锁,死锁的四个必要条件?
- Java内存区域?
- 对象的访问定位有哪两种方式?
- 如何判断对象是否死亡?(两种方法)
- 垃圾收集算法?常见的垃圾回收器?
- JVM参数?JVM调优?Full GC的触发条件?
- 一个线程OOM后,其他线程还能正常运行吗?
- 类加载过程?类加载器?Java字节码文件结构?
- BIO(Blocking I/O)、伪异步IO、NIO(New I/O)、AIO?
- 数据库查询缓慢是什么原因,如何优化?
- 索引实现?
- 大表优化?
- 如何实现MySQL的读写分离?
- 数据库的乐观锁和悲观锁?
- MySQL的锁机制?
- 数据库事务的特性(ACID)和隔离级别?
- MVCC实现可重复读?
- RC隔离级别下,读A行数据,updateA 行数据,读B行数据,updateB行数据,再updateA行数据,请问加了几次锁?对A加锁是在什么时候加了几次锁?
- MySQL的事务实现?何时加行锁?
- Redis数据结构及各结构的内部实现?
- Redis为什么快?
- Redis通信协议?
- Redis事务?
- Redis 的过期策略以及内存淘汰机制?
- Redis持久化方式?
- Redis主从复制机制redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?
- Redis 和 DB 一致性?缓存穿透?缓存击穿?缓存雪崩?缓存清洗?并发竞争Key?
- Spring的优点,用到了哪些设计模式,IOC和AOP的理解?
- Bean的生命周期?
- 解释Spring支持的几种bean的作用域?
- BeanFactory、FactoryBean的区别?
- Spring如何处理单例Bean的循环依赖?
- SpringMVC、Mybatis 执行过程?
- Spring事务?
- SpringBoot最大的优势(三连问)?
- Spring Cloud Eureka 服务发现?
- Ribbon负载均衡?
- 为什么使用Dubbo?
- Dubbo服务注册原理?
- Dubbo提供的负载均衡策略?
- 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?
- RabbitMQ Exchange 类型?
- 如何保证消息顺序性?
- 为什么使用消息队列?消息队列的缺点?常见的消息队列组件比较?
- MQ如何保证高可用?
- MQ如何处理重复消费?
- RabbitMQ消息堆积?
- MQ如何保证可靠传输?
- ES的分布式架构原理?
- ES写入数据的工作原理是什么啊?
- 底层的 lucene 介绍一下呗?倒排索引了解吗?
- ES在数据量很大的情况下(数十亿级别)如何提高查询效率?
- ES 生产集群的部署架构是什么?
- 分布式事务?
- 使用哪些组件或者方法可以提升网站性能、可用性以及并发量?
- 设计高可用(系统7×24小时不间断服务)系统的常用手段?
- 如何设计高并发系统?
- CAP和BASE理论?
- 分布式 ID 生成器?
- 基于 Redis 的分布式锁?
- Redis分布式锁过期了但业务没执行完?
- 内存溢出排查方法?CPU高负载排查方法?
- 如何保障双11狂欢下的99.99%高可用?
- 秒杀系统设计?
以上目录能覆盖一大部分考题,更加深入的底层原理、场景题等需要平时工作的沉淀思考以及框架源码的阅读总结。
建议平时工作之余,坚持阅读优秀的框架源码,这对面试答题以及日后编码具有极大的效应。以下列出部分推荐的源码:
- Java基础:集合、JUC
- DB:Redis、MongoDB、MySQL(任选其一,推荐Redis,相对简单)
- ORM:Mybatis、Spring Data Jpa、Hibernate (任选其一,选平时工作中使用频率来选即可)
- MQ:RabbitMQ、Kafka、RocketMQ、ActiveMQ(任选其一,选平时工作中使用频率来选即可,但还是推荐Kafka)
- J2EE:Spring、Spring Boot
- Web框架:Spring MVC、Spring Security、Spring Webflux(一般了解mvc即可,其他看兴趣)
- 注册中心:Eureka、Zookeeper(任选其一,推荐Eureka)
- 分布式事务:TCC Transaction、Seata、Fesar(任选其一,主要了解实现思路)
- 其他:Zuul、Hystrix、Redisson、Netty、Dubbo、Ribbon、ES、HBase
常考的已加粗,重点阅读总结。
具体的阿里内推机会可关注公众号进行了解和交流。
阿里巴巴面经、面试流程、面试题相关推荐
- 美团java面试_2020年美团Java一面,美团面经面试流程面试题整理
很多的从事Java的人都想要去美团工作,那么下面就给大家整理了一些小伙伴2020年美团Java一面的面试流程和具体面试问题及答案,下面一起来看看具体内容吧. 具体面试时间: 3.26笔试 3.30面试 ...
- 从0到25万人,阿里巴巴是如何面试的?(附模板)
1.面试的痛点 企业在面试这个环节通常会遇到三个问题. 第一个问题是:不准.招聘进来的人和实际要的人能力模型不一致. 出现这个问题的原因一般是,人才画像不清晰,招聘者不知道自己要招聘什么样的人. 第二 ...
- 如何拿到阿里offer的?面试流程及面试题
一个偶然的开始 交待一下(非广告),第一次用拉勾,感觉做的挺好,以前一直用51job. 从7月分开始,打算找工作,一个偶然的机会,拉勾上一个蚂蚁金服的同学找到我,说要内推,在此感谢姚同学! 然后就开始 ...
- 面试流程及常见面试题
基础篇 参考这里的面试题:面试题写在后面了 能回答上百分之七十,基础的广度就算 OK 了.如果达不到,那么缺 什么就赶紧补什么.广度达到了,还需要对个别热点问题有深度.每 个人的精力都有限,可以适当挑 ...
- BAT Android工程师面试流程解析+还原最真实最完整的一线公司面试题
尊重原创,转载请写明原文出处:http://blog.csdn.net/sk719887916/article/details/47040931 (skay) 求职和我们每个人息息相关,而求职也有门道 ...
- DD-∞-大数据面试流程及面试题
DD-∞-大数据面试流程及面试题 Hive的四种排序 Hive的分区分桶 贷款的五级分类,正常.关注.次级.可疑.损失. 取3分钟内发生过多次教交易的客户,进行预警提示 hr问:工作地点要求,目前工作 ...
- 阿里巴巴python招聘_作为应届生,我在阿里巴巴的成功面试经历!
我找工作时是2019年. 那一年,BAT大量缩招,就业形势严峻,互联网寒冬消息蔓延. 最终我经过激烈角逐拼下了几个大厂offer,回顾往事,觉得分享出来,也许对你能有所借鉴. 1.简历 这一年的7月初 ...
- 前辈们的面试经验总结——对于BAT等企业如何面试之面试流程及问题解析、以及面试时的基本礼仪及着装
大纲 1.面试流程及问题解释 (一)简历:(二)笔试:(三)电话面试:(四)面试:(五)签约: 2.面试时的基本礼仪着装 1.面试流程及问题解释 无论是程序员还是其他职业的面试,虽然都是提交简历.电话 ...
- 看,2015年阿里巴巴视觉设计师的校招面试题
前段时间看到阿里的校招,我果断投了一份简历,今天就去在线面试一下,特地把题目复制出来供大伙参考参考哈 阿里巴巴视觉设计师的校招面试题有点坑爹啊,虽然只有4道题,但是每题都很坑爹,考试时间是120分钟, ...
- BAT无线工程师面试流程详细解析
原文出处:http://www.jianshu.com/users/3bbb1ddf4fd5 简书Tamic ,http://www.jianshu.com/p/f0d2ed1254a9 求职和我们每 ...
最新文章
- linux下c语言写文件,Linux下C语言之文件操作
- mockcpp的so加载失败问题
- window上安装elasticserach
- MYSQL为用户指定权限有哪些
- batch size 越大,学习率也要越大
- 关于C++默认拷贝构造函数产生的问题的讨论
- TC字符界面-菜单程序【原创】
- 用同一uuid作为两个字段的值_这两个小技巧,让SQL语句不仅躲了坑,还提升了 1000 倍...
- mysql视图表修复_mysql中含有视图数据库在恢复数据时视图变成数据表的解决方法...
- 获取指定时间的当天时间范围工具类
- Linux内核深入理解中断和异常(8):串口驱动程序
- date类型_Chapter 01. 常见数据类型概述 Overview of Common Data Types
- Caffe网络结构实现
- Nacos服务注册发现
- [数据挖掘笔记01] 关联规则Apriori算法
- 机器学习系列5---偏差和方差分解
- matlab 中 矩阵取平方,matlab中怎样计算一个矩阵中每个数的平方
- 网络爬虫js逆向解决网站登录RSA加密问题,不使用selenium如何实现登录,session维持登录状态请求爬取
- 苦禅箜mm让我帮她做的作业
- [前端面试经]百度和好未来的面试官把我榨干了