Adobe 采访 |设置 1
以下是 Adobe 面试的详细信息。
第1轮
1.您将如何使用优先级队列实现堆栈。 Push 和 pop 应该在 O(1) 中。
2.三个贴错标签的罐子问题。
第二轮
1.函数调用中的栈是怎样的?给定一个递归函数调用,堆栈会是什么样子?
2 、栈(进程栈)什么时候溢出?有哪些补救措施?
3.什么是平衡BST。然后他随机给了我各种数字,并要求我创建一个 BST。并加以平衡。
4.链表相对数组的优势。和链表上的数组。
5.库内部如何实现向量。这个问题围绕着数组的动态实现。然后讨论了使用数组的动态实现的操作的摊销时间。
第三轮
1.笔试中有一个问题,全局静态变量'lock'最初设置为0,并且给出了一个代码段。
while(lock);
lock = 1;
//Critical section
lock = 0;
这是否解决了临界区问题。我回答说它会在单处理器系统中解决,而不是在多处理器系统中。然后他让我解释我的回答。经过长时间的讨论,我们得出结论,这在单处理器系统中甚至都无法解决。然后他问我解决这个问题的方法。我使用 testandset 指令做到了这一点。
2.在线程中调用函数时,可以从中访问哪些变量。对此也进行了长时间的讨论。我走错了方向,但后来纠正了自己。堆栈变量被复制,但堆变量是相同的。
第四轮
1.你将使用什么数据结构来实现一个文本编辑器。编辑器的大小可以更改,您还需要保存所有文本的样式信息,如斜体、粗体等。
第 5 轮
人力资源回合:正常的人力资源问题。
Adobe的所有练习题!