武汉小公司Java最常问的面试题总结,以身试法一个月,被问率高达99%

137 阅读2分钟

基础题

  1. == 和 equals 的区别是什么?
  2. String,StringBuffer,StringBuild 三者有什么区别?
  3. JDBC操作数据库的基本步骤
  4. 说说深拷贝和浅拷贝?
  5. ArrayList 和 LinkedList 的区别?
  6. HashMap与HashTable的区别?
  7. HashMap在jdk1.8的设计与实现原理
  8. final在java中起什么作用?

Java高级


  1. 什么是线程安全?如何保证线程安全?
  2. 什么是死锁,如何处理死锁?
  3. 创建线程的几种方式?
  4. 说说JVM的内存模型?
  5. 如何进行JVM调优,常用的命令有哪些?
  6. 在项目用到了那些设计模式,怎么用的?

Spring

SpringMVC

  1. @Autowired 和 @Resource 的区别是什么?
  2. 项目中,你会使用SpringMvc那些注解? 3.导致Spring事务失效的原因有哪些?
  3. 你是怎么去使用Spring事务的?

SpringBoot

  1. 说说你对springboot的了解?
  2. 说说springboot的自动装配原理?

SpringColud

  1. 你是怎么使用远程调用的?
  2. 网关是用来做什么的?
  3. 如何去实现熔断?
  4. Rabbitmq的传播方式有几种?
  5. 如何解决消息堵塞,消息重复,消息丢失,如何保证消息队列的幂整性?
  6. 如何保证redis跟mysql的一致性?
  7. 分布式链路跟踪你是怎么用的?
  8. 你们项目中如何实现分布式事务管理的?

Mybaits,Mybaits-plus

  1. #{}和${}的区别是什么? 2.Xml 映射文件中,除了常见的 select|insert|update|delete 标签之外,还有哪些标签? 3.Mybatis 是如何进行分页的?分页插件的原理是什么? 4.Mybaits与Mybaits-plus有什么区别?

MySQL

1.说说你对索引的理解 2.MySQL的索引有哪些? 3.如何进行SQL性能优化?

Redis

  1. 为什么要用redis做缓存?
  2. Redis常用的数据结构有哪些?
  3. 过期的数据的删除策略了解么?
  4. Redis 内存淘汰机制有那几种? 5..如何保证Redis重新恢复数据?

常见算法

  1. 冒泡排序
  2. 斐波那契数列