面经详情

当前内容设置为仅微信小程序内可见

前往微信小程序

相关推荐

匿名用户
嵌入式软件开发工程师
未通过感觉没戏
整个面试持续了将近三个小时,由三位面试官轮流来问,分别偏重硬件、软件、以及综合,但总的来说还是围绕简历和基础知识来问的。 第一位面试官面的比较偏重硬件,分别问了: 1、数据传输的时候如果上下升延双倍速率采集数字信号的话,如果有一个边沿正好采集到数字跳 变时怎么办(我回答是从布局布线、建立保持时间以及FPGA的引脚约束相关方面来回答的); 2、模电中的运放,叫画一个求对数的电路,表示好几年没复习过,完全忘了,面试官表明还是很注重基础的; 3、由于面试得是小米的智能家居相关部门,而面试得这个团队产品上用的操作系统不是linux,而是类似ucos这样的,问了好一些进程间同步及通信的手段,也就是自旋锁、信号量这些东西的原理,还叫自己实现自旋锁; 4、看我FPGA有相关经验,叫用Verilog写了个计数器; 5、单向链表的排序; 6、快速排序; 7、C语言的一些基础知识(volatile、const、static、指针之类的); 第二位面试官稍微偏软一些,问的都是软件相关的问题: 1、实现memcpy(char*dest,char*sor,size_t size); 2、写一个宏OFFSET,已知结构体中一个成员,求出该成员在结构体中的内存偏移量, #define OFFSET(type,member) ((size_t)&(((type*)0)->member)) 3、结构体中的内存分布等; 4、出了一个题,已知有一个硬件计数器控制该计数器有两个寄存器,一个用于设置时钟的初始值,一个用于设置时钟的门限值,当时钟初始值设置好后开始计数,当计数值达到门限值后,便会触发一个函数的执行,让我编写两个函数,分别实现1:在任意时刻能够设置多少时间后触发某个函数的执行;2:在任意时刻能够取消之前设置的执行任务;(解决思路是用链表实现一个最小优先队列,设置任务对应着队列的插入,到时间执行和删除对应着优先队列的结点的删除,触发时跳到相应的函数中就行了); 最后一个面试官由于时间不足了,只问了一个比较发散的问题: 1、假设有一个很大的文件,里面的数据结构如下: XXX.XXX.XXX.XXX(IP地址) 天气;如192.168.1.1 晴转多云 问怎么用最快的方式找到一个地区的天气状况(IP地址往往与地区有着对应关系)。我回答的思路是在存储文件的时候就将每一条信息对齐(即占用大小一样的地址),然后使用二分法搜寻每一个IP段的位置,移动文件指针即可(O(lgn)); 当然,还问了些许关于简历上的项目,总的来说,问的很杂很多,但不会很难;...查看更多
2 年前 发布
5

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网小米小米面试经验小米面试经验:没有笔试直接面试,和面试官沟通还算流畅。