之前错过了内推,走了实习招聘的流程。首先笔试,三道题,大概只对了150分也进了面试。
一面一小时左右,首先自我介绍。
然后介绍简历上的项目,本来就比较水,也没细问。
先问了几个C++的,讲一下虚函数
我们知道析构函数大部分情况是虚的,那么如果不是虚的会带来什么后果。有没有情况不应该设为虚的,设为虚的有什么后果(需要虚函数表指针,也占内存,这点当时没想到)
然后问看你简历上炉石 梦幻都有玩过,那么问个炉石的问题,对面场上一个32的精灵龙,空场奥术飞弹飞死的概率是多少。有点蒙,本来就有点害怕概率题,在纸上写了会还是算出来了,其实是非常简单的条件概率,1/2。然后问我如果对面还有两血呢,其实这个对概率没影响,因为打到对面两血已经不可能再打死精灵龙,当时太慌了,平时思考的也太少。面试官提醒了几次我都没太懂,估计他也不懂我在说什么,语言表达捉急。
接下来问了个我们知道用word经常有撤销操作,那么你觉得怎么实现比较好,我说用栈,具体怎么实现,回答说把当前所有状态压进去,面试官说这样会不会占空间比较多,还有没有别的想法,还是有点蒙,然后面试官说你的思路是对的,但优化可以只压两次的差值。那么更进一步,要定义复原操作呢,我说再定义个栈,把撤销弹出的压进去,面试官又问这种情况下复原又撤销怎么实现,已经石乐志了,被面试官又指导了一下,接着问这种情况还有什么没考虑到的,决定放弃。
手写一个atoi,忘记判断s为空的了。
然后好像没了 面试官全程都特别好,试图指导你跟上他的思路进行思考,感觉还是自己太渣了。要我出去等HR通知,我说难道还有二面吗。。表现这么糟糕。没想到还是给了一次机会。
二面 具体忘了 三四十分钟吧。
上面就问你做的最好的一个项目是什么,只能把那个水的又讲了一遍。
C++比较了解的话你讲下STL。。我有点懵,这么大的题,然后主动讲了下vector,动态的实现,capacity的扩充。面试官补充问了下capacity会不会缩。
然后就问算法了吧,首先一个最早公共祖先结点,前一天在美团点评的笔试上做过了,但答的也不是特别好,表达能力不行吧,平时练讲题也少。另外面试官期待的思路好像是求根节点到两个结点的两条公共结点的和。我的思路是直接算在左结点还是右节点,讲了好久才讲清楚,不知道评级如何。
第二题是几个(num,n),数对,第一个num是数的值,第二个n是这个数前面比他大的个数,要我把这个数列还原,一时半会想不出来,放弃了。
又补充了个C++的问题,介绍下虚函数跟纯虚函数。
然后问了一个n*n的矩阵,用若干种颜色的石子填满,看分成了几个区域,感觉用bfs跟并查集结合就可以解决了,主要还是表达的不太清楚吧。
另一个人问,你在家玩梦幻掉线了,怎么测试问题出在哪。我讲的都是去贴吧看别人有没有出问题,判断是不是自己的问题,面试官好像不是很满意,我也确实不知道该怎么做。
回来想想才想清楚原来有一个一直摆臭脸的人的作用应该是压力面,面到最后以及跟他一起下电梯的时候,人都挺nice的。
后面好像就没了。5到10天等通知,应该铁定挂了。。