校招 未知部门 / 硬件工程师 / 一面/二面

[面试日期] 2024-12-23 [面试时长] 未知
[学校背景] 华中科技大学 | 985 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>秋招:小米 嵌入式 1面+2面(近100个问题 全面涵盖linux内核!!)</h2> <p>小米系统安全解bug岗,一二面将近问了100个问题,而且涵盖很广</p> <h2>一面 9.14</h2> <ol> <li>实习内容</li> <li>驱动加k载流程</li> <li>加载过程会做检测嘛</li> <li>如果一个驱动所依赖的符号表在内核里没有会发生什么</li> <li>加载过jj程中的重定向</li> <li>ko和直接编译进内核的驱动文件有啥不一样? 加载过程不一样</li> <li>insmod和modprobe有啥区别</li> <li>modprobe可以加载依赖</li> <li>并行</li> <li>如何做CPU的测试</li> <li>遇到的问题</li> <li>实现了那些gdb</li> <li>收获了什么,为什么做这个</li> <li>I2C器件都有那些,有啥功能</li> <li>几个马达,怎么控制转向?</li> <li>gstreamer使用过程中会格式转换么?</li> <li>配置的I2C速率</li> <li>I2C时序</li> <li>小车上有几个线程?</li> <li>多线程遇到过什么问题?</li> <li>原子变量怎么实现的?</li> <li>CPU还有什么提升的地方</li> <li>原子变量用于什么场景的保护 用于多线程或多处理器环境中,确保对某些共享数据的无锁操作,避免竞争条件(race conditions)和数据不一致问题</li> <li>cache的作用?</li> <li>缓存插入的方式(随机、LRU)</li> <li>什么情况下缓存会导致效率变慢</li> <li>什么情况下会清空TLB</li> <li>设备树怎么理解</li> <li>内核怎么得到设备树的信息</li> <li>改过设备树么?</li> <li>看过啥linux的源码</li> <li>有那些锁?</li> <li>互斥锁和自旋锁的区别</li> <li>互斥锁可以嵌套么?</li> <li>为什么会死锁,用一个场景描述</li> <li>内存泄漏怎么查看?</li> <li>越界怎么检测?</li> <li>free后再使用可以检测出来么?</li> </ol> <h2>二面 9.20</h2> <ol> <li>设备树配合pinctrl怎么配置</li> <li>pinctrl不同的函数集是用来配什么的</li> <li>gpio_chip测试了什么</li> <li>v4l2底层改了什么</li> <li>调摄像头配置么?</li> <li>v4l2应用层的使用</li> <li>v4l2中拿取buffer内容</li> <li>I2C发送放在哪里?</li> <li>I2C设备树里都会配什么</li> <li>I2C的协议</li> <li>I2C的驱动框架</li> <li>字符设备驱动的流程,api</li> <li>class_create的作用 内核同时提供了class_create()函数,可以用它来创建一个类,这个类存放于sysfs下面,创建了这个类,再调用device_create()函数来在/dev目录下创建相应的设备节点。 这样,加载模块的时候,用户空间中的udev会自动响应device_create(…)函数,去/sysfs下寻找对应的类从而创建设备节点。</li> <li>file_options函数集有哪些</li> <li>poll这个文件接口是干嘛的 用于异步通知 非阻塞I/O+poll = 查询设备是否可访问+设备可访问后再通知用户进行处理</li> <li>tcp的服务端和客户端的链接api 服务端socket-&gt;bind-&gt;listen-&gt;accept 客户端socket-&gt;co</li> </ol>
AI 推荐面试题