嵌入式面经_前端后台太卷? 20届师兄聊嵌入式/安卓_附干货

111道嵌入式面试题答案汇总专栏链接 --> 《嵌入式/C++面试题解析大全》

本人2020年毕业于广东工业大学研究生:许乔丹,有国内大厂CVTE和世界500强企业嵌入式/安卓开发经验,谈谈一些感想。2023都说前端后台卷死。如果你对从事硬件开发/单片机/嵌入式Linux应用开发/嵌入式Linux驱动开发/安卓系统/安卓应用等岗位比较迷茫,不妨看看下文,这些岗位我都做过,希望对还暂时迷茫的同学能起到一些参考意义。

1、个人成长历程

我是如何确定自己的求职方向的?其实也是逐步确认的⬇️

1.1 单片机的那几年

本科专业是自动化。因为从13年大一就开始接触嵌入式,搞了本科4年单片机,大二大三参加了两届全国大学生飞思卡尔智能汽车竞赛,负责代码和算法编写。大四还搞了半年的电路板,发表了3个电路板发明专利(电路板的专利感觉很容易发)。如果你在纠结做硬件开发还是单片机开发,我觉得如果你不喜欢写代码,那就果断选硬件开发。反过来,如果喜欢写软件,就选择单片机开发?NoNoNo,单片机软件开发不推荐。

1.2 嵌入式Linux的那几年

因为单片机开发的天花板比不过跑系统的,比如这几年比较流行的智能手表,一开始一些厂家还是使用单片机去做,把代码抠得非常完美,充分发挥了单片机的性能。然而其他厂家使用嵌入式Linux开发的智能手机基本都可以吊打单片机做的智能手表。虽然单片机需求这几年还是保持着较高的需求,但如果你是有时间准备校招的学生或者还在搞单片机的在职员工,我都建议你选择嵌入式Linux,无他,天花板更高。直接从Boss直聘上可以很明显的发现嵌入式Linux的工资和岗位需求明显高于单片机。

因此,研究生阶段,专业是控制科学与工程,果断放掉单片机,开始学习嵌入式Linux,并在研三成功拿到CVTE嵌入式Linux开发的Offer。在CVTE上班的前一年,都是做嵌入式Linux应用开发,甚至还短暂接触了驱动开发,调过显示屏/触摸屏/旋钮。嵌入式Linux应用开发都是搞业务,如果你很喜欢当前的业务,那么可以继续做下去。但如果不喜欢当前业务,因为应用开发搞深了,就必须懂得每一行的行业知识。不像嵌入式Linux驱动,不论所在的部门业务是什么,你做的工作都是差不多的。

因此,如果能在喜欢的业务做嵌入式Linux开发,也挺好的。或者想着“越老越吃经验,年纪大了不会轻易被年轻人代替”就可以深入搞驱动。当然,如果想着“越老越吃经验”还可以搞搞嵌入式Linux系统开发,这个我就没接触过,但难度都高于单纯的应用开发或者驱动开发。

如果想面试嵌入式Linux,请参考《嵌入式/C++面试题解析大全

因为当时所在的业务,个人觉得不合适。想着往天花板更高的Android系统发展。

1.3 Android开发的那几年

众所周知,Android系统底层是基于Linux内核,就想着转到Android系统开发的岗位上,在Boss直聘上看Android系统开发的工资,确实又高了一个level,甚至基于Android系统的音视频开发工资都非常高,当然这是后话,工资高,难度也更高。

从嵌入式 Linux 转 Android系统开发需要学习的东西非常多,经过较长的时间,才慢慢入门上手工作,如果你也有想法转到安卓,可以看看这个专栏:《Android面试题解析大全

接触Android系统开发后,明显感到“天花板变高了”,因为需要学习的东西实在太多了,做嵌入式Linux应用开发,会点C/C++知识,懂得Linux系统简单操作就可以上手了,但Android系统开发就需要你提前掌握多个知识点,包括各种模块以及安卓源码的理解,才能更好的处理问题。当然,入门也是有顺序的,你可以从安卓应用APP先入门,把单个APP或者系统应用搞懂后,再慢慢系统级别的工作。因此,我所在部门的需要用到的APP开发基本都是我在负责。

做安卓系统的程序员一定会一点安卓应用的技术,反过来,做安卓应用开发的也需要懂一些系统知识。因此,总有人纠结要深入研究系统还是应用!如果你也在纠结,那也很正常,因为我也纠结过。做系统需要深入研究系统源码和系统框架,必须沉得下心去研究才可以。同时,做安卓系统的基本都是大公司,毕竟做系统的都是搞一个实体设备出来。因此,跳槽的公司选择上不会像安卓应用那么多。因个人也挺纠结这个选择,所以不好给建议。我个人是觉得做安卓APP更有趣点,后面又选择了APP开发。

2、岗位介绍

本小节分享在CVTE干嵌入式Linux和安卓系统开发的实际工作经历,让各位同学对企业中嵌入式Linux/安卓系统的工作有进一步了解(仅代表个人工作经历)。

2.1 在CVTE做的嵌入式Linux

20年入职后,在TV事业部负责TV系统的开发。众所周知,TV主要分为不能联网的,也就是小时候用的电视,以及现在很流行的智能电视。前者主要使用嵌入式Linux系统(也有使用单片机的,但已经淘汰了),后者使用安卓系统。期间,我还曾经去支援过洗衣机项目和显示屏项目。因为我是嵌入式Linux应用开发,在TV、洗衣机、显示屏项目中,主要都是负责绘制UI界面,如控制菜单,然后实现对应的功能。使用的UI绘制工具有的是原厂提供的,有的是前辈自研的,反倒是没有使用过QT开发界面。期间需要对相关的行业知识要有所了解,如做TV系统,就要对电视行业知识有所了解,做显示屏,也要对显示屏的行业规范有所了解。至于Linux驱动,接触的较少,我目前调过显示屏/触摸屏/旋钮。

2.2 在CVTE做的安卓系统

现在越来越多带屏幕的设备是用安卓系统来做,到了希沃,先后接触过网课学习机和随身听这两个产品的研发。为更好入门安卓,我先从APP研发入手,部门研发了一个用于硬件测试的APP,如触摸屏、WIFI等硬件都是需要经过压力测试后,才可以正式流入市场的,因此需要研发一款用于硬件测试的APP。大概做了三四个月,算是入门了安卓APP开发,接着负责系统级别的APP,如下拉菜单,系统弹窗,关机界面等都是系统级别APP来实现的,我曾重绘过下拉菜单,修改了系统的弹窗,安装进度的弹窗等,也将关键界面重绘了一遍。到最后,再慢慢接触安卓系统源码相关的需求。

3、你最关心的事情

无论你我,都很关心:

  • 薪资发展:想工资高,往大厂,嵌入式Linux工资在所有研发岗位应该算中等,安卓系统开发则算高等。
  • 加班情况:无论是前端后台,还是嵌入式/安卓,只要你去大厂,都会卷的,所以别担心会不会卷,只是看卷的程度是否可以接受。要想不卷,就去国企央企,工资低点,但国企央企现在也不好躺平了。
  • 个人成长/晋升情况:作为程序员,前期晋升靠专业技术,后期就需要懂更多“软实力”,比如管理/沟通等。
  • 跳槽/转行难度:嵌入式Linux需求量还是很大的,虽然这两年越来越多校招生转嵌入式,不过社招的岗位还挺多的(相对前端后台)。安卓系统岗位一般只有大厂还有招。
  • 求职难度:嵌入式Linux校招生就可以有机会拿到offer,安卓系统一般校招生都不懂,都是应聘了嵌入式,后面分到安卓系统。
  • 学历要求:不得不说,现在很多大厂都要本科以上。。
  • 对于求职者的能力要求:基础要懂,并做过对应的项目,满足这两点,都有机会拿到offer,反之就很难拿到。

如果有其他疑问,评论区提问哈。

4、确定求职岗位后,应该如何准备

面试嵌入式Linux或者安卓,一般需要三大步骤:

alt

#如何确定求职岗位##嵌入式##嵌入式八股##嵌入式面经##牛客在线求职答疑中心#
全部评论
java之后又轮到嵌入式了吗?哈哈哈
3 回复 分享
发布于 2023-06-03 07:53 安徽
资料非常详细,内容充实。值得推荐
点赞 回复 分享
发布于 2023-06-02 23:52 陕西
安卓行情怎么样呢?嵌入式也开始卷啊啊
点赞 回复 分享
发布于 2023-06-08 10:58 广东
点赞 回复 分享
发布于 2023-06-08 22:33 湖南
资料不错
点赞 回复 分享
发布于 2023-06-15 17:07 广东
很不错!
点赞 回复 分享
发布于 2023-06-16 16:29 山东
有点东西的
点赞 回复 分享
发布于 2023-06-21 11:59 辽宁
讲的很好
点赞 回复 分享
发布于 2023-09-08 23:34 广东
cvte为什么业绩不好啊
点赞 回复 分享
发布于 2024-01-21 09:47 江苏

相关推荐

评论
24
106
分享

创作者周榜

更多
牛客网
牛客企业服务