- 16
- 0
- 约3.68万字
- 约 28页
- 2018-04-19 发布于河北
- 举报
java后端面试资料.docx
需要掌握的知识点对于项目明确你的项目到底是做什么的,有哪些功能明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用明确你的模块在整个项目中所处的位置及作用明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术专业技能基本语法:这包括static、final、transient等关键字的作用,foreach循环的原理(语法糖,其实还是使用了Iterator遍历)等等。今天面试我问你static关键字有哪些作用,如果你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,因为能看出你非常热衷研究技术。集合:基本上就是List、Map、Set,问的是各种实现类的底层实现原理,实现类的优缺点。集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理,能流利作答,当然能掌握CopyOnWrite容器和Queue是再好不过的了。另外多说一句,ConcurrentHashMap的问题在面试中问得特别多,大概是因为这个类可以衍生出非常多的问题,关于ConcurrentHashMap,我给网友朋友们提供三点回答或者是研究方向:(1)ConcurrentHashMap的锁分段技术(2)ConcurrentHashMap的读是否要加锁,为什么(get操作不需要锁。第一步是访问count变量,这是一个volatile变量,由于所有的修改操作在进行结构修改时都会在最后一步写count变量,通过这种机制保证get操作能够得到几乎最新的结构更新。对于非结构更新,也就是结点值的改变,由于HashEntry的value变量是volatile的,也能保证读取到最新的值。)(3)ConcurrentHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器(弱一致性)。设计模式:面试中关于设计模式的问答主要是三个方向:(1)你的项目中用到了哪些设计模式,如何使用(2)知道常用设计模式的优缺点(3)能画出常用设计模式的UML图多线程:线程池也是比较常问的一块,常用的线程池有几种?这几种线程池之间有什么区别和联系?线程池的实现原理是怎么样的?实际一些的,会给你一些具体的场景,让你回答这种场景该使用什么样的线程池比较合。多线程同步、锁这块也是重点。synchronized和ReentrantLock的区别、synchronized锁普通方法和锁静态方法、死锁的原理及排查方法等等。JDK源码:比较重要的源码:(1)List、Map、Set实现类的源代码(2)ReentrantLock、AQS的源代码(3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的(4)线程池的实现原理(5)Object类中的方法以及每个方法的作用框架:一些基本的应用。数据库:一些基本的像union和union all的区别、left join、几种索引及其区别就不谈了,比较重要的就是数据库性能的优化。数据结构与算法:数组、链表是基础,栈和队列深入一些但也不难,树挺重要的,比较重要的树AVL树、红黑树,可以不了解它们的具体实现,但是要知道什么是二叉查找树、什么是平衡树,AVL树和红黑树的区别。Java虚拟机:Java虚拟机中比较重要的内容:(1)Java虚拟机的内存布局(2)GC算法及几种垃圾收集器(3)类加载机制,也就是双亲委派模型(4)Java内存模型(5)happens-before规则(6)volatile关键字使用规则Web方面的一些问题:谈谈分布式Session的几种实现方式;讲一下Session和Cookie的区别和联系以及Session的实现原理。web.xml里面的内容是重点,Filter、Servlet、Listener,不说对它们的实现原理一清二楚吧,至少能对它们的使用知根知底。另外,一些细节的方面比如get/post的区别、forward/重定向的区别、HTTPS的实现原理也都可能会被考察到。Java基础如何实现在main()方法执行之前输出东西?使用静态代码块。静态代码块在类加载时就会调用。Java程序初始化的顺序?父类静态变量--父类静态代码块--子类静态变量--子类静态代码块--父类非静态变量--父类非静态代码--父类构造函数--子类非静态变量--子类非静态代码--子类构造函数。普通方法可以与构造函数方法名一样为什么Java中有些接口没有任何方法?这些叫做标识接口,仅仅充当标识的作用,类似于汽车的标签。比如cloneable接口以及serializable
原创力文档

文档评论(0)