Java方向面试题

基础题

  1. Java 9及以上版本有什么新特性?

  2. 是否熟悉前端ES6(ECMAScript)、Typescript、React、Vue、微信、Flutter、IOS、Android开发?(选其中2项详细介绍)

  3. 面向对象的特征有哪些?抽象类和接口有什么区别?

  4. Java如何进行异常处理?关键字:throws、throw、try、catch、finally分别如何使用?

  5. Java有哪些方式实现网络通信?

  6. 主键、唯一索引、索引、联合索引的区别是什么?左连接、右连接、内连接、外连接的区别是什么?工作中是如何优化SQL查询的?

  7. Mybtais中#$有什么区别?Mybatis元素(标签)如何实现1..1(一对一)1..N(一对多)映射查询?

  8. Git常用命令有哪些?为了减少应用的大小,Maven如何排除多级依赖中不使用的Jar包?

  9. 如何理解Spring的依赖注入、控制反转?Spring Framework包含哪些内容?

  10. Spring MVC注解@RequestBoby、@ResponseBody有什么区别?什么注解可以校验用户输入?如何接收用户文件上传?

  11. HTTP常见的状态码、请求头有哪些?RESTful API方法有哪些?Spring MVC注解如何实现RESTful API?

  12. Spring Cloud是通过哪些组件治理微服务的?工作中如何使用Spring Cloud?

  13. 描述一下Redis有哪些数据结构?工作中是如何使用的?

  14. 熟悉哪些设计模式?选择3个,介绍一下他们适合哪些场景?

  15. Kafka(或其他消息中间件)可以做什么?工作中是如何使用的?

  16. 是否熟悉Elastic Stack?简单介绍一下它们的作用?

加分题

  1. 平时喜欢读哪些技术方面的书籍?Java方面、其他技术栈、区块链、人工智能或是其他?

  2. 是否熟悉Kubernetes、Istio?Kubernetes、Istio包含什么组件,组件之间是如何工作的?