网易互娱-我为自己耽误了面试官的时间而愧疚
先笔试,笔试题保密就不说了。自己疏忽了早上地铁人这么多,等了三趟才挤上去,还迟到了一会儿...
一面都是问些基础东西,不过会问的很仔细。面试官最后说基础牢固,知识面也可以(虽然图形学不会),但是总觉得怪怪的...可能因为自己非科班纯自学吧
二面自己真的觉得对不起面试官。
先问了下简历上的项目经验,这个面试官考察的还算比较全面吧,连自己本专业的东西都问了问,我非常感动。
1 然后问了个算法,N硬币换M元钱,我正准备写代码,他说你不用写了,给我讲一下思路就行。。。我是看过左神的代码课的,火速说出了递归,然后面试官问动态规划,怎么一紧张就搞忘了,然后面试官就下一题了。
2 然后问了给你10W个数的数组a,乱序,给你下标范围(i,j)和目标值value,判断a[i~j]中有没有value,希望越快越好。自己当时就蒙蔽了,这再快也要遍历啊,面试官说你先想想,然后就可是干自己的活,我持续懵逼3分钟,然后面试官说你可以对数据预处理,试试用哈希表,自己才反应过来,说了key=value,value=index,但是自己琢磨着10W数字如果有重复的怎么办啊,面试官又问hash函数如何设计,我一蒙蔽就说了平方取中法,面试官又问具体的实现方法,自己语焉不详支支吾吾。
3 然后又问了使用插桩的方法统计代码中函数的执行时间,打印log之后,如何找出耗时最多的三个函数。
log 的样子基本是,in表示进入函数,out表示离开函数。
a in time
b in time
c in time
c out time
d in time
d out time
b out time
a out time
自己琢磨了一下,就是怎么把自己内部调用其它函数的时间给减去吧,想了一下我递归一下好了,面试官问,这个是不是很像括号匹配,用什么数据结构,自己之前做题的时候遇到括号匹配...都是统计左括号个数然后判断不能出现负值,最后要等于0....面试官非常震惊,你不知道?没有学过数据结构吗?用栈你试试吧。这时候心态就已经炸了,我琢磨一下两个栈,一个保存in的time,一个用来保存自己内部调用的函数的时间和,同步弹出就行了,思路是这样,但是自己话都说不利索了。面试官看我这样就说算了,下一题。
又问如果函数c抛异常,被d捕获,是不是刚刚的方法就有问题了,你怎么解决。我琢磨着异常之后栈变量会自动被析构,那我就一进去弄个自定义的栈对象呗,对象析构函数里面会打印c out time,或者是一些异常相关的提示,我就这么说,面试官问异常原理你晓得不,我说栈变量会被析构掉,又问底层原理你不知道吗?-不知道。
4 这个时候心态就挺炸了,又问了问offer情况,期望薪资和愿不愿意转初级研发。
这场面完感觉到了自己思想境界层面的不足,说实话,实习的时候插桩统计时间这个事就是我干了,可惜自己境界太差,还是半自动方法统计的,这次居然被问到,真的是...还有就是自己对知识的运用明显极其不熟练,一面还好,因为就是考考概念,你说的越多越好(当然,也要在重点上),但是到了二面这种,面试官不care你知道什么,只care你怎么解决这个问题,你的思路是什么,答案是什么,那就很尴尬了。
#网易##网易互娱##C++工程师##面经##秋招#