时间:2020/4/25
前言:基础、框架、网络、JDBC编程、XML编程、计算机基础、数据结构与算法、设计模式、
一、基础
1Java基础
Java和PHP的区别
Java如何支持正则表达式操作、正则表达式及其用途
Java与JavaScript的比较
&和&&的区别
String和stringBuffer的区别、stringBuffer与stringBuilder的区别
基本的数据类型
JDK和JRE的区别、JVM概念与作用
反射的实现过程和作用
2面向对象
构造函数、方法覆盖于方法重载、重载和重写的区别
面向对象的特征:抽象、继承、封装、多态
接口和抽象类的区别、类和对象的区别
Static关键字的意思、private
3线程
线程的基本状态以及状态之间的关系
线程池的概念以及优势、有几种、如何实现
同步和异步
线程同步和线程调度
创建线程的方式:
生产者消费者模式
4锁:Java如何确保多个线程访问多个资源,同时不导致死锁;死锁的概念
5垃圾收集GC:GC概念、原因、算法;内存泄漏
6IO:Java有几种类型的流、异常、日志
二、框架
1spring
自动分配方式
Bean的作用域、生命周期
IOC和DI、DI如何实现;IOC和AOP概念、事务管理
beanFactory和ApplicationContext的区别
2mybatis
锁机制的作用、悲观锁和乐观锁机制
3springMVC
工作原理、运行机制、优点
springMVC与springboot的区别
三、网络
JSP的内置对象和其作用
JSP与servlet的相同点与不同点
Web.xml文件的配置内容
监听器listener(application、session、request)、过滤器filter
DAO模式
转发和重定向的区别、get与post的区别、cookie与session
XML概念
四、JDBC
1SQL基础
2JDBC基础
基础映射、数据库优化方法、三种范式;数据库乐观锁和悲观锁;数据库的隔离级别
五、计算机基础
1计算机网络
TCP的4次握手
TCP为什么建立连接、为什么可靠、连接和释放的过程(三次握手、四次挥手)
DNS的寻址过程、负载均衡和反向代理模式的优缺点
2操作系统
线程和进程的概念与区别
Socket编程的三种通信模型:BIO、NIO、AIO
内存碎片的处理、页式存储;如何提高并发性、死锁的产生和解决
六、数据结构与算法
1二叉树、哈希表
Java中hashmap
treeMap和treeSet在排序时如何比较元素
如何打印二叉树每层的节点,深度,层序遍历
二叉树任意两个节点之间路径的最大长度
B+树和B-树;二叉树Z字型遍历
2链表、数组、堆和栈、队
3算法:LRU算法、压缩URL
七、设计模式
Java中的23种设计模式:大体分为三类