当前位置:首页 > 文章 > 正文内容

JAVA初级工程师面试题

廖万里2年前 (2023-04-11)文章82225

Java基础面试20题

一. Java的八大基本数据类型

答:可以分4种类型:布尔类型(boolean),字符类型(char),浮点类型(doublefloat),整型(byteshortint, long)

 

二. String,StringBufferStringBuilder的区别?

string:是字符串常量,一旦创建就不能修改,对于已经创建的字符串如要改变就会重新创建再保存,string是定义final类型的,string不是数据类型,它是一个类。

stringbuffer:是一个字符串可变的的,对于已经创建的字符串修改是不会重新保存的,执行效率较慢,线程安全。

stringbuilder:也是字符串可变对象,同StringBuffer一样,可以对字符串进行操作,也不会新建对象。执行效率高效,但是线程不安全。

 

三. ArrayListLinkedList的有什么不一样?

1. ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。

2. 对于随机访问getsetArrayList觉得优于LinkedList,因为LinkedList要移动指针。

3.    对于新增和删除操作addremoveLinedList比较占优势,因为ArrayList要移动数据。

 

总结:新增和删除LinedList比较好,查找ArrayList比较好。

 

四. Java中的==equals有什么区别?

答:==比较的是2个对象的地址,而equals比较的是2个对象的内容。

 

五.面向对象的特征

答:继承,封装,多态。

 

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

接口是只能写方法。

实现接口,要重写它的方法

 

七.publicprivateprotecteddefault的区别

publicpublic表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。

privateprivate表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部classprotected就变成private

defaultjava的默认访问权限,当没有使用上面提到的任何访问限定词时,就使用它,这种权限通常被称为包访问权限,在这种权限下,类可以访问在同一个包中的其他类的成员,也即可以访问我们前面说的朋友,在包之外,这些成员如同指定了private

八.OverloadOverride的区别?

Override是重写:方法名称、参数个数,类型,顺序,返回值类型都是必须和父类方法一致的。它的关系是父子关系

Overload是重载:方法名称不变,其余的都是可以变更的。它的关系是同一个类,同一个方法名,不同的方法参数或返回值。

 

九.List Set Map的区别?

list是一个有序列表,允许重复元素,允许 null

Set是一个无序列表,不允许重复元素,元素的位置是由hashCode决定的,最多包含一个null

list set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合

map存储结构是没有顺序的,键不能重复,值可以重复,hashmap可以有一个null

 

十.JAVA 语言如何进行异常处理?

Java 的异常处理是通过 5 个关键词来实现的:trycatchthrowthrows finally

一般情况下是用 try 来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理;

try 用来指定一块预防所有异常的程序;

catch 子句紧跟在 try 块后面,用来指定你想要捕捉的异常的类型;

throw 语句用来明确地抛出一个异常

throws 用来标明一个成员函数可能抛出的各种异常

Finally 为确保一段代码不管发生什么异常都被执行一段代码;

十一. final, finally, finalize 的区别?

final  可以用来修饰类、方法、变量,final修饰的class代表不可以继承扩展,final的变量是不可以修改的,而final的方法也是不可以重写的(override)。

 

finally 则是Java保证重点代码一定要被执行的一种机制。我们可以使用try-finally或者try-catch-finally来进行类似关闭JDBC连接、保证unlock锁等动作。

 

finalize 是基础类java.lang.Object的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。finalize机制现在已经不推荐使用,并且在JDK 9开始被标记为deprecated

 

十二. jspservlet的区别?

1.    简单的来说Jsp就是含有Java代码的html, servlet是含有htmlJava代码;

2.    Jsp最终也是被解释为servlet并编译再执行,Jsp 不过是servlet的另一种编写方式;

3.    Jsp擅长表示,servlet 擅长数据处理,在MVC三层结构中,Jsp 负责V (视图)servlet 负责C (控制),各有优 势,各司其职;

十三. jsp页面中如何传递参数?

  1. 直接在URL请求后添加

  2. jsp: param

  3. 设置sessionrequest

十四. 什么是用例? 如何确定用例?

在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。

 

十五. .javascript 常用的方面?

答:常用于数据输入校验和页面特殊效果等。

 

十六. .常用的 web 容器和开发工具?

答:最常用的容器包括:tomcat;开发工具有:eclipseidea

 

十七. Web.Xml 的作用?

web.xml文件是用来初始化配置信息:比如Welcome页面、servletservlet-mappingfilterlistener、启动加载级别等。

当你的web工程没用到这些时,你可以不用web.xml文件来配置你的Application

 

十八. MyBatis中使用#$书写占位符有什么区别?

答:#将传入的数据都当成一个字符串,会对传入的数据自动加上引号;

将传入的数据直接显示生成在SQL中。注意:使用

占位符可能会导致SQL注射攻击,能用#的地方就不要使用,写orderby子句的时候应该用

而不是#

 

十九. #{}${}的区别是什么?

:   #{} 是预编译处理,${}是字符串替换。 

1. Mybatis处理#{}时,会将sql#{}转换为?,然后使用PreparedStatementset方法来赋值。

2. 使用#{}能有效的预防SQL注入,提高系统的安全性。

 

二十. MyBatis中的动态SQL是什么意思?

Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。

 

二一. JDBC连接数据库的步骤(这里说一下连接mysql数据库)

1、首先加载驱动2、提供JDBC连接的URL3、创建数据库的连接4、创建一个statement执行者5、执行SQL语句6、处理返回结果7、关闭JDBC对象

二二. 开启线程的3种⽅法

1,定义Thread类的⼦类,并重写该类的run()⽅法,该run()⽅法的⽅法体就代表了线程需要完成的任务。因此把run⽅法称为线程执⾏体。

2,创建Thread⼦类了的实例,即创建线程对象。本实例中是new⼀个ExtendThread,即可创建线程对象,也就是开启了⼀个线程。

3,调⽤线程对象的start()⽅法来启动该线程。

 

 

 

 

 

 

 

 

 

 


本文链接:https://www.kkkliao.cn/?id=274 转载需授权!

分享到:

添加博主微信共同交流探讨信息差网赚项目: 19528888767 , 请猛戳这里→点我添加

版权声明:本文由廖万里的博客发布,如需转载请注明出处。

“JAVA初级工程师面试题” 的相关文章

如何把备用手机号,改为移动便宜的8元套餐,不用去营业厅

如何把备用手机号,改为移动便宜的8元套餐,不用去营业厅

手机可以说是我们最常用的一个通讯工具,比如说我们这几年,可能会用过多部手机,也有多个手机号,但每个朋友可能都会有一台或者两台的备用机,里面只是保号使用,今天给大家分享技巧是如何把我们的备用手机号,设置为一个最低的一个保号套餐,这样的话就会少花冤枉钱,相信这个技巧呢,会对大家有很大的帮助,大家可以点赞...

6G专利申请量比拼:美国占比35.2%,日本占比9.9%,中国排第几?

6G专利申请量比拼:美国占比35.2%,日本占比9.9%,中国排第几?

5G对于现在的人们来说已经不是什么神秘的存在,很多国家通过近些年的研究都已经逐步掌握了5G技术。不过就5G技术发展的成熟度、设备完善程度以及信号铺设范围来说,我国都是当之无愧的世界第一。但是随着科技技术的不断发展,对于6G的技术研发也被提上日程。不少国家都开始攻克6G技术,并取得了各项专利。根据有关...

骁龙8和骁龙8+的日常体验,到底有多大差距?

骁龙8和骁龙8+的日常体验,到底有多大差距?

机哥写过一篇文章。主要呢,就是盘点了今年那些跳水比较严重的旗舰手机。像什么OPPO Find X5 Pro天玑版啊、小米12 Pro啊、一加10 Pro啊等等。相比起刚上市时定价,现在这些机型,普遍的降价幅度都超过了2000块。原本是卖5000多,现在却只卖3000多。。机哥当时发完文章,底下很大一...

步步高创始人段永平,高手有所为有所不为,35条深度思考值得收藏

步步高创始人段永平,高手有所为有所不为,35条深度思考值得收藏

段永平,一个注定在商业史无法被忽视的存在。段永平的经历可谓传奇。他是国内第一个拍下来股神巴菲特午餐的男人,那时候他还带上了现在拼多多的创始人黄铮。而这个一手创办了小霸王、步步高等著名企业,并与Vivo、OPPO、一加和拼多多有着千丝万缕联系的企业家,这位通过投资网易、腾讯和苹果而获利颇丰的投资者,也...

失窃iPhone最终归宿:一台被盗的手机,如何在华强北“焕发新生”

失窃iPhone最终归宿:一台被盗的手机,如何在华强北“焕发新生”

华强北,一个中国数码史上现象级的名词。这条中轴主干道南北长900多米的街区,造就了中国电子科技历史上的神话。但一个硬币有两面,如果说腾讯、TP-Link这样的成功企业代表了华强北向阳的一面,那么华强北的阴暗一面,就离不开两个词:组装机和山寨机。如今,在各大手机厂商物美价廉的新品联合绞杀之下,山寨机已...

2022年,微信收款出“新规”,余额会受到影响吗?个体商家要留心

2022年,微信收款出“新规”,余额会受到影响吗?个体商家要留心

当今社会市场经济发展,在近十年内,我们社会的支付方式也发生了翻天覆地的变化,近年来大家尤其是年轻人出门购物基本不带现金,使用微信,支付宝等扫一扫,付款码等功能便可以轻松完成支付,在近几年,我们在买东西时,看到几乎所有商家都将自己的收款码打印出来摆放在收银台,埋有许多配套的扫码工具。在这种支付方式的广...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。