写点什么

面试处处碰壁?不慌,Java 核心面试文档.PDF 助你披荆斩棘

作者:钟奕礼
  • 2022-11-28
    湖南
  • 本文字数:1800 字

    阅读完需:约 6 分钟

前言

首先强调几点:

1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的;

2. 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试 之前好好回顾一下自己所做的项目;

2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;

3. 注意自己开源的 Github 项目,面试官可能会挖你的 Github 项目提问;

4. 建议提前了解一下自己想要面试的公司的价值观,判断一下自己究竟是否适合这个公司。

另外,我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

接下来进入正题

不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个“有章可循”说的意思只是说应对技术面试是可以提前准备。

“80%的 offffer 掌握在 20%的人手中” 这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offffer。运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。

笔主能力有限,如果有不对的地方或者和你想法不同的地方,敬请雅正、不舍赐教。

Spring

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 内存区域


JVM 运行时内存


垃圾回收与算法


关于 Java 虚拟机,在面试的时候一般会问的大多就是①Java 内存区域、②虚拟机垃圾算法、③虚拟机垃圾收集器、④JVM 内存管理、⑤JVM 调优这些问题了。

设计模式

设计模式比较常见的就是让你手写一个单例模式(注意单例模式的几种不同的实现方法)或者让你说一下某个常见的设计模式在你的项目中是如何使用的,另外面试官还有可能问你抽象工厂和工厂方法模式的区别、工厂模式的思想这样的问题。

建议把代理模式、观察者模式、(抽象)工厂模式好好看一下,这三个设计模式也很重要。

JAVA 多线程并发

JAVA 并发知识库


  • 说一说自己对于 synchronized 关键字的了解

  • 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗?

  • 讲一下 synchronized 关键字的底层原理

  • 说说 JDK1.6 之后的 synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗?

  • 谈谈 synchronized 和 ReenTrantLock 的区别

  • 说说 synchronized 关键字和 volatile 关键字的区别

  • 为什么要用线程池?

  • 实现 Runnable 接口和 Callable 接口的区别

  • 执行 execute()方法和 submit()方法的区别是什么呢?

  • 如何创建线程池

  • 介绍一下 Atomic 原子类

  • JUC 包中的原子类是哪 4 类?

  • 讲讲 AtomicInteger 的使用

  • 能不能给我简单介绍一下 AtomicInteger 类的原理

  • AQS

最后,由于头条的篇幅有限,所以这些面试题都没有将答案呈现出来,这些知识点都收集在我自己的这一份 Java 核心知识点整理与面试的 PDF 上面了,资料已整理成文档,免费获取,需要的小伙伴可以+ VX: mxk6072



用户头像

钟奕礼

关注

还未添加个人签名 2021-03-24 加入

还未添加个人简介

评论

发布
暂无评论
面试处处碰壁?不慌,Java核心面试文档.PDF助你披荆斩棘_Java_钟奕礼_InfoQ写作社区