目录
1.自我介绍,项目介绍
2、职业规划、离职原因、薪资期望等这种常规问题
Java:
1、Java的高级特性
2、JDK1.7,1.8,1.9的新特性?
3、访问修饰符public,private,protected,以及不写(默认)时的区别?
4、String 是最基本的数据类型吗?
5、int和Integer有什么区别?
6、介绍一下HashMap
7、介绍一下ConcurrentHashMap,其中的get操作有锁吗?
8、List和Vector有什么区别?
9、HashMap和HashTable的异同?
10、数组和链表区别
11、抽象和接口的区别,应用到什么场景?
12、集合
13、java多线程,如何创建线程
14、线程池,什么是线程池,好处,怎么创建
15、如果有两个线程要同时访问i++,你会怎么处理?
16、你将如何得到thread dump?你将如何分析Thread dump?
18、JVM
19、java类加载机制(双亲委派机制)
1、spring的AOP,IOC的介绍及实现的原理
2、springMVC的工作原理图
3、为什么用SpringBoot,和Spring的区别&好处,看过Spring的源码吗
4、spring框架底层原理是怎么实现的?spring用到哪些特性?
5、Springmvc的核心原理
网络:
1、从一个url请求,怎么去找到最后执行的controller,描述这个技术实现过程或者实现的机制?
数据库:
1、事务的acid
2、隔离机制
3、mysql语句
4、MySQL都有什么索引,建索引原则
5、MySQL引擎和技术选型
6、大表查询的优化处理或大数据表的查询优化方案;
7、复合索引的优点和注意事项等等;8、MySQL 索引有哪些,索引失效情况,三范式
9、为啥要用Redis?Redis从来存储什么了
10、项目QPS大概能有多少?用了Redis之后响应速度快了多少?
1.自我介绍,项目介绍
【聊了最近的项目,整体架构,高并发的处理等】
【问项目经历,问框架和难点】
2、职业规划、离职原因、薪资期望等这种常规问题
Java:
1、Java的高级特性
2、JDK1.7,1.8,1.9的新特性?
3、访问修饰符public,private,protected,以及不写(默认)时的区别?
答:类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。Java中,外部类的修饰符只能是public或默认,类的成员(包括内部类)的修饰符可以是以上四种。
4、String 是最基本的数据类型吗?
答:不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type)和枚举类型(enumeration type),剩下的都是引用类型(reference type)。
5、int和Integer有什么区别?
答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
6、介绍一下HashMap
7、介绍一下ConcurrentHashMap,其中的get操作有锁吗?
8、List和Vector有什么区别?
9、HashMap和HashTable的异同?
10、数组和链表区别
11、抽象和接口的区别,应用到什么场景?
12、集合
13、java多线程,如何创建线程
14、线程池,什么是线程池,好处,怎么创建
15、如果有两个线程要同时访问i++,你会怎么处理?
16、你将如何得到thread dump?你将如何分析Thread dump?
18、JVM
19、java类加载机制(双亲委派机制)
框架:
1、spring的AOP,IOC的介绍及实现的原理
2、springMVC的工作原理图
(1)客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配 DispatcherServlet的请求映射路径(在web.xml中指定), web容器将请求转交给DispatcherServlet;
(2)DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请 求参数Cookie等) 以及HandlerMapping的配置找到处理请求的处理器(Handler);
(3)DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将 具体的处理进行封装), 再由具体的HandlerAdapter对Handler进行具体的调用。
(4)Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet;
(5)Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过 ViewResolver将逻辑视图转化为真正的视图View;
(6)Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端;