首先强调几点:
1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的;
2. 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试 之前好好回顾一下自己所做的项目;
2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
3. 注意自己开源的 Github 项目,面试官可能会挖你的 Github 项目提问;
4. 建议提前了解一下自己想要面试的公司的价值观,判断一下自己究竟是否适合这个公司。
另外,我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
接下来进入正题
不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个“有章可循”说的意思只是说应对技术面试是可以提前准备。
“80%的 offffer 掌握在 20%的人手中” 这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offffer。运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。
笔主能力有限,如果有不对的地方或者和你想法不同的地方,敬请雅正、不舍赐教。
Spring 一般是不可避免的,如果你的简历上注明了你会 Spring Boot 或者 Spring Cloud 的话,那么面试官也可能会同时问你这两个技术,比如他可能会问你 springboot 和 spring 的区别。 所以,一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。
另外,AOP 实现原理、动态代理和静态代理、Spring IOC 的初始化过程、IOC 原理、自己怎么实现一个 IOC 容器? 这些东西都是经常会被问到的。
Spring 核心组件
Spring 常用模块
常见面试题
使用 Spring 框架的好处是什么?
Spring 由哪些模块组成?核心容器(应用上下文) 模块
解释 AOP 模块
解释 JDBC 抽象和 DAO 模块
什么是 Spring IOC 容器? IOC 的优点是什么?
什么是 Spring 的依赖注入?有哪些不同类型的 IOC(依赖注入)方式?哪种依赖注入方式你建议使用,构造器注入,还是 Setter 方法注入?
什么是 Spring beans?一个 Spring Bean 定义 包含什么?
Spring 框架中的单例 bean 是线程安全的吗?解释 Spring 框架中 bean 的生命周期
哪些是重要的 bean 生命周期方法? 你能重载它们吗?
在 Spring 框架中如何更有效地使用 JDBC?
使用 Spring 通过什么方式访问 Hibernate?
请介绍下 spring 的事务管理,Spring 框架的事务管理有哪些优点?你更倾向用那种事务管理类型?
什么是代理?有几种不同类型的自动代理?
什么是 Spring 的 MVC 框架?什么是 Spring MVC 框架的控制器?
JVM 内存区域
JVM 运行时内存
垃圾回收与算法
关于 Java 虚拟机,在面试的时候一般会问的大多就是①Java 内存区域、②虚拟机垃圾算法、③虚拟机垃圾收集器、④JVM 内存管理、⑤JVM 调优这些问题了。
设计模式
设计模式比较常见的就是让你手写一个单例模式(注意单例模式的几种不同的实现方法)或者让你说一下某个常见的设计模式在你的项目中是如何使用的,另外面试官还有可能问你抽象工厂和工厂方法模式的区别、工厂模式的思想这样的问题。
建议把代理模式、观察者模式、(抽象)工厂模式好好看一下,这三个设计模式也很重要。
JAVA 并发知识库
说一说自己对于 synchronized 关键字的了解
说说自己是怎么使用 synchronized 关键字,在项目中用到了吗?
讲一下 synchronized 关键字的底层原理
说说 JDK1.6 之后的 synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗?
谈谈 synchronized 和 ReenTrantLock 的区别
说说 synchronized 关键字和 volatile 关键字的区别
为什么要用线程池?
实现 Runnable 接口和 Callable 接口的区别
执行 execute()方法和 submit()方法的区别是什么呢?
如何创建线程池
介绍一下 Atomic 原子类
JUC 包中的原子类是哪 4 类?
讲讲 AtomicInteger 的使用
能不能给我简单介绍一下 AtomicInteger 类的原理
AQS
最后,由于头条的篇幅有限,所以这些面试题都没有将答案呈现出来,这些知识点都收集在我自己的这一份 Java 核心知识点整理与面试的 PDF 上面了,需要获取的小伙伴可以直接转发+关注后私信(学习)即可获取哦