春节过后,本是金三银四之际,大部分人也都准备好了这在两个月里谋得一份自己心仪的工作,奈何今年的2020有些特殊,肺炎肆虐,对我们的工作和生活都造成了极大的影响。那么,是不是这样,我们就不工作,不学习了呢?实际上,正是因为现在正值传染病毒传播期间,所以我们宅在家里好好学习是再好不过的。对于Java程序员来说,利用这两三个月的时间,好好学习,着手准备起来,等到疫情好转,开始面试时,也不至于胆怯。
本人也是准备了大半年,最终如愿以偿拿到阿里offer!
个人情况
====
我是一个普通的双非本科生,开发4年多(Java后端),平时学习也比较勤学好问,对待工作也极度认真负责,对自己进入大厂工作还是很有信心的,我的方向是Java,也知道现在Java的竞争比较激烈,大厂比较难进,但我丝毫不胆怯。为此也在半年前就开始筹备了,今年初在一位大佬的内推下加上自己对知识点的复习和努力也如愿以偿的成功拿到阿里的offer!
面试总结
虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面。面试开始会让自我介绍,主要业务架构和技术架构两部分。业务架构一般不会深究,但要面试官听明白,并且一般面试官会顺着问是如何根据这些业务去设计技术架构的。
技术架构部分,会根据自我介绍中提到的技术点问,是为什么使用这些技术,解决了哪些问题,碰到哪些困难,是如何思考和解决的,最后再顺带一些技术本身底层的设计方面的问题:
例如:有redis,会问哪些场景用,解决了什么问题,数据量有多少,用的过程出现过哪些问题,怎么去定位解决的,还有它的hash原理等。诸如此类的问题。总结了面试官最喜欢问的方面有mq,jvm,多线程,锁机制等。
不管哪个技术点,能答到面试官无法在这个问题上问下去了,或者能答到计算机硬件上就过了。 有不清楚的可以直接回答,有一些不会的不影响整个面试。
Java中间件一面
1.技术一面考察范围:
重点问了Java线程锁:synchronized 和ReentrantLock相关的底层实现
线程池的底层实现以及常见的参数
数据结构基本都问了一遍:链表、队列等
Java内存模型:常问的JVM分代模型,以及JDK1.8后的区别,最后还问了JVM相关的调优参数
分布式锁的实现比较
2.技术一面:
1.自我介绍
2.擅长哪方面的技术?
3. Java有哪些锁种类? (乐观锁&悲观锁、可重入锁&Synchronize等)
4.比较重要的数据结构,如链表,队列,栈的基本理解及大致实现
5. J.U.C下的常见类的使用。ThreadPool的深入考察; BlockingQueue的使用
6. Java内存分代模型,GC算法, JVM常见的启动参数; CMS算法的过程。
7. volatile关键字有什么用(包括底层原理)
8.线程池的调优策略
9. spring cloud的服务注册与发现是怎么设计的?
10.分布式系统的全局id如何实现
11.分布式锁的方案,redis和zookeeper哪个个好,如果是集群部署,高并发情况下哪个性能更好。
Java中间件二面
=========
1.技术二面考察范围:
问了项目相关的技术实现细节
数据库相关:索引、索引底层实现、mysql相关的行锁、表锁等
redis相关:架构设计、数据一致性问题
容器:容器的设计原理等
2.技术二面:
1.参与的项目,选一个,技术难度在哪里?
2. Collections.sort底层排序方式
3.负载均衡的原理
4.设计模式与重构,谈谈你对重构的理解
5.谈谈Redis相关的集群有哪些成熟方案?
6.再谈谈-致hash算法(redis)?
7.数据库索引,B +树的特性和建树过程。
8. mysql相关的行锁,表锁;乐观锁,悲观锁
9.谈谈多线程和并发工具的使用
10.讲讲Redis的架构和组件
11. Redis的数据一致性问题(分布式多节点环境&单机环境)
12. docker容器
Java中间件三面
=========
1.技术三面考察范围
主要谈到了高并发的实现方案
以及中间件:redis、rocketmq、kafka等的架构设计思路
最后问了平时怎么提升技术的
2.技术三面题目
1.高并发情况下,系统是如何支撑大量的请求的?
2.接着上面的问题,延伸到了中间件,kafka、 redis、 rocketmq、 mycat等 设计思路和适用场景等
3.最近上过.上哪些技术站点; 最近在看哪些书。
4.工作和生活中遇见最大的挑战,怎么去克服?
5.未来有怎样的打算
Java中间件四面
=========
最后,你懂的,主要就是HR走流程了,主要问了未来的职业规划。
面试准备
半年复习筹备,直达阿里巴巴
=============
了解学习相关知识
这段时间我不断找资料学习,也通过很多渠道和朋友要到一份美团架构师写的Java面试宝典(284篇)我把美团架构师给我的一份Java面试宝典啃完了,从而还找了Java后端以及一些大厂的面试场景和面试题不断刷题提高自己的眼界
小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等
由于pdf文档里的细节内容实在过多所以只编辑了部分知识点的章节粗略的介绍下,每个章节小节点里面都有更细化的内容!以下就是部分章节目录,由于头条的篇幅限制目录上的详细讲解也无法一一列出,文末底下有获取以下章节的所有详细知识讲解。
一,JVM
=========
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**…
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**…
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】