祺曜互娱面试总结

        最近在boss上公开了简历,原因有二:1。想看看自己有没有进步,竞争力有没有变强,也想练练手,保持自己的状态;2.公司没有调薪计划,没能调薪。也收到几个面试邀请,因为各种原因拒绝了,目前就参与了祺曜互娱的面试,我觉得有的问题回答的太差了,回想起来能回答更好,做以下记录。

 

1.游戏的揹包怎么实现的。(回答,不是我做的,具体不太清楚)

       虽然不是自己做的,按照现在的项目框架和情况,以及对游戏的理解。揹包其实就是数据,每个玩家的揹包可以表示为一张lua表,例如:

玩家获得新的道具,或者使用药品,只要减掉,在做相应的处理即可。

2.二分查找的思想是什么。(回答太久不用了,都在写逻辑,具体不记得了)

       a.必须采用顺序存储结构

       b.必须按关键字大小有序排列。

       首先拿查找内容与被查找数据的中间值进行比较,如果相等,则找到。否则利用中间值将数据分为前后两部分,如果大于中间值,则查找大的那部分,否则查找小的那部分。重复以上,直到找到为止,如果找不到,则数据不存在。

3.你认为skynet框架设计让你最惊艳的地方在哪里。(回答,skynet消息的调度,实现的很像操作系统,agent的设计,agent管理玩家,玩家通过agent与游戏逻辑交互)

       skynet消息的调度,skynet每个服务都是被一个个消息包驱动,当没有包到来的时候,它们就会处于挂起状态,对 CPU 资源零消耗。

4.lua怎么调用C++。(回答,编译成动态库,在lua引用,两者通过栈交互)

暂未想好更好的回答。

5.用过哪些设计模式。(回答,工厂设计模式,用父类指针指向实例化的子类对象)

暂未想好更好的回答。

6.你们游戏中的mysql的表格是怎么设计的。(回答,将玩家的数据分隔开,具体活动一张表,揹包一张表,玩家数据一张表,通过uid索引。)

暂未想好更好的回答。

7.list与链表的区别(回答,太久不用,记得不太清楚了)

其实我觉得面试官是想问list的vector的区别吧。。。list就是链表啊。list是由双向链表实现的,因此内存空间是不连续的。
只能通过指针访问数据,所以list的随机存取非常没有效率,时间复杂度为o(n),但由于链表的特点,能高效地进行插入和删除。当时没回答出来

 

      个人觉得自己是能回答的更好的,自己还是没能熟练掌握并使用知识,略微紧张,而且回答过快,其实可以稍微思考,冷静下来再回答,相信很多答案都会出来的。还是要经常保持状态,继续努力,加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章