面试问题:
1、自我介绍
2、稍微问了一下项目经历
3、算法题:跳台阶,一次可以跳2或3个,共n个,输出所有跳的方法。
eg:input:n=5,output:23 32
4、在一个二维平面中,有一些补给点存在,所有补给点的位置不会改变,玩家可操作角色在平面内随意移动,求在任何时刻距角色最近的补给点。
5、100*100的二维数组的行优先遍历和列优先遍历除读取顺序外还有哪些区别?
6、一个游戏中,玩家名称为一个全为字母的字符串(不区分大小写),最长不超过10个字符,给出一个目标字符串,要求输出所有含有该目标串的字符串。
7、死锁如何避免?
个人总结:
算法问的比较多,特别是几道题目应该都是会在实际开发中出现的,想一个比较暴力的方法不难,但是要再进一步进行优化对我来说就有一些困难了。
比如第4个问题最多只能想到在最初时对补给点进行聚类来减少每次所需求距离的点数,但对于与各聚类距离差不多的点就不太清楚怎么处理了;
第6题也只想到了用字典树,但传统字典树是只能处理前缀匹配问题的,所以需要进一步的优化。(写帖子回顾的时候突然意识到好像可以用AC自动机,要是刚才面试过程中能想起来就好了)
全部评论
(5) 回帖