好猎头网-中高级人才猎头网站!服务热线:400-1801-668 好猎头   |   登录 注册

小米技术岗位面试题

添加时间:2017-11-27 00:00:00
浏览次数: 0

职位类型:技术类
面试地点:北京
招聘公司:北京小米科技有限责任公司

技术岗位面试也少不了技术题目,其他面试内容我就不说了,只把印象比较深的几道技术面题目跟大家分享一下吧~

1.一个二维数组
3 8 10 13
15 17 22 25
23 26 29 31
27 30 33 34

尽可能快的找到一个数m,比如m=27

我的回答是根据数组特点设计查找算法,主要是减少元素的遍历。

2.一个手机键盘主要用到1234567890*这11个按键,要求实现输入任意数字,返回它的中文表述,*号作为退位键,比如输入134,应返回“一百三十四”,输入1500110,应返回“一百五十万零一百一十”,要求中文表述结构应尽量合理,同时动态显示变化,比如刚才的1500110,在输入*,即1500110*,应返回“十五万零十一。

3.N层的台阶有两种走法,一次一步或两步,请问一共有多少中走法,递归和非递归两种方法都需要。

4.找出两个单向链表的相同元素(无序)。

5.现有一张很大的域名列表,可以包含几百万条记录,其中包含重复项,有以下几个问题:

a)设计结构
b)实现去重。
c)排序
d)插入某一项(可能和表中数据重复)
e)内存不够大,如何保证访问效率
f)如何设计cache的策略
g)如何处理脏数据,例如硬盘上的数据被修改,而cache中数据还是旧的,但其实他们指向同一个IP地址。

剩下都是些回答过程中延伸出来的一些小问题。还有一些数据结构的问题,比如红黑树。

这些题目都是考官现想现问的,总体来说难度都不是很大。不过其中也有陷阱,比如我就被最后一个脏数据的坑了,所以大家还是要认真一些哈~