闪迪面试经历 |第 6 组(用于软件开发)
直到此刻,我只做了1轮。
首先,他们向我介绍了这家公司以及他们在这里做什么。
然后问起我,并让我谈谈到目前为止我在学位期间所做的项目。
然后他开始问我关于操作系统的东西:信号量、互斥量、共享内存……
Q1:线程和进程有什么区别?
Q2:进程如何相互通信?他们如何访问相同的内存?
Q3:如果你有一个中断部分,那么当这个中断发生时,你想唤醒线程(只有那时)。你是怎样做的?
Q4:C 没有覆盖函数。但是,如何在函数参数中添加任意数量的 args?后台怎么会这样?
Q5:在2路链表中实现插入函数。
Q6:我被要求给他一个有效的解决这个问题的方法:找到缺失的数字。
首先他想要 < O(n) 的空间复杂度,然后是 O(1) 的空间复杂度。 (但当然时间效率高)。
然后他要我给他一个从 1 到 n 的所有数字之和的方程。他告诉我给他完整的解决方案。
Q7:那么最后一个问题是这个谜题:2 个鸡蛋和 100 个楼层。我觉得面试的时候很难理解!我不知道为什么。
就是这样。 1个半小时。