嵌入式程序员的面试经历

时间:2022-06-27 02:26:02

  上个月辞职了,这一段时间一直在忙着找工作。之前主要是做机顶盒方面开发的,总感觉技术面有点窄,所以打算往TCP/IP网络和底层发展。

  大致看了一下书籍《TCP-IP详解(第一卷)》,《UNIX网络编程卷1:套接字联网API(第3版)》,《UNIX环境高级编程》,顺便看了下《鸟哥的Linux私房菜–基础学习篇(第三版) 》,之前一直是在linux平台做开发,以为对linux平台下的开发有一些了解,其实看了一些书之后发现还有很多不足的,各种网络相关的命令、vi,gcc,gdb开发环境这些还有很多需要学习,以前总觉得做好自己的那一块就ok了,忽略了环境搭建,工具的使用,眼光实在有些狭隘。一份工作你很有可能无法干一辈子,多熟悉一些开发相关的东西,以后很有可能会多一条路。扯远了,回到正题。

   前后面试了6家公司,其中有腾讯,中兴,理邦这样的大公司,也有数字太和壹捌科技这样的一家中小公司,还有audioCode一家以色列的外资公司。最后拿到offer的有中兴和数字太和。先按面试的先后顺序说一下面试经历,然后总结一些通用的面试题。

我在一个周一的上午和公司提出离职,下午就收到答复,明天可以不用来上班了。怎么说呢,心情有点复杂。这家公司是一家创业型公司,刚开始招聘的时候是说要做TCP/IP网络方面的开发,而且感觉技术有些高大上,什么负载均衡,应用加速等等。后面发现初创型公司有它的各种风险,这些以后会专门写一个总结,总之各种原因吧,并没有开始软件开发的工作,所以我提出了离职。离职批准了,第二天我就开始找工作了,先把之前在网上注册的简历修改一下,刷新为找工作状态。然后准备通用的嵌入式面试题和自己简历上写的工作经历和项目经历。老实说刚开始心里没底,只想着能做网络方面嵌入式开发,因为自己只擅长linux下c语言开发,TCP/IP只是有些理论基础,看了一下简单的socket编程的实例。一边学习着网络编程,偶尔也在网上找找有没有理想的职位,之前做过机顶盒,想想实在不行的话,去做电视也行,但是总有些心有不甘,也有些惶恐。终于,腾讯给我打电话去面试,老实说,刚开始有点小激动,我既不是211/985毕业,也没有网络相关的经历,腾讯招聘的是服务器后台开发工程师。之前正好有个以前同事面试过该职位,咨询了下他,准备还是有点不充足就去面试了。

笔试就没下文了,信心多少有些打击。不过过后想想,其实服务器后台开发与我之前做的工作确实相差甚远,服务器注重多并发,注重处理速度,算法。其实做一般的嵌入式开发,算法接触的并不多,网络多并发这一块我更是没有任何经验。

后面又有一家小公司壹捌科技给我打电话去面试C++职位,我大致查看了一下职位信息,这家公司有做手机助手和路由器,但是职位是做QT开发,很容易想到主要是UI开发,个人并不是很感兴趣,而且要C++,老实说,C++还只是停留在大学时候的水平,因此我打算婉言谢绝,但是招聘网站也看到他们有招路由器开发的软件工程师,因此跟HR说明了情况,我对嵌入式软件工程师的职位更感兴趣一点,HR让我先去面QT的职位,不合适再推荐给路由器开发部门。就这样迷迷糊糊就去面试了,QT的职位,个人这一块技术一般,意愿并不强烈而且我要求的待遇也不低,所以没谈成。然后去面路由器的职位,谁知道直接过来路由器部门的老大面试,没有笔试,大致扯了一会儿,让回去等通知,然后没有下文了。没有笔试确实心里也没底,他们QT的职位比较急,路由器的职位可能不怎么急,另外小公司应该更需要有经验的,而且也不会给我这种没有经验的高待遇。

然后是中兴,招聘的职位是嵌入式驱动软件工程师,我上网看了下职位要求,跟我之前的工作经历并没有多少重合,要求比较高,但是毕竟是大公司,所以打电话问HR要求是不是一定要职位上描述的,谁知HR说没有相关经验没关系,我们会培养,打电话给你之前我们技术部已经看过你的简历,觉得你可以才会叫你来面试。因此心里的石头算落下了,但是也没报太大希望,毕竟腾讯之前也是这么说的,只需要c和linux方面的知识。面试地点在西丽,有点偏,过去之后,HR(准确上说不是HR,是做技术的,可能中兴技术部门也有负责招聘这一块的人)很友善,先问一些技术上的问题,主要是c语言方面的,宏,程序布局,网络基础等一些问题,然后做了一份c语言的笔试题,有些题目网上见过了,因此心中有底。题目很多,一个小时做完之后,等待部长面试,中间HR很热心,偶尔过来跟我聊聊,因为部长在开会。部长问了些我之前做的工作和其他一些技术无关的问题,然后说让我回去耐心等一下,他们走流程要一段时间。我当时并没有听懂,以为是回去等消息。原来中兴录用之前要先走流程,如果批准了就可以给offer了,也就说当时技术方面已经觉得我ok了,但是还要一些行政上的工作要处理。当然中兴的流程确实是有些久,从面试完到拿到offer有半个月之久,从拿到offer到入职又有一个星期左右。

   之前由于中兴不完全确认,后面数字太和打电话让我去面试,主要是做家庭网关方面的工作,会用到之前我做机顶盒的技术,公司在塘朗那边,跟我住的地方有点远。数字太和没有独立的办公室,在母公司振华科技办公,以至于我第一次都没有找到地方,后来打电话给HR才知道。反正正常流程,先填表笔试,让半小时做完 ,除了技术,还有一些智商,性格测试的题,这我是头一回遇到。半个小时指定是做不完的,HR有点不专业啊。半个小时来问,我说这么多题半个小时肯定完成不了,后面做完了,技术老大来面试,聊了一些以前的工作经历和一些网络上的技术问题,当场决定录用。对数字太和这个职位的技术方面,个人确实也挺满足的,因为以前做机顶盒的技术可以继续使用上,而且以后也可以接触驱动和网络方面工作,但是据我所了解的情况,他们这边团队还没搭建起来,有点像初创公司,鉴于上一份工作的经历,还是有一些担心,而且给的薪水不算太高,当然也在可接受范围。我如实说了我在等中兴offer的情况,表示我可能要抉择一下,下周一前会给答复,我的态度很诚恳,他们也接受,表示希望我能够加入。确实当时差点就答应了,确实还不够老练啊。

  后面理邦也打电话过来让去面试,迈瑞,理邦医疗器械届的大佬,早有耳闻,虽然前面有了offer,还是答应去试一下。公司在蛇口,照例先填表笔试,还算顺利。接着面试,可能是由于有offer在手了,心情比较放松,他们招聘的职位更倾向于应用开发和业务方面,我觉得可能跟我之前做机顶盒的开发类似,只是业务有些差别。因此我表示我想做下层一点的驱动开发,面试官看了下我的简历,说你是计算机毕业的,不是电子毕业的,原理图哪些不一定看得懂,应该更适合做应用开发,驱动转应用开发的多,但是基本很少应用转驱动的。可能是看出我比较放松,面试官问我有几份offer在手,我也老实的说了情况。之后看来也不许不应该那么老实,后来就没有后来了……

又过了一个星期,中兴的offer还没确认,中间HR给我说没什么问题,部长会给我电话谈薪水,这期间猎头打来了电话,说有一家以色列公司招聘软件工程师,待遇比较优厚。“怎么办?还是去试一下吧,反正也是闲着”,我心里告诉自己。照例是先笔试,七八道题,都是程序题。之前笔试已经有了经验,一个半小时做的七七八八了,有一道数组排序要求复杂度为O(n),没做出来。这家公司没有HR接待,直接去找技术。他让我先考虑下数组排序那道题,他先看看其他题的答案。我回去百度了一下,有了思路,做完给技术。之后开始面试,了解比较细,先是就笔试题当场做了一些探讨,后面有问了一些技术上的问题,包括是否熟悉ioctl是如何从用户态到内核态的,一次访问http的协议的完整过程。老实说这家公司的笔试和面试都是比较专业的,笔试题基本在网上找不到或者经过一些改动的。聊完出来人家都下班了,真够久的,还不给口水喝,渴死哥了。

后来,中兴部长打来了电话,说是谈薪水,其实是告诉你薪水,也好,本人也不会谈。待遇还算满意,但毕竟是大公司,福利还不错。过了几天offer也发过来了。后面猎头又打来电话,通知说去audioCode二面,跟老外语音面试。oh,my god,我的Chinese English好久没用过了,有点惶恐啊,有点想拒绝,再想想也是个机会,下次英语面试就有经验了,只得硬着头皮,谁让你简历上写英语过了CET6,听说读写掌握程度熟练呢。准备一下自我介绍和简历上的一些东西,出发面试去了。自我介绍算是用上了,其他都没什么用,人家老外直接问你技术问题,问我之前做的工作,画出框图,解释给他听,由于确实英语说的也少,加上语音的网络不是很好,有些问题没怎么听懂,还得靠这边人翻译,当然有些他也没听懂,只得pardon啦,我的Chinese english希望他听懂了。面完感觉不是很好,估计没什么希望了。

最终拿下中兴的offer准备去中兴了。

关于面试题方面,将在下一篇文章中详细讲述。