高通专访 | 2套
在高通接受面试是一次非常好的经历。
我参加了嵌入式软件应用程序开发人员职位的面试,我的经验和专长是电信领域的 C/RTOS/数据结构。
流程: 1 次电话会议、5 次技术会议、1 轮人力资源轮次(每轮 40 分钟到 1 小时)。
所有的回合都没有那么难,面试官在谈话时非常友好。
电话:
- 关于你的简历
- 关于项目及其实际运作方式的许多问题
- 操作系统概念和真实示例
- 死锁情况(检测、预防)
- SW看门狗定时器
- 操作系统调度程序和算法
- 系统中的错误处理、核心转储等
- 内存管理概念
- 工控机通讯
- 互斥量/临界区/信号量
注:所有问题都问得很深,需要告诉他,直到他相信答案。
2 天后,我接到电话要到 Qcom 办公室进行下一轮。那天很漫长..!!
第1轮:
- C 编程基础
- 程序的内存映射、存储类及其映射
- 如果我们声明的变量数量多于处理器上可用的寄存器数量?它们将被存储在哪里。
- IPC(信号,正如我在此编码的那样)它实际上如何传输内存
一组用于调试的 C 代码片段……找出其中的问题并告诉输出
和进一步的问题......比如为什么?
第二轮:
- 基本C题
- 编写一个程序来删除一个节点,只给出一个指向循环链表中节点的指针
- 返回后如何访问被调用函数中的数据(这里的重点是,函数中的自动变量在被调用后无法访问)
- 编写程序以从函数返回字节流
- 很多关于函数指针的问题,如何,用法,例子
第 3 轮:
- 关于他们正在做的项目的一般问题,市场价值如何,即将推出什么产品
- SIM 卡/嵌入式应用程序中的内存处理
- 操作系统程序的优先级、进程和线程差异
- 如何处理通用函数,如空指针
第 4 轮:
- 为strstr函数编写自己的程序,最佳方式
- 编写程序将给定的单个链表转换为 BST
- 软件开发是如何发生的,以及如果给你一个产品来开发你会怎么做
- 项目问题
- 一年后你想怎样看待自己,你的用心,抱负
第 5 轮:
- Big & Little endian – 定义、表示、写下来、交换它们等
- 很多内存相关的问题
- 自己写一个程序来实现memcpy()——
- 需要评估许多其他条件,如重叠情况等,
- 库调用和系统调用的区别
- RTOS中的优先级反转及其解决方案
第 6 轮(人力资源):
- Qualcomm 的抱负、文化以及您对下一步的看法,我们对采访的反馈,没什么……只是随便说说。
注意:所有回合,您需要清楚地解释您的项目,他们可以从项目中提出一些非常好的问题。明确你的项目和简历。
所有面试官都会解释你申请的职位,如果你问更多关于他们具体做什么以及它是如何工作的问题是好的。
我在这些面试中做得非常好,但不幸的是,在这之后我并没有进入高通。但是他们考虑换了一个职位,一个月后我又接到了一个电话,并再次进行了 3 轮技术面试,如下所示,
工艺: 3个技术
第1轮:
- 网络流量测量
- Udp vs tcp,差异
- 操作系统调度器
- 定时器模块代码 // 您需要为定时器模块编写代码,它实际处理所有客户端的超时功能并在超时时执行客户端的处理程序。 (他们寻找的是你如何设计给定的问题、回调函数、函数指针等)
- 关于回调函数的问题
- 关于函数指针的问题
- 反转单个链表的程序
- 在单个链表中检测循环的程序
- 检测以下 pgm 中的错误
int main(void) { char *p; while(i<50) p++; return p; }
第二轮:
- 深入了解项目细节
- Ipc , 操作系统调度程序
- 优先流程,加权循环
- 狗
- 内存管理
- 内存泄漏和相应的工具
- 缓冲区溢出和由此产生的影响/问题
- 死锁,避免、防止的方法等
- 信号量、互斥量、忙等待
- memcpy 和问题的代码,涵盖所有错误场景。
第 3 轮:
- 堆栈损坏
- 通过堆栈粉碎进行黑客攻击
- 程序调试
- 优先级反转,例如
- 竞争条件,例如
- 信号量、互斥量、前
- strcmp, pgm,ff 结束
- 仲裁链表 pgm
- Memcpy pgm,诸如重叠内存地址复制之类的可能性。
- 小型通用DI拼图
- 指针减法
在此之后,我实际上进入了我的梦想公司和快乐..!!
我衷心感谢 GeeksforGeeks 对我的准备工作非常有帮助,并希望这对其他有志者有用。
高通的所有练习题!