4.1.1 银行技术面---编程语言类(Java基础)
本文章将收录在专栏《手把手带你破解银行科技岗面试》,如果你对银行科技岗(研发中心、数据中心、软开中心、金融科技岗、科技人才岗)感兴趣,欢迎点击此处订阅本专栏。本专栏将手把手带你破解银行科技岗面试,学习本专栏至少可以让你知道:
- 我到底能报考哪些银行里的哪些机构?
- 我到底是否能达到这些岗位的招聘要求?
- 我到底如何提前准备这些岗位的招聘面试?
根据我的经验,目前国内大多数银行的后端研发岗的技术栈都是Java那一套,一般上提问也是围绕着Java后端研发那一套展开(也会根据你的简历调整问题),这篇文章主要记录了我收集的银行技术面中问到的Java相关的问题,有问题也有我自己总结的答案,请大家参考。
为了便于分类记忆,我将这些问题分了如下几个目录:
- Java 基础
- Java 集合
- Java 并发
- Java JVM
限于篇幅,分多篇文章更新,本文更新Java语言基础相关的内容。
一、问题列表(持续更新)
我将面试收集到的高频Java基础相关的问题给放在了这里,大家可以查漏补缺
- jdk、jre、jvm的区别
- 讲一讲 hashcode 和 equals
- 讲讲 final 关键字的作用,抽象类可以被final修饰么
- 讲下Java有哪几种基础类型
- 说一说String、StringBuilder、StringBuffer的区别
- 接口和抽象类有什么区别?
- 描述一下面向对象的三大特性(常问!)
- 自动装箱和自动拆箱是什么意思?
- 如何理解反射机制?
二、答案参考
2.1 jdk、jre、jvm的区别
我在初学Java的时候,一直对这三个概念模糊不清,这里就一次性把这个问题讲明白。
- jdk:是java开发工具包,是Sun公司针对java开发人员的产品,jdk中包含jre,在jdk的安装目录下有一个jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里面就是jvm,lib中是java工作需要的类库,而java和lib合起来就称为jre。是java开发工具包,是Sun公司针对java开发人员的产品,jdk中包含jre,在jdk的安装目录下有一个jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里面就是jvm,lib中是java工作需要的类库,而java和lib合起来就称为jre。JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
- jre:是运行基于java语言编写的程序所不可缺少的运行环境,也是通过它,java的开发者才可以将自己开发的程序发布到用户手中,让用户使用,与大家熟悉的jdk不同,jre是运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器,调试器)等,知识针对使用java程序的用户JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。 (jre里有运行.class的java.exe)
- jvm:就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序首先被编译为.class文件,这种类文件可以在虚拟机上运行,也就是说class并不直接与机器的操作系统相对应。而是经过虚拟机间接的与操作系统交互,由虚拟机将程序解释给本地系统执行,只有jvm还不能将class执行,因为在解释class的时候jvm需要调用解释所需要的类库lib,而jre包含lib类库,jvm屏蔽了具体操作系统平台的相关信息,使得java程序只需要生成在java虚拟机上运行的目标代码。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
手把手带你破解银行科技岗面试 文章被收录于专栏
本专栏主要介绍银行科技岗的面试技巧和经验,涵盖了银行科技岗可能遇到的所有面试形式。可以帮助你识别面试套路,教你如何根据自身情况提前准备好专属于自己的“面试套话、满分话术”,把面试难度降维,从而提升面试能力、改善面试效果。 如果你对总行管培岗、直属研发中心、直属数据中心、省分行科技专项人才岗感兴趣,欢迎订阅本专栏,本专栏会手把手教你如何破解面试难题,拿到心仪的offer。