关键词:
JAVASE经典面试问题(必须熟背)
1. 编译java程序使用什么命令?运行java使用什么命令?
javac *.java
java 类名
2. 什么是JDK,什么是JRE,JDK与JRE有什么区别?
JDK:Java Development Toolkit Java开发工具包
JRE:Java Runtime Enviorment Java运行时环境
区别:开发JAVA程序必须安装JDK,运行JAVA程序必须安装JRE。
3. 为什么说JAVA语言的跨平台的?JAVA虚拟机JVM是跨平台的吗?
因为JAVA程序编译后生成的「字节码文件」(class文件)是跨平台的。JVM不是跨平台,在不同的操作系统上开发JAVA程序,必须安装该操作系统版本的JVM。
4. Java当中如何跳出多重循环?
使用break label;
在java中,使用break可以跳出循环,默认情况下是跳出最里层的循环,假如我们要跳出多层循环怎么办呢,Java替我们已经做好了这一点,就是用「循环标签」 :即是对某个循环定义一个名字,然后在 break 后面加上这个名字,当符合 break 条件时,程序就会跳到规定的循环那。下面来一个例子吧,说明下这个问题。
public static void main(String[] args){
lableB:
for(int i=0;i<3;i++){
lableA:
for(int j=0;j<3;j++){
System.out.println(j);
if(j==1){
break lableB;
}
}
}
System.out.println("over!");
}
标签名的命名方法是:java命名规则 和 半角冒号: , 比如:lableA:
lableB标签的定义需要在使用break lableB语句之前定义。
break只跳出当前for循环
return是结束当前方法的执行
continue是终止当前循环语句的执行,继续下一条循环语句
5. JAVA的数据类型分为哪几类?
基本数据类型和引用数据类型
6. String/StringBuffer/StringBuilder的区别是什么?
String:不可变
StringBuffer:可变,并且线程安全,效率差。
StringBuilder:可变,线程不安全,效率高
7. 面向对象的三大特征是什么?
封装、继承、多态
8. Java实现多态性的机制是什么?
有继承
有方法重写
父类引用指向子类对象
9. 什么是方法重载?什么是方法重写?方法重载与方法重写的区别?
方法重载(Overload):是指方法名字相同,参数的个数、类型、次序不同。
方法重写(Override/Overwrite):是指子类重写了从父类继承过来的方法。
区别:
方法重载没有继承、属于一种静态联编技术。
方法重写有继承、属于动态联编技术。
10. 什么是抽象类?什么是接口?抽象类与接口的区别?
声明为abstract的类是抽象类,抽象类不能实例化。
接口也是种特殊的抽象类,接口里的属性都是public static final类型的。接口里的方法都是public abstract 类型的。
区别一:
相同点:接口和抽象类都不能实例化对象,都只能实例化它们的子类。
不同点:接口是用来实现的、抽象类是用来继承的。接口适合描述XXX has a XXX的关系,侧重于事物的功能。抽象类适合描述 XXX is a XXX的关系,侧重于事物的本质。
区别二:
抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
11. 分析List/Set/Map这三种集合类型的异同点。
不同点:
List:序列,有顺序,可重复
Set:集合、无顺序,不可重复
Map:键值对,适合用作索引。
相同点:都是集合类型。
12. 什么是进程?什么是线程?进程与线程的区别有哪些?
进程是正在运行当中的程序,是操作系统最小的调度单位。
线程是进程不同的执行线路,从进程中派生。是CPU最小的调度单位。
13. JAVA创建线程类有哪几种方法?
两种方式:继承Thread类、实现Runnable接口
14. 什么是泛型?使用泛型有什么好处?
泛型是约束集合的各种数据类型的一种机制。使用泛型的好处是规定集合里存放的数据类型,提高使用集合的安全性和健壮性、方便集合遍历。
15. ==与equals究竟有什么区别?
==:判断两个对象是否相等
equals:判断两个对象的内容是否相等。
16. Integer与int有什么区别?
Integer:是int类型的封装类型,是引用类型,指向一个对象。在堆内存中分配空间。
int:是基本数据类型,不创建对象。在栈内存中分配空间
17. final,finally,finalize的区别?
final:是一种修饰符,可以用来修饰对象、方法和类。
finally:通常try{} catch(){}finally{};使用。finally语句块里的代码无论是否抛出异常,一定会被执行。
finalize:是Object类的一个方法,销毁一个对象前会默认调用这个对象的finalize()方法。
18. error和exception的区别?
error:错误,无需捕获。
exception:异常,必须捕获。
19. String s = “a”+”b”+”c”+”d”;一共创建了几个对象?
赋值号的右边都是字符串常量,编译阶段直接解析为”abcd”,所以创建了一个对象。
20.Java多线程中的sleep()与wait()有什么区别?
sleep():表示让当前线程休眠多少毫秒,不会放弃CPU的使用权利,更不会释放对象的锁。
wait():表示当前线程进入阻塞状态,会放弃CPU的使用权利,也会立刻释放对象的锁。直到notify()方法把该线程唤醒。
c#经典面试题——递归运算(代码片段)
今天开始写递归,然而始终不得甚解。借鉴别人的理解:假设我们现在都不知道什么是递归,我们自然想到打开浏览器,输入到谷歌的网页,我们点击搜索递归,然后我们在为维基百科中了解到了递归的基本定义,在了解到了递... 查看详情
面试经典问题及答案
参考技术A面试经典问题及答案5篇面试过程中,面试官会向应聘者提问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。你知道面试的经典问题有哪些吗?下面我给大家带来面试经典问题及答案,希望大家能够喜欢。面... 查看详情
前端面试套餐:vue面试题总结+javascript前端经典面试题+100道css面试题
前言在逛技术网站时,在一篇文章下面看到了一条评论,这条评论仁者见仁智者见智。我单独放出来说,是因为他讲到了基础。基础是重要的一个学习环节,在面试中很多问题都不难,都是基础上内容,回... 查看详情
get和post区别,面试中经典答法
GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。 GET请求... 查看详情
测试人必须get的测试类型,拿走吧...
前言前一段时间面试被提问到“你在测试过程中使用到了哪几种类型的测试?”。我犹豫了一下还是回答了出来,顺利拿到了offer。回去之后我整理了一份完整的测试类型汇总。通过不同的维度划分测试类型。如下图... 查看详情
测试人必须get的测试类型,拿走吧...
前言前一段时间面试被提问到“你在测试过程中使用到了哪几种类型的测试?”。我犹豫了一下还是回答了出来,顺利拿到了offer。回去之后我整理了一份完整的测试类型汇总。通过不同的维度划分测试类型。如下图... 查看详情
javase面试题:单例设计模式(代码片段)
JavaSE面试题:单例设计模式编程题:写一个Singleton示例什么是Singleton?Singleton:在Java中指单例设计模式。单例模式:即某个类在整个系统中只有一个实例对象可被获取和使用的代码模式。例如:代表JVM运行环境的Runtime类要点单例... 查看详情
面试过程中如何回答面试官的问题,才能让你顺利拿到offer?冰河想以经典的事务问题对你说这些!!(建议收藏)
大家好,我是冰河~~相信大部分小伙伴在面试过程中,只会针对面试官提出的表面问题来进行回答。其实不然,面试官问的每一个问题都是经过深思熟虑的,面试的时间相对来说也是短暂的,面试官不可能在很... 查看详情
10个经典的java集合面试题,看你能否答得上来?
来源:龚雪http://dwz.win/B27这里有10个经典的Java面试题,也为大家列出了答案。这是Java开发人员面试经常容易遇到的问题,相信你了解和掌握之后一定会有所提高。让我们一起来看看吧。1.Java的HashMap是如何工作的?HashMap是一个针... 查看详情
0-26个面试经典问题回答
面试技巧:26个面试经典问题回答1、请你自我介绍一下自己好吗??回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最... 查看详情
javase8基础经典二分查找问题折半查找
question: code:publicclassSolution{/***@paramnums:Anintegerarraysortedinascendingorder*@paramtarget:Aninteger*@returnaninteger*/publicintfindPosition(int[]nums,inttarget){//Writeyourcodeher 查看详情
面试经典系列七:给你一个web项目,应该如何测试
各位小伙伴们,有没有这样的经历,出去面试时候经常会被面试官问到一个问题:给你一个web项目,你应该怎么测试?如何回答这个问题呢,今天的文章就教小伙伴们回答的思路,注意,这只是个... 查看详情
测试人必须get的测试类型!拿走吧(代码片段)
前言前一段时间面试被提问到“你在测试过程中使用到了哪几种类型的测试?”。我犹豫了一下还是回答了出来,顺利拿到了offer。回去之后我整理了一份完整的测试类型汇总。通过不同的维度划分测试类型。如下图... 查看详情
javase基础面试总结(代码片段)
...异常处理自定义异常切勿背死知识这些都是必须知道并且面试中常问到一些问题,我们在学习的时候不能死记硬背,我们更应该去融会贯通,在我们自己所做的项目中,哪里用到了这些知识,当面试官问到的... 查看详情
经典好文--如何保证缓存和数据库的双写一致性
面试题如何保证缓存与数据库的双写一致性?面试官心理分析你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析一般来说,如果允... 查看详情
求职充电|这些实战干货你get了吗?
金三银四,又到了每年的求职热潮。但是,在面试之前,这些技能你get了吗?数据库案例经验、Python编程上手、网络设计方案、运维技巧攻略......现在,你只能站在前人的肩膀上,丰富自己的工作阅历。请接住,这个求职充电大... 查看详情
15个经典面试问题
参考技术A15个经典面试问题 15个经典面试问题,现在的面试流程都有着差不多一样的模式,在面试过程中少不了面试官对面试者提出一些面试问题,那么又有哪些问题能够称得上经典呢?本文内容为大家详细介绍更多的15个... 查看详情
嵌入式经典面试题及解析
嵌入式经典面试题及解析基础部分考察1、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#defineSECONDS_PER_YEAR(606024*365)UL考点01#define语法的基本知识(例如:不能以分号结束,括号的使用,等等)02懂得... 查看详情