Java开发属于后台开发方向,有人说后台开发很坑,因为需要学习的东西太多了。没错,这个岗位就是需要学习好多东西。包括:基础、数据库、网络协议、Linux系统、计算机原理甚至前端相关知识都可以考察你!
在此分享2份学习整理的Java后端技术复习面经PDF大纲,适合开发1到5年以上的朋友参考学习,内容包括(基础、数据库、网络协议、Linux系统、JVM、并发、分布式、Spring、设计模式、微服务等)
pdf有300页,在这就以大致内容和目录截图展示给大家,这些都整理成了pdf文档免费分享给大家,还有更多Java架构面试题及架构学习笔记以及视频资料都是免费分享给大家,有需要的朋友直达文末有获取方式!
在开始工作至今,学习各种各样的技术之中也有很多人发现自己的很多Java的基础知识都忘了 而且越是学习越是发现Java基础的重要性,所以对于那些基础不好的可以边学边自己记载。在重新学习的时候,对这些也会有不同的感悟,将这些都记载下来,并整理成自己的笔记,对你后面你的学习也会有很大的帮助的!
1.基础篇:
2.集合篇:
3.多线程与并发
6.java虚拟机(JVM)
7.设计模式
二、数据结构与算法复习总结
需要掌握的知识点:
数组、链表、二叉树、队列、栈的各种操作(性能,场景)
二分查找和各种变种的二分查找(循环有序数组找最大值最小值找n,有序数组找最左下标,最右下标)
各类排序算法以及复杂度分析(快排、归并、堆、冒泡、直接选择、插入排序)
各类算法题(手写)
理解并可以分析时间和空间复杂度。
动态规划(笔试回回有。。)、贪心。
红黑树、AVL树、Hash树、Tire树、B树、B+ 树(除了红黑树,其它要会插入删除查找,红黑树如果会更好,也算一个亮点)。
图算法(克鲁斯卡尔算法、普林母算法、迪克拉斯算法)
树的前序后序中序遍历的递归非递归实现,层次遍历,深度优先遍历,广度优先遍历递归与非递归实现
你可能会用SSM开发项目,觉得编程无非就这些东西。设计模式烂记于心,IOC、AOP手到擒来。这里集中了大部分同行,有些可能到此为止就Ok了,因为有些同学接下来的重点是项目管理,而不是技术。
SSM最擅长的是Web开发。目前的表现形式逐渐多样化,随着前后端分离的盛行,Restful这种有着明确语义的模式逐渐流行。
缓存可以说是计算机系统中应用最广泛的技术了。对于分布式缓存来说,最常用的就是Redis了。由于其数据结构丰富,被应用的场景越来越多。
基本的5种数据类型都知道,但你要说出其他几种,给人的印象就不一样了。Redis有主从和Cluster两种集群模式,高可用配置也不相同。
Redis几乎能适应除搜索外的所有互联网业务,对于其使用来说,一些规范限制是非常有必要的。一般速度越快的系统,越容易被长尾操作给拖死。所以,对于info命令的内容,也应有了解。
有三个点要尤其注意:分布式锁、限流,以及和源数据的同步问题。
MQ是分布式系统中非常重要的组件,目前使用最广泛的就是Kafka。除了用在大数据场景中,Kafka也能够在业务系统中使用。
Kafka的速度非常快,根据ACK的级别配置,可靠性会增加,但速度会减缓。对于消息系统来说,监控报警是非常重要的一环,能够提前预知系统的问题。Kafka的集群自身就是高可用的,依赖Zookeeper组件,了解一些基本概念,包括ISR,能够更加详细的了解这个过程。
目前最火的微服务架构就是SpringCloud。这对熟悉SSM开发的同学来说, 是非常容易上手的。微服务有注册中心、RPC、负载均衡、熔断限流、网关等关键组件,有些组件有很多不同的替代品。
当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,在这也是免费分享给那些有需要的朋友,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!
更多Java架构进阶资料展示
由于篇幅限制,就不一一展示了,有需要文中以上分享的全部资料完整版的小伙伴们注意啦:一键三连(点赞+收藏+关注)