面筋: 奇虎360 c++ 后台开发 实习生 面试

  投的是360上海的商业化部门,岗位是C++服务端开发实习生,记录一下面试历程:

  视频面试,但是是有代码框让你写代码的。

  一面:

    Q:先说一下个人信息,做过的项目

    A:..........

    Q:先写个翻转字符串

    A:........(这个简单,不过要注意一下细节)

    Q:了解nginx吗

    A:听说过,没有用过暂时(然后面试管就不问NIGIX了)

    Q:说一下线程池

    A:........(网上很多就不写了,主要也记不清到底当时说的是什么了)

    Q:说说你的这个项目吧

    A:.......(从总体框架说道细节方面,基本上过关了)

    Q:解释一下同步和异步?

    A:.......

    Q:你还有什么要问我的吗?

    A:我问了关于加班以及出勤的问题 

    一面的面试官比较随和,大概一个小时面试结束,紧接着二面

  二面:

    Q:先来做个题:假如你有个超能力,可以知道一个月内的股票变化情况,请选择一次买入以及卖出的时间,让你的收益最大

    A:先写不出来,然后跟他沟通了一下思路之后磕磕盼盼写出来了,其实这是个典型的DP问题,这个问题网上应该也能搜到。接不细说了

    Q:继续做题,给你很多桶水,水量比如说1,2,3,4,5,然后让你把他们倒在一起,使得中间水量是最小的,比如说对于1,2,3,4,5这个集合顺序的话中间的水量是1+2 = 3, 3 + 3 = 6, 6 + 4 = 10, 10 + 5 = 15,一共就是3 + 6 + 10 + 15 = 34,

    A:大概说了下思路,其实是HaffMan编码的思想,尽量每次都选当前最小的两桶水。当时觉得这个也是直觉,然后他就让我证明,我磕磕盼盼半天也证明不出来,然后他笑一笑就没继续问了

    Q:还是写程序,写个单例模式的程序吧

    A:...(这个比较简单,蛮快的写了出来)

    Q:还是代码,将一个BST转换成双向链表

    A:这个问题想了好久,然后我说我暂时想不到可以使用O(1)的额外空间来实现这个算法,他说那空间随便你用,你写一个出来吧,然后我就用中序遍历重新写了一个单独的双向链表出来了,他说写的没什么问题,然后然我再想想,我想了比较久,但是还是没辙,他就让我等等面HR面了。

  二面大概两个小时的样子吧,气氛比较紧张,因为我写代码能力一般,还需要加强,不过勉强还是过了。

  HR面:

    Q:你觉得你的3个特点,就是用3个特质来概括一下你

    Q:平时有什么爱好

    Q:以后想去哪里工作

    Q:能一直呆在360实习吗  

    Q:家里的家庭状况

  HR面轻松愉快,然后其他的就是后话了

总结一下:360可能比较看中基础,也有可能是我的项目比较水他不太喜欢问,总之问了很多算法题。人生第一次面试,还是挺紧张的。二面的面试官确实比较严肃,给人的压力也挺大。当然自己也要表现的自信一点,然后就是尽量的客气。差不多就是这些了

原文地址:https://www.cnblogs.com/-wang-cheng/p/5506935.html