数据研发典型面试题_1. Java必须要熟练的知识点

  • 数据研发, 跟Java后端开发关系千丝万缕, 尤其是Java部分(Java+JVM+JUC), 基本上就是完全重叠;
  • 本文结合收集到的各种面经和面试题, 按照本博客的Java入门和面试点专栏的博文书写顺序整理, 基本上涵盖了数据研发岗位所需要掌握的Java基础点, 先把问题撂这里了, 一周内把答案扩充完毕;

1. Java语言的特点; JDK与JRE的关系

Java 语言的特点:

  1. 简单易学;
  2. 面向对象(封装,继承,多态);
  3. 平台无关性( Java 虚拟机实现平台无关性);
  4. 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持);
  5. 可靠性;
  6. 安全性;
  7. 支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便);
  8. 编译与解释并存;

2. 字节大小

3. Java的8种数据类型, 以及存在的类型转换关系

4.Java常见的关键字

4.1 static, super, this各自的作用简述
4.2 final, finally, finalize的区别
4.3 return, break和cotinue的区别

5. 方法的重载和重写

6. Java访问权限级别

7. 面向对象知识点

7.0 类和对象, 如何判断两个对象相等?
7.0 面向对象定义, 三大特征简述
7.1 static关键字作用和三种使用方式
7.2 继承和组合区别, java静态属性和静态方法能被继承吗
7.3 super, final关键字
7.4 Java构造方法作用, 类别,重载; 构造器能被重写吗?
7.5 内部类(成员, 静态, 方法, 匿名)简述
7.6 Java中方法的参数传递机制(为什么Java是值传递的)
7.7 多态的概念, 必要条件, 类型转换, 重载和重写(多态)
7.8 抽象类和接口简述, 区别
7.9 Object类有哪些方法?

8.异常体系

8.0 异常继承关系
8.1 try…catch, finally, return
8.2 throw和throws的区别
8.3 异常类别

9. 线程知识

9.0 并发和并行
9.1 线程,进程简述
9.2 线程的声明周期
9.3 线程的两种创建方式
9.4 线程的常用方法(sleep, join, yield等等)
9.5 线程的调度模型
9.6 线程高级========

10. Java常用API

10.0 字符型常量和字符串变量的区别
10.1 String类的不变性
10.3 String 的常用方法
10.3 ==equals的比较, 为什么重写equals()一定要重写hashCode?
10.4 String, stringBuilder, stringBuffer简述区别

11. 包装类

11.1 包装类和基本类型对应关系
11.2 拆箱和装箱方法
11.3 基本数据类型和字符串之间的转换
11.4 包装类对象之间的比较

12. 单例模式

13. 迭代器

13.1 迭代器的使用
13.2 迭代器遍历(或foreach遍历)时, 如何删除元素?

14. 集合类(重点!!!)

14.1 集合继承关系
14.2 List,Set, Map及其子类的基本使用, 常用方法, 遍历方式等
14.3 List,Set, Map之间的区别
14.4 ArrayList, LinkedList, Vector的区别
14.4 ArrayList的扩容机制
14.5 HashMap底层实现, ConcurrentHashMap(源码)
14.6 HashMap和HashTable, HashSet, TreeMap的区别
14.7 HashMap和ConcurrentHashMap的区别
14.8 HashSet如何去重的
14.9 HashMap如何解决Hash冲突
14.10 HashMap的大小为什么是2的幂次
14.11

15. 泛型

15.1 泛型定义, 为什么需要反省
15.2 泛型擦除
15.3 泛型类, 泛型方法, 泛型接口

16. IO流

16.1 IO流的使用(字节流, 字符流的概念, 各种常用节点流,包装流的使用, 读取写入文件的方法等等)
16.2 序列化和反序列化

17. 反射

17.1 动态编译, 静态编译
17.2 反射定义 反射的应用场景
17.3 反射机制的优缺点
17.4 反射的使用

18. 深拷贝, 浅拷贝

19. 线程高级(待扩充)

19. Java IO,NIO,AIO

20. JVM(待扩充)

你可能感兴趣的:(数据开发面试题总结,#,Java,面试重点,scala,开发语言,后端)