第 1 轮(在线测试):测试包括 3 个部分。第 1 部分是关于推理、能力、量化等。第 2 部分是关于 C 编程。给出了代码片段,需要告诉输出。第三部分是关于操作系统、OOP 以及一些基本的计算机体系结构和数据结构问题。
注意:测试时长 1 小时(每个部分 20 分钟),在租用专业平台上进行
第二轮(第一技术)
:
-
编写一个程序,在单向链表的第 n 个位置插入一个具有给定值的节点。
-
C 中 calloc函数的定义。
-
下面程序的输出是什么。
int main() { char a=120,b=140; int i; i=a+b; printf("%d",i); }
注意: ans=4,还需要说明答案是4。
-
以下结构的大小是多少。
struct node{ int a; float b; double c; }
-
与上述问题类似,但使用联合而不是结构。
-
C程序的内存布局。
第 3 轮(第二技术):
- 宏和内联函数的区别。
- 从 cmd 行调用 main函数并将两个参数传递给它,并使用这些参数调用上面定义的宏和内联函数。谁的执行会更快?
- 在不使用 sizeof()运算符的情况下,在 C 中查找 int 的大小。
- 进程间通信
- 面向对象的概念
- 虚函数和虚类
- 函数覆盖和函数重载的区别
- 如何在C中实现函数覆盖
- 外部关键字相关问题
- 与操作系统相关的其他一些问题,如线程、信号量、互斥锁、自旋锁、调度算法等。
第 4 轮(第三轮技术+管理轮):
- 编写程序从单个链表中删除具有给定值的节点
- 以及一些基本的数据结构问题。然后他解释了在高通的团队和工作。为什么你想加入类似的问题。
第 5 轮(第四技术轮):
- 询问我在简历中提到的我的项目。
- 用 C 编写一个程序来检查给定的字符串是否是回文?
- 编写一个程序来检查给定的链表是否是循环的?
- 编写程序将两个矩阵相乘。
注意:数据结构问题是基本的。他们的主要重点是 C 和操作系统。面试后,我等了1个月,然后他们给了我offer letter。我是通过推荐人申请的。