职位:职员(技术类)
地点:北京
公司:北京小米科技有限责任公司
小米这个靠手机起家的公司,现在已经把企业做的越来越红火了。像我这种小员工是非常向往小米这样的大企业的。所以带着很忐忑的心理,往小米公司的邮箱投了应聘简历。万万没想到的是我有了一次面试的机会,第二天就带着紧张的心情去小米公司面试了。
刚进公司去了人事部,就有一个主管招聘的美女姐姐过来给了我一份试题,一面是个人信息另一面是十几道试题,除最后两道是专业一点的问题外别的都是跟客服有关的自由发挥题目,内容我就不一一说了。面试的美女很漂亮很温柔,礼仪也很到位很专业是个人才,这点必须赞一个。面试的时候也没有那么严肃,我回答问题的时候每说一句话她都“嗯”表示在听,看出了我很紧张,她也在努力帮我缓解,长这么大没面试过几次,而且一见美女就算不面试也会紧张的…呵呵,开玩笑。
和面试官先随便聊了一下背景,让我写一个有序链表的归并。在一面前,先被领着去参加了机试(果然还是逃不了),20分钟一道题,类似acm,把题目提交到oj上自动判分。机试没有太大难度,一道冒泡排序的题,十几分钟慢悠悠写完,但是坑爹的时候到了,提交后提示编译错误,看了错误日志,iostream未找到?仔细检查了代码发现没有问题啊,然后问旁边的工作人员,这个不是写的cpp么,提交后为何显示选择的语言是c?面试官看了一眼:啊,只能用C…只能用C…那你把CPP作为选项干啥…后来跟工作人员协商,直接把代码copy到记事本里,人工判分,然后出去等结果。几分钟后顺利通过机试,准备一面。
一进面试那间屋子就吓了我一跳,以前面试我这个职位的都是一对一,刚进屋就看见全是人,我都不知道该坐哪了,我的左边右边分别是来面试的同学,对面坐着我的面试官,几个人几乎是紧挨着..我记得我面试到一半的时候,旁边的面试官对一个接受面试的同学说:我觉得你技术还是不到家,你可以回去了,这时候压力山大啊,因为自己刚刚被一道题卡住了==
最后我透露一下面试的题目:
一面
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个无序数组ab
对于任意一个b在a中找出与其最接近的值
使用二分或者三分二分需要判断多种情况
2.给出一个二叉树包含数据按照中序遍历的顺序找出第k个元素
解:
⑴中序遍历直接找出(递归非递归)可优化
⑵使用二叉排序树结点遍历的顺序进行编号
⑶面试官提醒可以通过结点的数据域来做可以到O(logn)
3.讨论了些c的知识
禁止一个类被继承使用虚继承跟友元可以完成
用c实现多态
三面
1.链表的各种经典问题判断环相交结点等
2.const的各种用法
3.一个不规则多边形判断一个点是在多边形内还是外
4.操作系统线程状态图线程进程区别虚拟内存cpu调度cache替换算法等
5.计算机网络OSITCP/IP三次握手四次握手问的很细四次握手为什么是四次不是三次三次为什么不是两次
希望上面的内容能给各位看官一些帮助。