前言
这次完全是裸面,没有任何的准备,也发现了自己的很多不足,包括很多东西当场没办法冷静分析,很多自己写过的代码细节也忘记了。而且他问的知识点方向有的确实很少接触过,我会根据我的回忆来总结出这次经验,总之有兴趣的可以往下看吧。
正文
盛大 龙之谷2团队
刚开始我说了前项目一些框架性的东西,他总之也就听个大概。接下来是他问的问题
- 知道c#引用类型和值类型的区别吗,说下分别有哪些
- 有没有用过c#的unsafe
- 你知道c#的gc机制吗,描述一下
- 在lua中怎么实现一个类
- xlua中lua和c#怎么进行交互,lua调c#,c#调lua
- 描述一下shader的结构
- 什么情况下需要用shader的多pass
- 怎么优化c#中的string和lua中的string
- 用过luaenv吗,有没有用过get和set方法
- 你说在lua中实现采用命名空间式的实现,那在lua中怎么gc
- ugui中mask分几种,实现原理是什么
- ugui中怎么控制drawcall
巨人 放置类卡牌项目
这个老大真的是很专业和和蔼了,但是我裸面,加上奔波了一天,而且问的东西我后来项目确实接触少。
- 怎么实现 UI|模型|UI
- 你说你们用vue router那套路由,你说说这套东西解决了什么问题,怎么控制层级关系和跳转
- 编程的六大原则是什么
- 说说设计模式,你知道哪些
- 说说对象池实现
塔人网络 SLG项目
这个面试官也是很nice和专业的,只是
- 熟悉网络编程吗,说说你知道的
- 怎么实现断线重连机制
- 说说数据结构,c#字典和list以及lua中的table
- 说说ui界面优化逻辑
- 关于说一下你项目的ab包打包逻辑
- 说说你项目的资源规范
- 知道a*算法吗,怎么实现的
- 说一下排序算法,你怎么从数组中找出最小值
- 说一下shader中的描边怎么实现,也就是卡通渲染
- 知道luajit吗,他是干什么用的,
总结
我的总结就是不要裸面,很多东西不是你写过或者看过,不复习就能当场想到的东西,面试官会直接问细节实现,以及你为什么这么做。还有就是理解面试官问题很重要,他想让我说出什么层次的回答,不能只是浮于表面。
还有就是不要总是扯框架设计,首先要实现功能,实现功能必定附带很多细节,面试官必定知道你有没有写过相应的逻辑,毕竟他自己写过才会问我。