大佬可以给点建议吗😂
点赞 评论

相关推荐

02-10 15:19
已编辑
北京邮电大学 C++
嵌入式类岗位大致分为以下几个类型:嵌入式软件开发工程师、驱动工程师、系统软件开发工程师、应用软件工程师、嵌入式测试工程师;还有一些:电子研发工程师、C/C++软件工程师(嵌入式)、智能驾驶软件工程师、机器人软件工程师、硬件产品经理等等。1.1. 嵌入式软件开发工程师A公司岗位描述:1、负责设备软件的设计和交付,包括单片机嵌入式开发、DSP嵌入式软件开发、多线程多任务的动态调度、动态内存管理等软件关键技术研究;2、负责设备软件研发及商用过程中的功能、性能、功耗、可靠性等问题的定位解决;3、负责设备软件新技术的预研和产品实现,提升产品优势;4、跟进行业新技术动态,参与新技术的研究,并能引入到产品开发中。A公司任职要求:1、熟练掌握汇编/C/C++编程语言和基本的常用数据结构,了解操作系统原理;2、熟悉Linux系统编程,嵌入式系统,ARM或单片机,RTOS实时操作系统;3、熟悉HTTP/TCP/UDP等网络协议,熟悉一种或以上接口协议优佳,如:USB、UART、Ethernet、PCIE、EMMC、I2C、SPI等;4、有嵌入式系统或产品的开发项目经验优先;小结:嵌入式软件开发工程师主要负责该部门嵌入式产品的研发工作,固件开发,单元测试,代码维护等,提升产品优势。很多公司都是大类嵌入式软件开发工程师,而不进行驱动、系统、应用工程师等区分。1.2. 驱动工程师B公司岗位描述:1、负责底层驱动及上层应用的开发和调试,外设驱动的开发优化工作,比如Camera、LCD、Sensor等;2、负责软硬件结合新器件技术预研和开发工作;B公司任职要求:(与A公司要求相差不大)C芯片公司驱动岗位描述:1、设计和开发驱动程序(user mode, kernel mode, firmware etc),HAL/API,提供应用程序库的支持,提供包括内存管理,任务管理,硬件资源管理等功能;2、建立驱动程序的开发环境,包括硅前和硅后测试和调试环境,以及相关驱动程序测试工具;3、与硬件工程师和软件工程师协调提供解决平台中出现的问题。C芯片公司任职要求:1、精通C/C++编程,有Linux编程经验者优先;2、熟悉计算机体系构架,算法设计等;3、具备CUDA/OpenCL/GPU shader programming知识和经验者优先;4、有较强学习新知识的能力;具备较强的沟通能力。小结:驱动工程师主要是编写和移植各种芯片驱动,优化硬件设备驱动,一般驱动工程师指Linux上的驱动开发工程师,所以需要精通Linux驱动框架,结合芯片本身去编写驱动,所以芯片公司招聘嵌入式相关的岗位一般是驱动工程师。1.3. 系统软件开发工程师D公司岗位描述:1、参与soc软件开发,包括soc bring up软件开发、IP驱动软件开发、bootloader软件开发、操作系统移植等;2、参与soc 软件、硬件系统验证;3、参与板级外设驱动软件开发与调试;4、参与soc BSP 、soc SDK 软件开发、软件测试。D公司任职要求: (与A公司要求相差不大)小结:系统软件开发工程师主要是编写固件,需要熟悉整个操作系统组成与调度,对固件的稳定性高求很高,是驱动和应用的基础。1.4. 应用软件工程师E公司岗位描述:1、负责嵌入式系统的搭建与维护,熟悉芯片驱动、嵌入式OS、SD接口定义;2、负责软件系统的跨芯片移植(如:NXP系列、STM32系列);3、负责系统集成以及调试工作;4、负责进行嵌入式软件系统的应用开发、优化。E公司任职要求: (与A公司要求相差不大)小结:应用软件工程师主要是编写业务逻辑程序,调用驱动工程师提供的接口控制设备,软件开发过程所涉内容范围非常广,主要使用C语言开发,但经常会涉及其它语言、数据库、前端后台、各种通讯协议等。1.5. 嵌入式测试工程师F公司岗位描述:1、负责嵌入式项目功能测试、性能测试、SDK测试或者自动化测试;2、根据产品需求制定测试方案、设计测试用例,搭建测试环境;3、依据测试用例完成产品的功能测试、硬件指标测试等,记录测试结果,报告与跟踪产品缺陷,并协助研发人员进行缺陷定位与重现;4、编写测试报告,根据测试结果评估软件质量;5、进行测试总结,编写测试相关文档,对测试中存在的问题及时分析与解决,并提出改进建议E公司任职要求:1、有嵌入式软件开发的经验优先;2、有脚本语言(如python/shell)的使用经验;3、有Linux下的自动测试和测试开发的经验;4、熟悉嵌入式调试技术及工具;5、具备良好的沟通表达能力,良好的分析解决问题的能力;剩余的大佬面经总结了  链接在下边   http://daxprogram.com
点赞 评论 收藏
分享
下面就根据我的实际情况,来和大家分享一下技术方面的经验吧。对于Linux方面的知识,就很遗憾没办法帮助到各位了(我就是个小菜鸡/(ㄒoㄒ)/~~)在这里我就只简单提一下需要准备哪些方面的知识,因为把所有内容都写在同一个帖子里太长了。C语言无论是嵌入式单片机还是嵌入式Linux,C语言都是必考的内容,可以说C语言是嵌入式软件工程师吃饭的家伙,相信C语言的重要性不用多说。C语言这块的话,随着不断复习,自己的一个熟练程度也会越来越高,所以最重要的就是多看多练。对于嵌入式工程师来说C语言基本上是要完全掌握并且熟练使用的,下面就先列出在笔试面试中C语言需要掌握的/比较重要的知识点:运算符优先级输入输出操作原码、反码、补码预处理关键字堆栈数组指针函数字符串结构体、联合体内存分配主要是这几个大的方向,输入输出是必须要熟练的,因为在笔试编程题里面是几乎必须要用到的,这个部分可以去刷算法题来熟悉一下。关键字所有的关键字都要了解,像是static、volatile、extern、sizeof都是比较常考的。堆栈和指针都是重中之重,一定要全面完整地学习。像是大题的话往往是考算法、数据结构以及对字符串的一系列操作。C++如果有时间的话最好去学一下,就封装、继承、多态之类的,所以推荐把其他部分内容复习完以后还有多时间的话可以学一学C++方面的一些知识。单片机单片机这部分主要是针对你在项目中常用的芯片,一般来说大部分人是以STM32为主。我就针对STM32来说说有哪些重要的知识点:GPIO中断定时器通信接口在这些里面最常被问到的就是中断和通信接口。其中通信接口主要就是IIC、SPI、UART。数据结构与算法数据结构对于嵌入式软件岗位来说,数据结构相对没有互联网行业的招聘那么重要,但还是属于必考的知识点。对于嵌入式岗位,数据结构可以选择性地学习,不用全部都学会,毕竟准备的时间是有限的,当然有充足的时间的话,当然建议都学会了,因为对于顶级大厂来说,数据结构是考核的相对重点。数据结构对于大多数不冲顶级大厂的同学来说,主要学数组、链表、队列、堆栈就可以了,至于二叉树之类的,在我整个秋招的过程中,几乎没有被问到。可能像是华为这种公司会考到。算法算法这部分建议去********或者牛客网刷一下题,起码刷个20道简单题,熟练一下做题的方法,输入输出这些,对字符串的操作这些,因为后面笔试基本上都会考两题大题,基本上刷个20题,稍微总结一下,然后加上平时的积累就问题不大了,如果想进华为这样的大厂,就要刷中等甚至困难的算法题了,这个看各位自己的取舍,也可以在牛客网上看看你想投的那家公司的笔试面试侧重点在哪里,比如说华为笔试就是考3道算法大题。网络网络这部分考得还是比较少的,有些公司会问,有些公司不问,如果是涂鸦智能这样做物联网的公司那肯定是会问的。这部分就需要知道一些基础,如果项目中有用到的话就需要将项目中用到的协议了解清楚,以及你在做这个项目的时候为什么要选择这个协议而不是另一个协议。我就在一个物联网项目中有使用到MQTT协议,那我就去单独学了这部分的知识,如果并没有项目涉及网络这一块的话就掌握一点基础知识就好了,即使不理解也死记硬背背下来,但是还是建议大家能在理解的基础上记忆,不然面试官稍微往深入问一点就答不出来了,最经典的两个问题:tcp和udp的区别三次握手四次挥手这部分内容比较少,就不单独展开来讲了,主要就是上面提到的两个问题,把那两个问题理解了去面试非网络领域的公司就没什么大问题了。操作系统操作系统这部分的基础知识是肯定要会的,尽管你可能像我这样在大学阶段只用过单片机,并且没在上面跑过uCOS或者FreeRTOS之类的实时操作系统的话强烈建议要去学一下这方面的知识,因为尽管是投的嵌入式单片机的岗位,往往也是要求会实时操作系统的。所以建议可以去学一下FreeRTOS或者RT-Thread之类的实时操作系统,有时间的话最好能够在自己的项目中实践一下,时间不够的情况下就把基础知识系统地先学一下。其次就是Linux,尽管投的是嵌入式单片机岗位,但嵌入式在广泛的一个定义里,大家还是默认是以Linux为主,所以Linux的基础知识也要会,因为有些公司在笔试的时候就会涉及到,这方面的话主要是要理解一些理论知识,知道线程进程,知道一些基础的指令,最好可以在ubuntu上写一个代码出来gcc编译一下。会这些Linux相关内容基本上就可以让你在笔试阶段不那么吃亏,当然只会这些是不足以支撑你去找一个纯Linux岗位的工作的。找工作流程对于大部分公司来说,招聘流程是这样的:投递简历→测评→技术笔试→技术一面(初试)→技术二面(复试)→HR面(终面)→offer谈薪。有部分公司是没有单独的HR面的,就是技术二面会换成综合面,前半段聊技术问题,后半段聊一些其他东西。一般来说技术一面的面试官是你将来入职后的同事,技术二面或者综合面试的面试官就是你将来入职后的主管。主要的流程就是这样,不同的公司会有不同的招聘流程,不过都是大差不差的。其他面经题目可以看这个牛油的总结,链接在下边https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
牛客网
牛客企业服务