Java开发人员职位的常见问题解答
基于Java :
- OOPs 概念(主要是多态性以及封装和抽象之间的区别)
- 抽象类和接口的区别。
- == 和 .equals() 函数之间的区别。
- 什么是哈希图?
- 什么是哈希表?
- 异常类型。
- 异常和错误之间的区别。
- 投掷、投掷和可投掷之间的区别。
- final,finalize和finally之间的区别。
- 什么是类?
- 什么是对象?
- 类和对象的区别。
- 方法重载。
- 方法覆盖。
- 什么是线程?
- 创建线程的不同方法。
- C 和Java之间的区别。
- CPP 和Java之间的区别。
- Java中的文件处理。
算法:
- 二进制搜索
- 快速排序(复杂性和逻辑性)
- 合并排序(复杂性和逻辑性)
- 合并排序和快速排序的区别
- 合并排序或快速排序哪个更好,为什么?
- BFS
- DFS
数据结构:
- 什么是二叉树?
- 什么是二叉搜索树?
- 什么是链表及其类型。
- 使用链表实现堆栈/队列。
- 内存管理(堆和栈)
- AVL 树
- 数组和链表的区别。
- 反转一个链表。
- 查找链表的中间元素。
- 如何检测链表中的循环?
- 二叉树的顶视图/左视图/右视图/对角视图
- 右旋转矩阵
- 检查二叉树是否是另一棵二叉树的子树。
操作系统:
- 进程和线程的区别。
- 什么是死锁?
- 临界区问题
- 什么是抖动?
- 分页。
- 页面错误。
数据库管理系统:
- 主键和候选键之间的区别。
- 什么是联接和联接类型。
- 从 Employee 表中查找第二高的薪水。
- 酸性质。
其他问题:
- 反转一个字符串。
- 查找给定字符串中出现的最大字符/单词。
- 递归检查给定字符串是否为回文。