1. 具备扎实的Java基础,深入理解OOP编程思想,具有良好的编码习惯
JavaSE:
1 JDK/JRE/JVM 三者之间的联系与区别?
2 JVM
1 什么是类的加载?:
2 类加载的过程?
3 类加载器有什么?
4 类加载的三种方式?
5 双亲委派原则是什么?
6 JVM的内存划分?
7 GC回收过程与算法?
8做项目印象深刻问题?
3 基础
8种基本数据类型?
JDK1.8新特性?
创建对象的4种方式?
4几组比较
1成员变量与局部变量的区别?
2 StringBuilder、String、StringBuffer之间的联系与区别
3 重载重写的区别?
4 ==与equals区别?
5 throws与throw的比较?
6 equals与hashcode的区别?
7 接口与抽象类的区别?
8 短路与&&和逻辑与&与区别?
9 this与super区别?
10 Java 和 C++的区别?
11 int 与Integet的区别
12 final ,finally,finalize的区别?
5 集合
1集合框架的优点?
2 给我介绍一下集合吧?
3 ArrarList是如何实现线程安全的?
4 ArrarList是如何实现扩容的?
5 ArrayList的底层是如何实现?
6 ArrayList的三种遍历方式?
7 你可以说一下ArraryList和数组是如何进行转换的?
8 关于ArrayList和Vector区别?
9 Comparable 和Comparator 的区别?
10 hasMap是如何进行put的?
11 HashMap 的遍历方式?
12 HashMap与Hashtable的区别?
13红黑树的原理?
14 HashMap是如何实现线程安全的?
6 数组的优化?
7算法
1 冒泡排序?
2 选择排序?
3 二分法(折半法)查找?
8线程
1创建线程的5种方式?
继承Thread与实现runnable接口的区别?
2说一下线程生命周期(状态)?
3 什么时候会进入阻塞状态?
4 Thread 类中的 start() 和 run() 方法有什么区别?
5线程的睡眠和等待的区别(sleep 与 wait)?
6 线程唤醒(notify 与 notifyAll)的区别?
7 线程让步、中断、等待终止。
8 线程安全之锁机制
9说一下synchronized 和 Lock 的比较?
Lock 的几个实现类?
10 为什么要用线程池?
11说一下什么是线程?
12 说一下线程与进程的区别?
13线程是如何加锁的?(保证线程同步的方法有什么?)
14什么是死锁?
15死锁产生的4个必要条件?
9 JavaWeb
1 TCP与UDP协议的区别:
2在浏览器输入URL到显示主页的过程?
3 TCP的三次握手与四次挥手
4介绍一下什么是servlet?
5 转发与重定向的区别?
6 jsp与servle的区别?
7 JSP的九大内置对象:
8 JSP的四大作用域
9说一下Cookie 与session区别?
10 JavaWeb的三大组件?
11 HTTP响应状态码分类?
TCP粘包、拆包发生原因?
TCP粘包、拆包解决办法?
OOP:
1介绍一下面向对象编程特性?
2 面向对象和面向过程的区别?
良好的编码习惯
设计模式介绍
单例模式
简单工厂模式
代理模式(Proxy)
命令模式(Command)
策略模式(Strategy)
适配器模式
2. 熟悉Spring、SpringMvc、Mybatis等主流框架,有基于SSM开发项目的经验
Spring
1谈谈你对 Spring 的理解?
2 Spring的四大特征?
Spring中的容器是什么?
Sping是如何加载Bean配置文件(2种)?
bean的生命周期?
bean的作用范围?
Spring框架中的单例bean是线程安全的吗?
Spring如何处理线程并发问题?+
什么是bean后处理器?
bean常用属性?
IOC的概念?
IOC和DI的关系?
依赖注入四种方式?
Spring IOC 过程原理?
常用注解的区别?
@RequestMapping有那几种类型进行简写的?
IOC的实现方式是什么?
@Autowired 如何区别实现同一个接口的两个对象?
AOP的概念?
AOP两种代理方式以及区别?
AOP中Spring通知有哪些类型?(通知 Advice)
AOP实现方式?
AOP应用场景?
你用AOP做过/实现过什么功能?
Spring的事务管理ACID特性?
五个事务隔离级别?
七个事务传播行为?
不同的隔离级别有不同的数据一致性问题?
Spring 中体现的设计模式?
SpringMVC
说一下你对MVC的理解?
SpringMVC 的实现原理?
SpringMVC有那些组件?
SpringMVC拦截器的实现?
MyBatis
MyBatis是什么?
MyBatis缓存机制?
执行流程运行原理?
Mapper动态代理遵循的规则?
$和#区别?
动态sql?
如何进行批量插入?
ORM和半ORM的区别?
Mybatis 使用到的设计模式?
1:n和n:1在xml中如何映射?
MyBatis 与 与 Hibernate 有哪些不同?
Mybaits 的优点与缺点?
当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
SpringBoot
1.1.1.版本?1.X和2.X的区别?
1.1.2.配置文件的三种格式?
1.1.3.Spring Boot自动配置原理
1.1.4.bootstrap和application配置文件区别?
1.1.5.实现热部署有哪几种方式?
1.1.6.如何使用 Spring Boot 实现分页和排序?
1.1.7.springBoot如何整合数据源?
1.1.8.整合Dubbo呢?
1.1.9.如何做到的约定大于配置自动化配置原理?
1.1.10.Spring Boot 、Spring MVC 和 Spring 有什么区别
1.1.11.什么是 CSRF 攻击?
1.1.11.1.防范措施
你有用过SpringBoot是吗?
那你说一下用 Spring Boot有什么好处?
Spring Boot 特点?
如何定义多套不同环境配置?
运行springBoot有什么方式?
springBoot的starters是什么?
常见的 starter 会包几个方面的内容?
Spring Boot Starter 的工作原理?
说一下你常用的SpringBoot的Starter 例子吗?
Spring Boot 可以兼容老 Spring 项目吗,如何做?
JPA是什么?
常用的JPA注解有什么?
在使用方式的接口上查询数据库的方式?
3. 了解分布式系统构建,接触过springCloud、Dubbo分布式管理框架。
1.2.什么是分布式系统?
1.3.什么是 restful 风格
1.4.springCloud
Spring Cloud是什么
SpringCloud 和 和 SpringBoot 的关系
Eureka 介绍
Eureka 的自我保护机制
Spring Cloud几大组件以及作用?
Eureka 和 ZooKeeper 的区别?
什么是负载均衡之 Ribbon?
Nginx 和 Ribbon 的对比?
Ribbon 和 Feign 的区别?
什么是 Hystrix?它如何实现容错?
路由网关zuul与API Gateway的区别:
分布式配置中心Config是什么?
1.5.Dubbo
1.5.1.是什么?
1.5.2.Dubbo里面有哪几种角色?
1.5.3.Dubbo服务负载均衡策略?
1.5.4.Dubbo执行原理?
1.5.5.Dubbo底层实现10层?
1.5.6.Dubbo的通信协议?
1.5.7.Dubbo的序列化方式?
1.5.8.RPC原理
1.5.8.1.Topic1
1.5.9.Zookeeper 是什么?
1.5.10.Zookeeper 怎么保证主从节点的状态同步?
1.5.11.Dubbo直连?
1.5.12.Dubbo 安全问题token?
1.5.13.Zookeeper连接超时?
1.5.14.Dubbo连接超时?
1.5.14.1.解决办法
1.5.15.Zookeeper宕机怎么解决,怎么做到高可用
1.5.16.服务降级 Mock
1.5.17.集群容错方案
1.5.18.灰度发布
1.6.Dubbo 和 SpringCloud 的区别和联系
1.7.Zk和eruka的区别
1.8.RPC和SOA、SOAP、REST的区别
4. 熟悉MySQL的数据库操作,了解MySql数据库优化、MyCat分布式数据库中间件。
1说一下 MySQL的三大范式?
2 MySQL常用函数有什么?
3说一下Mysql 的执行流程?
4 常用的存储引擎有什么?
5事务:完整的业务
1事务的ACID特性是什么?
2事物的四个隔离级别
3 什么是脏读、不可重复读、幻读?
6 MySQL数据库的优化
1数据库结构优化
2查询语句优化
3索引及优化
4服务器优化
5存储引擎的选择优化
7 数据库中的索引是指什么?
8创建索引时候会考虑哪些因素?
B树与B+树有什么区别?
项目中使用了外键了吗?外键有什么作用?
MySQL创建有外键的表要注意的?
9 MyCat
1什么是MyCat?
2 搭建mycat的核心配置文件有哪些?
3 MyCat的分片规则?
5. 熟悉redis、了解Oracle、MongoDB等数据库。
Redis
你来说一下Redis是什么吧?
redis使用场景
redis 常见数据结构
你是怎样用redis的?
redis的持久化
你对 Redis 的持久化机制了解吗?
那你再说下 RDB 是怎么工作的?
那你要不再说下 AOF是怎么工作的?
那我该用哪一个呢?
过期键的删除策略?
存在问题及解决方法
内存淘汰机制?
Redis挂了怎么办 主从复制+哨兵、集群hash槽计算
主从复制是什么?
详细说下数据同步的过程?
主从复制的redis宕机的恢复手段有哪些,优劣
缓存雪崩,缓存穿透,缓存击穿,缓存预热,缓存降级
如何保证缓存与数据库双写时的数据一致性?
那你说下哨兵有哪些功能?
哨兵模式的脑裂问题?
Redis集群故障转移
实际项目中使用缓存有遇到什么问题或者会遇到什么问题你知道吗?
Redis 这么快,它的“多线程模型”你了解吗?
Redis 和 Memcached 的区别?
Oracle
Oracle与Mysql区别?
解释冷备份和热备份的不同点以及各自的优点?
索引
oracle的锁又几种,定义分别是什么?
讲讲truncate和delete命令的区别 ?
Oracle 常用数据类型?
mongoDB
什么是MongoDB?
MongoDB的优势有哪些?
什么是文档?
什么是集合(表)?
在哪些场景使用MongoDB?
分析器在MongoDB中的作用是什么?
为什么MongoDB的数据文件很大?
6. 熟悉Junit、Debug进行项目测试
JUnit简介?
junit常见注解含义以及执行顺序?
7. 熟悉Intellij IDEA、Ecplise等项目开发工具
8. 熟悉Linux服务器常见的操作指令、了解Tomcat、Nginx服务器部署
Linux 的目录结构是怎样的?
Linux常用的命令有哪些?
Linux查看日志的命令有什么?
部署tomcat过程?
Nginx特点?
Nginx负载均衡策略?
9. 熟悉H5、CSS、JavaScript、Jquery、Ajax、AngularJS等前端应用技
Ajax
Ajax怎么理解的?
实现流程是怎样的?
AngularJS
AngularJS特征有哪些?
AngularJS常用指令?
AngularJS、VUE理解?
Freemarker
Freemarker是什么?
常用的ftl语法?
JSP
JSP是什么?
常用指令?
Echarts
Echarts是什么?
ztree
ztree是什么?
ueditor
ueditor是什么?
10. 熟悉 Git、Maven 等项目版本管理及构建工具
11.了解shiro,spingSecurity等安全框架。
spring security 安全框架是什么?
spring security 框架原理?
springSecurity的使用过程?
BCrypt(哈希) 加密算法与MD5加密算法的区别?
shiro和spingSecurity的比较?
shiro的使用过程?
项目1
你是如何实现上传广告图片的?
电商概念SPU与SKU?
什么是Freemarker?
Freemaker的使用过程?
Freemarker常用FTL指令?
Freemarker常用内建函数?
分布式服务如何保证用户的session?
项目2
如何使用POI实现导入与导出?
如何使用ECharts实现成绩的数据可视化图表?