为了账号安全,请及时绑定邮箱和手机立即绑定

Java 面试应该看些什么

2019.11.14 19:06 3748浏览

本文将会从6个方面去介绍 Java 方向的高频面试点。

  • 基础语法:抽象类和接口的区别、Java 中的泛型是怎么实现的、怎样判断两个 Java 对象是相等的等等类似的问题
  • 容器相关的面试:List、Set、Map三者的区别、ArrayList和LinkedList 之间的区别、ArrayList的扩容机制、HashMap是线程安全的吗?为什么呢?、HashTable是线程安全的吗?它是怎样实现线程安全的?、JDK1.8之前和之后,HashMap的底层实现发生了哪些变化呢?、我需要一个线程安全的Map,你会选择使用什么?为什么?你是从哪些方面考虑的呢?
  • 并发编程相关的面试:谈一谈Java中的锁机制、你用过哪些并发容器,说一说它们的特性、Java提供了一些原子类,它们都是以Atomic开头,你知道它们是怎么实现的吗?、线程池的参数以及每个参数的含义,它们对线程池产生怎样的影响、JDK中提供了哪几类线程池,它们各自有什么样的适用场合?
  • JVM相关的面试:谈一谈JVM中内存区域是怎样划分的,每一块内存区域中存储的是什么、JVM垃圾回收有几种方式,谈一谈你是怎样理解的、类加载器和类加载过程

MySQL 相关的知识点面试

  • MySQL一共提供了四种事务隔离级别,说一说它们各自的优缺点。我们平时使用的是哪一种事务隔离级别呢?为什么?(先搞清楚你现在用的是哪个版本的MySQL)
  • 谈一谈你对事务的理解,我们日常的工作中在什么情况下需要使用事务?怎样在MySQL中开启和提交事务?
  • 你理解索引吗?它是怎样构造的?索引具有哪些特性(你能说出来几种)?(这里需要特别注意,需要先说清楚你使用的是哪一种存储引擎)
  • 你遇到过慢查询吗?是怎样定位慢查询的?又是怎样优化的呢?

Redis相关的知识点面试

  • 我们常说Redis是单进程单线程的,但是它为什么还会这么快呢?你知道这是为什么吗?(从Redis IO模型的角度出发去解释)
  • Redis支持哪些数据结构,你平时都是怎样使用的?
  • Redis的过期机制是怎样实现的?
  • Redis支持哪两种持久化机制,它们各自有哪些优缺点?

Kafka相关的知识点面试

  • 把Kafka中的名词解释一下,例如:Topic、Partition、Consumer、Producer、Group等等
  • 你平时在工作中是怎样使用Kafka的?
  • Kafka的容灾机制
  • 对于丢失消息、重复发送、重复消费这样的问题,你有怎样的解决办法?

Spring相关的知识点面试

  • Spring中的bean作用域与生命周期
  • 我不清楚Spring中的IOC和AOP是什么,你能给我说清楚吗?
  • 谈一谈Spring容器启动的过程
  • 对于SpringBoot和SpringCloud来说,一定要能说清楚框架特性,例如SpringBoot中的配置文件是怎样加载的,规则是怎样的?自动配置是怎么实现的?等等;SpringCloud中提供了哪些组件,Eureka、Zuul、Ribbon、Feign、Hystrix,它们是什么,起到了什么样的作用,简单的说一说它们各自的实现原理与特性。
  • 不要在简历上写的太过详细,简单写一写这个项目是什么、包含什么样的功能、你在其中是个怎样的角色
  • 你做的工作中有什么样的亮点吗?体现在哪些方面呢?(例如:性能优化或者重构),没有的话问题也不大
  • 最核心的点,要能够说清楚这个项目的故事,项目的背景、框架技术选型、开发过程、开发周期、上线、运维等等,这个要提前花大量的时间准备好
  • 面试官可能会对你的业务作出一些临时修改,并让你重新设计或者优化,这个考察的难度比较高,可以适当的准备

最后,不同的面试官有不同的喜好和擅长的地方,多去面试,掌握面试技巧非常重要。祝各位同学学习进步,工作顺利,都能找到一份称心如意的刚工作!
······························
欢迎关注课程:

点击查看更多内容

本文原创发布于慕课网 ,转载请注明出处,谢谢合作

54人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消