谢谢你的分享
  以下是对自己秋招,包括实习经历的一些记录,总结自己找工作的大致历程,也希望能给后来的同学起到一些参考作用。    实习和秋招,我投递的岗位都是嵌入式软件工程师。但是,自己在实验室做的项目,参加过的比赛等等,其实都是没用过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分钟左右,总体氛围感觉比较轻松,后续问了一些问题,反问。 
点赞 48
评论 7
全部评论

相关推荐

10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务