理想智能空间测试岗应该去吗

投票
本人目前研二,找工作准备找嵌入式的工作,目前标准库,hal库,freertos基本上学了一轮,嵌入式linux应用层学了一半,做了个rtos智能家居的项目,目前收到理想智能空间测试岗的实习of,面试官描述包括一部分系统工程师工作,主要是对供应商提供的底软或其他功能进行验收,想请教各位大佬这个岗位适合去吗,担心去了一直打杂学不到东西#牛客AI配图神器#  #你觉得实习只能是打杂吗?#   #理想校招#  
全部评论
你这个我觉得可以去开发把
点赞 回复 分享
发布于 昨天 17:14 陕西

相关推荐

11-12 20:07
已编辑
湖南大学 嵌入式软件开发
寄完了,只剩实习转正保底。主要是linux+soc方向岗位,少量mcu+rtos方向,少量算法方向。面筋1、嵌入式linux的启动过程?想linux启动之后执行一些服务的话,能通过什么方式?2、为什么要用uboot,不能直接启动linux内核吗?3、Select和epoll的区别?4、TCP和UDP的区别?TCP\UDP报文头部开销为多少?5、什么叫面向连接和面向非连接?6、介绍一下TCP的拥塞控制机制?7、说一下自己熟悉的排序算法,讲一下其中的一个复杂度?8、二叉树、平衡树、红黑树怎么理解?9、树的平衡有什么用?10、堆和栈的区别?11、进程和线程的区别?12、进程/线程具体是怎么实现的?13、介绍SPI,怎么给某一个地址发数据?14、设备和驱动是如何匹配的,匹配后做什么?15、写一个通用的字符设备驱动程序,需要实现哪些接口?16、主次设备号是什么?17、Linux虚拟内存管理,虚拟地址如何转化为物理地址?18、fopen和open的区别?19、讲一下什么是交叉编译?20、讲一下中断流程,区分硬件中断和软件中断。21、IIC原理,如何保证数据的准确性,最多挂载多少个设备,为什么要接上拉电阻?22、串口通信原理,如何保证串口通信成功,如何修改波特率,说一下串口的缓冲区管理?23、发生死锁的条件、怎么避免死锁?24、DMA配置过程,如何通过DMA实现高效的SPI数据传输?25、什么是中断优先级?如何在嵌入式系统中管理中断优先级?如何防止中断嵌套导致系统死锁?26、如何调试和优化一个性能较差的Linux驱动程序?27、解释RTOS中任务调度器的作用?28、如何编写一个Linux应用程序来读写GPIO输入输出?29、如何使用epoll实现高效的IO多路复用?30、如何在Linux应用中处理信号和中断?信号和中断的区别是什么?31、如何在Linux上实现守护进程?32、如何调试在Linux上崩溃的嵌入式应用程序?33、http和https的区别?34、进程间通讯的方式有哪些,有什么优缺点,适合什么场景?35、数据结构有哪些?36、数组和链表的区别?什么时候用数组,什么时候用链表?37、经常要进行增删改查的数据用什么存储?38、如何理解操作系统?39、两个线程操作同一个变量多次后会发生什么情况?40、为什么要用RTOS?有什么意义?为什么能加快效率?41、fork()如何创建子进程?什么是写时复制?什么是零拷贝?42、define\const\typedef的区别?43、GPIO的模式有哪几种?44、Linux内存分配的几个函数(kmalloc()\kzalloc()\vmalloc())?kzalloc 是强制清零的 kmalloc 操作;(以下描述不区分 kmalloc 和 kzalloc)kmalloc 分配的内存大小有限制(128KB),而 vmalloc 没有限制;kmalloc 可以保证分配的内存物理地址是连续的,但是 vmalloc 不能保证;kmalloc 分配内存的过程可以是原子过程(使用 GFP_ATOMIC),而 vmalloc 分配内存时则可能产生阻塞;kmalloc 分配内存的开销小,因此 kmalloc 比 vmalloc 要快;45、wait()/waitpid()的区别?46、什么是 inode、block、sector?47、Linux常见的信号有哪些?接收到信号后怎么处理?48、什么是线程池?49、Linux网络编程流程,讲一下服务端与epoll结合的编写流程。50、讲一下FreeRTOS的内存管理。51、讲一下FreeRTOS的启动流程。禁止全局中断: 通常会调用一个与平台相关的函数来禁止全局中断,例如 portDISABLE_INTERRUPTS()。 这是为了防止在初始化 FreeRTOS 的内部数据结构时发生中断,导致数据不一致。设置系统时钟: 初始化 FreeRTOS 的系统时钟,通常会调用 xPortSysTickHandler(),并将其与 SysTick 中断关联。创建空闲任务 (Idle Task): 空闲任务是 FreeRTOS 中优先级最低的任务,当没有其他任务可以运行时,空闲任务就会运行。空闲任务的主要作用是回收被删除的任务所占用的内存。创建第一个任务: 选择就绪列表中优先级最高的任务,并将其状态设置为运行状态 (Running)。启动 PendSV 中断: 配置 PendSV 中断,并触发它。 PendSV 中断用于进行任务切换。恢复中断: 启用全局中断,例如 portENABLE_INTERRUPTS()。进入第一个任务: 通过某种方式(通常是汇编代码),将 CPU 的控制权交给第一个任务。 这涉及到加载任务的栈指针、程序计数器等寄存器。52、DMA和cache一致性问题怎么解决?Cache Flush 操作: 指的是将 CPU Cache 中的数据写回主内存,并使相应的缓存行无效。dma_sync_single_for_cpu(): 在 DMA 传输完成后,将 DMA 操作影响的内存区域中的数据从设备缓存同步到 CPU Cache。 适用于 DMA 写入内存 (从设备到内存) 的情况,确保 CPU 可以读取到 DMA 写入的最新数据。dma_sync_single_for_device(): 在 DMA 传输开始前,将 CPU Cache 中的数据写回主内存,并使相应的缓存行无效。 适用于 DMA 从内存读取数据 (从内存到设备) 的情况,确保 DMA 设备读取到最新的数据,而不是过时的 Cache 数据。Cache 一致性管理: 一些 IOMMU 可以通过硬件方式来管理 DMA 设备和 CPU Cache 之间的数据一致性。 例如,IOMMU 可以监听 DMA 设备的内存访问,并自动使 CPU Cache 中相应的缓存行无效。53、在驱动中,物理地址向虚拟地址的转换接口是什么?ioremap()传参为实际物理地址起始地址和地址范围大小54、ioremap和iommu的区别是什么?55、讲一下硬件i2c和软件i2c。56、模块状态是什么?未加载;加载中(modprobe);初始化;运行中;卸载中(rmmod);已卸载57、静态加载和动态加载的区别?58、Uboot怎么配置的?59、知道uboot之前还有一段流程吗?基本的硬件初始化:时钟初始化: 设置 CPU 和外设的时钟频率。电压调节: 调整 CPU 和内存的电压。DRAM 初始化: 初始化 DRAM 控制器,以便后续的内存访问。 这通常是极其关键的一步。最小化的存储器访问: 可能需要配置 SPI Flash 或其他类型的存储器,以便从那里加载后续的引导加载程序。安全启动 (Secure Boot): 验证 U-Boot 镜像的签名,防止恶意代码启动。 (如果使能了安全启动)选择启动设备: 确定从哪个存储设备 (例如 Flash、SD 卡、网络) 启动。加载 SPL (Secondary Program Loader): 将 SPL 从存储设备加载到 RAM 中。跳转到 SPL: 将 CPU 的执行权交给 SPL。60、内核为什么存放在0x30008000中呢,而uboot存放在0x0000处,其中这些地址存放了些什么?字数限制,还有很多下一次更新写上来
面试问题记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务