今天下午到了边锋面试,就、、、面试了整个下午、、、汗、、、
先总结下吧:简历真的很重要,首先面试官是直接根据你的简历看你干过什么就问你什么,要是干过回答不上来,嘿嘿。。。再就是不能冷场,就算你不会也要能xjb乱bb,最好还能b的有道理,真不会就直接说不会吧,勇敢点说no也还好的,但也不能no太多、、、我就是技术面试给我面了1个半小时,为什么这么久?因为我能扯啊、、、而且听起来还很有道理,仔细想想,其实他问的问题我啥也没答、、、但是面试官可不是吃素的,差不多就直接回到原题换一种问法继续问你、、、哭、、、那就继续xjb乱bb咯、、、
技术面试才是关键啊,后面hr、部门主管、、、看着办
我的技术面试分为C++知识、acm算法知识、项目方面(简历里提到项目)、游戏引擎cocos2d-x知识、还有你写过的游戏各种白扯。直到问道你不会为止!
一、C++知识问题,
1、
void func1()
{
A a=new A();
delete a;
}
void func2()
{
A a;
}
这两个函数中A区别。(基础问题啊,new堆分配内存,需要手动释放,func2中a是栈中分配内存,自动释放等等。)
然后问题来了:栈中分配的内存为什么会自动释放呢?new出来的内存我如果不想写delete怎么让他自动释放呢?、、、问到我一脸懵逼,但我还是能xjb乱bb(C++11新特性 智能指针了解一下、、、)
说一下List、Vector、Deque底层实现。(链表、数组嘛、、、)
List、Deque底层都是链表(我说的),然后他们区别?(基本操作、、、)
然后是怎么实现的,怎么控制的?
stl容器都有迭代器可遍历的,Deque有没有? Deque怎么让你不能用的,内部实现?
都是底层的吧?嘿嘿、、、
3、C++内存泄漏问题。(还好面试前一天看过)
内存泄漏导致程序崩溃有哪些情况,你是怎么解决的?
为什么数组越界程序会崩溃?(我也很崩溃啊!然后给他xjb乱扯到操作系统内存管理上、、、不会就猜呗、、、)
C++的好像就这么多,但我能bb很久、、、
二、acm算法知识:看完你获得过省赛三等奖啊,直接问你省赛算法题做出来了吗、、、(崩溃中,省三,然并卵、、、)
1、开头就问你会哪些算法?(呃、、、) 那学过的图论、树型结构的算法说说?(、、、一大堆)
2、并查集什么东西,怎么实现、应用是什么?(基本操作++可能就看你学的是不是假算法)
3、(最短路算法说了这么多是吧,)来,给你一个最短路题目:一个有向图边有权值,起点终点告诉你,求个最短路,来吧、、、描述下过程、、、(bbbbbbbb)不要讲代码,讲过程。(bbbbbbb)讲过程!(bbbbbbb)那还是用队列实现的咯
。现在时间复杂度Nlog(N)是吧,来枝剪下。刚才你讲的那一种算第一种枝剪,还有呢?(呃、、、、)给你一组数据,看看怎么剪:数据大概就是起点在最上面,终点在右面,起点一条边到终点,然后下面一大堆点、边。但都不能到终点。问枝剪!(继续呃、、、、)然后他直接给答案了,(:真好心的,赞)你把有效边求出来,搞两份,然后%……&¥@#@¥%……@(听完,呃、、、、)话题结束(心想:果然acm大佬、、、菜鸡答案听完都一脸懵逼、、、)
4、线段树用过吗?(吹一波:我可以单手敲出来!。现实:这个还是会的、、、还有树状数组这些、、、)
acm算法面试结束、、、、、、
三、项目方面
就问些基本的,比如做什么的,几个人,你负责什么,设计架构、怎么实现、等等基本问题,不会问太多、、、因为我这个没什么兴趣了解的。
四、游戏引擎cocos2d-x知识
1、cocos2d适配模式有哪些
2、cocos2d内存管理机制,怎么管理、怎么实现
、、、表示基本一脸懵逼
五、游戏期末作品给他看了下。
简述下实现流程。
你的都是public啊,这样不行的呀,怎么上面有变量,最下面还有啊,init函数干嘛加个virtual呀、、、被吐槽的不能自理、、、
打开资源文件:问:方向干嘛用枚举类型啊,和宏定义比哪个比较好?这个map干嘛加static啊,不加为什么报错呀?用static有哪些不好?考虑一下。(被问的晕乎中、、、)怎么解决这些问题!
六、压轴题:三个人斗地主,服务器给你一些牌,是随机的,乱序的,然后给你排序规则,让你排序。
第一次题意理解错误,第二个版本(正确的):牌是一张张给你的,需要你每次排序,要求显示结果每次都是顺序的(按排序规则排过的)。
(开额外数组,记录规则排中位置(权值),每次都sort一遍)(时间复杂度N*N*log(N))(TTTTTLE)
优化1:(数组改成链表,根据排序规则直接插)(时间复杂度N*N)(还是太慢,继续想想吧)
优化2:(链表改成二叉排序树实现)(N*log(N))(能不能想到O(1)的算法实现)
最终版本:(骚操作(学acm的时候无意中看到的一道题,不会,学习了下这个很神奇的操作,还真能用上、、、):一个数组存值,另外一个存next值,结合链表和数组的优点,随机访问,中间删增都是O(1))(N)(嗯、、、)
技术面试结束(1个半小时、、、心累++)
接下来hr来了,扯家常,啥都扯,就是聊天、、、比如你们学校acm怎么样,你在acm里水平怎么样,你们去比赛那次三个人分工是怎么样,acm里有几个考研的,面试通过会考虑新的机会吗,秋招会去吗,职业规划,吃行住问题,工资问题,工作问题、、、聊的happy、、、
然后部门主管来了,hr走了,技术规划,发展规划,以后干什么方向,大学自己搞过项目吗,看过什么课程以外的书吗,学过什么新的东西吗,你在班里的水平,你的过人之处,你的优越感来自于什么,最有成就感的项目,说说具体实现,(xjb乱bb吹中、、、)
面试结束,hr又来了,告诉你面试结果,填了个表,送我出去了,此时下午5点过、、、我滴妈呀!