快手游戏客户端开发实习岗一面面经+二面凉经
//快手游戏//一面(3.31)
萝卜 60min+
纯粹的八股盛宴
1. 多态是如何实现的?如何判断重载的是哪个函数?模版是怎么实现编译多态的?虚函数?若派生类没有重写虚函数,虚表自己的吗?表中的虚函数呢?
2. C++的string和C#的string是如何实现的?
3. unordermap的底层实现原理?常见的哈希函数有哪些?处理冲突的方法呢?C++中用的是哪种?
4. 谈谈你了解的C#GC机制?
5. 智能指针?如何实现一个unique_ptr?
6. 谈谈数据结构中的栈和堆的区别?
7. 如何通过一个数组实现队列?
8. 如何得到二叉树的深度?
9. 讲讲几种常用的排序算法?时间复杂度?空间复杂度?稳定性?
10. CPU的调度算法有哪些?
11. 进程、线程、协程的区别?
12. 进程通信方式有哪几种?
13. 虚拟内存和物理内存?逻辑地址和物理地址?
14. 手撕:找两个有序数组的中位数
反问:
1. 需要提高的地方
2. 实习到岗时间,时长
3. 给实习生的建议
4. 理想与热爱
度过了空虚而愉快的周末,整个人不在状态,脑子空空,全凭肌肉记忆答题,有些稍微推导一下就能出来的结论也没接住,看来是三月份猛蓄猛出的后遗症
//快手游戏//二面(3.31)
萝卜 60min+
4点50通知一面过了,5点二面,真是让人猝不及防
先手撕:二叉树两节点最近公共祖先
后面偏向于聊天性质,聊聊项目中的一些设计思路,具体实现方式,以及商业化游戏在这些方面会有哪些问题和成熟的解决方法,就还挺轻松愉快?希望各大厂的二面都向快手看齐
反问:
1. 实习生要有什么样的技术能力和素质?
2. 目前项目组正在研发什么品类的游戏?方便说说名字吗?
3. 关于oc后分配的组?
清明节回来一看,直接挂了(哭),连个感谢信也不发一下,这么看来聊得越轻松愉快反而不是件好事...
自我反思的话,感觉还需要对目前商业化游戏的一些成熟技术有更深的了解