2022年,与牛客的第4年复盘(夹带面试干货~)

本文是2022年的年终复盘随笔,聊聊天~

1、牛客专栏历程

不知不觉已经在牛客混了第4个年头,先后编写了《嵌入式/C++面试题解析大全》和《Android面试题解析大全》两大面经专栏:

系列专栏:

安卓面经专栏:《Android面试题解析大全》 安卓面经目录详情:安卓面经_anroid面经_111道安卓基础面试题目录

嵌入式面经专栏:《嵌入式/C++面试题解析大全》 嵌入式面经目录详情:111道嵌入式面经题全解析软件开发面经C++面经目录

那还得从2019年开始准备校招,整天在牛客网看各种面经,直到得到 Offer 后,像其他牛友一样,发了帖子回馈牛客。因此将2019年秋招准备的 100+ 页Word文档的嵌入式面经发表在牛客专刊上(19年的时候,还有“牛客专刊”,毕竟“牛客专栏”是有要求的)。突然有一天,因为专刊订阅数多了,可以升级为牛客高级专栏。因此牛客网第一个采用一问一答的面经专栏于2020年3月正式面世,目前订阅数也超过了3000+。甚至还受邀参加了牛客大学的嵌入式校招经验分享直播。

2、个人成长历程

如果你对从事硬件开发/单片机/嵌入式Linux应用开发/嵌入式Linux驱动开发/安卓系统/安卓应用等岗位比较迷茫,不妨看看我的成长经历,希望能对你有所启发,这些岗位我都做过。

2.1 单片机的那几年

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

2.2 嵌入式Linux的那几年

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

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

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

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

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

2.3 Android开发的那几年

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

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

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

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

2022年也完成了人生第一次跳槽,来到了世界500强企业从事Android SDK和APP开发,整体来说2022变动其实比较大,好在结果比较满意。

#我与牛客的2022#
全部评论
真.巨佬
1 回复 分享
发布于 2022-12-29 23:42 山东
你这太全能了
点赞 回复 分享
发布于 2024-09-09 02:50 安徽
本科简单学过单片机课程,但不深入,可以直接学习linux嵌入式而跳过单片机吗
点赞 回复 分享
发布于 2023-10-14 15:57 上海
博主想问一下,linux驱动开发的学习路线是怎么样的
点赞 回复 分享
发布于 2023-01-03 19:10 安徽
这就是全能战士吗
点赞 回复 分享
发布于 2022-12-29 23:54 湖北
收藏了,等有空就学习
点赞 回复 分享
发布于 2022-12-29 23:49 广东
红名大佬都是混的话,那我这种小喽啰就不敢说话了
点赞 回复 分享
发布于 2022-12-29 23:32 北京
丹哥好~
点赞 回复 分享
发布于 2022-12-29 23:24 重庆

相关推荐

点赞 评论 收藏
分享
评论
33
46
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务