2019年公司内部Java面试题

公司招实习生,内部面试题
这是最基础的 java 基础面试题,还有 SQL 方面,线程也会提及,
Redis、springcloud 是加分项

1. final, finally, finalize的区别?

final 用于声明属性,方法和类,分别表示属性不可改变,方法不可覆盖,类不可继承。
finally 是异常处理语句结构的一部分,表示总是执行。
finalize 是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例 如关闭文件等。

2. Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名内部类在实现时必须借助一个类或一个接口,若从这个层次上讲它是可以继承其他类也可以实现接口的,
但若是通过extends 或implements 关键字那是不可能的

3. Static Nested Class 和 Inner Class的不同 ?

最大的不同就在于是否有指向外部的引用

4. &和&&的区别 ?

&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;
但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止

5. HashMap和Hashtable的区别 ?

都是底层数组+链表来实现的。
HashMap 继承自AbstractMap,HashTable 继承自Dictionary,但都同时实现了Map、Cloneable、Serializable三个接口。
HashMap 是线程不安全的,但key、value可以为null。HashTable 是线程安全的,速度慢,key、value不能为null
HashTable已经被淘汰了,不要在代码中再使用它。

6. 什么时候用assert ?

断言在软件开发中是一种常用的调试方式,断言用于保证程序最基本、关键的正确性。断言检查通常在开发和测试时开启

7. String s = new String("xyz");创建了几个String Object ?

两个。"xyz" 在是常量池 pool 中的一个对象,new String() 将pool 中的对象拷贝到堆 heap 中,并把这个对象赋值给 s 。
一个在pool 中,一个在 heap 中

8. Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

12 -11

9. 数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,但有这个属性
String有这个方法

10. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

Overload 方法参数名、个数、类型不同,返回值也可以不同,在一个类中可以实现
Override 方法签名必须相同,返回值也必须相同,在两个类中实现

11. 最常见到的runtime exception ? 罗列出 > 5个

ClassCastException, 类型强制转换异常
ClassNotFoundException 类没找到时,抛出该异常
FileNotFoundException, 文件未找到异常
IndexOutOfBoundsException, 下标越界异常
IOException, 输入输出异常
NullPointerException, 空指针异常
SQLException, 操作数据库异常
SystemException, 系统异常

12. error和exception有什么区别?

Exception 和Error 都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出或者捕获,它是异常处理机制的基本类型
Exception是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。
Error是指正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序处于非正常的、不可恢复的状态。

13. List, Set, Map是否继承自Collection接口 ?

List,Set是,Map不是。

14. abstract class和interface有什么区别 ?

抽象类可以有构造方法,接口不行。
抽象类可以有普通成员变量,接口不行。
抽象类可以包含非抽象方法,接口不行。
抽象类中可以包含静态方法,接口不行。
抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,
但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

15. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

接口可以继承接口
抽象类可以实现接口
抽象类可继承具体类也可以继承抽象类。

16. 启动一个线程是用run()还是start()? 选答题

start()来启动
实现并启动线程有两种方法
1、写一个类继承自Thread类,重写run方法。用start方法启动线程
2、写一个类实现Runnable接口,实现run方法。用new Thread(Runnable target).start()方法来启动

17. 构造器Constructor是否可被override?

不能

18. 是否可以继承String类?

不可以,被 final 修饰

19. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

会执行,后

20. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

不对,如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;
如果两个对象的hashCode相同,它们并不一定相同。

21. float f=3.4;是否正确?

不正确。java 里面带点号的默认是 double 类型,不带点的是 int 类型。这里 double 转 float ,精度不够,需要强转

22. char 型变量中能不能存贮一个中文汉字?为什么?

可以。在Java中,char类型占2个字节,而且Java默认采用Unicode编码,一个Unicode码是16位,所以一个Unicode码占两个字节,Java中无论汉子还是英文字母都是用Unicode编码来表示的。所以,在Java中,char类型变量可以存储一个中文汉字。

23. 抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?

都不可以

24. Java 中会存在内存泄漏吗,请简单描述。

存在。内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中,Java中有垃圾回收机制,
它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉。
两种情况存在内存泄漏:
①长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,
尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,比如
一个外部类的实例对象的方法返回了一个内部类的实例对象,这个内部类对象被长期引用了,
即使那个外部类实例对象不再被使用,但由于内部类持久外部类的实例对象,这个外部类对象将不会被垃圾回收
②当一个对象被存储进HashSet集合中以后,就不能修改这个对象中的那些参与计算哈希值的字段了,否则,
对象修改后的哈希值与最初存储进HashSet集合中时的哈希值就不同了,在这种情况下,
即使在contains方法使用该对象的当前引用作为的参数去HashSet集合中检索对象,也将返回找不到对象的结果,
这也会导致无法从HashSet集合中单独删除当前对象,造成内存泄露

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    传奇内服号阅读 2,287评论 1 31
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 6,942评论 0 62
  • 三重:代码、底层内存、源码 第一阶段:开发常用JavaSE基础、IDE、Maven、Gradle、SVN、Git、...
    guodd369阅读 15,913评论 1 44
  • 小时候的梦想就是能有一间超大的图书室。就像电影里面那样的,有盘旋楼梯的那种。书皮都很精美,印着金光闪闪的...
    是谁叫了简姝阅读 456评论 2 2
  • 白鹭馆 桃花树 滴泪流深处 飞鱼服 绣春刀 伤愁几中度……
    9527_c597阅读 308评论 0 0