最近有很多小伙伴问燃君Java后端面试中,常见的面试题型,花了几天时间整理了一下,在此先奉上基础篇。
后面关于框架,JVM,JavaWeb,多线程等等会在今后几天陆续在公众号里面发布,感兴趣的朋友可以微信搜索【Java技术方舟】,关注即可获取超全Java学习视频资料以及电子书。
话不多说,直接奉上干货。
Java语言的特性,与其他编程语言的对比
面向对象的三个特性了解么,讲一讲你所理解的多态?
String为什么是不可变的,底层实现原理是什么?
String a= “abc” String b = “abc” String c = new String(“abc”) String d = “ab” + “c” .他们之间用 == 比较的结果?为什么?
String、StringBuffer、StringBulider的区别是什么?哪个是线程安全的?为什么?
Java中有几种基本类型,他们各占多少字节,他们之间的转化规则是什么样的?long类型可以直接转化为double类型么?
Java程序的初始化顺序是怎样的?
this与super有什么区别?
值传递与引用传递的区别了解么?
接口与抽象类的区别?
Object类中有哪几种方法?详细介绍各个方法的作用?
重载与重写的区别是什么?
“==”、equals和hashCode有什么区别?
Exception与Error的区别是什么?异常的分类了解么?
ArrayList与LinkedList的区别是什么?
HashMap是如何解决哈希冲突的,你还了解其他解决哈希冲突的方式么?
HashMap与HashTable的底层数据结构是什么样的?他们的区别了解多少?
ConcurrentHashMap比HashMap有什么异同?在Java7、Java8中底层数据结构上有何变化?
TreeMap是有序的么,为什么,它的底层数据结构是什么样的?
反射机制了解么?调用Class.forName()会发生什么?
怎么样,这些问题都是燃君在面试中经常被问到的题目,你都能准确说出答案么~
感兴趣的同学可以搜索关注公众号【Java技术方舟】,后台回复【IT】,就可以加群一起讨论啦,后面我也会把问题答案放到群里。