第一部分 Java相关

1.1 JAVA基础

面向对象和面向过程的区别
Java 语言有哪些特点
关于 JVM JDK 和 JRE 最详细通俗的解答
Oracle JDK 和 OpenJDK 的对比
List 和 Set 的区别
什么是 Java 程序的主类 应用程序和小程序的主类有何不同
Java 应用程序与小程序之间有那些差别
字符型常量和字符串常量的区别
Java 面向对象编程三大特性: 封装 继承 多态
构造器 Constructor 是否可被 override
Arrays.sort 实现原理和 Collection 实现原理
重载和重写的区别
String StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
在一个静态方法内调用一个非静态成员为什么是非法的?
在 Java 中定义一个不做事且没有参数的构造方法的作用
import java 和 和 javax 有什么区别?
创建一个对象用什么运算符? 对象实体与对象引用有何不同?
HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?
接口和抽象类的区别是什么?
成员变量与局部变量的区别有那些?
一个类的构造方法的作用是什么若一个类没有声明构造方法, 该程序能正确执行吗 ? 为什么?
构造方法有哪些特性?
静态方法和实例方法有何不同
对象的相等与指向他们的引用相等,两者有什么不同?
在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
== 与 equals(重要)
hashCode 与 equals (重要)
为什么 Java 中只有值传递?
简述线程,程序、进程的基本概念。以及他们之间关系是什么?
线程有哪些基本状态?
Java 中的异常处理?
异常分类以及处理机制
final finally finalize
强引用 、软引用、 弱引用、虚引用
Java 序列化中如果有些字段不想进行序列化 怎么办?
获取用键盘输入常用的的两种方法?

1.2 JAVA并发

Synchronized 用 过 吗 , 其 原 理 是 什 么 ?
你 刚 才 提 到 获 取 对 象 的 锁,这 个 “锁”到 底 是 什 么 ? 如 何 确 定对 象 的 锁 ?
什 么 是 可 重 入 性 , 为 什 么 说 Synchronized 是 可 重 入 锁 ?
JVM 对 Java 的 原 生 锁 做 了 哪 些 优 化 ?
为 什 么 说 Synchronized 是 非 公 平 锁 ?
什 么 是 锁 消 除 和 锁 粗 化 ?
为 什 么 说 Synchronized 是 一 个 悲 观 锁 ? 乐 观 锁 的 实 现 原 理
又 是 什 么 ? 什 么 是 CAS, 它 有 什 么 特 性 ?
既 然 提 到 可 以 通 过 配 置 不 同 参 数 创 建 出 不 同 的 线 程 池 , 那 么Java 中 默 认 实 现 好 的 线 程 池 又 有 哪 些 呢 ? 请 比 较 它 们 的 异 同 。
如 何 在 Java 线 程 池 中 提 交 线 程 ?
什 么 是 Java 的 内 存 模 型,Java 中 各 个 线 程 是 怎 么 彼 此 看 到对 方 的 变 量 的 ?
请 谈 谈 volatile 有 什 么 特 点 , 为 什 么 它 能 保 证 变 量 对 所 有 线程 的 可 见 性 ?
既 然 volatile 能 够 保 证 线 程 间 的 变 量 可 见 性 , 是 不 是 就 意 味着 基 于 volatile 变 量 的 运 算 就 是 并 发 安 全 的 ?
请 对 比 下 volatile 对 比 Synchronized 的 异 同 。
很 多 人 都 说 要 慎 用 ThreadLocal, 谈 谈 你 的 理 解 , 使 用
乐 观 锁 一 定 就 是 好 的 吗 ?
跟 Synchronized 相 比 , 可 重 入 锁 ReentrantLock 其 实 现原 理 有 什 么 不 同 ?
那 么 请 谈 谈 AQS 框 架 是 怎 么 回 事 儿 ?
请 尽 可 能 详 尽 地 对 比 下 Synchronized 和 ReentrantLock的 异 同 。
ReentrantLock 是 如 何 实 现 可 重 入 性 的 ?
除 了 ReetrantLock, 你 还 接 触 过 JUC 中 的 哪 些 并 发 工 具 ?
请 谈 谈 ReadWriteLock 和 StampedLock。
如 何 让 Java 的 线 程 彼 此 同 步 ? 你 了 解 过 哪 些 同 步 器 ? 请 分 别介 绍 下 。
CyclicBarrier 和 CountDownLatch 看 起 来 很 相 似 , 请 对 比下 呢 ?
Java 中 的 线 程 池 是 如 何 实 现 的 ?
创 建 线 程 池 的 几 个 核 心 构 造 参 数 ?
线 程 池 中 的 线 程 是 怎 么 创 建 的 ? 是 一 开 始 就 随 着 线 程 池 的 启 动创 建 好 的 吗 ?

第二部分 Spring相关

1.1 Spring

什么是 Spring 框架?Spring 框架有哪些主要模块?
使用 Spring 框架能带来哪些好处?
Spring 框架中有哪些不同类型的事件?
Spring 框架中都用到了哪些设计模式?
什么是控制反转(IOC)?
请解释下 Spring 框架中的 IoC ?
BeanFactory 和 和 ApplicationContext 有什么区别?
Spring 有几种配置方式?
如何用基于 XML 配置的方式配置 Spring ?
如何用基于 Java 配置的方式配置 Spring ?
怎样用注解的方式配置 Spring ?
请解释 Spring Bean 的生命周期?
Spring Bean 的作用域之间有什么区别?
什么是 Spring inner beans ?
Spring 框架中的单例 Beans 是线程安全的么?
请举例说明如何在 Spring 中注入一个 Java Collection ?
如何向 Spring Bean 中注入一个 Java.util.Properties ?
请解释 Spring Bean 的自动装配?
请解释自动装配模式的区别?
如何开启基于注解的自动装配
请举例解释@Required 注解?
请举例解释@Autowired 注解?
请举例说明@Qualifier 注解?
构造方法注入和设值注入有什么区别?
FileSystemResource 和 和 ClassPathResource 有何区别?
BeanFactory 和 FactoryBean
Spring IOC 的理解,其初始化过程?
BeanFactory 和 ApplicationContext?
Spring Bean 的生命周期,如何被管理的?Spring Bean 的加载过程是怎样的?
如果要你实现Spring AOP,请问怎么实现?
如果要你实现Spring IOC,你会注意哪些问题?
Spring 是如何管理事务的,事务管理机制?
Spring 的不同事务传播行为有哪些,干什么用的?
Spring 中用到了那些设计模式?
Spring MVC 的工作原理?
Spring 循环注入的原理?
Spring 如何保证 Controller 并发的安全?

2.2 Spring Boot

什么是 Spring Boot?
Spring Boot 有哪些优点?
什么是 JavaConfig?
如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
Spring Boot 中的监视器是什么?
如何在 Spring Boot 中禁用 Actuator 端点安全性?
如何在自定义端口上运行 Spring Boot 应用程序?
什么是 YAML?
什么是 Spring Profiles?
什么是 Spring Batch?
如何集成 Spring Boot 和 ActiveMQ?
如何使用 Spring Boot 实现分页和排序?
什么是 Swagger?你用 Spring Boot 实现了它吗?
什么是 FreeMarker 模板?
如何使用 Spring Boot 实现异常处理?
您使用了哪些 starter maven 依赖项?
什么是 CSRF 攻击?
什么是 WebSockets?
什么是 AOP?
什么是 Apache Kafka?
我们如何监视所有 Spring Boot 微服务?

2.3 Spring MVC

什么是 SpringMvc?
Spring MVC 的优点:
SpringMVC 工作原理?
SpringMVC 流程?
SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些?
SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代?
@RequestMapping 注解用在类上面有什么作用?
怎么样把某个请求映射到特定的方法上面?
如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置?
怎么样在方法里面得到 Request,或者 Session?
我想在拦截的方法里面得到从前台传入的参数,怎么得到?
如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
SpringMvc 中函数的返回值是什么?
SpringMVC 怎么样设定重定向和转发的?
SpringMvc 用什么对象从后台向前台传递数据的?
SpringMvc 中有个类把视图和数据都合并的一起的,叫什么?
怎么样把 ModelMap 里面的数据放入 Session 里面?
SpringMvc 怎么和 AJAX 相互调用的?
讲下 SpringMvc 的执行流程
SpringMvc 里面拦截器是怎么写的?
当一个方法向 AJAX 返回特殊对象,譬如 Object,List 等,需要做什么处理?

2.4 Spring Cloud

什么是 Spring Cloud?
使用 Spring Cloud 有什么优势?
服务注册和发现是什么意思?Spring Cloud 如何实现?
负载平衡的意义什么?
什么是 Hystrix?它如何实现容错?
什么是 Hystrix 断路器?我们需要它吗?
什么是 Spring Cloud Bus?我们需要它吗?
什么是 Netflix Feign?它的优点是什么?

第三部分 数据库相关

3.1 MySQL高频面试知识点

事务四大特性(ACID)原子性、一致性、隔离性、持久性?
事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?
MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?
查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?
什么是临时表,临时表什么时候删除?
MySQL B+Tree索引和Hash索引的区别?
sql查询语句确定创建哪种类型的索引?如何优化查询?
聚集索引和非聚集索引区别?
有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
非关系型数据库和关系型数据库区别,优势比较?
数据库三范式,根据某个场景设计数据表?
数据库的读写分离、主从复制,主从复制分析的 7 个问题?
使用explain优化sql和索引?
MySQL慢查询怎么解决?
什么是 内连接、外连接、交叉连接、笛卡尔积等?
mysql都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
varchar和char的使用场景?
mysql 高并发环境解决方案?
数据库崩溃时事务的恢复机制(REDO日志和UNDO日志)?

3.2 MySQL性能调优实践

为查询缓存优化你的查询
EXPLAIN你的SELECT查询
当只要一行数据时使用LIMIT 1
为搜索字段建索引
在Join表的时候使用相当类型的例,并将其索引
千万不要 ORDER BY RAND()
避免 SELECT *
永远为每张表设置一个 ID
使用 ENUM 而不是 VARCHAR
从 PROCEDURE ANALYSE() 取得建议
尽可能的使用 NOT NULL
Prepared Statements
无缓冲的查询
把 IP 地址存成 UNSIGNED INT
固定长度的表会更快
垂直分割
拆分大的 DELETE 或 INSERT 语句
越小的列会越快
选择正确的存储引擎
使用一个对象关系映射器(Object Relational Mapper)
小心“永久链接”
为查询缓存优化你的查询
EXPLAIN你的SELECT查询
当只要一行数据时使用LIMIT 1
为搜索字段建索引
在Join表的时候使用相当类型的例,并将其索引
千万不要 ORDER BY RAND()
避免 SELECT *
永远为每张表设置一个 ID
使用 ENUM 而不是 VARCHAR
从 PROCEDURE ANALYSE() 取得建议
尽可能的使用 NOT NULL
Prepared Statements
无缓冲的查询
把 IP 地址存成 UNSIGNED INT
固定长度的表会更快
垂直分割
拆分大的 DELETE 或 INSERT 语句
越小的列会越快
选择正确的存储引擎
使用一个对象关系映射器(Object Relational Mapper)
小心“永久链接”

第四部分 Redis

redis 简介
为什么要用 redis /为什么要用缓存(高性能、高并发)
为什么要用 redis 而不用 map/guava 做缓存?
redis 和 memcached 的区别
redis 常见数据结构以及使用场景分析(String、Hash、List、Set、Sorted Set)
redis 设置过期时间
redis 内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?)
redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)
redis 事务
Redis 常见异常及解决方案(缓存穿透、缓存雪崩、缓存预热、缓存降级)
分布式环境下常见的应用场景(分布式锁、分布式自增 ID)
Redis 集群模式(主从模式、哨兵模式、Cluster 集群模式)
如何解决 Redis 的并发竞争 Key 问题
如何保证缓存与数据库双写时的数据一致性?

第五部分 分布式相关

Dubbo的底层实现原理和机制
描述一个服务从发布到被消费的详细过程
分布式系统怎么做服务治理
接口的幂等性的概念
消息中间件如何解决消息丢失问题
Dubbo的服务请求失败怎么处理
重连机制会不会造成错误
对分布式事务的理解
如何实现负载均衡,有哪些算法可以实现?
Zookeeper的用途,选举的原理是什么?
数据的垂直拆分水平拆分。
zookeeper原理和适用场景
zookeeper watch机制
redis/zk节点宕机如何处理
分布式集群下如何做到唯一序列号
如何做一个分布式锁
用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗
MQ系统的数据如何保证不丢失
列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题
zookeeper的选举策略
第六部分 JVM

JVM 内存结构
HotSpot 虚拟机对象探秘
垃圾收集策略与算法
HotSpot 垃圾收集器
内存分配与回收策略
JVM 性能调优
类文件结构
类加载的时机
类加载的过程
类加载器

第七部分 算法

编程技巧
线性表
字符串
栈和队列

排序
查找
暴力枚举法
广度优先搜素
深度优先搜素
分治法
贪心法
动态规划

细节实现题

Java面试题:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等,仅供参考相关推荐

  1. 最新金九银十JAVA面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等

    ** 金九银十的面试旺季即将到来,大家准备的怎么样了?** 今年的处境大家都挺难的,但是也不要因此而堕落,太闲了,就多刷题.坚持学习总归是对自己有好处的. 在此,整理了下金九银十的面试知识点(附答案) ...

  2. 秋招面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等

    轰轰烈烈的秋招季已经开始,有人欢喜有人愁,不管你是喜是忧,学习总归是好的.这不,小编特地整理了一下秋招面试知识点+答案(JAVA岗),一起分享出来给大家看看~ 需要完整版的 知识点+答案 的朋友可以  ...

  3. 秋招JAVA面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等

    轰轰烈烈的"金九银十"秋招季已经落幕,有人欢喜有人愁,不管你是喜是忧,学习总归是好的.这不,小编特地整理了一下秋招面试知识点(JAVA岗),一起分享出来给大家看看~ 第一部分 Ja ...

  4. 金三银四JAVA面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等

    今年的金三已经过去.银四也快过半,大家可以说是都有点难了,有的朋友可能还在被隔离中,但是咱们加油找工作的时候,也要记得保护好自己,不能松懈. 现在的处境大致是有人欢喜有人愁,不管你是喜是忧,坚持学习总 ...

  5. 秋招面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等,太香了~

    轰轰烈烈的"金九银十"秋招季已经落幕,有人欢喜有人愁,不管你是喜是忧,学习总归是好的.这不,小编特地整理了一下秋招面试知识点+答案(JAVA岗),一起分享出来给大家看看~ 第一部分 ...

  6. 2020最新Java面试题(java,JavaWeb,数据库,框架),常见面试题及答案汇总

    1.面试题模块汇总 面试题包括以下十九个模块:Java 基础.容器.多线程.反射.对象拷贝.Java Web 模块.异常.网络.设计模式.Spring/Spring MVC.Spring Boot/S ...

  7. [ Java面试题 ]Java 开发岗面试知识点解析

    在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 ...

  8. Java(面试题准备(非技术面)(仅供参考))

    Java(面试题准备(非技术面)(仅供参考)) 1. 请介绍一下你自己? 姓名.年龄.毕业学校- 突出积极的个性和做事的能力 要有礼貌 2. 你觉得你个性上最大的优点是什么? 乐于助人.关心他人.有一 ...

  9. 基于java的高校运动会管理系统的设计与实现--毕业论文(可仅作参考)

    基于java的高校运动会管理系统的设计与实现–毕业论文(可仅作参考) 可以仅作参考宝子们 ,这个版本包含代码哦~在资源里面自己找代码包 论文word版本我会上传到资源里面供宝子看 文章目录 基于jav ...

最新文章

  1. Oracle的口令文件(passwordfile)的讲解(摘录)
  2. 看到一个flash做的超酷网站
  3. Git错误:fatal: Not a git repository (or any of the parent directories)解决方法
  4. 【经验】广西集体户口迁回农村原籍超级攻略
  5. HDU4475(找规律+预处理加速)
  6. PHP Module
  7. 此项目与visual studio的当前版本不兼容_新MacBook能用旧软件?可能是最详细的兼容测试...
  8. laravel 中request
  9. TClientDataSet[1]: 浏览测试数据
  10. 【SpringMVC】下载功能
  11. 【转】Objective-C 属性特性(assign , retain , copy , readonly , readwrite , atomic , nonatomic)...
  12. 热分析(一):什么是热仿真/热分析?
  13. Java 进制转换函数
  14. SDD-FIQA基于人脸相似度分布距离的无监督质量评估方法
  15. 远程连接的电脑突然白屏了怎么办?
  16. SQL Server基础操作(此随笔仅作为本人学习进度记录三)
  17. 计算机技术变化太快,这世界变化太快!Ps修图进入“智能时代”!
  18. java 正则替换以 开头_String replaceAll-正则匹配-截取以指定字符开头,以指定字符结尾的字符串...
  19. 浏览器如何使用HTTP防止ip限制
  20. 完全用Linux工作,作者王垠

热门文章

  1. java 堆内存和栈内存的区别_java中栈内存和堆内存有什么区别
  2. [内附完整源码和文档] 基于Java实现的数独游戏
  3. Go Web Chapter2-Form汇总
  4. 一位***硬核的裸机编程思想
  5. 过年刷【千言数据集:文本相似度】比赛
  6. SQL创建视图时设置默认值
  7. 记录一下DSFD源码中demo.py的debug过程
  8. 别人以为的在家办公 VS 实际上的在家办公
  9. 计算机英语报告,计算机英语论文英文版
  10. 搭建python开发环境_陌搭app下载-陌搭 安卓版v1.2.22-PC6安卓网