2021Java面试复习指南Redis+Mybatis+MySQL+并发编程(1到5年必看)

2020Java面试复习指南Redis+Mybatis+MySQL+并发编程(1到5年必看)

金三已过,银四还在,准备跳槽的同学是否都摩拳擦掌准备大面好几场,今天为大家准备了互联网面试必备的1到5年Java面试者都需要掌握的面试题,分别Redis+Mybatis+MySQL+并发编程系列等等,可以说掌握这些薪资涨个10K+还是可以的!

今天分享给大家的都是目前主流企业使用最高频的面试题库,也都是 Java 版本升级之后,重新整理归纳的最新答案,会让面试者少走很多不必要的弯路。同时每个专题都做到了详尽的面试解析文档,以确保每个阶段的读者都能看得懂。

一、深入理解Redis

  1. 什么是Redis
  2. Redis有哪些优缺点
  3. 为什么要用Redis /为什么要用缓存
  4. 为什么要用Redis而不用map/guava做缓存?
  5. Redis为什么这么快
  6. Redis有哪些数据类型
  7. Redis的应用场景
  8. 什么是Redis持久化?
  9. Redis的持久化机制是什么?各自的优缺点?
  10. 如何选择合适的持久化方式
  11. Redis持久化数据和缓存怎么做扩容?
  12. Redis的过期键的删除策略
  13. Redis key的过期时间和永久有效分别怎么设置?
  14. 我们知道通过expire来设置key的过期时间,那么对过期的数据怎么处理呢?
  15. Redis的内存淘汰策略有哪些
  16. Redis主要消耗什么物理资源?
  17. Redis的内存用完了会发生什么?
  18. Redis如何做内存优化?
  19. Redis主从架构
  20. Redis集群的主从复制模型是怎样的?
  21. 生产环境中的redis是怎么部署的?
  22. 说说Redis哈希槽的概念?
  23. Redis集群会有写操作丢失吗?为什么?
  24. Redis集群之间是如何复制的?
  25. Redis集群最大节点个数是多少?
  26. Redis集群如何选择数据库?

image.png

Redis面试专题

深入理解Mybatis

  1. MyBatis是什么?
  2. ORM是什么
  3. 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
  4. 传统JDBC开发存在的问题
  5. JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
  6. Mybatis优缺点
  7. MyBatis框架适用场景
  8. Hibernate和MyBatis的区别
  9. MyBatis编程步骤是什么样的?
  10. 请说说MyBatis的工作原理
  11. MyBatis的功能架构是怎样的
  12. MyBatis的框架架构设计是怎么样的
  13. 为什么需要预编译
  14. 模糊查询like语句该怎么写
  15. 在mapper中如何传递多个参数
  16. Mybatis如何执行批量操作
  17. 如何获取生成的主键
  18. 当实体类中的属性名和表中的字段名不-样,怎么办
  19. Mapper编写有哪几种方式? .
  20. 什么是MyBatis的接绑定?有哪些实现方式?
  21. 使用MyBatis的mapper接口调用时有哪些要求?
  22. Mybatis的Xml映射文件中,不同的Xml映射文件, id是否可以重复?
  23. 简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?
  24. Mybatis是如何将sq|执行结果封装为目标对象并返回的?都有哪些映射形式?
  25. Xml映射文件中,除了常见的selectlinsertlupdaeldelete标签之外,还有哪些标签?

image.png

Mybatis面试专题

深入理解MySQL

  1. 为什么要使用数据库
  2. 什么是SQL?
  3. 什么是MySQL?
  4. 数据库三大范式是什么
  5. mysq|有关权限的表都有哪几个
  6. MySQL的binlog有有几种录入格式?分别有什么区别?
  7. mysq|有哪些数据类型
  8. MySQL存储引擎MyISAM与InnoDB区别
  9. MyISAM索引与InnoDB索引的区别?
  10. InnoDB引擎的4大特性
  11. 存储引擎选择
  12. 什么是索引?
  13. 索引有哪些优缺点?
  14. 索引使用场景(重点)
  15. 索引有哪几种类型?
  16. 索弓的数据结构(b树, hash)
  17. 索引的基本原理
  18. 索引算法有哪些?
  19. 索引设计的原则?
  20. 创建索引的原则(重中之重)
  21. 创建索引的三种方式,删除索引
  22. 创建索引时需要注意什么?
  23. 使用索引查询-定能提高查询的性能吗?为什么
  24. 百万级别或以上的数据如何删除
  25. 前缀索引
  26. 什么是最左前缀原则?什么是最左匹配原则
  27. B树和B+树的区别
  28. 使用B树的好处
  29. 使用B+树的好处
  30. Hash索引和B+树所有有什么区别或者说优劣呢?
  31. 数据库为什么使用B+树而不是B树
  32. B +树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,
  33. 什么是聚簇索引?何时使用聚簇索引与非聚簇索引
  34. 非聚簇索引一定会回表查询吗?
  35. 联合索引是什么?为什么需要注意联合索引中的顺序?

2020Java面试复习指南Redis+Mybatis+MySQL+并发编程(1到5年必看)

MySQL面试专题

深入理解并发编程

  1. 为什么要使用并发编程(并发编程的优点)
  2. 并发编程有什么缺点
  3. 并发编程三要素是什么?在Java程序中怎么保证多线程的运行安全?
  4. 并行和并发有什么区别?
  5. 什么是多线程,多线程的优劣?
  6. 什么是线程和进程?
  7. 进程与线程的区别
  8. 什么是上下文切换?
  9. 守护线程和用户线程有什么区别呢?
  10. 如何在Windows和Linux.上查找哪个线程cpu利用率最高?
  11. 什么是线程死锁
  12. 形成死锁的四个必要条件是什么
  13. 如何避兔线程死锁
  14. 说说线程的生命周期及五种基本状态?
  15. Java中用到的线程调度算法是什么?
  16. 线程的调度策略
  17. 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )?
  18. 请说出与线程同步以及线程调度相关的方法。
  19. sleep0和wait0有什么区别?
  20. 你是如何调用wait0 方法的?使用if块还是循环?为什么?
  21. 为什么线程通信的方法wait0, notify0和notifyAll0被定义在Object类里?
  22. 为什么wait0, notify0和ntfifAll必须在同步方法或者同步块中被调用?
  23. Thread类中的yield方法有什么作用?
  24. 为什么Thread类的sleep0和yield 0方法是静态的?
  25. 线程的sleep0方法和yield0方法有什么区别?
  26. 如何停止一个正在运行的线程?
  27. Java中interrupted和isInterrupted方法的区别?
  28. 什么是阻塞式方法?
  29. Java中你怎样唤醒一个阻塞的线程?
  30. notify0和notifyAll0有什么区别?
  31. 如何在两个线程间共享数据?
  32. Java如何实现多线程之间的通讯和协作?
  33. 同步方法和同步块,哪个是更好的选择?
  34. 什么是线程同步和线程互斥,有哪几种实现方式?
  35. 在监视器(Monitor)内部,是如何做线程同步的?程序应该做哪种级别的同步?
  36. 如果你提交任务时,线程池队列已满,这时会发生什么
  37. 什么叫线程安全? servlet 是线程安全吗?
  38. 在Java程序中怎么保证多线程的运行安全?
  39. 你对线程优先级的理解是什么?
  40. 线程类的构造方法、静态块是被哪个线程调用的
  41. Java中怎么获取一-份线程dump文件?你如何在Java中获取线程堆栈?
  42. 一个线程运行时发生异常会怎样?
  43. Java线程数过多会造成什么异常?

2020Java面试复习指南Redis+Mybatis+MySQL+并发编程(1到5年必看)

并发编程面试专题

由于资料内容太多,平台篇幅限制,小编就展现了以上部分面试专题与资料,如需获取以下全部面试资料的同学,获取方式:点赞+关注点这里来获取免费领取方式吧,感谢配合与信任!

猜你喜欢

转载自blog.csdn.net/lyl5454/article/details/114314610