LZ认为,对于Java面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+总结,前三者LZ将淋漓尽致地挥毫于这篇文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。
LZ总结了一系列大厂面试中常问的面试技术点,深入解析以及答案,将为最近准备面试的各开发者去大厂保驾护航,
何谓面试?LZ所理解的面试,它是一个过程,是不断沉淀、不断总结、善于传达自己的专业领域技术以及解决问题能力的过程。以下是LZ总结的一些面试题,文中如有错误,恳请批评指正!
Java基础
- ⾯向对象和⾯向过程的区别
- Java 语⾔有哪些特点?
- 关于 JVM JDK 和 JRE 最详细通俗的解答
- Oracle JDK 和 OpenJDK 的对⽐
- Java 和 C++的区别?
- 什么是 Java 程序的主类 应⽤程序和⼩程序的主类有何不同?
- Java 应⽤程序与⼩程序之间有哪些差别?
- 字符型常量和字符串常量的区别?
- 构造器 Constructor 是否可被 override?
- 重载和重写的区别
- Java ⾯向对象编程三⼤特性: 封装 继承 多态
- String StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
- ⾃动装箱与拆箱
- 在⼀个静态⽅法内调⽤⼀个⾮静态成员为什么是⾮法的?
- 在 Java 中定义⼀个不做事且没有参数的构造⽅法的作⽤
- import java 和 javax 有什么区别?
- 接⼝和抽象类的区别是什么?
- 成员变量与局部变量的区别有哪些?
- 创建⼀个对象⽤什么运算符?对象实体与对象引⽤有何不同?
- 什么是⽅法的返回值?返回值在类的⽅法⾥的作⽤是什么?
- ⼀个类的构造⽅法的作⽤是什么? 若⼀个类没有声明构造⽅法,该程序能正确执
- ⾏吗? 为什么?
- 构造⽅法有哪些特性?
- 静态⽅法和实例⽅法有何不同
- 对象的相等与指向他们的引⽤相等,两者有什么不同?
- 在调⽤⼦类构造⽅法之前会先调⽤⽗类没有参数的构造⽅法,其⽬的是?
- == 与 equals(重要)
- hashCode 与 equals (重要)
- 为什么 Java 中只有值传递?
- 简述线程、程序、进程的基本概念。以及他们之间关系是什么?
- 线程有哪些基本状态?
- 关于 fifinal 关键字的⼀些总结
- Java 中的异常处理
- Java 序列化中如果有些字段不想进⾏序列化,怎么办?
- 获取⽤键盘输⼊常⽤的两种⽅法
- Java 中 IO 流
- 常⻅关键字总结:static,fifinal,this,super
- 深拷⻉ vs 浅拷⻉
Java基础题答案解析
Java集合
- 说说List,Set,Map三者的区别?
- Arraylist 与 LinkedList 区别?
- ArrayList 与 Vector 区别呢?为什么要⽤Arraylist取代Vector呢?
- 说⼀说 ArrayList 的扩容机制吧2.2.5 HashMap 和 Hashtable 的区别
- HashMap 和 HashSet区别
- HashSet如何检查重复
- HashMap的底层实现
- HashMap 的⻓度为什么是2的幂次⽅
- HashMap 多线程操作导致死循环问题
- ConcurrentHashMap 和 Hashtable 的区别
- ConcurrentHashMap线程安全的具体实现⽅式/底层具体实现
- comparable 和 Comparator的区别
- 集合框架底层数据结构总结
- 如何选⽤集合?