Java面试怎能错过这些经典题

知了小姐姐2020-02-071147

"Write Once , Run Anywhere"。我相信每位Java人对这句话都不陌生,“一次编写,到处运行”,很多小伙伴都想通过面试顺利入职企业。面都金三银四的招聘旺季很多小伙伴都在网上到处刷题,那么到底有哪些题是Java面试中必问的问题了,知了堂Java教学团队的项目经理们,通过学员面试反馈、企业收集整理等多途径整合了以下部分Java面试的经典题目。

 

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

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

 

2、Java中如何实现序列化,有什么意义?

**序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。**可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决对象流读写操作时可能引发的问题(如果不进行序列化可能会存在数据乱序的问题)。

要实现序列化,需要让一个类实现Serializable接口,该接口是一个标识性接口,标注该类对象是可被序列化的,然后使用一个输出流来构造一个对象输出流并通过writeObject(Object)方法就可以将实现对象写出(即保存其状态);如果需要反序列化则可以用一个输入流建立对象输入流,然后通过readObject方法从流中读取对象。序列化除了能够实现对象的持久化之外,还能够用于对象的深度克隆。

 

3. HashMap和HashTable的区别

HashTable是线程安全的HashMap不是HashMap中允许存在null键和null值,HashTable中不允许。

 

4. HashMap的实现原理

HashMap的底层实现是“基于拉链法的散列表”。

 

5、String和StringBuilder、StringBuffer的区别?

Java平台提供了两种类型的字符串:String和StringBuffer/StringBuilder,它们可以储存和操作字符串。其中String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。而StringBuffer/StringBuilder类表示的字符串对象可以直接进行修改。StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized修饰,因此它的效率也比StringBuffer要高。

 

6、阐述静态变量和实例变量的区别。

静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。静态变量可以实现让多个对象共享内存。

 

还有很多经典的大面面试题知了堂Java教学团队的老师们也进行了整理:

 

大厂面试题之JVM内存管理:

JVM是如何进行内存区域划分的?

JVM是如何高校进行内存管理?

为什么需要有元空间。它又涉及什么问题?

 

大厂面试题之JDK:

我们如何覆盖HashMap类的实现?

如何加装一个远程的class文件?


大厂面试题之分布式:

1、Twemproxy的使用

2、Redis基本原理

3、如何处理海量计数器缓存

4、如何处理社交Feed流缓存

 

自己尝试一下解答吧!若需要帮助可与我们知了堂Java教学团队的老师哦!

同时,为了让大家能够系统全面的学习,做到少走弯路,不走弯路,享受到知了堂丰富的学习资源。经过知了堂管理层开会决定,从2月2日-2月29日,注册知了堂在线学习平台,还可以免费领取价值上千元的就业付费课程,限时扫码领取哟。



 

 

  • 培训费用

  • 上课方式

  • 开班时间

  • 就业情况