📜  Qualcomm Audio 软件工程师面试经历

📅  最后修改于: 2021-11-17 10:15:09             🧑  作者: Mango

第 1 轮(在线测试):测试包括 3 个部分。第 1 部分是关于推理、能力、量化等。第 2 部分是关于 C 编程。给出了代码片段,需要告诉输出。第三部分是关于操作系统、OOP 以及一些基本的计算机体系结构和数据结构问题。

注意:测试时长 1 小时(每个部分 20 分钟),在租用专业平台上进行

第二轮(第一技术)

  1. 编写一个程序,在单向链表的第 n 个位置插入一个具有给定值的节点。

  2. C 中 calloc函数的定义。

  3. 下面程序的输出是什么。

    int main()
                {
                 char a=120,b=140;
                 int i;
                 i=a+b;
                 printf("%d",i);
                 }
    

    注意: ans=4,还需要说明答案是4。

  4. 以下结构的大小是多少。

    struct node{
                int a;
                float b;
                double c;
               }
    
  5. 与上述问题类似,但使用联合而不是结构。

  6. C程序的内存布局。

第 3 轮(第二技术):

  1. 宏和内联函数的区别。
  2. 从 cmd 行调用 main函数并将两个参数传递给它,并使用这些参数调用上面定义的宏和内联函数。谁的执行会更快?
  3. 在不使用 sizeof()运算符的情况下,在 C 中查找 int 的大小。
  4. 进程间通信
  5. 面向对象的概念
  6. 虚函数和虚类
  7. 函数覆盖和函数重载的区别
  8. 如何在C中实现函数覆盖
  9. 外部关键字相关问题
  10. 与操作系统相关的其他一些问题,如线程、信号量、互斥锁、自旋锁、调度算法等。

第 4 轮(第三轮技术+管理轮):

  • 编写程序从单个链表中删除具有给定值的节点
  • 以及一些基本的数据结构问题。然后他解释了在高通的团队和工作。为什么你想加入类似的问题。

第 5 轮(第四技术轮):

  1. 询问我在简历中提到的我的项目。
  2. 用 C 编写一个程序来检查给定的字符串是否是回文?
  3. 编写一个程序来检查给定的链表是否是循环的?
  4. 编写程序将两个矩阵相乘。

注意:数据结构问题是基本的。他们的主要重点是 C 和操作系统。面试后,我等了1个月,然后他们给了我offer letter。我是通过推荐人申请的。