最后
分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。
面试经验技巧篇
- 经验技巧1 如何巧妙地回答面试官的问题
- 经验技巧2 如何回答技术性的问题
- 经验技巧3 如何回答非技术性问题
- 经验技巧4 如何回答快速估算类问题
- 经验技巧5 如何回答算法设计问题
- 经验技巧6 如何回答系统设计题
- 经验技巧7 如何解决求职中的时间冲突问题
- 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
- 经验技巧9 在被企业拒绝后是否可以再申请
- 经验技巧10 如何应对自己不会回答的问题
- 经验技巧11 如何应对面试官的“激将法”语言
- 经验技巧12 如何处理与面试官持不同观点这个问题
- 经验技巧13 什么是职场暗语
面试真题篇
- 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
- 真题详解2 某知名社交平台软件工程师笔试题
- 真题详解3 某知名安全软件服务提供商软件工程师笔试题
- 真题详解4 某知名互联网金融企业软件工程师笔试题
- 真题详解5 某知名搜索引擎提供商软件工程师笔试题
- 真题详解6 某初创公司软件工程师笔试题
- 真题详解7 某知名游戏软件开发公司软件工程师笔试题
- 真题详解8 某知名电子商务公司软件工程师笔试题
- 真题详解9 某顶级生活消费类网站软件工程师笔试题
- 真题详解10 某知名门户网站软件工程师笔试题
- 真题详解11 某知名互联网金融企业软件工程师笔试题
- 真题详解12 国内某知名网络设备提供商软件工程师笔试题
- 真题详解13 国内某顶级手机制造商软件工程师笔试题
- 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
- 真题详解15 某著名社交类上市公司软件工程师笔试题
- 真题详解16 某知名互联网公司软件工程师笔试题
- 真题详解17 某知名网络安全公司校园招聘技术类笔试题
- 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题
资料整理不易,点个关注再走吧
第一轮面试是电话面,以基础知识为主,前后大概 2 个小时左右,这个阶段我是比较紧张的。
-
先自我介绍,包含日常工作
-
多线程,ThreadLocal,问了父子线程怎么共享数据 interitableThreadLocals
-
Lock 和 Sync 的区别
-
AQS 原理(执行过程源码,入队出队的细节,源码细节)
-
CountDownLatch 和 CyclicBarrier 的区别是什么源码级别
-
volatile 从指令重排序,内存屏障
-
数据库,MySQL 索引,执行计划、count1*区别、举例优化 sql、MVCC 和事务隔离级别的关系、间隙锁、行锁
-
JVM 调优(可达性分析算法中根节点有哪些、cms 和 G1 区别、怎样 GC 调优、怎样排查 CPU 彪高、内存彪高、逃逸分析)
-
redis 数据结构、跳跃表、redis qps 能上多少,怎么知道的、sentinel 和 cluster 区别和各自适用场景、redis cluster 集群同步过程、redis 单线程为什么快、多大叫大 key、热 key 产生原因和后果以及怎么解决、本地缓存需要高时效性怎么办?
-
spring 的作用、spring 循环依赖怎么解决(说出三级缓存源码细节)、spring aop 原理(动态代理)、spring bean 生命周期(源码细节,以及各个位置的设计思路,有什么可扩展的)
-
dubbo 服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码
-
项目中碰到的问题。
-
为什么换工作,如果通过会直接说有笔试题,和你确认笔试时间。
第二轮:
第二轮是笔试,总共两道题,第一题是写代码,第二题是写技术方案。
- 主要是以查询为主,考察锁粒度、时间粒度上的细节点。(详细省略)
第三轮:
第三轮是现场面试,这一轮面试以解决方案为主,前后大概约 1 小时 20 分钟。
-
缓存穿透,让我设计一个防止缓存穿透的解决方案,简单的就是存 null 值,但肯定会深究,可以结合布隆过滤器,设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如一致性 hash 算法,怎么调用?比如 dubbo 直连、等等细节会边说边问。
-
有没有做限流,设计一个侵入性最小的限流服务。
-
项目中碰到的问题,最好说框架本身问题,能体现个人能力,也避免问题太低级被面试官看 low,刚好之前有发现一个 dubbo 的 bug,所以这问题应该回答的还可以。
-
为什么换工作,每轮都会问,这个得想好。
第四轮:
交叉面,项目为主,时间大概为 40 分钟,问的内容不多,这个阶段我个人的状态比较放松了,与面试官交谈的方式也自然了许多。
-
介绍最熟悉的项目,业务上有没有什么优化点;和同行业其他公司的差距和优势(估计是 P7 的标准问题,总之我回答得不是太好)
-
Dubbo 服务调用过程
-
NIO、BIO 区别,NIO 解决了什么问题,Netty 线程模型(源码拷问)。
-
MQ 相关
第五轮:
这轮面试真的让我比较为难了,面试官问什么问题都会问到具体的数值,状态又变紧张了,如履薄冰啊。
-
项目介绍
-
听到说做了限流,限流标准(并发数? qps?并发数和 qps 关系?说出了 5 种限流方案和对应算法原理)
-
dubbo 调用端怎么在 jvm 中生成对应服务?dubbo 服务端和调用端超时时间设置和区别、dubbo 长连接。
-
mysql 行锁最大并发数?(秒杀项目指出)
-
设计秒杀系统,我说的异步的方式,会问怎么优化?改为了同步的方式,异步和同步区别? 然后我也问了阿里那边
-
碰到哪些技术难点?怎么解决?有没有参考其他大厂?其他大厂方案什么样的?有没有关注阿里这边最新的技术?
-
刚刚的秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的消息最终一致性,异步?有没有更好的方案?同步 TCC 方式,TCC 方式原理?(三个阶段的具体实现)
第六轮:
总监面,主要是自我介绍和项目介绍,聊天的方式比较舒服,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等,差不多 15 分钟就结束了。
-
说了自己的项目
-
主要用到的架构,做了些什么?
-
比较复杂的业务逻辑讲一下?
-
…
第七轮:
HR 面,阿里的 HR 很不一样,无论是气质还是谈吐都让人佩服,问的问题也很有针对性,最后告诉我会电话反馈结果。
-
自我介绍
-
如何学习新技术?
-
如何团队合作的?
-
遇到很难的问题,如何解决?如何突破?
-
职业规划
-
…
阿里 7 轮面试经历完整版(含答案和解析):
由于文章篇幅有限,完整版的面试题和答案解析就整理在 PDF 文档里,如果你需要完整版的,直接添加我的小助理v:java9610 获取下载方式吧。
友情提醒:下部分涉及到的内容比较多,更多资料整理在文档里,需要的朋友关注我,添加小助手v:java9610 即可免费获取。
面试阿里之前,我流了多少汗?
==============
1.梳理知识
一般的面试,会被问到 JVM 原理、多线程、数据结构和算法、高并发、设计模式等内容,这都是一名普通 Java 开发人员的知识结构,那么阿里 P7 肯定是需要具备更多的知识树,需要掌握更全面的知识体系,所以就需要对知识进行一个系统的梳理了。
对标 P7,我梳理的知识体系如下:
-
筑基必备技能:并发编程,JVM,网络编程与高效 IO,Mysql,Tomcat
-
设计思想与开源框架:SSM(Spring+SpringMVC+MyBatis)
-
性能直线提升架构技术:ZK,Nginx,RabbitMQ,RocketMQ,Kafka,elastic
-
高效存储让项目性能起飞:Redis,MongoDB,MySQL,Mycat
-
分布式扩展到微服务架构:SpringBoot,SpringCloud,SpringCloud Alibaba,Docker,K8S
最后总结我的面试经验
2021年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
BAT面试经验
实战系列:Spring全家桶+Redis等
其他相关的电子书:源码+调优
面试真题:
715794834867)]
其他相关的电子书:源码+调优
[外链图片转存中…(img-quOIqGUn-1715794834867)]
面试真题:
[外链图片转存中…(img-4TrUDkRx-1715794834868)]
[外链图片转存中…(img-885vLA0e-1715794834868)]