我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java实习生面试题(含答案)

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java实习生面试题(含答案)

1.Java容器框架有哪些?

Java容器框架中有两个名称分别为Collection和Set的接口

2.list,map,set,array,它们有什么区别 (推荐学习:java实习生面试题)

List接口主要有三个实现类:LinkedList,ArrayList,Vector.

LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址

ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低。

1)Set接口主要有两个实现类:HashSet(底层由HashMap实现)和LinkedHashSet

2)Map接口主要实现类:HashMap,HashTable和LinkedHashMap

HashMap非线程安全,高效,支持NULL;HashTable线程安全,低效,不支持NULL

Array:数组,可以存储对象和基本数据类型,长度固定。

List:元素有序,可重复.

Set:元素无序,不重复,无索引。

Map:双列集合,用于存放键值对。键值是唯一的,不可重复。

3.collection与collections有什么不同

a.javutil.Collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。

b.java.util.Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。

4.string,stringbuilder,stringbuffer有什么区别

程序中用到的字符串可以分为两大类:一类是创建之后不会再做修改和变动的字符串变量;另一种是创建之后允许再做修改的字符串变量。

对于前一种字符串变量,由于程序中经常需要对它做比较、搜索之类的操作,所以通常把它放在一个具有一定名称的对象之中,由于程序完成对该对象的上述操作,在Java程序中存放这种字符串变量是String类变量;

对于后一种字符串变量,由于程序中经常需要对它做添加、插入、修改之类的操作,所以这种字符串变量一般都存放在StringBuilder类的对象之中。

String 字符串变量 ,

StringBuffer字符串变量(线程安全),

StringBuilder字符串变量(非线程安全)

5.==与equals有什么区别

程序中比较两个字符时,使用关系运算符”==”,而比较两个字符串时,则需使用equals()方法。

6.&和&&的区别

&&是简洁运算符,&是非简洁运算符。简洁运算符(&&,||)与非简洁运算符(&,|)的区别在于:非简洁运算在必须计算完左右两个表达式之后,才取结果值;而简洁表达式可能只计算左边的表达式而不计算右边的表达式,即对于表达式&&,只要左边表达式为false,就不计算右边表达式,则整个表达式为false;对于||,只要左边表达式为true,就不计算右边表达式,则整个表达式为true.

7.程序,进程和线程的区别

1)程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。

2)进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个程序从创建、运行到消亡的过程。简单地说,一个进程就是一个执行中地程序,它在计算机中一个指令接着一个指令地执行,同时,每个进程还占有某些系统资源,如CPU时间、内存空间、文件、输入输出设备地使用权等等。

3)线程:其实与进程相似,也是一个执行中地程序,但是线程是一个比进程更小地执行单位。一个进程在执行过程中可以产生多个线程,形成多条执行执行路径。但是与进程不同的是,同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换的工作时,负担要比进程小得多,也正因为如此,也正因为如此,线程也被称为轻量级进程。

8.线程有哪几种状态?

新建状态、就绪状态、运行状态、阻塞状态、消亡状态这五种状态

9.线程的互斥与同步的区别

互斥是指两个或多个线程不能同时运行,而同步则是两个或多个线程的运行有先后次序的约束。

10.线程的同步与共享数据的区别?

共享是指线程之间对内存数据的共享,因为线程共同拥有对内存空间中数据的处理权力,这样会导致因为多个线程同时处理数据而使数据出现不一致,所以提出同步解决此问题,即同步是在共享的基础上,是针对多个线程共享会导致数据不一致而提出来的。

同步指的是处理数据的线程不能处理其他线程当前还没处理完的数据,但是可以处理其他数据。

11.线程同步与异步区别

线程同步是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低;线程同步:访问资源时在空闲等待时同时访问其他资源,实现多线程机制。

12.Java中四舍五入有哪些方法?

Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:

ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;

floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;

最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果-11.

Math.round( )符合这样的规律:小数点后大于5全部加,等于5正数加,小于5全不加。

13.MVC分别指的是什么?

M - model 模型层,通常我们写的类放在模型层

V - View 是视图层 ,一般就说 jsp页面

C - control 控制层,包括action,service,dao,处理相关业务逻辑

14.类与对象的区别?

类是对某一类事物的描述,是抽象的、概念上的定义;而对象则是实际存在的属该类事物的具体的个体,因而也称是实例。

15.Final的用法?

a.将一个类声明为最终类即非继承类,表示它不能其他类所继承。

b.最终修饰符。指定此变量的值不能改变。

c.最终修饰符。指定该方法不能被重载。

Abstact的用法

a.将一个类声明为抽象类,没有实现方法,需要子类提供方法的实现,所以不能创建该类的实例。

b.抽象修饰符。指定该方法只声明方法头,而没有方法体,抽象方法需在子类中被实现。

Static的用法

a.静态修饰符。指定该变量被所有对象共享,即所有的实例都可使用该变量。

b.最终修饰符。指定不需要实例化一个对象就可以调用的方法。

16.成员变量和局部变量的区别

类中定义的变量是成员变量,而方法中定义的变量是局部变量。

区别:

a.从语法形式上看,成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public、private、static等修饰符修饰,而局部变量则不能被访问控制修饰符及static所修饰;成员变量和局部变量都可以被final所修饰。

b.从变量在内存中的存储方式上看,成员变量是对象的一部分,而对象是存在于堆内存的,而局部变量是存在于栈内存的。

c.从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而产生,随着方法调用的结果而自动消失。

d.成员变量如果没有被赋初值,则会自动以类型的默认值赋值(有一种情况例外,被final修饰但没有被static修饰的成员变量必须显式地赋值);而局部变量则不会自动赋值,必须显式地赋值后才能使用。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java实习生面试题(含答案)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java实习生面试题(含答案)

1.Java容器框架有哪些?Java容器框架中有两个名称分别为Collection和Set的接口2.list,map,set,array,它们有什么区别 (推荐学习:java实习生面试题)List接口主要有三个实现类:Link
java实习生面试题(含答案)
2016-12-25

java常见面试题目(含答案)

如何用数组实现队列?用数组实现队列时要注意 溢出 现象,这时我们可以采用循环数组的方式来解决,即将数组收尾相接。使用front指针指向队列首位,tail指针指向队列末位。 (推荐学习:java常见面试题)内部类访问局部变量的时候,为什么变量必须加上final
java常见面试题目(含答案)
2021-07-19

java智慧流面试笔试题大全含答案

1 下列关于栈的描述错误的是(B)A. 栈是先进后出的线性表 (推荐学习:java程序员面试题)B. 栈只能顺序存储C. 栈具有记忆功能D.对栈的插入和删除操作中,不需要改变栈底指针2 对于长度为 n 的线性表,在最坏的情况下,下列个排序法所对应
java智慧流面试笔试题大全含答案
2020-01-27

超全面的SpringBoot面试题含答案

这篇文章主要收录了44道面试中经常被问的SpringBoot问题,不管你是正在求职的新手还是已经工作很久的高手,这篇关于SpringBoot的面试题总结一定会让你有新的理解,让我们一起来看看吧
2023-03-23

2023 Java 面试题精选40道,包含答案

Java中什么是重载?什么是覆盖?它们有什么区别? 重载是指在同一个类中,方法名相同但参数类型、个数或顺序不同的情况下,编译器会根据参数列表的不同自动调用不同的方法。覆盖是指子类重写父类的同名方法,使得子类在调用该方法时执行子类的实现而不是
2023-08-16

java笔试手写算法面试题大全含答案

1.统计一篇英文文章单词个数。public class WordCounting { public static void main(String[] args) { try(FileReader fr = new FileReader("
java笔试手写算法面试题大全含答案
2017-08-02

【2022最新Java面试宝典】—— SpringCloud面试题(49道含答案)

目录 Spring Cloud1. 什么是微服务架构2. 为什么需要学习Spring Cloud3. Spring Cloud 是什么4. SpringCloud的优缺点5. SpringBoot和SpringCloud的区别?6.
2023-08-18

java多线程面试题选择题大全含答案

1.下面程序的运行结果()(选择一项)public static void main(String[] args) { Thread t=new Thread(){ public void run(){ pong();
java多线程面试题选择题大全含答案
2015-06-10

【2022最新Java面试宝典】—— SpringBoot面试题(44道含答案)

目录 1. 什么是 Spring Boot?2. 为什么要用SpringBoot3. SpringBoot与SpringCloud 区别4. Spring Boot 有哪些优点?5. Spring Boot 的核心注解是哪个?它主要
2023-08-17

技术面试题分享:含答案的10道Jvm面试专题

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行
2023-06-02

java gc 面试题及答案(1~5题)

1、既然有GC机制,为什么还会有内存泄露的情况?理论上Java因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是Java被广泛使用于服务器端编程的一个重要原因)。然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,因此也会导致内存泄露的发
java gc 面试题及答案(1~5题)
2018-12-27

Java中高级面试题(附答案)

1、redis如何跟本地数据同步?程序实现mysql更新、添加、删除就会同步操作redis程序查询redis,不存在就查询mysql,自动保存redis2、redis几种数据结构?set、list、hash、string、zset3、java内存溢出是如何造成
Java中高级面试题(附答案)
2018-05-12

java经典笔试题大全(50道含答案)

java经典笔试题大全(50道含答案) 整理了一套常用的Java笔试题,选择题50道,简答题5道,试试你能做对多少题吧,含答案。 选择题(共50题,每题1.5分,共75分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征
2023-08-17

经典java面试题_实习生必问!

经典java面试题_实习生必问!第一,谈谈final, finally, finalize的区别。final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明
经典java面试题_实习生必问!
2020-03-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录