记自己的嵌入式工程师秋招经历

以下是对自己秋招,包括实习经历的一些记录,总结自己找工作的大致历程,也希望能给后来的同学起到一些参考作用。

实习和秋招,我投递的岗位都是嵌入式软件工程师。但是,自己在实验室做的项目,参加过的比赛等等,其实都是没用过linux操作系统的,用的只是裸机,对嵌入式方向的理解比较浅。我在研二的时候开始自学嵌入式linux,跟着韦东山老师的网课,才有了更深的理解。

秋招之前还参加过一些实习的笔试面试,记得四月参加华为实习的机考,被狠狠打脸,一题都不会,之后才是投入更多精力刷leetcode,这对后续秋招准备也起到很大作用。最终是在暑期去了海康威视做嵌入式软件实习,应用方向的。不过实习一个月左右就返校了,其实感觉对秋招的帮助不是很大,反而是占用了很多刷题时间,现在想想那段时间真的很累,脑力体力劳动都需要,不过好在公司安排住宿,报销来回车费。

个人感觉,要真正深入学嵌入式linux,必须是对操作系统有比较深的学习,这一点自己做的不是很好。本科测控,硕士控制工程,没有学过操作系统等等的计算机专业基础课,后续都是为了秋招应试来学了操作系统,数据结构与算法,计算机网络这些课,理解的也不够深入,是个人的短板。

现在嵌入式工程师的校招,也是都要考察编程的,不论是笔试还是面试(真的是越来越卷了,和纯软件区别不大)。我参加过的面试中,除了大疆没有手撕代码,其他几乎所有大小公司都会有要求,然而对于我,或者是部分非计算机科班的同学来说,编程水平和训练是不够的。我是从四月开始刷leetcode和牛客,主要还是刷leetcode,网上也有很多大牛总结的刷题经验。我跟的是“代码随想录”,博主carl在B站也有讲解算法的视频,有微信公共号,还有知识星球,每天都有很多同学打卡,分享和记录自己的刷题经验。

嵌入式相关的面试经验,可以参考“嵌入式与linux那些事”公共号,有整理好的面试经验文件。博主仲很不错,有问题和博主讨论,也都很热心的回答,给本人的秋招起到了很大的帮助。

21年秋招,芯片类的岗位薪资暴涨,嵌入式方向的岗位也沾了一点光,总体的薪资待遇比之前预期的要高。拿到的offer:百度、之江实验室、TCL、华为、大疆、联想、三一重工。最终选择大疆。新的一年继续努力,希望未来在跟广阔的平台上更进一步。

以下是秋招笔试面试的部分记录(都是每次笔试面试后记录的,有的回忆不是很全):

百度 北京 嵌入式linux(提前批,没有笔试)

7.27 一面,1h

1.问项目,还问了神经网络的算法。

2.static,vailate,const关键字。

3.栈和队列。

4.数组和链表。

代码:

1.合并两个链表,按顺序。

2.去除字符串里面的空格。

7.27 马上二面,1.5h

1.还问项目,问里面的难点,还问了一下本科的毕设,因为写在简历上。

2.也问了static关键字,函数里用static定义的变量,存在哪个区?

3.malloc,在函数里定义一个很大的数组,应该直接定义还是用malloc?

代码:

1.复制链表。

2.判断计算机是大端还是小端。

3.两数之和,leetcode第一题。

4.Linux使用多线程,实现软件定时功能。聊了很久,写了一点伪代码,最好在面试官引导下,说出来他想要的解决方法

7.30 三面,30min

部门经理面试这样,技术问题没怎么问,大致介绍了项目,问了难点,怎么解决,平时怎么学习,未来职业规划,还问了一些场景问题,比如团队做项目,怎么效率更高,对小度音响有了解吗,认为研发技术上有哪些难点。


华为 上海无线 嵌入式软件工程师

9.11 笔试

1.有向无环带权图,找关键路径。

2.内存分配算法。

3.两个数组,给定规则,求最长有连续关联数据的子数组。

9.24 一面,45min

1.介绍项目,问软件部分的结构框架

2. static关键字

3.大小端,字节对齐,问网络通信一般是什么字节序?

4.存储结构,堆和栈的区别,还有哪些存储区?

5.宏函数和内联函数的区别。#define在编译的那个环节使用?

6.问指针问题,给出四行代码,问含义

int *p[10]

int (*p)[10]

int* (*p)[10]

int (*p)[10](int*)

7.手撕一个代码,给定数组和一个整数k,问有多少长度至少为2且元素和为k的倍数的子数组。开始写的方法暴力,后面和面试官讨论说出来思路。

当天过了一小时二面,45min

1.介绍项目

2.大小端

3.字节对齐问题,给一个结构体

struct{

char a;

char b;

int c;

}

问在32位机器上,使用sizeof()多大,我说8字节,面试官说还可能是12字节,如果是这种情况:

struct{

char a;

int c;

char b;

}

4.数据结构,问满二叉树,完全二叉树,BST二叉搜索树,说自己的理解和区别。

5.快排,冒泡排序的时间复杂度,什么情况下快排时间复杂度比冒泡高?

6.手撕一个代码,二叉树路径总和位sum的路径有多少,不一定从根节点开始,但一定从上向下。用两层递归写出来。

7.问对无线通信有什么了解。

9.26 三面,20min

1.自我介绍,大致说一下项目。

2.看你项目经历很丰富,竞赛奖项,自己认为收获最大的是哪个项目经历?

3.竞赛时作为团队负责人,认为带一个团队最重要的是什么,遇到过什么问题,怎么解决?个人利益和团队利益冲突了怎么办?

4.生活中遇到过什么困难?

5.朋友多吗?遇到困难会和朋友倾诉吗?事后自己有什么感想?

6.海康实习在杭州,无线在上海,能接受来上海吗?

7.对华为的了解和看法

8.反问


大疆 上海 嵌入式工程师

8.1 笔试

单选多选简答编程。

8.24 电话一面,50Min

介绍项目,问了项目的freeRTOS操作系统怎么分线程任务的,怎么实现同步互斥,问了一些项目没听懂的地方

问有没有做过linux相关的项目,我说跟着网上的课程做过一个小项目。

开始提问linux操作系统:

1.静态库里面定义了一个静态变量,线程A访问并改变,线程B再访问这个变量,这个值是改变的吗?

2.两个进程的内核空间是共享的吗?

3.如果两个进程,都要去调用一个设备驱动,设备驱动里面定义的变量是在内核态吗?

如果进程A访问并改变了这个变量,那么进程B再访问,是不是读到改变之后的值?

4.进程A执行,发生一个中断,中断发了一个信号,会让更高优先级的进程B执行,这时候中断结束,应该返回进程A还是进入进程B?

5.还问了自旋锁和互斥锁区别?

6.问了虚拟地址怎么转换到物理地址?

7.问了一下海康威视的实习。

8.有没有用过大疆的产品。

9.3 二面,30min

主要根据项目问,没问八股面经

1.问传感器测力的原理,应变片怎么把力转换成电信号,我画了图给他看。

2.扣了一下我用的AD转换芯片的问题,问转换完成一次时间是多少,问主控芯片频率,大概意思就是是否来得及读取信号?

3.还问了数字滤波后信噪比改善多少。追问怎么知道真值的,我说自己设计的标定平台,加上指定大小和方向的力,算的是一个相对值,后面需要解耦计算的。

4.还问了项目有没有用操作系统,我说用了freeRTOS。

5.反问。

9.11 三面,20min

是一个硬件工程师,做技术的,但没问技术问题

1.自我介绍,大致介绍了一下项目。

2.为什么想要加大疆?

3.问对大疆的产品有什么了解,有没有用过,哪些功能印象深刻,觉得有哪些技术上的难点?

4.自身的优势,自己想从事哪方面工作?

5.嵌入式和硬件关联很大,如果一共硬件工程师做的硬件出问题,把锅甩给你,你会怎么做?

6.有没有了解过大疆的工作氛围?

7.反问


网易 杭州 C++工程师

笔试

四个编程题,基本都写出来了

1,1,1,0.8

8.29 一面,55min

内容偏八股,比较常规。平台有问题,电话面试,就没有写题目了

介绍项目

1.进程,线程区别,优缺点,通信方式。

2.中断相关问题。

3.死锁的必要条件,怎么处理死锁。

4.栈和堆有什么区别。

5.内核的调度方式。

6.TCP,UDP,稳定性,区别,适用场景。

7.路由相关问题。

8.反问。

8.31 二面,47min,很多不会,挂了

1.问TCP,UDP使用,在项目里面有没有用过,怎么用,三次握手,四次挥手,为什么断开连接是四次?

2.问一方断开,另一方还连接的情况,是否可以长期存在?调用什么函数断开连接?有没有只断开一方连接的函数?

3.问三次握手为什么ACK信号是SYN信号值+1?

4.问项目里面,软件代码问题,怎么调试?

5.问阻塞,非阻塞,epoll,多路复用。

6.问到TCP服务器客户端编程,怎么处理多个客户端?

7.问到http搜索百度,有哪些过程?

8.问swap分区?

9.问ps看进程执行状态,问D代表什么意思。

10.问linux文件系统。

11.问0-3G用户空间有哪些内容。


美团 北京 车载部门,硬件/车载总线工程师

8.15 笔试

笔试,四个编程,一个多选

1,0.64,0.36,0

8.23 一面,50min,很顺利(面试官还加了微信)

1.,介绍项目,还大致介绍了一下海康威视的实习,问linux驱动模型。

2.问驱动程序里面,如果有一个buffer,在不同场景下需要定义不同大小,怎么办?

3.反问

写了两个题目,都做出来了

1.二叉树最大深度 NC13

2.重排链表,然后和面试官说了自己的思路 NC2

这两题在牛客题库里面都有

8.26 二面,30min,挂

写题:自己定义双向链表,构造,插入,删除操作,没什么好写的

问题:

聊项目,还问了本科毕设项目,大致说了一下

1.问C++多态。

2.问会不会数字信号处理的算法,傅里叶变换什么的。

3.问传引用和传指针区别。

4.问智能指针。

5.反问

TCL 深圳 C++软件工程师(嵌入式方向)

笔试

60个选择,45Min

一面,40min

主要问项目相关的东西,不算深挖,详细介绍的目前实验室的项目,也大致介绍了本科的毕业设计

面试官介绍了一下TCL的部门,软件,驱动,硬件,AI算法等等,记名字不算很清楚

说到软件和硬件部门不在一个城市(惠州,深圳什么的),说我软硬件都会,有很大优势

二面,15min

1.介绍项目。

2.问C和C++更熟悉哪个。

3.malloc分配的内存在哪里。

4.有做项目的收获,挑战,怎么学习新知识。

5.反问。


联想 北京 软件工程师

笔试

联想笔试,40选择+1编程(自己实现string类,写构造函数,析构函数,拷贝构造函数,重载运算符)

面试,25min

1.介绍项目。

2.单片机启动程序,在执行main之前的是什么。

3.keil怎么使用库。

4.内核和应用数据交互方法。

5.kmalloc()和用户态的malloc()有什么区别。

6.问了堆和栈的区别,static关键字。问到malloc()后不释放会怎样。

7.问了解哪些数据结构,然后问怎么把链表倒叙输出。

8.二分查找。

9.左++和右++,优先级哪个高,问a = 5; a = ++a;和a = 5; a = a++;最后a是多少。

10.问懂不懂python。

11.面试官介绍了一下部门。

12.反问。

之江实验室 杭州 驱动工程师

笔试

两道编程,具体内容忘了,比较简单。

面试,40min

唯一遇到的要求做PPT在腾讯会议上展示的,主要介绍在校做的实验室项目,有3位老师和1位HR听我演说,全程40分钟左右,总体氛围感觉比较轻松,后续问了一些问题,反问。

#秋招##百度##华为##大疆##网易##美团##TCL##面试题目#
全部评论
好详细,谢谢楼主分享
点赞 回复
分享
发布于 2022-01-27 20:11
很棒 希望能学到精华
点赞 回复
分享
发布于 2022-02-02 16:34
饿了么
校招火热招聘中
官网直投
感谢大牛
点赞 回复
分享
发布于 2022-02-08 10:58

相关推荐

45 220 评论
分享
牛客网
牛客企业服务