网易游戏研发工程师一面(8.23)
几天前HR通知我笔试过了,8.23号下午三点电话面试,于是乎,今天下午3点电话准时打过来,面了整整一个小时。
刚面完,其实就已经只记得一部分问题了:
-
讲讲虚函数
(虚函数的来由,作用,巴拉巴拉) -
虚函数的工作原理
(虚函数表问题,巴拉巴拉) -
了解STL吗?(嗯)那讲讲STL中的vector吧
(介绍了STL容器的分类,巴拉巴拉一堆vector的底层实现,内存管理问题) -
(除了vector,我也知道其他的容器)那挑一个你擅长的讲讲吧
(hashtable的底层实现,内存问题,巴拉巴拉) -
求一个有向图的深度
(图问题只接触过求最短路径问题,于是说着说着就讲成了求最短路径问题(自己苦笑),然后想到树的深度用DFS来求的,说可以用递归方式来求,让我讲具体实现,我模模糊糊讲了一些,因为在说二叉树的递归方式,所以很没底气;面试官又说你刚才说了递归方式,那非递归方式怎么实现呢? 有点懵,没思路,只能说可以用栈来保存传给递归函数的参数,通过对栈进行操作来获得结果。。面试官又问,那具体怎么实现呢,看我想了一会,他说那给你个简单模型吧,我在纸上一画,这就是熟悉的二叉树,于是用栈的思路讲了一遍实现过程,其实我也不知道说得对不对) -
重载和重写
(重写我跟他解释了类结构层次中的重定义问题,完了问他不知道说得对不对,不对你可以纠正一下,面试官说差不多就是这样(回来百度一下,好像确实说的没毛病)) -
动态链接
(一开始想着问的是不是动态联编,跟面试官确认一下,不是同一个问题,然后就说了动态编译和静态编译的区别,动态链接是在运行时进行的。(问是否知道动态链接的具体过程)不太清楚,没继续问了) -
进程与线程的区别与联系
(巴拉巴拉,顺便说了下线程同步方式和进程同步方式) -
虚拟内存和物理内存
(讲了虚拟内存的由来,内存管理中的虚实地址转换机制) -
计算机图形学了解吗
(只了解一点点皮毛,渲染管线的流程,然后让我讲讲光栅化,还是大学毕设时候做的课题,完全忘光了,只能说不知道) -
计算机网络了解吗
(不清楚,表态:后期要好好研究)
(连着两个都只能回答不知道,有点尴尬,于是我说,要不讲讲c++的内存管理吧,面试官说还是进入下一步吧(哈哈)) -
洗牌问题
(面经里好像看到过有这个问题,不过没有去研究一下,只能随便答了。
先讲了用hash来实现,面试官说这个可能也行,不过不用这么复杂,有没有更好的方法呢?
然后他引导了一下,说取第一个元素,然后可以用random函数,不过我还是走偏了,可能还不够随机。面试官又问还有没有更好的方法呢?
回答暂时想不到,于是面试官说了一下他的思路。)
然后,面试就结束了。。。。可能中间有一些问题遗漏了,只能回忆起这么多了。。(说是后面HR会通知下一步的)
算法太菜,问着都慌,回去好好看算法书了。