小米面试题分享。

此去依然 2013-06-13 10:57:46
首先说下,所有面试题都是考官现想现问的。印象比较深刻的如下几个。难度都不是很大。
1. 一个二维数组 3 8 10 13
15 17 22 25
23 26 29 31
27 30 33 34
尽可能快的找到一个数m,比如m = 27
我的回答是根据数组特点设计查找算法,主要是减少元素的遍历。
2.一个手机键盘 主要用到 1 2 3 4 5 6 7 8 9 0 * 这11个按键,要求实现输入任意数字,返回它的中文表述,*号作为退位键,比如输入134,应返回“一百三十四”,输入1500110,应返回“一百五十万零一百一十”,要求中文表述结构应尽量合理,同时动态显示变化,比如刚才的1500110,在输入*,即1500110*,应返回“十五万零十一。
3.N层的台阶有两种走法,一次一步或两步,请问一共有多少中走法,递归和非递归两种方法都需要。
4.找出两个单向链表的相同元素(无序)。
5.现有一张很大的域名列表,可以包含几百万条记录,其中包含重复项,有以下几个问题:
a)设计结构
b)实现去重。
c)排序
d)插入某一项(可能和表中数据重复)
e)内存不够大,如何保证访问效率
f)如何设计cache的策略
g)如何处理脏数据,例如硬盘上的数据被修改,而cache中数据还是旧的,但其实他们指向同一个IP地址。

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

写下来纯属分享,有兴趣的朋友看看,都不是特别难,但是也有陷阱,比如LZ就被最后一个脏数据的坑了。。。
...全文
3509 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingen123 2013-11-03
  • 打赏
  • 举报
回复
感觉不是特别难,还是可以思考的!
luciferisnotsatan 2013-06-14
  • 打赏
  • 举报
回复
第5题用 B树,算法导论里有。以前看过,现在就只记得这个名字了。
javaoraspx 2013-06-14
  • 打赏
  • 举报
回复
不懂
c000102 2013-06-14
  • 打赏
  • 举报
回复
刚开始转行学习C++的表示压力山大~~~
十八道胡同 2013-06-13
  • 打赏
  • 举报
回复
第5题 有难度,其他的还好
十八道胡同 2013-06-13
  • 打赏
  • 举报
回复
楼主面试的是什么职位?
liuduo251 2013-06-13
  • 打赏
  • 举报
回复
好菜,就会第四题,估计我的方法也是个没效率的方法
傻傻不解释 2013-06-13
  • 打赏
  • 举报
回复
引用 6 楼 healer_kx 的回复:
都很简单了,等我的小弟赵老师一句话点破这些题目。。。
小弟赵老师
有新工作否 2013-06-13
  • 打赏
  • 举报
回复
引用 9 楼 sam695781276 的回复:
[quote=引用 7 楼 yudahai109 的回复:] [quote=引用 5 楼 LCL_data 的回复:] [quote=引用 4 楼 sam695781276 的回复:] [quote=引用 2 楼 LCL_data 的回复:] 楼主面试的是什么职位?
= =自动化测试。。。很奇怪没怎么问测试的东西~[/quote] 自动化测试 一般还是要写代码的 [/quote] 貌似楼主这题不简单吧,第4题,怎么做呀?一个有m个元素,一个有n个元素,要求时间复杂度小于O(m*n)[/quote] 第四题我选择了先排序,然后遍历 第五题不是数据库,大数据处理,我的答案是先哈希,然后建链表,cache根据访问量和频率,通过规定接口确保不产生脏数据[/quote] 用map,域名为key,IP地址为value,根据字符串排序,然后根据第一个字母,建 树,以便快速检索。
此去依然 2013-06-13
  • 打赏
  • 举报
回复
引用 7 楼 yudahai109 的回复:
[quote=引用 5 楼 LCL_data 的回复:] [quote=引用 4 楼 sam695781276 的回复:] [quote=引用 2 楼 LCL_data 的回复:] 楼主面试的是什么职位?
= =自动化测试。。。很奇怪没怎么问测试的东西~[/quote] 自动化测试 一般还是要写代码的 [/quote] 貌似楼主这题不简单吧,第4题,怎么做呀?一个有m个元素,一个有n个元素,要求时间复杂度小于O(m*n)[/quote] 第四题我选择了先排序,然后遍历 第五题不是数据库,大数据处理,我的答案是先哈希,然后建链表,cache根据访问量和频率,通过规定接口确保不产生脏数据
有新工作否 2013-06-13
  • 打赏
  • 举报
回复
楼主,第5题,要考数据库?
有新工作否 2013-06-13
  • 打赏
  • 举报
回复
引用 5 楼 LCL_data 的回复:
[quote=引用 4 楼 sam695781276 的回复:] [quote=引用 2 楼 LCL_data 的回复:] 楼主面试的是什么职位?
= =自动化测试。。。很奇怪没怎么问测试的东西~[/quote] 自动化测试 一般还是要写代码的 [/quote] 貌似楼主这题不简单吧,第4题,怎么做呀?一个有m个元素,一个有n个元素,要求时间复杂度小于O(m*n)
healer_kx 2013-06-13
  • 打赏
  • 举报
回复
都很简单了,等我的小弟赵老师一句话点破这些题目。。。
十八道胡同 2013-06-13
  • 打赏
  • 举报
回复
引用 4 楼 sam695781276 的回复:
[quote=引用 2 楼 LCL_data 的回复:] 楼主面试的是什么职位?
= =自动化测试。。。很奇怪没怎么问测试的东西~[/quote] 自动化测试 一般还是要写代码的
此去依然 2013-06-13
  • 打赏
  • 举报
回复
引用 2 楼 LCL_data 的回复:
楼主面试的是什么职位?
= =自动化测试。。。很奇怪没怎么问测试的东西~

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧