您的位置:首页 > 职场人生

2015小米校招【研发类】面试真题经验分享

2016-01-19 21:42 591 查看
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  在a中找出与其最接近的值
使用二分或者三分  二分需要判断多种情况

2、给出一个二叉树   包含数据   按照中序遍历的顺序找出第k个 元素

解:(1) 中序遍历 直接找出 (递归 非递归) 可优化

        (2)使用二叉排序树  结点遍历的顺序进行编号  

        (3)面试官提醒 可以通过结点的数据域 来做 可以到O(logn)

3、讨论了些c++的知识

      禁止一个类被继承   使用虚继承 跟友元可以完成

      用c实现多态


三面
1、链表的各种经典问题   判断环  相交结点 等

2、const的各种用法

3、一个不规则多边形 判断一个点是在多边形内还是外

4、操作系统  线程状态图  线程进程区别 虚拟内存 cpu调度 cache替换算法等

5、计算机网络 OSI  TCP/IP   三次握手 四次握手 问的很细  四次握手为什么是四次不是三次 三次为什么不是两次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: