[程序员秘书]大厂嵌入式linux/Android驱动工程师面经,工作0~3年/初级程序员必看的面试经验,文内附有多个面试案例

[From 程序员秘书](https://mp.weixin.qq.com/s/_PqYyky7nMLT6ALGGvYfOg)

前言

最近几个月,应Boss安排,和其他几个同事组成一个面试组,陆陆续续面试了些人,有应届生、有工作3~5年的人。每个人踏上code这条路的境遇不同,专业不同,性格不同,通过面试了解他人的经历也是一件非常有趣的事情;透过他人的经历、优点、缺点,我们也可以反思现在的自己或曾经的自己。目前招聘面试已经告一段落,刚好趁着5.1假期,写篇文章记录一下。

 

这次招聘对象:

职能范围:嵌入式linux/Android驱动工程师​

目标范围:应届生、工作3~5年者

 

面试的人数比较多,主要以ABCD….虚拟人称的方式,列举几个比较有代表性的吧。

应届生

面试者A:本科生,电气控制及其自动化专业,在学校大一下半学期就开始“混迹于”实验室,利用假期自学了C语言,早早跟着学长学姐,熟悉实验室环境和电子竞赛,从大二开始逐渐上手,自己焊接部分电路,做了不少小项目,熟悉利用51单片机和stm32做开发。学习和实践意识和实践能力算比较好的,缺点就是对linux和android了解较少,只是用虚拟机装过ubuntu,会用一些简单linux shell命令。其实和我们招聘的职能匹配度是比较低的,但基于学习和实践意识,实践能力考虑,面试组综合考虑,是可培养的,所以决定初面ok,等通知。

 

面试者B:研究生,工控方向,做过不少项目,自称对linux比较熟悉,有arm平台,linux驱动开发经验,但是当被问及驱动开发涉及的一些内核机制时,反馈有限;根据反馈看,可能是因为导师安排的项目紧,没有细究实现和机制的缘故吧,也反应了一个(导师和研究生之间的关系)现实问题…….(希望我们国家的研究生上学/学习环境能越来越好吧……);技能相对来说比较对口,虽然个别知识点欠缺,但应届生而言,是可培养的,面试组决定初面ok,等通知。

 

面试者C:考研失败的本科生,1、因考研占用了较多时间,编程或者项目经验相对较少;2、当被问及当初为什么考研时,得到的答案是 “周围的人都考研了”、“大家都准备读研了”;类似这样的话,显然是说了真话,但给人一种“随大流”的感觉。其实结合考研的原因回答看,还是在本科上学期间对自己的喜好或者将来准备干什么,没有考虑清楚,欠缺主动性思考,和面试者A,是个很大的反差。面试组一致认为,缺乏自主性思考,自我方向感差、驱动力不足,这种情况在实际工作中也是很可怕的。初面失败,委婉告知等通知。

[From 程序员秘书](https://mp.weixin.qq.com/s/_PqYyky7nMLT6ALGGvYfOg)

工作3~5年者

面试者D:工作5年多,做的都是嵌入式驱动相关的,但是真正linux或android驱动开发涉及较少,大部分都是基于stm32,mcu的总线或外设层面(无关linux无关android)驱动的开发,且基本平均一年多一点,就换一次工作,跳槽过于频繁;技能匹配度和稳定度,都不太符合,面试失败,委婉告知等通知。

 

面试者E:工作4年多,跳槽2次,技能相对匹配。但是,面试是封闭会议室,在面试过程中,正在讨论个人问题,讨论技术点,手机不知道微信还是消息连续嘀哩哩, 不是来电,面试者淡淡的阅了消息内容,并没有匆忙的静音操作,不紧不慢,面试对话瞬间停顿和中断,会议室出现了片刻宁静。 当时的氛围真的很尴尬。我工作多年了,自己没干过这种事,也是头一次碰见。我找工作面试之前,手机一般都是直接飞行模式了,担心扰乱自己,中断面试官。

在面试完,面试组讨论一致认为还是对面试的重视程度不够,给人一种感觉抱着无所谓的状态来的。如果重视,就会换位思考,就会注重细节的吧。面试完,综合表现看,手机信息和看手机信息,也可能是一根导火索吧,能力不错,但给人出来一种“无所谓”,“不重视”,“不在乎”的状态。面试失败,委婉告知等通知。

 

面试者F:工作刚3年,首次跳槽,之前是在外包公司,一直做的也是linux/android驱动相关的工作,但工作内容相对边缘,做的不够深入,维护和重复工作比较多,整体技能优势不明显;但基于做过驱动模块比较多,驱动知识层面也基本满足要求,面试组认为3年工作经验而言也是有潜力的,所以待定,等通知。

 

[From 程序员秘书](https://mp.weixin.qq.com/s/_PqYyky7nMLT6ALGGvYfOg)

总结

对于应届生而言,除了特别技术岗位外,普通技术岗位,企业一般都不会有太苛刻的技术能力要求,考察点主要侧重有学习能力、(项目)实践经验、技术知识/认知范围的广度、个别技术点的深度、以及对于面试岗位职能的了解程度和准备程度,以及自我规划能力。对于有了几年工作经验者而言,招聘要求相对就会苛刻许多,企业招聘要求的可能是可以直接上手干活的人,很少有企业再愿意耗费人力或财力给提供平台学习或者转型,即使有,可能也协商让应聘者适当自降身价,算是和企业互相成就、共赢了;对于有工作经验者,考察点主要侧重技术能力、合作能力、稳定度;

  • 学习能力:应届生在学校的专业课成绩、学校期间code技术能力情况;有工作经验者,接手/熟悉一项新业务、新技术的能力。
  • 规划能力:应届生在校期间是否有自己的学习计划,为自己将来准备从事的技术方向,都做了哪些准备;有工作经验者,是否有明确的职责、技术方向,是否存在自己得意的技术点。
  • 实践经验:纸上得来终觉浅,绝知此事要躬行。自己参与做过哪些项目,为了做好项目,自己熟练/成长了哪些技术知识,在项目中自己的角色,负责的技术点,自己负责的技术点一定要回顾梳理清楚;如果含糊不清或者自己参与的较少,建议诚实描述或者不写,不能出现“写了但说不清”,那样就成了减分项,反而起到负面作用就不好了。
  • 技术广度、深度:我们接受一项新事物或者技术,认知状态一般有四个过程: ①不知道自己不知道 —> ②知道自己不知道 —> ③知道自己知道 —> ④不知道自己知道。第一个过程是关键入口,如果对于技术的广度、深度,认不清,认知有限,“不知道自己不知道”,就无法继续精进了。如面试者B,面试中了解到其实在项目中做了不少东西,也涉及到很多和应聘岗位比较匹配的技术点,但就可能迫于项目时间压力,很多技术细节可能没有细究,整个项目从上层到底层的实现,也缺乏一些清晰的认知,无形之中削弱了自己的竞争力(面试体现的是技术能力,最后对应到人力资源池那里,就是薪资level、要价的能力了)。所以,平时在做项目时,我们要有意识培养自己站在全局、top view,审视项目、技术点、技术细节的能力;多思考,多细究,技术闻道有先后,技术有专攻,力争做一个既有技术广度,也有技术深度的programmer。
  • 稳定度:跳槽不宜频繁,跳槽太过频繁,当然,也有特殊情况,前提是要能对每段跳槽经历都“自圆其说”,并且能让人信服;面试中的言语沟通、交谈也很重要,需要注意说话方式和言语,要给人留下稳重、能稳定工作的印象。

[From 程序员秘书](https://mp.weixin.qq.com/s/_PqYyky7nMLT6ALGGvYfOg)

>文章 | 大端小端详解(含代码及详细注释)

>文章 | 你真的了解开源吗

>文章 | 浅谈ARM ABI,Android ABI

>文章 | CPU、ARM、架构(及指令集)关系

>文章 | 我毕业了(来自小学妹的毕业随笔)

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值