面试技巧

网易2014年技术类实习生面试经历

职场词典 zhichang.cidiancn.com

阅读: 159

       职位类型:技术类实习生

       面试时间:2014年4月

       招聘公司:网易

       网上投简历:

       楼主以前的简历写的是精通SDK、精通C++、精通数学基础,后来低调了许多,写成熟练掌握。当然,楼主以前的代码行数超过20W,sdk写了四年,C++写了六年,这些是实在的数据。简历写得比较实在,结果过了。

       一面:

       一面面的是C++和算法。

       面试官首先问你用过Directx,那么,你会渲染管线么。我说不会,以前只用过一个低版本的Directx,当时做的时候就是往显卡里面写数据。面试官说没事,我只是问一下而已。然后是C++,主要是一些概念和语法,比如:引用和指针有什么区别与联系,还有,sizeof对指针和引用的结果有什么不同,还有,sizeof指针的结果是多少,extern有什么用,模板特化是什么。其它还有许多,我不记得了,反正我觉得蛮简单。

       算法有两个题目,各分两个小题。

       第一个是最大子列和,我速度说了是动态规划。然后他问如果数改成复数,和改成模呢?我想了一会,说暴力可以。面试官不太满意,说你再想想,我说我不知道了。面试官又说,你考虑一下几何意义,我当时真是醍醐灌顶,立刻回答了,复数的几何意义是点,模的几何意义是长度,这个题目等价于平面n个点求最长点对。面试官说对的,那如何解呢,我说,最长点对在凸包上,求出即可,面试官问,复杂度多少,我说O(nlog n)------其实不用求凸包的,最长点对中的一个点显然要么x最大,要么y最大,要么x最小,要么y最小,满足这四个条件中的一个的点最多常数个,暴力一个,O(n)完事。

       第二个题目是概率的,你现在有一个函数F(),只能返回0-1之间的随机实数,你如何利用F(),使得以P(1)概率返回1,P(2)返回2…P(n)返回n,楼主想了一会,说调用一次F(),如果小于P(1)就返回1,否则小于P(1) P(2)返回2,否则小于P(1) P(2) P(3)返回3…这样就行了。面试官问,这样复杂度多少,我说O(n),面试官说如何优化呢,我说可以用huffman树优化,其实if else连对应于二叉树,这个是带权值的最短叶长度,果断huffman,然后它问了,复杂度多少,我说您指的是构造huffman编码的复杂度么,它说不是,假设那些预处理已经好了,我说那么就是O(lg n),即二叉树的平均深度(其实应该比这个小,但是,具体值肯定与P序列有关,但是,这么答肯定是对的),然后面试官说我们面试到这里结束了。面试完,楼主知道肯定过了。

       二面:

       二面上来先是让手写代码,楼主就会写程序,果断秒掉,然后等着面试。面试分四个部分。

       第一部分,算法题目。给你一个m*n的矩阵,求其中有多少个子矩阵的和为k,楼主看了一下,问:这个矩阵的数字有什么特点么,面试官答,没任何特点,只是数而已。我问,全是正的么,答,不是。楼主想了10秒,说了两个字,暴力枚举。面试官问,如何暴力,楼主答,暴力出左上和右下两个点,然后算和就行,面试官问,如何算何,楼主答,先对原矩阵做一个预处理,第(I,j)位置的数写成(0,0)->(I,j)的和,然后暴力左上,右下两个点的时候可以在O(1)算出和,总的复杂度O(m*m*n*n),面试官没说话了。楼主知道pass。

       第二部分,智力题。网上有,楼主当时没想出来,主要是中午没吃饭(喝了一点汤),然后头也晕(我2.9分到的,2.10分开始笔试手写代码),心态比较不好,没做出来。这一部分算挂了。

       第三部分:简历问。看到我写的我写了一个STL,面试官问,你的vector的push_back如何写的(你先不考虑allocator),楼主知道一般是直接放,如果满了,就分配两倍的空间,然后说了一通,面试官不满意,说,分配两个空间的代码写成Type* buf= newType[size*2],这样的话,有size-1 个位置其实没有对象,可是你还是给它分配了,还调用了构造函数了,这如何解决?楼主当时误解了意思,说,你不分配2倍,下次如果再push_back,你还得再分配,面试管继续解释,不过,越解释越糊涂,我后来算是明白了,原来 是placement new,我说,构造函数调用其实是多余的,不需要调用,可以直接写成void* buf= new char[sizeof(Type)*size*2];,然后copy对象的时候用placement new去干,面试官又问placement new 的语法,楼主说了,面试官没说什么。这也算过了吧

       第四部分:聊天。问我玩游戏么、玩什么游戏,我说玩war3 &&dota;问玩什么英雄,我说dota里面玩猴子、SPE、火枪、PA、一姐。然后问我有被针对的时候么,我就说了几个。又问,你说说你影响比较深刻的几把。我说选了两个例子说,第一个讲完加了句“这一把让我明白了不要轻意放弃”;第二个讲完加了句“这比赛让我明白团结对于一个团队特别地重要”。面试官又问,你觉得你是dota里面哪个英雄?我回答,一姐,如果团队不需要我的时候,我会默默地farm(学习,干活),如果需要我,我会担当起输出的重任,挑起团队的大梁,带领团队走向胜利。

       最后面试官问,你有什么问题想问我的吗。我就问了两个,一个是听说有导师带,还有项目,我想问下下,项目和以后工作有什么关系,第二个是广州和杭州有什么关系和区别。面试官很耐心地回答了十多分钟,我一直认真地听着,然后说了一句,谢谢您,走出了面试场地。

       当时我心情很不好,因为智力题没做出来。我以为挂了,没想到后来收到了offer,感觉很幸运,在这也祝大家好运吧!

分享给亲友.

下一篇:奇虎360软件测试岗位面试题目 下一篇 【方向键 ( → )下一篇】

上一篇:浙江移动2013年IT开发岗位笔经面经 上一篇 【方向键 ( ← )上一篇】