WHCSRL 技术网

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

前言

17年毕业到现在有三年多了,最近去面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,京东,最终收到点我达,网易offer,蚂蚁金服二面挂掉, 菜鸟网络一个月了还在流程中...最终有幸去了京东。(跟我东哥做兄弟)

但是要特别感谢点我达的领导及HR,真的非常非常好,很感谢他们一直的关照和指导。回馈小伙伴一波面经及我的复习宝典 (是真的很全,请往下看)

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

京东面试问到的问题

同时这些问题,我已经整理在了这份大厂Java面试进阶解析宝典里了,需要完整文档的朋友点击这里获取到文章中的文档...

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

  1. JVM底层的有哪几种垃圾回收算法,有什么区别。简述一下你了解的垃圾回收器有哪些,有什么区别。
  2. 简述一下CAS的实现原理
  3. 简单描述一下java中的线程池,线程池是如何保证工作线程不会销毁?如果设置线程池的CorePoolSIze为0,MaxMumSize>1,描述一下内部是如何工作的。你在工作中是如何设置线程池的参数的为什么。
  4. StringBuffer和StringBuilder的区别
  5. 简单描述一下ReentrantLock的实现原理?
  6. New String(“abc”) 在jvm内存区域会创建几个对象
  7. LinkedList和ArrayList有什么区别,你在工作中一般怎么用,为什么。
  8. 说一下你了解的jdk中的并发容器有哪些,你工作中用到哪些?描述一下ArrayBlockingQueue和LinkedBlokingQueue的区别。
  9. 简述一下ConcrrentHashMap插入数据的流程。
  10. 在main方法中启动10个线程,可以有哪些方式实现等待这10个线程完成工作再执行其他的任务。
  11. 有大量数据存储在某数组中,在多线程情况下,如何保证读取的正确性(所有线程并发读取这个数组中的数据,不少读一条也不多读一条)
  12. 说一下你在工作过程中对jvm的调优经验。
  13. Mysql中存在哪些隔离级别,有什么问题,分别怎么解决的。
  14. Mysql中有哪些储存引擎,简述一下你对innodb引擎的理解。
  15. 当一个查询语句的where条件是一个子查询,在高并发的情况下,mysql是如何保证子查询的数据的正确性?这道题有点开放,可以配合不同的隔离级别加上MVCC和readView的知识答题,可以衍生到锁,体现深度。
  16. 描述一下mysql中行锁和表锁,什么情况下会用到行锁?
  17. 描述一下Innodb底层的存储结构,说一下B树和B+树的区别
  18. Select * from table where a=x and b>y 其中a和b是字段,如何建立索引提高这条语句的性能。
  19. 描述一下你哪些情况会导致索引失效
  20. 说一下你在工作过程中对mysql的性能优化?开放题,可以从索引,sql优化,架构优化等入手
  21. Spring中有用到哪些设计模式分别用在什么地方?说一下如何解决循环依赖?
  22. 讲一下你对aop的理解?
  23. Spring中是如何处理事务的(@Transaction),如何保证不同的dml语句对应的操作在同一个事务下。在@Trasaction注解对应的方法中有多步事务性操作(同方法或者不同方法调用),如何只回滚其中的一个或多个操作。
  24. 某个方法加了@Transacton注解和Sychronized类锁,那么执行顺序是先走事务还是Syc?这种方式在多线程情况下能否保证同步?
  25. 描述一下SpringBoot中的自动配置功能的实现。
  26. 你在工作过程中用到哪些springCloud的组件?
  27. 请问你用到了哪些Dubbo的组件,描述一下Dubbo的rpc流程。
  28. 请问你对分布式事务的理解,你在工作过程中用到哪些方案解决了分布式事务问题?如何用mq解决分布式事务问题。
  29. 描述一下你是如何利用redis和zk实现分布式锁的?如果用redis实现分布式锁,当任务实际用时超过键设置的超时时间,你如何解决?
  30. 描述一下zk是如何保证数据的一致性的?
  31. 描述一下rocketMq如何实现事务型消息的?
  32. Redis搭配持久层如mysql,有哪些方式保证他们之间的数据一致性。
  33. Redis如何解决缓存雪崩,击穿,穿透?
  34. 设计一个全局唯一Id的实现方案。
  35. 如果cpu占用率过高,如何定位到是项目中哪一行代码出了问题。 如何提升的

如今技术发展的速度非常快,接下来你该从哪些地方开始自己的一个正确系统的学习方向呢? 给那些开发1到5年的Java朋友们:

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

同时分享大佬的后端学习笔记,非常适合1到5年的Java朋友们

这份笔记把Java后端95%%%%的技术体系都整理记载清楚了,并且通过工作时间年限来划分了学习的技术! 下面会详细展示这份Java从入门到架构成长笔记的内容及涵盖的知识点,有需要完整文档的朋友点击这里获取到文章中的文档...

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

Java从入门到架构成长笔记目录

新手村—入门到开发半年(吃透12K+起步)

  • Java基础篇: 基础语法+集合+异常+反射+IO+TCP+多线程
  • Java web篇: MySQL数据库+JDBC+Servlet
  • 三大框架篇: Spring+SpringMVC+MyBatis+商城实战项目
  • SpringBoot+SpringCloud分布式开发篇: 微服务入门+实战
  • 项目经验篇: 秒杀系统设计+SpringBoot商城实战

Java基础篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

三大框架篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

项目经验篇(秒杀+SpringBoot实战)

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

打怪升级第一步—开发1到3年

  • Java并发编程底层篇: 并发基础+JMM+线程池+阻塞队列+并发集合+并发工具类+锁+atomic
  • JVM与性能调优篇: 内存区域+垃圾回收器和内存分配策略+类加载机制+调优
  • 网络编程篇: TCP/HTTP+Netty+多路复用
  • SQL调优篇: SQL优化原则+锁+索引+调优+事务+执行计划
  • Tomcat底层篇: 架构+基础+调优+集群+安全
  • 设计模式篇: 六大原则+23种设计模式
  • Spring源码篇: IOC+AOP+声明事务源码解读
  • MyBatis源码篇: MyBaits源码架构分析+MyBaits核心模块分析+二级缓存

并发编程篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

JVM及调优篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

网络编程篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

MySQL调优篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

设计模式篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

Spring源码篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

MyBatis源码篇

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

打怪升级第二步:4-5年资深高开

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

  • 分布式思维基础: 大型互联网架构演进过程+架构师应具备的分布式知识+主流分布式架构设计详解
  • 分布式监控: Zookeeper+Nginx
  • 分布式消息队列: RabbitMQ+RocketMQ+Kafka
  • 分布式存储: Redis+MongDB+Mycat

分布式监控

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

消息队列

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

分布式存储

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

打怪升级第三步:5到7年架构进阶

  • 微服务架构进阶: Docker+SpringCloud+Spring Cloud Alibaba+K8S
  • 亿级流量性能调优实战: 调优基础+基础代码性能优化+设计模式与性能+并发编程性能优化+JVM深度调优+数据库性能调优
  • 一线大厂分布式场景实战: 分布式事务解决方案+一线大厂单点登陆方案+分布式任务调度方案+高并发场景下分布锁方案+缓存解决方案

性能调优实战笔记

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

大厂分布式场景实战笔记

3年Java经验硬核通过京东面试(已获Offer),谁说专科不能进大厂?

总结

同样是做Java,有的人工作5年工资没变化,有的人工作2年就已经年薪30W。这个现象或许前几年还不明显, 但随着近几年后端技术疯了一般的快速发展,曾经那个只要会CRUD就能走遍天下的时代早已不在了,人才水平的分化也越来越明显。

竞争永远都是非常残酷的,毕竟成为一个架构师不是那么容易的,一个架构师的成长来自于机会,努力及天分 !在这个后浪奔腾的时代,不管是你是刚工作还是有几年开发了,我相信以上这份Java从入门到架构成长笔记你都需要阅读阅读,希望能够对你的职业发展有所帮助。需要完整文档的朋友点击这里获取到文章中的文档...

推荐阅读