校招 未知部门 / 硬件工程师 / 一面/二面
[面试日期] 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->bind->listen->accept 客户端socket->co</li>
</ol>
AI 推荐面试题
