高通面试经历 |校外
我是通过一位大四学生推荐的。我申请的时候有一年的行业经验。
第1轮:
第一轮是电话轮。大多数问题都集中在 C 和操作系统上。
- 告诉我你在当前公司的项目工作。
- 什么是双指针。它们的用途是什么?
- 什么是野指针和空指针?它们什么时候使用?
- 什么是优先反转?
- 什么是信号量,什么是自旋锁?
我可以回答一些问题。无论如何,我被选中进行更多轮次。
第 2 轮:
下一轮在高通公司的海得拉巴办公室举行。他们为您安排从出租车到航班和食物的一切。
我在那里接受了 4 次一对一的采访,由不同的人在不同的项目中工作。所有人都专注于相同的主题,核心 C 和操作系统。除此之外,他们还询问了一些关于字符串、链接列表和位操作的基本中级 DSA 问题。
采访1:他问了以下问题。
- 给定 2 个字符串,找出一个在另一个中出现的次数。
- 为什么使用虚拟地址?
- 物理地址和虚拟地址有什么区别。
- 给定一个数字,编写一个宏来设置/取消设置特定位置 k 的位。
- 检测链表中的循环。
- 什么是内存段?
- 我定义了 2 个全局变量,一个已初始化,另一个未初始化,它们将存储在哪些段中?
采访2:他问了以下问题。
- 编写自己的 memcpy函数处理所有极端情况。
- 在不使用第三个变量的情况下切换两个变量中的值。
- https://www.geeksforgeeks.org/extract-k-bits-given-position-number/
- c++中纯虚函数有什么用。
- 什么是静态链接和动态链接。编译器如何知道函数属于静态链接源还是动态链接源。
- 基于项目的一些问题。
采访3:他问了以下问题。
- 什么是易失性/非易失性存储器。
- 什么是 RAM/ROM。
- 给定一个值,从具有该值的链表中删除所有节点。
- 他写了一个有许多变量的小程序,并让我告诉我每个变量在内存布局中的位置。
采访4:他看起来像个高级经理。他主要问的是行为问题。
- 为什么要切换?
- 你对什么样的工作感兴趣?
- 软件开发周期的不同阶段是什么。
- 你希望你的角色是什么样的?
- 5年后你想象自己在哪里。
所有这些轮次都结束了,HR 告诉我我将不得不进行一个hackerrank 测试周。
第三轮:
在线 1 小时 45 分钟hackerrank 测试。由 6 个 DSA 问题组成,难度中等。我可以做4。
我要感谢 geeksforgeeks 在我准备面试时提供的所有帮助。