秋招:小米 嵌入式 1面+2面(近100个问题 全面涵盖linux内核!!)
小米系统安全解bug岗,一二面将近问了100个问题,而且涵盖很广
一面 9.14
- 实习内容
- 驱动加k载流程
- 加载过程会做检测嘛
- 如果一个驱动所依赖的符号表在内核里没有会发生什么
- 加载过jj程中的重定向
- ko和直接编译进内核的驱动文件有啥不一样? 加载过程不一样
- insmod和modprobe有啥区别
- modprobe可以加载依赖
- 并行
- 如何做CPU的测试
- 遇到的问题
- 实现了那些gdb
- 收获了什么,为什么做这个
- I2C器件都有那些,有啥功能
- 几个马达,怎么控制转向?
- gstreamer使用过程中会格式转换么?
- 配置的I2C速率
- I2C时序
- 小车上有几个线程?
- 多线程遇到过什么问题?
- 原子变量怎么实现的?
- CPU还有什么提升的地方
- 原子变量用于什么场景的保护 用于多线程或多处理器环境中,确保对某些共享数据的无锁操作,避免竞争条件(race conditions)和数据不一致问题
- cache的作用?
- 缓存插入的方式(随机、LRU)
- 什么情况下缓存会导致效率变慢
- 什么情况下会清空TLB
- 设备树怎么理解
- 内核怎么得到设备树的信息
- 改过设备树么?
- 看过啥linux的源码
- 有那些锁?
- 互斥锁和自旋锁的区别
- 互斥锁可以嵌套么?
- 为什么会死锁,用一个场景描述
- 内存泄漏怎么查看?
- 越界怎么检测?
- free后再使用可以检测出来么?
二面 9.20
- 设备树配合pinctrl怎么配置
- pinctrl不同的函数集是用来配什么的
- gpio_chip测试了什么
- v4l2底层改了什么
- 调摄像头配置么?
- v4l2应用层的使用
- v4l2中拿取buffer内容
- I2C发送放在哪里?
- I2C设备树里都会配什么
- I2C的协议
- I2C的驱动框架
- 字符设备驱动的流程,api
- class_create的作用 内核同时提供了class_create()函数,可以用它来创建一个类,这个类存放于sysfs下面,创建了这个类,再调用device_create()函数来在/dev目录下创建相应的设备节点。 这样,加载模块的时候,用户空间中的udev会自动响应device_create(…)函数,去/sysfs下寻找对应的类从而创建设备节点。
- file_options函数集有哪些
- poll这个文件接口是干嘛的 用于异步通知 非阻塞I/O+poll = 查询设备是否可访问+设备可访问后再通知用户进行处理
- tcp的服务端和客户端的链接api 服务端socket->bind->listen->accept 客户端socket->co
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式学习路线+面经详解合集 文章被收录于专栏
1. 自我介绍:高通、Oppo(sp)、vivo(sp)、小米(ssp)、荣耀(26k*12+80k)、华子(报批中)、美团、韶音、经纬恒润、乐鑫、中兴、TP 2. 内容: 1.嵌入式学习的资料和路径 2.所有面试的题目和解答(持续更新)、对评论的快速解答 3.各种碎碎念 3.整理不易,buy me coffee☕️,为了回馈牛客和各个粉丝,文章都会先试读几天,热度过了再收录~