avatar-decorate
获赞
3540
粉丝
2531
关注
27
看过 TA
1.1W
山东大学
2022
嵌入式软件开发
IP属地:北京
暂未填写个人简介
私信
关注
头像
05-22 15:42
已编辑
英特尔_Software_engineer
1、智能硬件/单片机开发单片机开发是生活中最常见,也是就业面最广的一个就业方向。就是做一些小的电子产品,比如一下穿戴设备,蓝牙耳机,智能手表,小的玩具,智能电饭煲、热水器、体温计等电子产品,都属于单片机开发。单片机开发是不需要跑操作系统的裸机开发,只需要在在单片机上做一些功能开发即可,常见的像是STM32的板子都可以实现。单片机开发在众多的就业岗位中是门槛最低,需求最多,最好就业的一个方向。除了在一线城市,在二三线城市也有很多这样的工作岗位。2、嵌入式Linux应用程序开发嵌入式Linux应用程序的开发是一个纯软的开发工作,不涉及硬件的控制,仅仅是设计上层应用的开发。一般都是基于QT,C++这类的编程语言进行开发。这类的产品在日常生活中也比较常见,就业市场的需求也比较大,相比较单片机开发有一些难度,但不是特别的难,但是入行的门槛和待遇都会比单片机要高一些。3、Linux底层驱动开发被这个名字唬住,做这一方向的开发多数以音视频,平板这一类带界面的东西比较多,也是现在比较主流的一个方向。但是嵌入式Linux内核 驱动开发的就业方向会比单片机开发的方向会窄一些,一般都是在一线或者是二线城市。常见的产品像是超市的收款机,银行的自助业务办理机,平板电脑等产品,这一类的需要涉及到操作系统,和内核。嵌入式Linux底层驱动开发的难度是要比单片机开发要难得多,同时收入也会高很多。4、嵌入式人工智能开发这个一个最近刚刚兴起的一个就业方向,这方面的人才还是比较稀缺的,难度也是之前提过的几个方向中最难的。嵌入式人工智能开发就是将人工智能部署嵌入到具体的嵌入式产品上进行优化。这个方向不仅需要懂嵌入式Linux内核驱动还是要了解和人工智能相关的知识。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1. 请描述中断的传递过程以及信号量监听的函数。2. 请解释驱动的开发过程。3. 请编写驱动程序初始化函数的代码。4. 请说明构造file_operations结构中要用到的各个成员函数的作用。5. 请解释设备的中断和轮询处理。6. 请描述驱动程序的测试过程。7. 请总结一下网卡收集数据传递给上层应用的过程,并提及一些常见的网卡型号及接口。8. 请列举并解释网络驱动硬件的主要组成部分。9. 请解释驱动架构的概念。10. 请描述网络服务器如何进行高速并发处理以降低传输时延。11. 请解释内存管理的方式,以及内存管理的作用是什么。12. 请解释虚拟内存的概念。13. 请说明页面置换算法的原理。14. 请解释分段的概念。15. 请解释段页式内存管理的概念。16. 请比较分页与分段的区别。17. 请解释内核如何管理内存的页。18. 请问您是否了解TCP/IP协议?并描述Linux如何进行网络路由。19. 请说明文件系统的制作和优化方式,以及不同文件系统格式下内核是如何管理文件的。20. 请解释操作系统的任务调度方式,并描述您是如何提高进程的实时性或优先级的。21. 请列举一些常见的进程调度算法。22. 请说明nice的默认优先级大小以及取值范围。23. 请解释内核的裁剪和配置方式。24. 请问数据库是否支持并发?数据库的ID是否可以是任意数据类型?数据库一定需要ID吗?25. 请解释如何管理数据库的脏数据以及掉电未写完的数据。26. 请解释视频的编解码方式。27. 请解释进程和线程的区别。28. 请解释虚拟地址和物理地址的概念。29. 请解释内核如何分配内存给进程。30. 请解释进程的资源分配,并补充漏掉的代码段。31. 请解释多进程如何共享硬件中断。32. 请解释内核态中断和线程同步的方式,但不能使用信号量。33. 请解释uboot的作用以及ARM启动进入操作系统的步骤。以上内容收录到专栏在下方  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1. 项目模式(产品/模块)是什么?能具体介绍一下你参与的项目吗?2. 蓝牙芯片在产品中的作用是什么?它是作为MCU、控制外部DSP或其他芯片,还是只作为蓝牙模块?3. 请解释蓝牙软件成品模式是什么,以及如何通过SPI烧录固件模式?4. 能够描述一下蓝牙协议栈的架构和分层吗?5. 蓝牙协议栈与网络协议栈(4层架构或7层架构)有什么区别和对比?6. 你了解的蓝牙芯片是否基于Linux或其他常用架构?7. 请解释蓝牙软件的软件架构,它是基于event-driven类型的,还是类似单片机那种大while循环的?8. 请解释函数指针和指针函数分别是什么,并用简单的代码表示出来。9. 你了解的Linux内核的版本是什么?操作系统任务切换的关键是什么?10. 请介绍一下你的项目经验,包括项目难点和解决方法。11. 请解释栈和队列的概念。12. 数组和链表有什么区别和特点?13. 请解释static、validate和const关键字的用途。14. 请编写一个函数,用于去除字符串中的空格。15. 请编写一个函数,合并两个链表并按顺序排列。16. 请判断计算机是大端还是小端。17. 在Linux中使用多线程,如何实现软件定时功能?请提供相应的伪代码。18. 请介绍一下你参与的项目,特别是其中的难点和解决方法。19. 在函数内部定义一个很大的数组,你认为是直接定义还是使用malloc?20. 在你的开发经验中,有没有遇到过一些难以解决的问题?请分享一下。21. 你了解的stm32芯片的配置有哪些,包括CPU主频、flash和RAM大小?22. 你在stm32上做过哪些开发?有没有开发过驱动?23. 请解释一下SPI的通信过程,包括线数和速率配置。24. 你有使用过DMA吗?请解释一下什么是DMA。25. SPI有几种模式?你能够列举出来吗?26. 你在开发过程中遇到过哪些困难,以及你是如何解决的?27. 你有参与过一些大型软件开发项目吗?请介绍一下你在设计和分层方面的考虑。28. 中间层的设计中,你考虑了哪些因素?29. 你对进程通信中的锁和同步有了解吗?30. 当多个进程无法获取锁时,会进入什么状态?具体的答案已经整理到面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1. vector list异同2. vector内存是怎么增长的vector的底层实现3. vector和deque的比较4. 为什么stl里面有sort函数list里面还要再定义一个sort5. STL底层数据结构实现6. 利用迭代器删除元素会发生什么?7. map是如何实现的,查找效率是多少8. 几种模板插入的时间复杂度9. Linux内核的组成10. 用户空间与内核通信方式有哪些?11. 系统调用read()/write(),内核具体做了哪些事情12. 系统调用的作用13. 内核态,用户态的区别14. bootloader内核 根文件的关系15. Bootloader多数有两个阶段的启动过程:16. linux的内核是由bootloader装载到内存中的?17. 为什么需要BootLoader18. Linux内核同步方式总结19. 为什么自旋锁不能睡眠 而在拥有信号量时就可以?20. linux下检查内存状态的命令21. 大小端的区别以及各自的优点,哪种时候用22. 一个程序从开始运行到结束的完整过程(四个过程)23. 什么是堆,栈,内存泄漏和内存溢出?24. 堆和栈的区别25. 死锁的原因、条件 创建一个死锁,以及如何预防26. 硬链接与软链接的区别;27. 虚拟内存,虚拟地址与物理地址的转换28. 计算机中,32bit与64bit有什么区别29. 中断和异常的区别30. 中断怎么发生,中断处理大概流程31. Linux 操作系统挂起、休眠、关机相关命令32. 数据库为什么要建立索引,以及索引的缺点33. CPU 内存 虚拟内存 磁盘/硬盘 的关系34. CPU内部结构35. ARM结构处理器简析36. 波特率是什么,为什么双方波特率要相同,高低波特率有什么区别;37. arm和dsp有什么区别38. ROM RAM的概念浅析39. IO口工作方式:上拉输入 下拉输入 推挽输出 开漏输出40. 扇区 块 页 簇的概念41. 简述处理器在读内存的过程中,CPU核、cache、MMU如何协同工作?画出CPU核、cache、MMU、内存之间的关系示意图加以说明上述问题收录到专栏订阅专栏的小伙伴们  *************************************  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
头像
03-08 18:24
已编辑
英特尔_Software_engineer
1.什么是波特率?它与比特率有什么区别?2.请列举ARM处理器异常的分类及其特点。3.描述异常向量表在ARM处理器中的作用和结构。4.ARM处理器中的工作模式有哪些?请简要介绍各个工作模式。5.什么是寄存器组、模式和指针在嵌入式系统中的作用?6.LDR和STR指令在ARM汇编中的作用是什么?7.什么是I/O阻塞?请解释嵌入式系统中不同的I/O模型。8.区分实时操作系统和非实时操作系统,列举几个常见的实时操作系统和非实时操作系统。9.比较几种常见总线接口的特点,如UART、I2C、SPI和USB。10.介绍SPI总线的特点和工作原理。11.描述中断调用过程中各个阶段的操作。12.什么是I2C总线?它的工作原理和应用场景是什么?13.什么是I2S总线?它与I2C的区别是什么?14.请解释内存的布局和内存空间的使用。15.比较TCP和UDP协议的区别。16.介绍Linux系统中常见的目录结构及各目录的功能。17.什么是const关键字?在指针使用中有什么特殊作用?18.解释static关键字在函数和变量中的作用。19.请描述源码到可执行文件的编译过程。20.什么是volatile关键字?它在嵌入式系统中的作用是什么?21.请说明64位long、32位long long和32位double在内存中占用的字节数。22.如何检测Linux系统中栈空间的最大使用率和栈溢出?请列举方法。23.什么是内存映射地址?它在嵌入式系统中的应用是什么?24.什么是钩子函数?它在Linux系统中的作用是什么?25.请解释在嵌入式系统中如何进行内存空间的布局和管理。26.什么是内存映射地址?它在嵌入式系统中的应用和优势是什么?27.请介绍在嵌入式系统中如何进行中断嵌套处理以及相关的机制。28.什么是钩子函数?它在嵌入式系统中的应用和实现方式是什么?29.请说明在嵌入式系统中如何利用volatile关键字确保对特殊地址的稳定访问和操作30.请解释在嵌入式系统中如何实现栈空间的最大使用率和栈溢出检测。订阅专栏的小伙伴们9️⃣2️⃣2️⃣6️⃣5️⃣7️⃣5️⃣0️⃣8️⃣  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
头像
03-07 11:31
已编辑
英特尔_Software_engineer
1.关键字static的作用是什么2.关键字const是什么含意?3.const和宏定义的区别4.关键字volatile有什么含意 并给出三个不同的例子。5.引用和指针有什么区别6. .h头文件中的ifndef/define/endif 的作用?7.描述实时系统的基本特性8.全局变量和局部变量的区别9.全局变量和静态全局变量的区别9.1.static函数与普通函数10.什么是平衡二叉树?11.堆栈溢出一般是由什么原因导致的?12.什么函数不能声明为虚函数?13.不能做switch()的参数类型14.程序的内存分配14.1堆与栈的区别14.2描述内存分配方式以及它们的区别14.3 malloc和new的区别是什么?15.进程与线程的区别15.1多进程和多线程的区别15.2 信号量16. 什么是预编译,何时需要预编译17. 三种基本的数据模型18. 简述数组与指针的区别?19.位操作20.访问固定的内存位置(Accessing fixed memory locations)21.中断与异常的区别22.变量的定义总结23. 为什么要使用宏,宏有什么优缺点?23.1 内联函数及与宏的区别24. bootloader25. MCU启动过程26. Arm体系结构27. 什么是嵌入式?28. 进程与线程中的通信方式29. 如何将PC上的程序移植到嵌入式系统上,需要注意些什么?30 . 设计一种通信方式,从一台主机向另外一台主机传递数据,那么应该怎么选择。31. FreeRTOS之全配置项详解、裁剪(FreeRTOSConfig.h)32. DMA为什么能提高效率?33.优先级反转以及解决方法34. 信号量及信号量与自旋锁的区别35. strcpy和strncpy的缺陷36. sizeof与strlen有以下区别37. 哈希函数及哈希冲突的定义37.1 哈希函数的构造方法37.2 处理哈希冲突的几种方法订阅专栏的小伙伴们9️⃣2️⃣2️⃣6️⃣5️⃣7️⃣5️⃣0️⃣8️⃣  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1.解释一下栈和队列的概念。2.数组和链表有什么区别?3.请解释一下 static、validate、const 这些关键字的作用。4.如何去除字符串中的空格?5.如何合并两个链表并保持顺序?6.请说明蓝牙芯片在产品中的作用。7.什么是蓝牙软件成品模式?8.请介绍一下蓝牙协议栈的架构和分层。9.比较蓝牙协议栈和网络协议栈的架构。10.蓝牙芯片是否基于 Linux 或其他常用架构?11.描述一下蓝牙软件的软件架构。12.什么是 event-driven 类型的软件架构?13.请解释函数指针和指针函数的区别。14.请用简单的代码示例表示函数指针。15.请用简单的代码示例表示指针函数。16.操作系统任务切换的关键是什么?17.请介绍您的项目,包括难点和解决方法。18.在函数中定义一个大数组,是直接定义还是使用 malloc 分配内存?19.函数中使用 static 定义的变量存在于哪个区域?20.请解释 DMA 是什么?21.SPI 有几种模式?22.请解释进程间通信中锁和同步的概念。23.当一个低优先级进程获取到锁时,高优先级进程会怎样?24.如何解决优先级反转问题?25.在用户态开发中,如何定位程序跑飞或出现段错误?26.程序分成哪几个段?27.堆和栈有什么区别?28.请说明如何使用中断方式代替查询方式。29.请解释 UART 的奇偶校验。30.请介绍队列、栈和二叉树。31.如何确定多个线程的执行顺序?32.请解释 Linux 中线程的调度方式。33.你了解整个 SPI 通信过程吗?上述问题 已经整理到面经中,面经地址在下方!!  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务