Java 开发五年裸辞美团,八个月后跳槽阿里涨薪 20w!,大学 java 课程视频
一年半后开始沪漂生活,又摸爬滚打了一年半,薪资基本上在 16K。疫情在家开始了系统的学习,目的就是为了进大厂,得到更多的学习机会,也是为了自己到所谓的“35 岁”之后,也能在老家恰一口好饭。
努力也没有白费,8 个月时间的系统性学习成功上岸 Alibaba,直接涨薪 14K,下面分享一下我的学习指南,面试真题以及个人心得体会。(晒一下入职 offer)
完整的学习指南以及面试真题可以? 点击此处 获取
阿里面试真题(3 轮技术面 + 1 轮 HR )
=====================
一面(电话面+后期在线 coding)
①你们为什么要使用 mongdoDb?你们的这个系统中涉及到哪些表?
②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到了,使用场景是什么?为什么要使用?
③spirng 源码。
④rocketMq 的设计理念,数据存储,设计思想等。
⑤ConcurrentHashMap 的底层实现原理
⑥你线上问题解决经验是什么?遇到了什么问题?应该怎么去解决?
⑦在线编码: 两个有序链表,合并成一个链表,然后进行算法的时间复杂度,空间复杂度分析。
二面(电话面+后期在线 coding)
①tcp 协议和 uDP 协议的区别是什么?
②3 次握手和 4 次挥手的过程是什么样的?
③怎么保证接口的幂等性?
④mysql 的存储引擎的数据结构是什么?相比其余的数据结构,有什么优缺点?
⑤说一下你对 SprinGCloud,SpringBoot,Spring 的理解
⑥java 在编译和运行过程中分别作了什么?
⑦在线编码: 给定一个字符串,单词之间以空格分隔,要求里面的单词倒装过来。
三面(电话面,技术交叉面)
①介绍一下 sprinGCloud 的组件,各组件的作用,你们是怎么用,你的理解是什么?
②sprinGCloudbus 关联的消息中间有几种?支持哪几种?你觉的什么场景下,会用到 sprinGCLoudBus?
③sprinGCloud 里面的限流,限流是怎么内部实现的?怎么去挡住多余的请求,怎么实现限流的(线程池的工作原理)?
④什么时候该用 mongoDB,什么时候使用 mysql?该如何选择?
⑤你做过的项目数据量有多大呢?如果现在数据量特别大,或者一张表一种放不下了,应该怎么处理?分布分表应该怎么做?具体的某一张表怎么拆?(涉及到主键生成,各种主键生成策略对比,数据分片,以及关联数据的存储,主从复制)
⑥java 官方提供的创建的线程池的方式有几种?分别是什么?
⑦你们使用的 java 版本是什么?java 最新的版本是多少?你们为什么还在使用 java8 呢?
⑧你们的垃圾回收器是什么的? 为什么是使用 CMS 而不是 G1? 你能介绍一下像 CMS 垃圾回收器,从对象创建,内存分配到垃圾回收整个过程吗?
⑨介绍一下策略模式,应该怎么用? 它能解决什么问题?从编码领域系统设计方,介绍一下我们怎么去实现一个策略模式?
Tips:下面这些面试资料都是大厂的面试真题,点击此处 获取
学习指南(按照开发经验对程序员进行分层)
====================
0~1 年(搬砖):
Java 基础(基本语法、面向对象、继承、多态、接口和抽象类、异常、内部类、集合、泛型、反射、I/O 等)
Web 编程(Servlet+MySQL 数据库+商品管理系统实战)
SSM 框架入门到精通(Spring+SpringMVC+Mybatis+SSM 商品管理系统实战)
SpringBoot(SpringBoot+SpringBoot 商品管理系统实战)
1~3 年(技工):
JVM 深度进阶(JVM 内存区域+JVM 运行时内存+垃圾
回收与算法+JAVA 四种引用类型+GC 分代收集算法 VS 分区收集算法+GC 垃圾收集器等)
并发编程深度进阶(并发机制的底层实现原理+内存模型+并发编程基础+锁+并发容器和框架+原子类操作+并发工具类+线程池+实战)
MySQL 深度进阶(Mysq|存储引擎选型及注意事项+解读 Mysq|的共享锁及排它锁+分区+事务隔离级别+索引+Sql 优化)
数据结构与算法(Java 程序员面试必问)
3~5 年(包工头):
分布式消息中间件(Zookpeer+Kafka+MQ+dubbo+SprinGCloud 等)
数据库(主从复制+读写分离+分库分表)
高效存储(Redis+MongoDB)
5 年以上(设计师):
评论