结束半年求职,分享我的经历

avatar 118155
warm_chill
50736
153
前面发了本帖,然而不会设置隐藏内容,设成了权限,再发一遍,版主看见了就把我前面那贴删了吧。。
写写这大半年来的求职经历,希望对大家有帮助,先说说自己的背景,EE小硕,无实习经历,求职主要侧重embedded,firmware,robotics,C++ developer,投了90家公司,基本网投,拿到的面试屈指可数,最后峰回路转终于拿到了Honda的software engineer职位,所以在这里一次性把我的面经都写出来,设个低分数,本意不在于为难大家,只为了防止xx,大家懂的。

Tesla
本人面的第一家,挂的很惨,哎,现在回想起来还是很遗憾。自从看了tesla 的autopilot视频后,就深深着迷于tesla,然后看到他家有这方面的职位,于是从去年底起就一直在学这方面的东西,然后希望来年2、3月去试试机会。网上的面经基本没有,只有在glassdoor找到几篇英文面经,看过之后似乎对算法要求不高,于是一直侧重做project让自己的resume好看点,然后就杯具了。。他家的面试,首先会给个OA,就是10道题找bug,选择题,主要是C/C++的内存管理、指针操作等等,当时根本没想到会是这样的题目,做题的时候还google了一些选项的概念,浪费了很多时间,不过最后还是过了。几天后拿到coding challenge,就是给一道题,3、4小时限制,做出来然后发给recruiter。题目的大意就是写一个parser把一些公式化简一下,比如
offset = 4 + random + 1
location = 1 + origin + offset
origin = 3 + 5
random = 2
化简为
location = 16
offset = 7
origin = 8
random = 2
最后结果需要以这些单词增序排序,可以使用STL里的任何东西,包括algorithm,sort,也能用C里的stdlib,只可惜当时对C++不熟练,而且当时当时也没有OOP的概念,大部分代码放main里(赶时间)结果就悲剧了,三个月后再骚扰同一位recruiter,然而他已经不鸟我了。。不过经历了这次失败后痛定思痛,狠下功夫恶补C++和C,事实证明,扎实的基础非常有帮助。

Anki
一家消费机器人公司,做的产品很有意思,就是做比鼠标还小的赛车,用手机控制赛车比赛,还附带各种“武器”特效。不过这不是有意思的地方,这个产品真正厉害的地方在于AI做的非常好。。真正的AI开的比人还溜,里面用到了现在非常火的机器人SLAM技术。在indeed上投了这家公司,大概2个星期后收到消息说要phone interview,于是慌慌张张的准备了,因为为了让自己的resume更match这个职位,把我最近做的一个project写上去了,其实还没有完全掌握,不过既然写了那就只能硬上了。打电话的是国人小哥,CMU的phd,来这边应该很多年了,这轮面试没问技术问题,主要就是问resume,问经历,刚开始还不错,我把大学做智能车的项目说了一下,然后他就问细节问题,再后来就说到我最近的一个project,问我Kalman filter,真是那壶不提开哪壶,其实那时候对kalman还不是很熟,处于半懂不懂状态,虽然屏幕上开了小抄,然而还是答得支支吾吾,除此之外,还有另外几个“proficient”的skill也没解释清楚,最后自然是挂了。。于是又痛定思痛,花了几天时间把kalman彻底搞懂了,然后继续完善project。不过那时候已经是三月底了,时间真的很赶既要做project给resume填亮点,又要不停地刷题找手感,然后还得恶补C++,三四月真的是最最最难度过的日子,每过一两个星期就不停的反问自己这样的计划到底对不对,发出去的简历要么没消息,要么就是拒信,真的很迷茫。所以那时候起,除了原来一直侧重的embedded和robotics之外,也开始寻找更偏软件的职位了,不过C++的职位确实是少。

APCON
转眼就到4月了,很多大公司已经没什么坑了,于是开始达拉斯本地的小公司,这时候不管是software engineer还是test engineer,一律都投,然后就收到了APCON的电面消息,这家公司主要是做网络监控设备,在达拉斯开了新分部,于是开始大量招人,投了这家的test engineer,不久就收到了电面。打电话的是个年轻老墨,recuiter,语速极快,主要是说说APCON的状况,然后就是一些behavior问题还有简历,十几分钟的电面,之后说是会把我的resume给HR看然后等结果,之后再没听见消息。因为本来就觉得职位不match只是想拿到个工作,所以也没follow up了,学到的lesson就是要更熟悉自己的resume,做到熟练背出1min的自我介绍并且match对方的要求让他感兴趣,还有就是要准备几好几个问题问对方,显得对对方公司很感兴趣。小插曲:当时和一位三哥合作final project,时不时电话联系但是没存名字,于是某天晚上就打过去说说第二天的安排,结果一接通才知道打到这个recuiter手机里了,好尴尬 -.-

Long range system
也是本地一家小公司,做无线通讯设备的,比如pager,等等,感觉没什么发展,都是些很不起眼的小产品。印象中感觉完全没有投过这家公司,不知道对方是怎么联系上我的,然后说要来个20min的电面,于是我就纳闷了,到底该和对方说哪份简历,因为自己的每份简历都稍有不同,也不知道对方拿了我哪份。不过电面还是来了,稍微寒暄一下就问我的requirement是什么,年纪轻轻的我还没懂这是啥意思,后来才知道是问我的工资要求,然后我就说,UTD毕业的大概6万吧,然后对方就语调有点怪的说OK。之后就是让我把我简历上的经历都说一遍,也没细问,问完了就说不合适,说他们不能sponsor,也是醉,整个电话大概10分钟不到吧,move on。

Gemalto
转眼就四月底了,各种惆怅,这时候收到了两星期前投的一家austin公司的消息,embedded software职位,其实不了解这家公司,于是接到消息后迅速google了一番,之后就是一个20min的电面,这家公司是做digital security的,因为他们只对其他公司提供产品和服务,所以一般人都没听过。20min的电面就是HR问问题,首先把project问了一遍,然后问我懂不懂一些技术,比如embedded,Java,Javacard,encryption,等等,总之尽一切努力让自己显得很有passion,quick learning。几天之后说是给我onsite interview,很开心,终于拿到个onsite了,于是又恶补了一遍刷过的leetcode(80题easy,median而已。。),一大清早开车去austin,中午一点开始面试。话说那家公司周围的环境真的是漂亮,难怪那地方叫arboretum。回到正题,整个面试2个小时,前一小时技术,后一小时一个recruiter、manager问behavior。技术轮的是一位欧洲小哥,听不出哪的,不过说话会发小颤音,人非常nice。首先就是过一遍简历,逐条扫然后找感兴趣的点聊,还是很愉快的,然后看到我写了Test Driven Development,来兴趣了,问我啥是TDD,然后我就黑线了,其实我就会一些基本的测试框架,不过我尽力解释了我学的东西,然后他就举了个计算器的例子,问我怎么测试,我说先给些典型值,看输出,然后就是测试范围,等等,后来他还问怎么测试它的寿命,我说预估一下它的使用频率,然后加速测试,他似乎对这个答案很满意,之后就拿出了准备好的6道题让我任选三道去解,但是只给我15分钟,6道题都不难,可能细节比较重要吧,我选了fibonacci,数据拷贝和padding,数据解析,这时候之前复习的C++就排上用场了,但是写的时候感觉15分钟不到他就回来了,数据解析没写完,但是和他说了思路,fibonacci那道题一定要用iteration不能recursion,否则有益处风险,因为代码毕竟要在microprocessor上面跑。和这位小哥聊得比较开心,之后就是behavior问题了,各种问题抛过来,问我之前的经历,问我以后工作中的一些问题,总之就是比较常见的behavior问题,不过开车3小时+不睡午觉,问到后来有点晕,说的我口干舌燥。网上说如果如果面的好HR会现场催你签offer,不过面完后并没有,于是又开三小时回去焦急等offer,一周后,在我刚到湾区准备面Honda的时候,offer来了,心里的石头终于落地,几个月的求职就要结束了,不过他们给的时间很短,要我三天内给回复,也就是面完Honda的第二天,拿到Honda 的offer还是把这家推了。

Sita Cop
也是四月份接到的电话,Indeed上投的,其实是家ICC,不过那时的我做好了可能去ICC的准备,因为投了那么多公司,实在是没什么公司可以投了。。首先就是一个10min电面,国人小哥,就是面C++的细节,比如C++的hash是什么,为什么用call by reference,什么是lambda等等,之后他们打电话过来说进下一轮了,告诉我其实是去Verizon做一个一年的project,但是只能给我5万一年,好坑爹,不过当时是在没什么面试了,于是决定继续面下去,但是现在有offer了,下周可能就把它推了吧。

Swift Navigation
湾区start up,做无人驾驶,于是去网投,结果发现还要解决一个coding问题才能投,就是Fibonacci变体(又是fibonacci),遇到3的倍数输出Buzz,5的倍数Fizz,是prime就输出BuzzFizz。花了整整一晚上去做,因为我想尽力让自己显得比较专业,全程git记录,一遍coding一遍写google test unit,还做了code coverage分析,最后传上github写了一页document,三天后来了个拒信。。Start up要求就是高。。Move on

Honda
这个是我面的最后一家公司,一开始是在Indeed上投的,一家叫OSI engineering的公司发了一个robotics software的职位,感觉很match,于是投了,结果发现是个recruiter公司,给Honda等等汽车公司找人。不久后就说要来个video面试,于是赶紧把自己的project全部又恶补了一遍,不能再重蹈Anki的覆辙,视频面试一小时,国人小哥,前20分钟就是聊我的简历,还有公司介绍,说他们团队现在在做无人驾驶,我表示非常感兴趣,之后就是coding,开codepad,什么都是第一次,各种紧张,不过还好问题不难,第一题是把一堆放在一个数组里的原始数据整理到一个struct里,最后还要up sampling,我猜主要考察C++细节和OOP吧,前段时间的恶补就起效了。第二题就是求sum的变体,解题思路就是用cache把结果记录下来,以后每次查询就是O(1),不过写这题还是卡了一下,小哥细心提醒,最后过了。还有时间于是又聊了一下project,问了我细节,之后等通知。一周过后说给onsite,问我要不要和他们员工lunch,我果断答应了但是压力很大因为不知道该怎么聊,然后面试那天还要做1小时presentation,自选主题,我选了以前做的智能车和这几个月来自学的SLAM作为主题,present完就是3个半小时的面试,总共7个人。。回想起来面试的前一天我还在赶ppt,早上6点起接着赶ppt,也没睡多久,下午面试休息的时候喝了三杯咖啡。。面完就累趴了。。回到正题,presentation整整持续了一小时,10个人在听,会问我一些技术实现的细节问题,不过发现期间有位大叔居然睡着了。。两次。。我心里在想不会那么没吸引力吧,好吧,本来这些人就是大牛,我这演示估计就是小学生水平。Present完就马上第一轮面试,原来就是打瞌睡那位日本大叔,HR,他说他不懂技术,跟我谈日本sushi是多么的好吃,美国的sushi是多么的烂,感觉这位大叔还是很有趣的,第一次听日式英语(很好的那种),感觉很有意思,这轮轻松过了。下一轮就是针对我刚才的presentation提细节问题,比如各种搜索算法的比较(BFS,A*,RRT)等等,然后还要解答他们的一些疑问,之后问了我各种常用算法、数据结构的时间复杂度,概念等等,现在回想起来,还是庆幸之前花了很大功夫复习C++,数据结构和算法。然后下一轮就是三个coding问题,一个就是Fibonacci(又是fibonacci。。。),秒了,然后就是merge two array,我用C++实现,大叔说看来我的C++比他学的好,因为他还不熟悉auto和emplace_back。最后一个问题,给一个bitmap,要求把里面相邻的pixel用ID标号,我看我说这个让我想起了union find(其实我已经记不得细节实现了)他说UF可以,但是有更简单的方法,但是我也没啥思路,于是说逐点判断,看是否有相邻的,有就用那点的ID覆盖掉当前点,大叔说似乎可以。。但是我一遍解释一遍发现时候这个思路好像有bug,然后突然就想到了DFS,于是说DFS可以解决,他满意的点点头,继续下一个人。之后的两位也是针对我的简历和刚才的演说提各种细节问题,最后见到的是president,一个日本人,小插曲,他问我是中国哪的,我说浙江,他没听懂,于是叫我在白板上写下来,很久没写中国字的我提笔前还愣了一下该怎么写,原来他看得懂一下中文(中日文本来就有些文字一样),然后他还写了清华、湖南、江苏等等,说是在这些地方有研发部和工厂,反正这轮面的也比较轻松,都是behavior问题。整体面试下来,感觉背景和技能的match才是最重要的,其次是C++和算法,幸亏几个月以来没有放弃抽出时间做project。不过面试完还是很忐忑,不知道有没有戏,第二天早上起来,准备好了Gemalto的offer 接受信和拒信,如果中午登机前还没Honda的消息我就接Gemalto offer了。焦急等了一上午,队伍都开始排队登机了,这时候突然来了个CA的电话,赶紧接,Honda HR,说给我口头 offer,我立马就接了,这心情真的比较复杂。。找工作确实不容易,尤其对EE的同学,希望大家都有好offer吧!

以下是我投过的公司,如果你想找embedded,firmware,等等偏底层的software可以考虑投投下面的公司

3DR, Flex, MAKOInvent, 3VR, flextronics, Mentor, Adept, Ford, MeridianTechnologyGroup, AdvaOpticalNetworking, Formlabs, MS, AlphaNodus, FreedomInnovations, NI, altera, Freescale, NVidia, Alyn,PatrickAssociates, Fujitsu, NXP, Amazon, GageMaker, OSIEngineering, Anki, Gemalto, PDS, APCON, GemaltoInc, PERC, Apple, GlobalLogic, PizzaHut, ARGO, Google, PlacingIT, ARM, Greythorn, Plantronics, Atieva, Harman, Qualcomm, Baidu, HP, RobertHalfTechnology, BastianSolutions, Huawei, RPC, BioworldMerchandising, iNEMSOFT, sabre, BOSCH, InfoyogiTechnologies, Samsung, Cadence, InSourceGroup, Savioke, Changan, Intel, SITACORP, ChatsworthProducts, IntelliproGroupInc, SolarCity, CirrusLogic, Invetech, Square, Cisco, iRobot, SwiftNavigation, Continental, Ketra, Tesla, CruiseAutomation, KrasamoLLC, TheSelectGroup, Delphi, Lennox, TI, EcoMottoInc, LongRangeSystem, TRAXXAS, EmotersRobotics, LutronElectronics, TRW, Facebook, MagicLeap, TytoLifeLLC, Fitbit, magnaelectronics, Ubertal,

C++ 推荐书籍:
C++快速入门cplusplus.com
C++程序设计语言(特别版)
高质量程序设计指南C++C语言(第3版)
Effective C++

Robotics:
Udacity 的Artificial Intelligence for Robotics,Intro to Artificial Intelligence
EDX的Autonomous Mobile Robots
CS 287: Advanced Robotics, Fall 2009,cs.berkeley.edu

面试准备:
Elements of Programming Interviews(基于C++),个人感觉比leetcode要好,因为这里的解答更加结合C++语言特性。
Algorithms, 4th ed. - [Sedgewick, Wayne]
Cracking the Coding Interview 6th Edition,很全面很实用
  • 104
153条回复