在高通公司,这确实是一次很好的体验。我曾接受过助理软件工程师的面试,并且有一年的经验,首先是电话回访,然后是F2F面试。
第一回合通话时间:70分钟(由2人接听)
他们最初问的只是关于在我公司和大学阶段完成的项目的信息。
2.然后他们要问的主要是操作系统及其概念:
一种。内存管理。
b。 CPU调度。
C。死锁及其实时示例。
d。关于两个进程如何在OS中进行通信的问题给出了不同的方式。
3.编码问题:
一种。反向链接列表。
b。打印二叉树的左视图。
C。实施您自己的memcpy。
在完成这一回合后,他们问我是否可以前往海得拉巴进行进一步回合.2017年1月7日,我接受了F2F的采访。
第二回合F2F:120分钟
他从简单的介绍开始,然后向我解释了面试的立场。
1.之后,他问了我直到现在为止我所从事的所有项目。
他还询问了不同的情况,例如您如何使用它来解决内存溢出,当前公司崩溃的问题。
2.有关大小端的问题:
一种。它们的符号以及什么是大字节序和小字节序的不同OS。
b。您现在有一个代码,该代码必须在小端和大端上都可以以相同的方式工作:我给出了针对不同操作系统(例如linux)使用不同宏的解决方案,而Windows则可以像小端字节一样工作,而对SUN则使用了另一个宏和摩托罗拉OS,它将作为大字节序运行。
C。仅对此主题有更多解释。
3.在给定的段中找到单词:
这是我的爱之岛,适合10岁以下的孩子。
现在,您必须在此给定的对数中找到单词“ is”(单词可以换个单词),其计数为4。然后,如果必须将“ is”分开,则必须执行相同的逻辑。
他们用“ strcmp”和您自己的逻辑问我针对此问题的不同解决方案。
我通过hashMap以及普通的单词搜索和strcmp提供了解决方案。
4.他根据指针给了我10个输出问题。
5.他再次问我一些编程方面的基本问题,例如一个xh文件包含在另一个y.cpp文件中,而xh文件包含在zh文件中,而zh包含在a.cpp中。现在问我几个问题,例如哪个文件具有哪个变量访问以及打印语句等问题的顺序是什么。
第三回合F2F:80分钟
在这一轮中,他向我询问了上一轮中提出的问题。
1.然后他开始对OS提出问题
一种。进程和线程的差异。
b。您将如何处理在同一MAP上工作的2个线程。然后问了有关互斥锁和不同类型的锁定系统的几个问题。
C。有关C语言中的存储类的问题
2.反转数字的位。
3.二叉树的两个给定节点之间的最小距离
在上述问题中,他问我有关程序的调用堆栈的问题。
4.使用堆栈和队列DS。
5.堆栈和堆内存之间的差异。请我通过编写一个简单的程序进行解释。
6.有关函数指针和用法的问题。
第4轮F2F:80分钟
这轮比较合乎逻辑,也比较困难,因为在这一轮中,我被问到了有关指针以及不同函数如何访问内存的基本问题。
1.他问我解释内联函数。然后问我哪些情况下不能使用内联函数。他问我内联函数的内部原理,以及为什么该函数比其他任何正常函数更快地函数。他问我在那里是函数指针和内联函数之间的任何共同之处。
之后,他还向我解释了该主题中的一些观点。
2.他叫我写自己的sizeof运算符(https://www.geeksforgeeks.org/implement-your-own-sizeof/)
3.程序以循环链接列表的形式检测循环。
4.他还问了一个问题:反转一个数字的位数,并计算给定数字中设置的位数。
5.关于静态变量和静态函数的许多问题。
第5轮F2F:20-30分钟[经理回合,人力资源回合]
他问我关于我以前的公司和在那完成的项目的情况。
2.然后说明位置。
3.他向我询问了我的加入情况,所有基本问题是否有趣。
4.为什么选择高通?搬迁?薪金期望?
注意:必须明确指出指针,内存管理和DS问题。 C的基础知识是很多问题。