Qualcomm11月6号onsite面经加时间线

今天在San Diego Qualcomm总部onsite面试,明天就要飞回纽约了,在Country Inn点了外卖,赶紧跑过来分享一下面经。面的是sensor team的software developer。面试的时间线就放在最后了,总共花了3不到,后面等消息。
面试总共四轮,跟四个不同的工程师面,从最高职位的开始面你,Manager (10 years in QC), Senior Engineer(6-7 years), Engineer(3 year), Engineer(1 year).
每一轮都是technical的,第一个是manager,也是做technical的LOL,简直了,三个烙印和一个韩国人,细节不太记得了,总共四个多小时的面试,一直在不停的聊,累爆啊

第一轮:问memory structure, 问一些memory的concept和怎么找出有memory leak的program,问了compiler的问题,问了linker的问题,比如问你hello.o里面包含了什么,各种聊,挺开心的,最后他给我讲了自己的project是做什么的,
代码题是two sum,但是不能用任何data structure,要求O(n), 给的是sorted array,简单的用two pointer就好了

第二轮:韩国人,十分严肃,而且有点口音,面试一直很严谨,resume里面扣着问,问了一些linux kernel的问题,问了个multithreading和race condition,问了个如果别人给的api不是thread safe要怎么办,
代码题目不用建立Temperary variable如何swap两个数字

第三轮:问了各种memory相关的东西,具体我忘了,因为每个面试官都有问道不同的关于memory的问题,还问了如果有memory corruption的话怎么debug,还问了thread和process的不同,blabla后面忘了
代码题目挺简单就是找到bst里面depth最少的path,dfs解决

第四轮:严肃的烙印,当时太累了,跟他聊不起来了,一开始也是问我memory为什么stack是往下,heap是往上增长,我们可不可以改变他们的增长方向,这个题目没回答出来,问了我C++里面的storage class有哪些,在embedded system里有什么作用,问了polymorphism,inherent,abstraction,encapsulation,还有union和struct的不同点
代码题也很简单,找到number A里的bits,这些bits是在number B是1, 比如A=0b101, B=0b001, output = 001, 要求用O(1)时间

总之四轮面试一直在各种思考,十分的伤脑,而且工作看起来很枯燥,估计是不会去吧。面试之前我基本没怎么准备,就把OS给稍微复习了下,想要面QC的人要多复习C++里的东西,特别是在embedded system经常用的,比如union和struct不同啥的,还有要了解一下compiler和linker,higher level的就可以了,否则有些问题本来知道的结果没答出来-> 没错,就是今天的我LOL

关于电面都面了啥,可以看看我之前的帖子,我每次面试都有分享上来

时间线:
Oct 18th, 第一轮电面
Oct 25th,第二轮电面
Nov 6th, onsite