发布于 2014-10-20 07:57:43 | 516 次阅读 | 评论: 0 | 来源: 网友投递
小米
小米公司正式成立于2010年4月,是一家专注于智能产品自主研发的移动互联网公司。“为发烧而生”是小米的产品理念。小米公司首创了用互联网模式开发手机操作系统、发烧友参与开发改进的模式。
先说下笔试题吧 具体题目记不清了 说下题型吧
1、哈希表
2、并查集
3、基于优先队列的广度优先搜索
比较偏向算法跟数据结构
一面:
1、.一个map中存有类似如下的数据:
key value
"a" "afasfwaeqwfwa(b)eqwgewgrqgq"
"b" "frgwegqgg(c)fqf(d)dqf"
"c" "fqfgrfwgrw"
"d" "gwrgwergqwg"
现在写一个函数,将"b"的value中的“(c)”和“(d)”分别用"c”和"d"的value替换,然后将"a"的value中的“(b)”用"b"的value替换。注:上面的map只是一个例子而己,实际情况可能更复杂。
二面
1、 给2个无序数组 a b
对于任意一个b[i] 在a中找出与其最接近的值
使用二分或者三分 二分需要判断多种情况
2、给出一个二叉树 包含数据 按照中序遍历的顺序找出第k个 元素
解:(1) 中序遍历 直接找出 (递归 非递归) 可优化
(2)使用二叉排序树 结点遍历的顺序进行编号
(3)面试官提醒 可以通过结点的数据域 来做 可以到O(logn)
3、讨论了些c++的知识
禁止一个类被继承 使用虚继承 跟友元可以完成
用c实现多态
三面
1、链表的各种经典问题 判断环 相交结点 等
2、const的各种用法
3、一个不规则多边形 判断一个点是在多边形内还是外
4、操作系统 线程状态图 线程进程区别 虚拟内存 cpu调度 cache替换算法等
5、计算机网络 OSI TCP/IP 三次握手 四次握手 问的很细 四次握手为什么是四次不是三次 三次为什么不是两次