首页编程java编程java基础面试 java面试问题

java基础面试 java面试问题

编程之家2026-06-051010次浏览

各位老铁们,大家好,今天由我来为大家分享java基础面试,以及java面试问题的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

java基础面试 java面试问题

java基础面试题有哪些

下面是10道java基础面试题,后附答案

1.什么是 Java虚拟机?为什么 Java被称作是“平台无关的编程语言”?

Java虚拟机是一个可以执行 Java字节码的虚拟机进程。Java源文件被编译成能被 Java虚拟机执行的字节码文件。

Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

2.“static”关键字是什么意思?Java中是否可以覆盖(override)一个 private或者是static的方法?

“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。

java基础面试 java面试问题

Java中 static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。

3.JDK和 JRE的区别是什么?

Java运行时环境(JRE)是将要执行 Java程序的 Java虚拟机。它同时也包含了执行 applet需要的浏览器插件。Java开发工具包(JDK)是完整的 Java软件开发包,包含了 JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行 Java应用程序。

4.是否可以在 static环境中访问非 static变量?

static变量在 Java中是属于类的,它在所有的实例中的值是一样的。当类被 Java虚拟机载入的时候,会对 static变量进行初始化。如果你的代码尝试不用实例来访问非 static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

5.Java支持的数据类型有哪些?什么是自动拆装箱?

java基础面试 java面试问题

Java语言支持的 8中基本数据类型是:

byte

short

int

long

float

double

boolean

char

自动装箱是 Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把 int转化成 Integer,double转化成 double,等等。反之就是自动拆箱。

6.Java支持多继承么?

不支持,Java不支持多继承。每个类都只能继承一个类,但是可以实现多个接口。

7.Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数。

Java中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。

Java不支持像 C++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java不会创建默认的复制构造函数。

8.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。

9.接口和抽象类的区别是什么?

Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:

接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

类可以实现很多个接口,但是只能继承一个抽象类

类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

抽象类可以在不提供接口方法实现的情况下实现接口。

Java接口中声明的变量默认都是 final的。抽象类可以包含非 final的变量。

Java接口中的成员函数默认是 public的。抽象类的成员函数可以是 private, protected或者是 public。

接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含 main方法的话是可以被调用的。

10.什么是值传递和引用传递?

对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。

对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。

最后祝你面试顺利!

Java基础面试题都有哪些

一般面试官都会让面试者回答哪些Java基础面试题啊?难不难啊?针对这一系列的疑问,广州增城Java培训学校收集了部分Java基础面试题与大家分享,希望对各位参加了广州专业Java培训的学生,有一定的帮助!一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作:写一个方法,实现字符串的反转,如:输入abc,输出cba写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换如何将数值型字符转换为数字(Integer,Double)如何将数字转换为字符如何取小数点前两位,并四舍五入。 4.日期和时间如何取得年月日,小时分秒如何取得从1970年到现在的毫秒数如何获取某个日期是当月的最后一天如何格式化日期 5.数组和集合 6.文件和目录(I/O)操作如何列出某个目录下的所有文件如何列出某个目录下的所有子目录判断一个文件或目录是否存在如何读写文件 7.Java多态的实现(继承、重载、覆盖) 8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因:二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(<>&“”) 3.在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。 4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 5.列出Jsp中包含外部文件的方式,两者有何区别。 6.说明Jsp中errorPage的作用,应用范围。 7.介绍在Jsp中如何使用JavaBeans。 8.简单介绍JSP的标记库 9.Jsp和Servlet中的请求转发分别如何实现。三、J2EE相关知识 1.介绍J2EE、J2SE、J2SE的区别。 2.J2EE是一种技术还是一种平台,他提供了那些技术。 3.什么是Application Server,它有什么功能和优点。 4.简单介绍连接池的优点和原理。 5.Web.xml的作用四、其他 1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑) 2.简单介绍您所了解的MVC。 3.简单介绍所了解的XML。 4.文档和编码规范 5.Java中的分页、效率考虑。 6.简单介绍您所了解的structs。 Java面试题收藏: 1.xml在项目中的作用 2.s-EJB与 e-EJB的区别 3.会话面的作用 4.cmp与bmp的优缺点 5.j2me程序的必需的几个部分 6.c/s与b/s的区别 7.构建一个connect pool然后再调用它, 8.j2ee平台与dotnet平台的区别 9.ejb的life cycle 10.session bean和 entity bean的区别 11.ejb中的transaction机制 12.synchronized(生产者和消费) 13.String和 StringBuffer 14.Serializable 15.MVC(Struts的工作流程) 16.什么是MDA 17.tcp与udp的区别 18.链表与散列表和数组的区别 19.堆和栈的区别 20.ejb的分类及区别 21.你对现在软件业以及国内软件业的看法 22.谈谈java多线程 23.谈谈文件加密技术 24.软件开发生命周期 25.路由协议种类及特点 26.java的awt和swing组件的GUI设计的关键 27.对于java流的认识 28.简单描述一下awt与swing区别。 29.简述java编程中事件处理模式。 30.你编写过applet吗?applet的安全权限如何?试列举java application或者applet中与servlet/jsp通信可以采用的方式。 31.简述逻辑操作(如&|)与条件操作(如&&||)的区别。

java面试要注意什么

这些年面试了各种水平不一的Java开发程序员,现在就是感觉现在做Java开发的人,内心过于浮躁,大部分的人都是急于求成,或许现在这个时代就是这个样子,每一个人都想要用最少的付出,得到最快的回报。尤其是现在的90后!技术一般,要求还很高。

其实很多刚想要入职的人,根据不懂的面试是什么,至于面试技巧之类的,更是一无所知,所以就导致面试受到了严重的打击,甚至有的人就放弃了。所以我从这篇文章中,想要总结一些面试技巧和一些坑,做好准备才能面试成功。

我是咋面试Java的?

一、简历

找工作无非就是两个步骤,首先是简历,其次是面试。先说简历的问题,一般情况公司肯定是从简历高的从上往下进行选择,因为学历其实本身就是代表了能力。但不是说学历代表了一切。在我们不了解面试者的实际情况下,我们只能从上往下面进行选择。无论是hr还是我们做技术的,都有自己的一个标准,所以你首先是简历要写的让别人映入眼帘。而不同职能的人捞简历的方式也千差万别。

我选择简历的角度有自己的看法,当然,不同的面试官有不同的选择。

1.我看简历中所提的技术需求是否满足我的要求,我看重简历中他善于的技术,如果一点技术词汇没有提到,那么这个人有以下几种可能:

NO.1很水

NO.2很牛但是概率很小

NO.3不会写简历

在第一关中,很多人会因为简历不行,所以丧失了面试的机会。

大家肯定会问,我应该怎么在简历中体现自己的实力呢?

你现在面试个公司,他们的主要技术是SSM技术的工程师,你的简历里面只有 SSM这个名词是不够的,最好能体现出 SSM的生态来以及你对于SSM的理解。

二、个人介绍

如果简历通过了筛选,下面就是见真章的时候了,面试环节。首先一定要准备好一段5分钟的个人介绍。

遇见过这样的面试者,个人介绍说不完,废话太多,别人听的很烦,从高中时代说起,然而面试官并没有那么多的耐心和时间。这样会留下不太好的初次印象。正确的做法是:

言简意赅的说明自己的工作时间,擅长技术栈和自己的工作预期。

三、技术名词

我是通过技术名词来筛选简历,这就成为了我面试的重点部分。简历都是技术名词也是一把双刃剑:

1.不写技术名词,简历不容易通过;

2.写上,需要充分的准备,否则你的技术能力可能会面试失败;

四、询问项目的深度

项目经验是面试中“最”重要环节,要对于面试者有全面的认识,我会用很多时间去询问面试者做过的项目。

不会有人只有一个项目,我的问题就变成了:看出来你做过不少项目,有没有哪个项目是你做的最好,你可以拿出来说一说。

如果大家对于学习Java有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我,这是我的Java交流学习扣扣qun:前面是六一五,中间是七四一,后面是六三六。多多交流问题,互帮互助,qun里有不错的学习教程和开发工具。

当面试者讲自己项目的同时,作为面试官,有几件事情需要确定:1.首先要确定项目是否是自己做的,即确定项目的真实性;

举个例子:你的项目是 SSM搭建的,是否可以告知搭建项目的过程和需要注意的地方是什么吗?

这时候有人就懵逼了,什么都说不出来。

细问之下,告诉我项目是其他同事搭建的,自己只负责开发业务。

2.项目的缺陷

架构项目的时,想太多会过度设计,想的少会出现业务增长而造成的种种问题。企业在探索某个技术领域的最佳实践,其实并没有行业通用标准,只是思想可以借鉴罢了。

不过,经验丰富的话,还可以不断重构,确实可以修复项目的缺陷。所以呢?我的问题来了:在项目中碰到过一些问题,你是如何解决的?

这是考察你实际处理问题的能力,还有你这个人是否会独立思考,是否有脑子在运转,这个真正的个人能力。

3.项目的深度

项目做到一定规模后,想要得到更大的提升,一定会去深挖原理。

项目深度的考察其实比较难,总会有一些行业通用问题需要去解决,这也就是 BAT,TMD这些公司经常会去制定一些行业标准,开源一些技术方案的原因。

当然,很多公司还是达不到这个层次,所以项目深度也是因人而异,并没有通用标准。

所以考察方向就成了对这个项目的持续开发,垂直领域以及深度思考。

五、程序基础,手写代码,算法

如果面试要求手写代码的面试官是不是都很傻叉?

当然不是,我们通过写代码就可以看出一个人的编程功底和编程思想。我们很多时候都在阅读别人的代码,所以能迅速的看出你代码问题的人,在我看来,能力是在你之上的。

六、是否热爱技术

一句话,即使你没有那么热爱技术,你也要表现的很热爱技术。

七、个人职业规划

最开始,我认为所谓的个人规划其实就是空谈,一切不切实际的东西。但是当接触的人多了,我慢慢发现。有职业规划的人和没有职业规划的人真的不一样。我会发现有些人之后的几年毫无进展,完全是在混资历,技术一塌糊涂。

为什么会有这种现象,我猜测大概有如下几点原因:1.没有个人规划,走哪算哪,混日子型;

2.忙于管理,疏于技术;

3.长期在一个岗位,做着千篇一律的事情,永远在写CRUD;

八、面试者反馈

面试接近尾声的时候,作为尊重,这时候我都会去问这样一个问题:大概情况我都了解了,有没有你觉得自己擅长而又没被问到的东西?

每个人都会有自己的思维,甚至是偏见,所以面试的时候一定要去得到面试者的互动和反馈,从而映证自己的观点。报着一个人才都不放过的心态,去全方位了解面试者。

九、你有什么问题想问我?

面试官一定要放低姿态,不要一副高高在上的样子,尤其是做技术的。如果觉得面试者稍微有些紧张,可以先聊点其他,如:所学专业,住在哪里,上下班时间之类无关痛痒的问题,缓解一下紧张气氛。

至于最后一个问题为什么要问:你有什么问题想问我?有以下几点理由:

1.确定面试反馈;

2.给面试者一个沟通的机会;

3.看看面试者对应试部门的了解或者是对公司的兴趣;

好了,文章到此结束,希望可以帮助到大家。

基尔加丹(基尔加丹图片)dnf什么职业好玩,dnf十大最耐玩职业