面试最常被问的 Java 后端题目及参考答案

一、Java 基础篇

1. Object 有哪些常用方法?大致说一下每个方法的含义

2. Java 创建对象有几种方式?

3. 获取一个类对象的方式有哪些?

4. ArrayList 和 LinkedList 的区别有哪些?

5. 用过 ArrayList 吗?说一下它有什么特点?

6. 有数组了为什么还要搞个 ArrayList 呢?

7. 说说什么是 fail-fast?

8. Hashtable 与 HashMap 的区别

9. HashMap 中的 key 我们可以使用任何类作为 key 吗?

10. HashMap 的长度为什么是 2 的 N 次方呢?

11. HashMap 与 ConcurrentHashMap 的异同

13. 红黑树有哪几个特征?

14. 说说你平时是怎么处理 Java 异常的

15. finally 模块执行了吗?是先执行 return 还是先执行 finally 模块?返回什么?

二、JVM 篇

16. Java 类加载器有几种?

17. 说一下有哪些类加载场景?

18. 说说 Java 类加载机制是什么?说说 new 创建一个普通对象的过程?

19. 说说类的生命周期?

20. 什么是双亲委派模型?

21. 如何破坏双亲委派模型?

22. 能不能自己也写一个 java.lang.String 类?

23. 说一下 JVM 运行时数据区有哪些?分别说一下它们的功能

24. 方法区和永久代有什么区别?

24. JVM 运行时数据区哪些地方会产生内存溢出?

25. 为什么要用 metaspace 替换 permspace 呢?

26. 熟悉哪些 JVM 调优参数?

27. Java 对象的引用类型有哪些?

28. JVM 垃圾回收算法有哪些?

29. 垃圾收集器有哪些?

30. 说说 JVM 中内存的分配与回收策略

三、Dubbo 篇

31. 说说一次 Dubbo 服务请求流程?

32. 说说 Dubbo 工作原理

33. Dubbo 支持哪些协议?

34. 注册中心挂了,consumer 还能不能调用 provider?

35. 怎么实现动态感知服务下线的呢?

36. Dubbo 负载均衡策略?

37. Dubbo 容错策略

38. Dubbo 动态代理策略有哪些?

39. 说说 Dubbo 与 Spring Cloud 的区别?

40. 说说 TCP 与 UDP 的区别,以及各自的优缺点

41. 说一下 HTTP 和 HTTPS 的区别

42. 说说 HTTP、TCP、Socket 的关系是什么?

43. 说一下 HTTP 的长连接与短连接的区别

四、MyBatis 篇

44. 说说 MyBatis 的缓存

45. JDBC 编程有哪些步骤?

46. 说一下 MyBatis 中使用的 #和 $ 有什么区别

47. MyBatis 中比如 UserMapper.java 是接口,为什么没有实现类还能调用?

48. MyBatis 中见过什么设计模式?

五、MySQL 篇

49. 简单说说在 MySQL 中执行依据查询 SQL 是如何执行的?

50. MySQL 有哪些存储引擎?

51. MySQL 中 varchar 与 char 的区别?varchar(30) 中的 30 代表的涵义?

52. int(11) 中的 11 代表什么涵义?

53. 为什么 SELECT COUNT(*) FROM table 在 InnoDB 比 MyISAM 慢?

54. 说说数据库的三范式和反模式

55. 在设计数据库表的时候,字段用于存储金额、余额时,选择什么类型比较好?

56. 大概说说 InnoDB 与 MyISAM 有什么区别?

57. 什么是索引?

58. 索引有什么优缺点?

59. MySQL 索引类型有哪些?

60. 什么时候不要使用索引?

61. 使用 MySQL 的索引应该注意些什么?

62. 怎么知道一条查询语句是否用到了索引,用了什么类型的索引?

63. 说说什么是 MVCC?

64. MVCC 可以为数据库解决什么问题?

65. 说说 MVCC 的实现原理

66. 什么是死锁?

67. MySQL 事务隔离级别?

69. 请说说 MySQL 数据库的锁?

70. 说说什么是锁升级?

71. 说说悲观锁和乐观锁

72. 怎样尽量避免死锁的出现?

六、RabbitMQ 篇

73. 看你简历上写了 RabbitMQ,通常会问:为什么要用 RabbitMQ?

74. 可能你讲了上面三个 RabbitMQ 的优点后,会继续问:使用 RabbitMQ 容易带来什么问题?

75. 那么多消息队列,为什么选 RabbitMQ 呢?

75. RabbitMQ 中什么是死信队列?

76. 如何处理死信队列?

77. 怎么保证消息不会被丢失?

78. RabbitMQ 怎么高可用呢?

79. RabbitMq 怎么保证消息的顺序性?

80. 如果有大量消息持续积压在队列了,怎么处理?

七、Redis 篇</

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值