当前位置 博文首页 > 程序员吴师兄的博客:Java 面试都只是背答案吗?

    程序员吴师兄的博客:Java 面试都只是背答案吗?

    作者:[db:作者] 时间:2021-06-13 09:37

    说实话,不背肯定不行的,这些题目务必搞懂!

    由于字数太多,所以只分类给出了面试题目,每道题的答案看文末

    一、32 道 MySQL 面试题

    1:MySQL 的逻辑架构了解吗?

    2:谈一谈 MySQL 的读写锁

    3:MySQL 的锁策略有什么?

    4:数据库死锁如何解决?

    5:事务是什么?

    6:事务有什么特性?

    7:MySQL 的隔离级别有哪些?

    8:MVCC 是什么?

    9:谈一谈 InnoDB

    10:谈一谈 MyISAM

    11:谈一谈 Memory

    12:查询执行流程是什么?

    13:VARCHAR 和 CHAR 的区别?

    14:DATETIME 和 TIMESTAMP 的区别?

    15:数据类型有哪些优化策略?

    16:索引有什么作用?

    17:谈一谈 MySQL 的 B-Tree 索引

    18:了解 Hash 索引吗?

    19:什么是自适应哈希索引?

    20 :什么是空间索引?

    21:什么是全文索引?

    22:什么是聚簇索引?

    23:什么是覆盖索引?

    24:你知道哪些索引使用原则?

    25:索引失效的情况有哪些?

    26:如何定位低效 SQL?

    27:SHOW PROFILE 的作用?

    28:trace 是干什么的?

    29:EXPLAIN 的字段有哪些,具有什么含义?

    30:有哪些优化 SQL 的策略?

    31:MySQL 主从复制的作用?

    32:MySQL 主从复制的步骤?

    二、15 道设计模式面试题

    1:设计模式有哪些原则?

    2:设计模式的分类,你知道哪些设计模式?

    3:说一说简单工厂模式

    4:说一说工厂方法模式

    5:抽象工厂模式了解吗?

    6:单例模式的特点是什么?

    7:单例模式有哪些实现?

    8:讲一讲代理模式

    9:讲一讲装饰器模式

    10:装饰器模式和动态代理的区别?

    11:讲一讲适配器模式

    12:适配器模式和和装饰器模式以及代理模式的区别?

    13:讲一讲策略模式

    14:讲一讲模板模式

    15:讲一讲观察者模式

    三、5 道 Mybatis 面试题

    1:Mybatis 的优缺点?

    2:Mybatis 的 XML 文件有哪些标签属性?

    3:Mybatis 的一级缓存是什么?

    4:Mybatis 的二级缓存是什么?

    5:Mybatis #{} 和 ${} 的区别?

    四、4 道 Spring Data JPA 面试题

    1:ORM 是什么?

    2:JPA 如何使用?

    3:JPA 实体类相关注解有哪些?

    4:对象导航查询是什么?

    五、3 道 Spring MVC 面试题

    1:Spring MVC 的处理流程?

    2:Spring MVC 有哪些组件?

    3:Spring MVC 的相关注解?

    六、4 道 AOP 面试题

    1:AOP 是什么?

    2:AOP 的相关注解有哪些?

    3:AOP 的相关术语有什么?

    4:AOP 的过程?

    七、11 道 Spring IoC 面试题

    1:IoC 是什么?

    2:IoC 容器初始化过程?

    3:依赖注入的实现方法有哪些?

    4:依赖注入的相关注解?

    5:依赖注入的过程?

    6:Bean 的生命周期?

    7:Bean 的作用范围?

    8:如何通过 XML 方式创建 Bean?

    9:如何通过注解创建 Bean?

    10:如何通过注解配置文件?

    11:BeanFactory、FactoryBean 和 ApplicationContext 的区别?

    八、11 道 JUC 面试题

    1:什么是 CAS?

    2:CAS 有什么问题?

    3:有哪些原子类?

    4:AtomicIntger 实现原子更新的原理是什么?

    5:CountDownLatch 是什么?

    6: CyclicBarrier 是什么?

    7:Semaphore 是什么?

    8: Exchanger 是什么?

    9:JDK7 的 ConcurrentHashMap 原理?

    10:JDK8 的 ConcurrentHashMap 原理?

    11:ArrayList 的线程安全集合是什么?

    九、37 道并发面试题

    1:JMM 的作用是什么?

    2:as-if-serial 是什么?

    3:happens-before 是什么?

    4:as-if-serial 和 happens-before 有什么区别?

    5:什么是指令重排序?

    6:原子性、可见性、有序性分别是什么?

    7:谈一谈 volatile

    8:final 可以保证可见性吗?

    9:锁优化有哪些策略?

    10:自旋锁是什么?

    11:什么是自适应自旋?

    12:锁消除是什么?

    13:锁粗化是什么?

    14:偏向锁是什么?

    15:轻量级锁是什么?

    16:偏向锁、轻量级锁和重量级锁的区别?

    17:Lock 和 synchronized 有什么区别?

    18:ReentrantLock 的可重入是怎么实现的?

    19:什么是读写锁?

    20:AQS 了解吗?

    21:AQS 有哪两种模式?

    22:AQS 独占式获取/释放锁的原理?

    23:为什么只有前驱节点是头节点时才能尝试获取同步状态?

    24:AQS 共享式式获取/释放锁的原理?

    25:线程的生命周期有哪些状态?

    26:线程的创建方式有哪些?

    27:线程有哪些方法?

    28:什么是守护线程?

    29:线程通信的方式有哪些?

    30:线程池有什么好处?

    31:线程池处理任务的流程?

    32:有哪些创建线程池的方法?

    33:创建线程池有哪些参数?

    34:如何关闭线程池?

    35:线程池的选择策略有什么?

    36:阻塞队列有哪些选择?

    37:谈一谈 ThreadLocal

    十、32 道 JVM 面试题

    1:运行时数据区是什么?

    2:程序计数器是什么?

    3:Java 虚拟机栈的作用?

    4:本地方法栈的作用?

    5:堆的作用是什么?

    6:方法区的作用是什么?

    7:运行时常量池的作用是什么?

    8:直接内存是什么?

    9:内存溢出和内存泄漏的区别?

    10:堆溢出的原因?

    11:栈溢出的原因?

    12:运行时常量池溢出的原因?

    13:方法区溢出的原因?

    14:创建对象的过程是什么?

    15:对象分配内存的方式有哪些?

    16:对象分配内存是否线程安全?

    17:对象的内存布局了解吗?

    18:对象的访问方式有哪些?

    19:如何判断对象是否是垃圾?

    20:Java 的引用有哪些类型?

    21:有哪些 GC 算法?

    22:你知道哪些垃圾收集器?

    23:ZGC 了解吗?

    24:你知道哪些内存分配与回收策略?

    25:你知道哪些故障处理工具?

    26:Java 程序是怎样运行的?

    27:类加载是什么?

    28:类初始化的情况有哪些?

    29:类加载的过程是什么?

    30:有哪些类加载器?

    31:双亲委派模型是什么?

    32:如何判断两个类是否相等?

    十一、6 道 IO 流面试题

    1:同步/异步/阻塞/非阻塞 IO 的区别?

    2:什么是 BIO?

    3:什么是 NIO?

    4:什么是 AIO?

    5:java.io 包下有哪些流?

    6:序列化和反序列化是什么?

    十二、7 道集合面试题

    1:说一说 ArrayList

    2:说一说 LinkedList

    3:Set 有什么特点,有哪些实现?

    4:TreeMap 有什么特点?

    5:HashMap 有什么特点?

    6:HashMap 相关方法的源码?

    7:HashMap 为什么线程不安全?

    十三、10 道面向对象面试题

    1:谈一谈你对面向对象的理解

    2:面向对象的三大特性?

    3:重载和重写的区别?

    4:类之间有哪些关系?

    5:Object 类有哪些方法?

    6:内部类的作用是什么,有哪些分类?

    7:访问权限控制符有哪些?

    8:接口和抽象类的异同?

    9:接口和抽象类应该怎么选择?

    10:子类初始化的顺序

    十四、12 道语言特性面试题

    1:Java 语言的优点?

    2:Java 如何实现平台无关?

    3:JDK 和 JRE 的区别?

    4:Java 按值调用还是引用调用?

    5:浅拷贝和深拷贝的区别?

    6:什么是反射?

    7:Class 类的作用?如何获取一个 Class 对象?

    8:什么是注解?什么是元注解?

    9:什么是泛型,有什么作用?

    10:泛型擦除是什么?

    11:JDK8 新特性有哪些?

    12:异常有哪些分类?


    为了方便各位小伙伴能够复习自己不懂的面试题,吴师兄把这些面试题的答案整理成了 PDF,免费送给大家,只求大家能够一键三连,给大家看一下目录,保证方便复习。

    在这里插入图片描述

    无论是为了复习,还是为了面试,这份面试题肯定可以助你一臂之力,大家可以在吴师兄的公众号「五分钟学算法」后台回复「Java面试题」,就可以免费获取这份面试题的 PDF 版本。

    另外,大家想看在线版的,也可以到吴师兄的个人网站来看,已经有十几万的小伙伴登录学习了,点击查看Java面试题

    作者简介

    作者:大家好,我是程序员吴师兄,在 GitHub 上开源了一个项目 LeetCodeAnimation,目前有 60k star,通过动画的形式讲解算法,已经帮助成千上万的程序员入门算法了,欢迎关注公众号「五分钟学算法」,和我们一起学习算法。
    转载说明:未获得授权,禁止转载