OYO面试经历
测试:
- 15-20 个 MCQ(OOP、OS、DBMS、时间复杂度、类)
- 编写一个程序来检查给定的括号字符串是否平衡。
输入:
2
{[]}()
[[[]]()输出:
是的
不 - 编写代码将二维矩阵顺时针旋转 90 o INPUT:
3 3
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
输出:
13 9 5 1
14 10 6 2
15 11 7 3
16 12 8 4
面试:
第1轮:
- 基于简历的问题。
- 编写代码从左到右打印叶节点。
- 你知道什么是 BST,在 BST 中设计并在其中插入一个新元素。
- AVL 树旋转。
- 重新排列一个字符串,使所有相同的字符彼此相距 d 距离,如果不可能,则返回 -1(注意:多个可能的答案)。
输入:
2
阿巴克 2
abbbcd 3输出:
ABAC
-1
第2轮:
- 编写一个程序,找出从 array1 中取一个数和从 array2.INPUT 中取另一个数的数组元素之间的最小绝对差:
2
5 6
1 2 3 5 6
0 4 0 7 8 9
3 3
1 2 3
4 5 1输出:
1
0
之后,他将数组的大小增加到 10^100 并且不允许排序
提示:整数范围是固定的,与输入 10^100 相比,10^9 非常小 - 什么是进程和线程?
第三轮:
- 有哪些流程?什么是线程?它们彼此有何不同?
- 什么是死锁?设计一个死锁?
- 编写一个程序来反转堆栈而不使用辅助堆栈。