在https://www.cnblogs.com/marsitman/p/9539369.html  根据自己以往的面试经验,在该基础上做了补充和删减,均链接到相应的地址(链接失效请留言评论)。

一、开场白
简单的介绍一下自己的工作经历与职责,在校或者工作中主要的工作内容,主要负责的内容;(你的信息一清二白的写在简历上,能答出来的最好写在上面,模棱两可不是很清楚的最好不要写,否则会被问的很尴尬)
介绍下自己最满意的,有技术亮点的项目或平台,重点介绍下自己负责那部分的技术细节;(主要对自己做过的事情是否有清晰的描述)
二、Java基础

三、Java多线程

四、Java Web

五、JVM面试题

  • JVM内存区域如何划分?
  • JVM堆中对象是如何创建的?
  • JVM对象的结构?
  • JVM垃圾回收-如何判断对象是否是垃圾对象?
  • JVM垃圾回收算法有哪些?
  • JVM垃圾收集器有哪些?
  • JVM内存是如何分配的?
  • 从一道面试题分析类的加载过程?
  • JVM双亲委派机制?
  • JVM可以作为GC Root的对象有哪些?
  • 请写出几段可以导致内存溢出、内存泄漏、栈溢出的代码?
  • 哪些情况会导致Full GC?
  • 频繁GC问题或内存溢出问题,如何定位?

六、SQL性能优化

  • 数据库三范式是什么?
  • 数据库的事务、ACID及隔离级别?
  • 不考虑事务的隔离性,容易产生哪三种情况?
  • 数据库连接池原理?
  • 什么是B-Tree?
  • 什么是B+Tree?
  • MySQL数据库索引结构?
  • 什么是索引?什么条件适合建立索引?什么条件不适合建立索引?
  • 索引失效的原因有哪些?如何优化避免索引失效?
  • MySQL如何启动慢查询日志?
  • MySQL如何使用show Profile进行SQL分析?
  • 一条执行慢的SQL如何进行优化,如何通过Explain+SQL分析性能?
  • 什么是行锁、表锁、读锁、写锁,说说它们各自的特性?
  • 什么情况下行锁变表锁?
  • 什么情况下会出现间隙锁?
  • 谈谈你对MySQL的in和exists用法的理解?
  • MySQL的数据库引擎有哪些,如何确定在项目中要是用的存储引擎?
  • count(*)、count(列名)和count(1)的区别?
  • union和union all的区别?

七、Spring框架

  • Spring的IOC和AOP机制?
  • Spring中Autowired和Resource关键字的区别?
  • 依赖注入的方式有几种,各是什么?
  • Spring容器对Bean组件是如何管理的?
  • Spring容器如何创建?
  • Spring事务分类?
  • Spring事务的传播特性?
  • Spring事务的隔离级别?
  • Spring的通知类型有哪些?

八、SpringMVC框架

  • SpringMVC完整工作流程,熟读源码流程?
  • SpringMVC如何处理JSON数据?
  • SpringMVC拦截器原理,如何自定义拦截器?
  • SpringMVC如何将请求映射定位到方法上面?结合源码阐述?
  • SpringMVC常见注解有哪些?
  • SpringMVC容器和Spring容器的区别?
  • SpringMVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?

九、MyBatis框架

  • MyBatis中#和$的区别?
  • MyBatis一级缓存原理以及失效情况?
  • MyBatis二级缓存的使用?
  • MyBatis拦截器原理?
  • 看过MyBatis源码吗,请说说它的工作流程?
  • mybatis如何查询树状结构的数据?

十、Java高级部分

  • Dubbo负载均衡策略?
  • Dubbo中Zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
  • Dubbo完整的一次调用链路介绍?
  • 请说说SpringBoot自动装配原理?
  • 有用过SpringCloud吗,请说说SpringCloud和Dubbo有什么不一样?
  • 什么是WebService,如何基于WebService开发接口?
  • 谈谈项目中分布式事务应用场景?
  • 使用Redis如何实现分布式锁?
  • 请谈谈单点登录原理?
  • Tomcat如何优化?
  • 后台系统怎么防止请求重复提交?
  • Linux常见命令有哪些?
  • 请说说什么是Maven的依赖、继承以及聚合?
  • Git暂存区和工作区的区别?
  • Git如何创建、回退以及撤销版本?
  • 常见的设计模式有哪些?

十一、其他

  • 看过哪些源代码?然后会根据你说的源码问一些细节的问题?(这里主要考察面试者是否对技术有钻研的精神,还是只停留在表面,还是背了几道面经,这个对于很多有强迫症的面试官,如果你连源码都没看过,基本上是会pass掉的!)
  • 项目中遇到了哪些比较有挑战性的问题,是如何解决的;(这个很有争议,一方面是你连一个复杂的问题都解决不了,要你过来干什么,还有就是,我的能力牛逼啊,但是公司没有业务场景让我展示啊!这个就看你遇到的面试官了,祝你好运!)

到此为止,大致把一些面试官高频的Java面试题整理了一下,希望对大家有所帮助!其实还有很多,只整理了一部分,后续慢慢补上,敬请期待。。。

java面试题(目录版)的更多相关文章

  1. Java面试题汇总---整理版(附答案)

    今天继续为大家整理Java面试题,并涉及数据库和网络等相关知识,希望能帮助到各位开发者. 1,为什么要用spring,Spring主要使用了什么模式? spring能够很好的和各大框架整合,它通过IO ...

  2. 2021最新Java面试题全集-20210326版

    在手撕了数千道网络流传的面试题,外加十多个不眠之夜, 终于从里面精心挑选出约500道题目, 做为大家求职.跳槽前复习准备面试使用. 一:挑选题目的原则: 常考的.常被面试问到的 题目有一定的深度和难度 ...

  3. 收集了50道基础的java面试题

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  4. JAVA面试题二

    JAVA 综合面试题 2007-08-12 目录 Java面试题整理 9 Java面向对象 9 1. super()与this()的区别? 9 2. 作用域public,protected,priva ...

  5. 最有价值的50道java面试题 适用于准入职Java程序员

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  6. 《OD面试》Java面试题整理

    一.面试考察点 1 主语言本身 2 数据库 3 算法 4 Spring/SpringMVC/MyBatis 5 项目经验 1)项目涉及到的技术点深挖: (1)考察候选人技术深度  (2)看候选人遇到问 ...

  7. 一份贴近真实面试的Java面试题(基础部分)

    这是一份关于Java基础的面试题.在网上的关于Java的面试题数不胜数,但本人认真看过后觉得大多数都没有实用性,有很多是面试官根本就不会问到的,企业根本不会用到的,一些已经脱离了实际开发的技术问题.而 ...

  8. 2019年 Java 面试题解析

    2019年 Java 面试题解析 转载地址:https://www.cnblogs.com/Zz-maker/p/11193930.html 作者: Zz_maker 包含的模块: 本文分为十九个模块 ...

  9. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

随机推荐

  1. python中 __file__的小坑坑

    在python脚本中,我们难免会需要用到自身文件所在的绝对路径,第一想法可能就是用os.path.dirname(__file__) 但是这里有个大坑,我就踩了,这种方式得到路径会出现问题,脚本执行报 ...

  2. js放到head中失效的原因与解决方法

    1.今天写js碰到一个奇怪的问题,写好的js放到body里面执行,但是放到head中没有任何效果,为什么导致这种原因呢? 看失效代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  3. C语言Ⅰ博客作业11

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10130 我在这个课程的 ...

  4. 第五周课程总结&实验报告(四)

    第五周课程总结 本周主要学习了 1.抽象类 抽象类的定义格式 abstract class抽象类名称{ 属性; 访问权限返回值类型方法名称(参数){ //普通方法 [return返回值]; } 访问权 ...

  5. PYTHON 100days学习笔记001:初识python

    现在学习这个确实时间很紧,但是迟早得学,以后PYTHON自动化运维,PYTHON自动测试都需要用的到,甚至可以往数据分析方向发展,刚好最近有数据观组织的python100天计划,就参加了,做好笔记,一 ...

  6. [转帖]如何在VirtualBox中运行macOS Catalina Beta版本

    如何在VirtualBox中运行macOS Catalina Beta版本 secist2019-08-03共2179人围观系统安全 https://www.freebuf.com/articles/ ...

  7. 【LOJ】#3046. 「ZJOI2019」语言

    LOJ#3046. 「ZJOI2019」语言 先orz zsy吧 有一个\(n\log^3n\)的做法是把树链剖分后,形成logn个区间,这些区间两两搭配可以获得一个矩形,求矩形面积并 然后就是对于一 ...

  8. Java实现二叉树地遍历、求深度和叶子结点的个数

    一.分析 二叉树是n个结点所构成的集合,它或为空树,或为非空树.对于非空树,它有且仅有一个根结点,且除根结点以外的其余结点分为两个互不相交的子集,分别称为左子树和右子树,它们本身又都是二叉树. 显而易 ...

  9. linux终端命令(四)系统信息相关命令(五)其他命令

    四.系统信息相关命令 时间和日期 date cal 磁盘和目录空间 df du 进程信息 ps top kill 1.时间和日期 序号 命令 作用 01 cal 查看日历,-y选项可以查看一年的日历 ...

  10. linux内核钩子--khook

    简介 本文介绍github上的一个项目khook,一个可以在内核中增加钩子函数的框架,支持x86.项目地址在这里:https://github.com/milabs/khook 本文先简单介绍钩子函数 ...