在线回合编码问题:
- 给定一个浮点数 7.64,不使用任何内置函数/library 将其转换为字符串。
for eg: input float no.: 7.64 output string: 7.64
- 给定二叉树的中序和前序遍历,输出它的后序遍历。
for eg: input: Inorder: 7, 8, 4, 1, 6, 2, 5 Preorder: 1, 4, 7, 8, 2, 6, 4 output: Postorder: 8, 7, 4, 6, 5, 2, 1
第一轮写作:
- 给定一个字符串,找出没有重复任何字符的最长子字符串的长度?
for eg: i/p string: abcabcbb length of longest substring with no repeating charcters: 3 (abc)
- 给定一个带有右指针的链表,该链表的每个元素都有一个下行链接,包含另一个带有下行指针的链表:
5 -> 7 -> 9 -> 18 | | | | 10 6 14 20 | | | | 11 8 19 22 | | | 12 13 24 | 15
每个右和下列表都进行了排序。
编写一个函数flatten() 将该链接列表扁平化为一个链接列表,其中所有元素按以下顺序排列:
5->6->7->8->9->10->11->12->13->14->15->18->19->20->22->24
PI 第 1 轮:
面试从我简历中提到的实习项目和其他项目的讨论和提问开始。
在关于项目的讨论之后,面试官问了一个关于字符串的问题,问题是:
- 给出一个长度为 n 和整数 m 的字符串,给出一个算法。将字符串逆时针旋转 m。我被要求提供输入 m 的所有检查条件。
然后面试官要求我为相同的代码编写一个严格的准则,代码中不应有任何错误;)。 - 在此之后,他问我关于堆、最小和最大堆、在堆中的插入和删除。他让我证明在堆中插入 n 个元素的时间复杂度。
至少他询问了堆数据结构和其他使用堆实现的数据结构的用途。
PI 第 2 轮:
- 黑白抽象和接口类有什么区别?
- 编写一个程序来创建单线程并打印“Hello World”,说明 createThread函数的所有参数?
- 什么是死锁,发生死锁的必要条件是什么?
- 什么是高速缓存以及它是如何实现的?
- 解释LRU、FIFO等页面替换算法?
- 写个代码实现LRU缓存然后实现全缓存?
亚马逊的所有练习题!