网易互娱实习 测试开发岗 两面技术(一面压力技术+二面hr技术)
一面
面了一个多小时,上来就是写代码(算法),完了之后问C++,数据库,之后一些测试问题。问得很深,毫无招架之力。
1、在线编程,n个数里找第k大的数(我先写了二分,没写出来,换sort函数),效率比较低还有吗,(快排,堆排序),还有什么方法,(建堆,然后不停的把最大的拿出去),这个跟前面是一样的,(然后提示了二分法,我说比较个数,如果比k大的数多,就在哪边,然后递归二分法),最后让写构建堆排序。
2、C++,强制在堆或者栈上分配内存要怎么做(附网址:http://www.mamicode.com/info-detail-945010.html)(这个提示了new重载)
3、内存分配方式有哪些(堆,栈,静态),还有吗(补充:进程内典型全局资源如下:1)代码区:这意味着当前进程空间内所有的可见的函数代码,对于每个线程来说,也是可见的2)静态存储区:全局变量,静态空间3)动态存储区:堆空间。线程内典型的局部资源:1)本地栈空间:存放本线程的函数调用栈,函数内部的局部变量等2)部分寄存器变量:线程下一步要执行代码的指针偏移量)
4、哪些在静态存储区分配(static 全局变量)
5、STL(忘了,然后我说我会vector set之类的也没问)
6、数据库事务,你在实现过程中用到了啥(我答了乐观锁的概念)
7、你玩哪些游戏(脑子一热说了王者荣耀),还有呢(赶紧补上阴阳师),玩的时间,这个游戏的缺点(感觉像是单机游戏,实在说不出其他的了,然后就说很完美了),新增一个人物要考虑哪些(UI,技能,用户群)
面完了问面试官:
1、linux比较少用
2、更看重基础是否扎实
总结:
1、排序查找算法一定要会写,至少要会写伪代码
2、感觉bat网易之类比较龙头的互联网公司不太会问概念,一般是问实现方法。而且不