高通面试经历|第 10 组(校内)
Qualcomm 来到我们的校园从事全职和实习(不是两者兼而有之)。测试包括笔试,然后是两轮技术和一轮人力资源测试。
笔试分为三个部分:
1.定量能力
2. C
3. 计算机科学/通信/电子
每轮包括 20 道题,每道题 1 分,在 30 分钟内完成。每个问题的负面标记为 0.25。
第一部分由不那么难的能力题以及少量定量、单词编码和逻辑推理问题组成。
第二部分完全由基于 C 输出的问题组成。其中大多数是耗时的位操作问题(几乎 70%)。
在第三部分,我们必须根据我们的个人资料选择论文,对我来说是 CS。与我听说高通在过去几年组织的其他笔试相比,操作系统问题很少。大多数问题来自 C、OOPS,少数来自 DS。
一天后,在公司的预安置谈话之后宣布结果。在 153 人中,有 73 人被选中进行面对面采访。
在我的第一轮技术回合中,他问我:
介绍和解释我的项目。
1. 在链表中查找循环并找到该循环的长度。
2. Mutex vs. Semaphore 及其实现
3. 虚拟内存和分页
4. 堆栈 vs. 堆及其内容
5. 颠簸以及我们如何避免它。
6. 内存映射
7. 线程概念和堆栈在多线程环境中的行为以及很少的 pThread 概念
8.页面错误及处理步骤
9. 死锁及其避免
10.一个谜题:如果我们有三个盒子,每个盒子有两个黑色或白色的球,它们的名字是错误的。他们的名字是这样的,它表示盒子中包含的每个球颜色的第一个字母。例如,包含一个白色和一个黑色球的盒子应该具有名称:bb。但不幸的是,所有的盒子都被错误地命名了。找出要提取的最小球数,找出每个盒子的正确名称。条件:取出的每个球都应更换到同一个盒子中。
然后他问我是否有任何问题。我问了三个。
我的面试是30分钟。在第一轮之后,43 名候选人被选入下一轮技术轮。这一轮他问我的问题是:
1.内联函数,为什么我们应该使用它们,如果它们这么好为什么不让每个函数内联
2. 正常的函数调用是如何实现的(OS角度)
3. 发生中断时的步骤(操作系统角度)
4. 给出几个案例并询问中断将如何影响它们的执行。
5. 给出一个没有互斥量的代码,并要求给出一个会给出错误结果的线程的执行流程
4. 没有互斥锁就不能共享数据吗?举例说明您支持的任何场景
6. 编译阶段,每个阶段都有简要说明
7. make 文件和多文件程序的编译和执行。
8. 编译器如何进行中间代码优化以及一些示例。
9. 静态链接和动态链接,它们是如何实现的以及两者的例子
10.外部变量和函数
我的这一轮持续了35分钟。在第一轮之后,32 名候选人被选中进行人力资源轮次。这一轮他问我的问题是:
一切以简历为准。他正在为简历中出现的每个单词提问。许多压力测试问题和背景问题。他问我哪些笔试考得不太好,为什么。他还问了我搬家的事。然后他让我问任何问题。我问了几个。我的 HR 回合持续了 15 分钟。
结果在晚上公布,我们18人拿到了全职offer,4人拿到了高通的实习offer。