嵌入式
欢迎和楼主一起聊一聊:扣扣群:741541091。群里有楼主送上的秋招助力,多家公司的简历内推投递渠道以及学习资源,定时定期答疑解惑,更新秋招日历。个人基本情况LZ是从南理工机械转机电的测控技术与仪器,然后读研的时候转浙大的微电子学,18年开始做ARM Linux系统开发,主要是裁剪系统和提高实时性可靠性。在校经历方面,项目经历比较久,虽然没实习但也算得到面试官认可,比赛论文相对并不出色。去年毕业后去了ARM从事嵌入式安全系统开发。行业分析往年卷互联网卷算法,近年卷IC。嵌入式在我看来是一个不温不火的行业,它是芯片行业重要的一环,是产品落地不可或缺的一部分,但是往往薪资竞争能力不足。有些人觉得嵌入式是越老越吃香,也许过去硬件设计是吃经验的,但是嵌入式应用软件开发的门槛很低,在国产化的一些A核M核RISV核CPU的文档都中文化的情况下,高中生都可以学习相关的编程,LZ大学掌握的技能完全不够市面上公司的应聘要求。不是每个应届生都能在找工作的时候已经经历丰富的项目经验,而应用软件开发也是一些普通软件开发者花点时间就能转型的。所以想在嵌入式行业拿到高薪,有几个方向考虑:大厂的自动驾驶或AI+IOT,这个是个很卷的赛道,应届985硕50以上个人感觉 AI的会IOT技术 竞争力 > IOT懂AI理论,从公司的角度,前者我觉得是核心操作系统,这个国内的公司有限,应届985硕45以上芯片公司,芯片公司上市的很多,吃不上最好的也能喝点剩下的,应届985硕40以上普通嵌入式软件开发,应届985硕30以上lz所说的这几个是目前能拿到高薪(结合我那年和去年的估计)的嵌入式岗位,这些岗位都对学校专业技能要求很高。比赛论文,读研的项目都很看重,实习的经历都很重要。简历我相信一个优秀的求职者简历是不断迭代,为不同的公司量身定制,结合岗位需求强调不同方向的能力,譬如岗位要求操作系统,那项目就得重点体现你有没有开发过操作系统。嵌入式开发有点像一个产品的迭代过程,所以在写项目的时候需要闭环,即需求设计开发验证完整的过程,即便没参与某些环节我也建议你了解一下补上。提一句当时我帮同学改过简历后都顺利拿到offer了 :)对简历有什么想法可以进群交流。面试准备算法题如今也卷的不行,虽然lz入职后很少用到,实在忘了Google找个算法模板套就好了,所谓面试造火箭工作拧螺丝,嵌入式开发中链表栈树掌握好开发能解决大部分问题了,但没办法想要脱颖而出,常规的动归、bfs、dfs、排序还是机考必备,这个没什么好说的。面经方面,linux、计算机系统、操作系统(调度、文件系统、内存等)、计算机网络、数电、ARM CPU架构和指令集、C/C++、汇编、存储器、串口接口等。附上曾经指导师弟入门ARM Linux的思维导图,师弟已经拿了平头哥的ssp了。 我推荐Linux学习这块买一个正点原子的开发板,如果不想花钱,白嫖他们的公开资源也行:正点原子在我秋招时,以下是我当时掌握的相关能力,供大家参考。只会C++做简单题和一些中等题,会用容器,不懂类封装继承等,面试问到就说不会会写C,了解一点汇编和架构的知识知道Linux驱动,设备树怎么改,手册怎么看,驱动怎么编,Linux是怎么上电的,驱动开发这一块还算熟练毕竟读研开发了接近两年,会写Linux多进程多线程软件,系统调用内存方面都涉及大学的时候学过一点单片机,如51,msp430,stm32。但是后面就不学了会用电子实验的设备,会基础实验操作,看得懂电路图和PCB ,会焊接0402以上的电路了解传感器工作原理,尤其是陀螺和加表,对于各种通信接口也算了解个大概,知道一些物联网协议像MQTT面试经历LZ无实习经历,在2020年秋招的时候有大把的时间投简历面公司,那时候嵌入式在我看来一点也不卷,工作很好找的,刷了很多offer但最后有印象的就地平线、ARM、OPPO、华为鸿蒙等。当下比较火的像思特微、壁仞在那时候还是潜力股,LZ是一个不愿意冒风险的人,也不是多厉害的人,学历能力都有所欠缺,也没有实习经历,比赛论文,属于佛的那种,业内T1的公司很难进,但求职还是很稳健的。在我看来,确定好自己的需求很重要,不然最后很难挑。挑完还很容易后悔。以下是我基于我的面试经历对行业公司的整理和排序,仅一家之言。T1大疆、视源、乐鑫、十四所LZ心目中不错的公司,相对竞争比较激烈,也有双985像十四所就比较难进华为2012鸿蒙那年offer发的晚(典),HC少到发指,15优先给科班,下一届我师弟师妹就很好拿offer了。技术试面:手撕代码:大数相乘进程和线程的区别static/fork等技术二面:    --表现一般,非常慌1.项目最难的地方2.文件系统的制作过程3.内核裁剪的过程及提升4.手撕代码,dfs,LC79,边界处理有瑕疵5.Python掌握的怎么样主管面对待压力最大的事是否接受外派出国怎么看待华为的发的论文学术研究主要是哪些方面为什么转到了微电子商业卫星和军工的区别没参与的因为当时太佛错过,工作后多方了解觉得不错的:Intel Nvidia 平头哥 壁仞,以及自驾的公司参考2023年秋招,想加入自动驾驶行业的你需要关注这些公司T2ARM嵌入式不能没有ARM,就像西方不能失去耶路撒冷。来ARM,学架构,ARM(安谋科技)秋招8.15正式开始。有需要内推的可以找我!一面主要问问项目,指令集差异,操作系统阻塞与轮循,arm的认知,虚拟化的了解,IP开发经验等等二面:openday线下,聊项目为主OPPO-C/C++提前批,共三轮,很水的面试,oppo给zju开的属实不低,通信业务部门感觉是纯软,工资高的,base出了问题我不想去深圳。一面问项目和会的技能,以及C与C++区别等内容,会不会python等,嘴瓢说到了vivo不知道影响大不大二面:主要聊一聊职业规划和技术走向,对其他领域的理解,对项目的熟悉和团队经历,团队的磨合性问题及技术问题。三面:offer情况,面对压力、团队磨合、印象深刻的项目、期待工作地点等内容汇顶两小时三轮面试,有手撕代码,也不难,非常顺利拿到的第一个offer,画的饼也不错,可惜sp发早了,后面argue也没涨太多。一面技术面:strlen,sizeof以及char*,考察函数传参,考察自己写memcpy二面HR面:团队协作的项目,女朋友,薪水,过往面试经历三面主管面:个人性格,i2c,spi驱动,base城市,对岗位的期待,个人职业规划,如何看待压力瑞芯微面经忘了,当时base在福州,没考虑,面试体验印象中还不错。紫光小华为,不知道现在卷不卷了,听说有点动荡。一面聊聊项目,啥能力都没问二面,聊聊技术和软开的内容思科数据交换中心,四人面了两个多小时,有英语面,总的来说看重学历和综合素质,手撕的代码不难,后来offer顺位第二,没想到那个部门只招一人,另一个物联网部门捞我,开的也是均价,很想要我但是不argue遂拒。一面:四人项目内容,关于Uboot功能,多进程架构等Python的list、元组和字典等区别项目代码怎么编译,编译器是啥,IDE是啥,怎么进行调试的编译器编译代码的四个阶段动态库和静态库的区别及优缺点C++的STL了解得怎么样C语言怎么定义一个输出年份天数的宏定义代码编译出现undefined symbol怎么办平时怎么查看代码的,git用过哪些命令代码量怎么样,总计代码量说说中断的理解说说对于IPC进程间通信的理解arm启动的第一条命令和地址是什么手撕代码,32位数的bit反转,考察位操作,写的有瑕疵英文对话:你在项目中工作,你如何进行邮件联系工作人员,你们项目的分工了解DMA吗了解哪些总线协议块设备和字符设备的区别长江存储业内很厉害的一家公司,面试也很底层项目面试,主要问三取二的nand,对eMMC的理解,对坏块管理位置,对程序代码段数据段的理解,对他们做的eMMC是否感兴趣等。1.int的长度由什么决定2.cache是什么,有什么作用3.寄存器修饰的关键字的理解4.arm处理器的模式5.中断处理流程,中断的现场保护保护什么6.kmalloc和vmalloc的区别,内核怎么分配128M连续内存7.TLB是什么8.原子操作的底层是怎么实现的之江实验室有点像研究所,听实验室同学说,可以选择躺也可以选择卷,工作体验和在学校很相似。NXP-苏州二面说漏嘴已经和ARM签两方,面试官摆的比较快。同学base在苏州,工作很舒服。不想去一线可以重点考虑一下。地平线bsp提前批,四轮面试,三面给一道大编程题开发一个驱动,还挺难的,offer argue后很高。但是19年裁员很厉害,所以我没敢去。现在情况应该好多了。一面技术/主管面:ARM启动流程,内存配置偏移地址方式,设备树的优势及起源等二面技术面:讨论系统驱动开发,信号原理、互斥资源的解决方法,进程间通信,三取二相关,大量数据传递给应用层问题(map)三面主管面:用过哪些嵌入式控制芯片内核了解吗?有了解过64位arm吗物理内存的管理方式段页是x86的,arm怎么实现的kmalloc最大能分配多少slab是什么内核的L1 L2 L3缓冲TLB是干嘛的,什么功能进程调度算法fifo和一个什么的对比C++的虚函数是干嘛的,多态和覆盖的区别,虚函数的底层怎么实现的内核同步的机制自旋锁和互斥量mutex的区别自旋锁底层怎么实现的C语言的数据段里面包含哪些部分全局变量和局部变量存储在内存的哪个区域malloc最小分配的大小,malloc(1)分配多大malloc分配多大的内存的时候会需要向内核申请malloc和free的使用你觉得有哪些注意的你学的微电子学了解FPGA吗写过哪些驱动?寒武纪1.虚拟地址与物理地址2.内核如何分配内存给进程3.进程的资源分为哪些?漏了代码段4.多进程如何共享硬件中断5.进程和线程的区别6.内核态中断和线程同步的方式,不能用信号量7.uboot的作用8.arm启动进入操作系统的步骤9.const变量在程序的哪个段10.驱动中断的响应包括哪些内容11.双核的ARM在uboot里面用了吗T3中兴可以试试蓝剑一面:TCP/IP协议,ARM及其他芯片的上电过程二面:HR聊聊家庭情况个人性格,薪资,兴趣爱好,过往面试的企业部门匹配面:1.项目中职责2.中断的传递过程,信号量监听的函数3.驱动的开发过程4.网卡收集数据传递给上层应用的过程,网卡型号及接口5.网络服务器的高速并发处理,降低传输时延6.内存管理的方式,什么是内存管理,其作用是什么7.内核如何管理内存的页8.TCP/IP协议是否了解,Linux怎么做网络路由9.个人的优势10.文件系统的制作和优化方式,不同文件系统格式内核是如何管理的11.操作系统的任务调度方式,你的进程是怎么提高实时性或者优先级的12.nice的默认优先级大小,取值范围13.内核的裁剪和配置方式14.数据库是否支持并发,数据库ID是否可以任意数据类型,数据库一定要ID吗15.如何管理数据库的脏数据,掉电未写完的数据16.视频的编解码方式17.进程和线程的区别蓝剑1面1.你的文件系统轻量化及接口怎么取舍的,文件路径怎么搜索的2.Nor和Nand的区别,什么使用选用Nor什么时候选用Nand3.sqlite表的编排方式4.对ipc的理解,socket并发通信理解5.对进程上下文的理解(答错了,说成中断上下文了)6.三取二的过程以及做了什么7.对swap的理解和认识蓝剑2面-部门匹配面1.你印象最深的及最难的项目是什么,其中的收获2.你怎么做星上操作系统的可靠性和稳定性评估的3.你觉得嵌入式行业的最大挑战和瓶颈是什么,以及以后的发展趋势?4.你的三取二做的是什么5.你开发这些串口驱动,其中主要参与了哪些工作,编写驱动要注意哪些内容6.你的文件系统如何做到轻量化的,UBI和EXT4区别在哪为什么EXT4不适合NAND Flash(这个没回答的上来)7.对进程间通信的理解,socket或者ipc如何提高实时性;8.你的操作系统怎么做到实时性的?(基于抢占)9.你的软件运行在用户态,怎么架构的?10.NAND的数据怎么确认是读取问题和硬件问题。11.对操作系统的理解,以及最深入的内容?12.内核态与用户态之间的交互方式?(不太好回答)滴滴1.CAN和UART区别,CAN是帧结构吗2.CAN芯片怎么写的,数据怎么与内核交互的,属于网络设备还是字符设备3.你觉得最体现你项目能力的是哪个部分,你在其中参与的核心解决的难题是啥,你给我说说三取二的原理,以及你遇到什么困难。4.描述你的项目我来复述并评估拟堆项目的理解,项目背景和项目分工以及你的主要工作和难点5.动态库和静态库的区别,后缀格式,以及函数的相对地址区别6.堆和栈的区别,函数栈、线程栈的区别7.你在微电子学与固体电子学专业里面,你觉得自己能力算中上还是最好的那一批?8.最开始的:自我介绍,说你最大的和别人不同的9.有名管道的父节点和子节点10.共享内存的使用注意事项:回答锁和不能随意释放海康、大华杭州体面厂VIVO提前批很早,后面没有参与正式批TP要双985
点赞 77
评论 10
全部评论

相关推荐

04-28 19:31
门头沟学院 Java
真烦好烦真烦:可恶的二手车贩子,居然对我们门头沟学院的人这么没礼貌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务