小米嵌入式面经分享

offer终于到手了,不用毕业家里蹲了。渣渣在此献上一份热气腾腾的面经,给大家分享一下小米嵌入式的面试经历。大致内容如下:

1、数据传输的时候如果上下升延双倍速率采集数字信号的话,有一个边沿正好采集到数字跳变时怎么办?
2、模电中的运放,画一个求对数的电路。
3、问了一些进程间同步及通信的手段,也就是自旋锁、信号量这些东西的原理
4、实现自旋锁;
5、用Verilog写了个计数器;
6、单向链表的排序;
7、快速排序;
8、C语言的一些基础知识(volatile、const、static、指针之类的);
9、实现memcpy(char*dest,char*sor,size_t size);
10、写一个宏OFFSET,已知结构体中一个成员,求出该成员在结构体中的内存偏移量,
#define OFFSET(type,member) ((size_t)&(((type*)0)->member))

11、结构体中的内存分布等;

12、已知有一个硬件计数器控制该计数器有两个寄存器,一个用于设置时钟的初始值,一个用于设置时钟的门限值,当时钟初始值设置好后开始计数,当计数值达到门限值后,便会触发一个函数的执行。编写两个函数,分别实现:
•在任意时刻能够设置多少时间后触发某个函数的执行;
•在任意时刻能够取消之前设置的执行任务;
[解决思路是用链表实现一个最小优先队列,设置任务对应着队列的插入,到时间执行和删除对应着优先队列的结点的删除,触发时跳到相应的函数中]

13、假设有一个很大的文件,里面的数据结构如下:
XXX.XXX.XXX.XXX(IP地址) 天气;[如192.168.1.1 晴转多云];问怎么用最快的方式找到一个地区的天气状况。
[我的思路是在存储文件的时候就将每一条信息对齐(即占用大小一样的地址),然后使用二分法搜寻每一个IP段的位置,移动文件指针即可(O(lgn));]

14、还问了一些许关于简历上的项目。#小米##面经##校招##嵌入式工程师#
全部评论
今天刚收到的么?
点赞 回复 分享
发布于 2020-04-25 18:01
社招还是校招啊
点赞 回复 分享
发布于 2020-09-10 20:15
为什么有种,好眼熟的面试贴,哈哈哈
点赞 回复 分享
发布于 2020-05-02 03:36

相关推荐

09-30 18:04
已编辑
南京信息工程大学 Java
投的嵌入式软件不给面,系统内核却有面,嵌入式🐶都不学😅一面:总共面了70分钟,无手撕无八股。面试官很温柔,问的很零散,像聊天那种。主要问了很多实习相关细节这些。1 你实习组里做的业务是什么,能讲一下吗?2 GPU的内存管理算法你能描述一下吗?最小内存是多少,整个GPU内存堆有多大。3 你这个GPU中断CPU,有CPU中断GPU的情况吗。4 讲一下你mmap 系统资源文件读写GPU内存的原理5 讲一下pthread 取消线程的延迟机制,取消点是什么,从接受信号,响应信号调用处理函数,以及信号清理阶段的过程是什么6 讲一下你简历里的信号处理循环bug 是什么意思,以及rt-thread 是在什么时候接受到信号中断的。7 Linux内核内存分配回收了解多少8 linux 内核调度算法了解多少?9 讲一下linux 中断的过程以及上半部分下班部分10 禁止抢占是什么意思11 讲一下kmap_atomtic 原理12 arm64页表了解吗?不了解讲一下riscv64的也行,一个cpu 核心有几个存页表基地址的寄存器,硬件查页表的过程13 你的内核项目里在进程里实现多线程主要做了什么,fork 的过程,进程内创建一个线程的过程。14 你这个内核的调度算法是什么,会在什么时机触发调度。15 页表项有哪些属性?16 讲一下写时复制的过程?17 讲一下内核里进行线程上下文切换的过程,讲一下要保存恢复哪些寄存器?18 组合写的硬件原理是什么二面约好的时间,面试官没来,难绷。没有任何HR打电话联系,发了邮件也不回复🥺后面又补上二面了,一小时,二面也没手撕就问了实习,然后问八股,什么中断上下部分,自旋锁实现啥的。还问我仔细看过linux 调度和内存相关源码没,改过内核源码没,确实没咋看过源码,感觉大概率不匹配吧,还有一两个基础问题感觉回答错了😑。
查看38道真题和解析
点赞 评论 收藏
分享
base上海 9.10 全程45min不愧是联想,面试如测评和笔试一样的反套路,越到后面越出乎意料,感觉以下面经可能对项目经历不一样的人没什么参考价值,全程都是看着简历项目问问题1.自我介绍2.是否有在华为进行发展的打算(开始思考...之后的自我介绍是不是不应该提拿了华为优实)3.针对在华为实习做的驱动开发,从代码角度举一个片段进行详细描述4.IIC仲裁机制有涉及到吗(实际开发没有遇上,但了解过理论,面试官直接说开发没有遇上我们就不深入了😂)5.刚刚你有提到死锁,死锁发生的条件是什么?6.是否了解IIC时钟延展的内容7.一IIC总线上有两个从设备地址冲突会发生什么8.开发的内容如何呈现(大概意思是在华为驱动开发时以怎样的形式编译上板调试)9.你是否了解像Linux系统对ko是有签名要求吗10.有没有arm平台的开发经验11.简单介绍一个嵌入式系统组成开始手撕:12.反转链表:对一个单向列表进行反向打印(我刚要开写面试官说在写之前能不能讲讲思路?讲完后面试官直接说不用写了😂)13.又给了个具体工程题:将一根IIC总线上的所有从设备地址打印出来(我直接懵了,面试官一直在引导,最后想到当初写过的IIC用户态测试程序并结合IIC时序,通过open打开i2c设备文件,遍历所有合法7位从地址范围,通过ioctl设置要访问的从机地址,发地址信息,再通过read函数返回检验是否有ACK响应,以此确认从机地址)14.其中穿插着问:了解fd是什么吗?所有合法的从机地址范围是多少?为什么?设置发的数据应该是什么?15.除了用iocontrol的老方式进行设备通信,还有什么其他方式可以和设备内核进行数据交互?16.对工作地有什么要求吗17.从什么角度能让我(面试官)知道,(如果)等华为offer下来后,你不会毁约联想的offer(我当场懵掉,这不是一面技术面吗,居然会如此直接问这问题)18.职业规划反问:部门业务确认技术栈问之后的面试流程(整体流程至少两面,二面等通知,面试官居然直接说这场的结果是通过了,秋招面试中最直接实在的一位面试官)
发面经攒人品
点赞 评论 收藏
分享
评论
4
50
分享

创作者周榜

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