📜  高通软件工程师面试体验(校园)

📅  最后修改于: 2022-05-13 01:58:22.696000             🧑  作者: Mango

高通软件工程师面试体验(校园)

高通在 COVID -19 大流行期间访问了 NITK,大约 500 名学生参加了测试。

测试模式如下:

第一轮:笔试(Aptitude Section(20 题),C/C++/OOPS/ Java Section(20 题),Technology Section(包括硬件级问题)(20 题))(正确答案+1,-0.25错误的答案)

约 58 名学生入围面试。面试是在 Microsoft Teams 和 Hackerrank 代码对上进行的。

第 2 轮:第一轮技术面试(45 分钟,但对我来说,是 1 小时 10 分钟)(面试官来自嵌入式系统)

  1. 自我介绍。

  2. 问了我的项目。 (幸运的是,由于我的回答非常简短,因此他没有就我的项目向我提问)

  3. 他问我是否熟悉操作系统概念,并提出以下问题:

    • 什么是分页?
    • 关于页表条目和页表大小以及当 CPU 请求页面时会发生什么,页表有什么用处?
    • 然后他询问了自旋锁和进程同步以及一些关于信号量如何工作、死锁和 PCB 属性以及所有相关内容的讨论。
  4. 然后,由于我将数据结构作为我的技能编写,他让我编写一个代码,说明 C 中的 volatile 关键字在哪里以及如何在读写环境中有用?

    • 答:对于阅读环境,我编写了代码以将文件作为输入并存储在 volatile 关键字中以检查硬件中断,并且,

      对于写入环境,我使用互斥变量和线程来编码和解释进程同步期间的行为变化。 (他对我的回答印象深刻)。

  5. 然后他问如果我将两个整数相乘,你将如何识别缓冲区溢出。

  6. 然后他询问了 little-endian 和 big-endian 系统,并编写了一个代码来识别它是 big-endian 还是 little-endian。

    最初,我建议使用 shift运算符,但他解释说它不起作用。所以幸运的是,我可以想出将数字存储为字符串中的十六进制值,然后从左右检查并编写我的解决方案。

  7. 然后我们转到结构和联合,他写了一个示例代码并询问结构和联合的大小是多少,什么是结构填充以及如何避免结构填充?

    • 答:整理变量声明示例(将变量声明32位+8(填充24)位+32位改为8位+32位+32位)。他印象深刻,因为这是一个实际的方法,而不是使用 __attribute__((packed)) 这个方法实际上很好。

在我看来,还不错,一个小时内就拿到了下一轮的邀请。

第二轮:第二轮技术:(1 小时,但对我来说是 45 分钟完成)(来自嵌入式系统背景的面试官)

  1. 自我介绍。

  2. 关于其他项目和实习经验的问题,你的角色是什么,以及基于此的简单问题。

  3. 他看到了我上次的采访评论并告诉你,因为你擅长数据结构,所以写一个代码来反转一个链表完整的功能代码,涵盖所有测试用例和主要函数。他将只传递整数值,因为输入和输出必须以相反的顺序排列。

    我很高兴,我在 7-8 分钟内完成了代码(他印象深刻)。

  4. 然后他问我一个谜题。我很高兴,因为这对我来说非常容易。 (注:对于其他人来说,拼图很有挑战性,很少有人因为拼图而被拒绝,所以不要掉以轻心)

就是这样。

6小时后

最后一轮人力资源: (10 分钟,但对我来说,它在 4 分钟内完成)

  1. 自我介绍。

他注意到我正在申请职位和软件背景,并谦虚地向我解释说,你会根据需要加入任何团队,所以不要抱太大希望,地点是海德拉巴/班加罗尔,你必须灵活应对一切。我同意。他问你有什么问题要问我,我回答没有。

就是这样

最后,有 12 人获得了 FTE 职位的邀请。

总的来说,这是一次很好的体验,而且是零日陪伴,所以我对自己的表现非常满意。

建议:了解你的面试官。精通操作系统概念和 C 编程。只需按照 Ravindra Babu 视频了解 OS 理论并使用 Geeksforgeeks 平台来实际了解事物的实现方式。

简单介绍一下我的背景:

2018年被某家公司拒绝,2019年我出现在门口,进入了NITK,2020年我也破解了高通那一天零公司。所以永远相信自己,让你的恐惧和失望战胜你。

我感谢 GeeksforGeeks 的成功。