前言
Java 后端面试标准其实不复杂:第一能干活,第二 Java 基础要好,第三最好熟悉些分布式框架。
其实,很多面试者能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据面试情况来判断。
但现实情况是,大多数人可能面试前没准备,或准备方法不得当。要知道,我们平时干活更偏重于业务,不可能大量接触到算法,数据结构,底层代码这类面试必问的问题点,换句话说,面试准备点和平时工作要点匹配度很小。
网易一面:
-
自我介绍
-
实习期间项目相关,然后转到 Spring
-
Spring 在项目中用了哪些特性,IOC,及 Kafka 监听接口相关实现。
-
ThreadPool,Jdk 原生线程池,四个参数详细解释原理,当线程池中 poolSize 达到 corePoolSize 且阻塞队列已满,再来一个任务,如何处理
-
多线程实现同步的方式、互斥同步、非阻塞同步
-
解释 Synchronize 关键字的锁优化技术,偏向锁,轻量级锁,重量级锁,这些锁是如何存储的,偏向锁撤销升级为轻量级锁的过程,结合源码解释
-
volatile 关键字语义,内存屏障如何实现,JMM 对内存屏障做了哪些优化,volatile 的语义增强
-
指令重排序相关及其 happen-before 时,数据依赖等