时间有限公司技术部面试试题
游戏开发类:
编程题:
1 请写代码打印100之内的素数,讲求效率(请做你的解法的效率分析) 2 求m,n的最大公约数
3 输入10个字符串,打印出其中重复的字符串以及重复的次数 4 请画图例(UML最好),给出windows下的文件目录的设计模式 5用多种方法对数据进行排序。(选择排序、插入排序、冒泡排序、快速排序等)
技术问答题:
1什么是单元测试?你用过哪些单元测试工具?他们的区别和好处各有哪些?你主要倾向于哪一种?
2什么是编程规范?你倾向于什么样的规范?他的好处在哪?
3什么是头文件依赖?你注意过这些问题吗?你注意过编译的时间吗?你怎么改进编译时间? 4什么是面向对象?你在哪些方面用过面向对象?带来了什么好处?又有什么弊端? 5什么是设计模式?使用设计模式有什么好处?列举你使用过的设计模式知识。 6 什么是“引用”?申明和使用“引用”要注意哪些问题? 7 面向对象的三个基本特征,并简单叙述之?
8 请尽可能举出你所知道的数据库备份与还原的方法 9 中断是什么?CPU在中断的时候做了些什么?
10 多任务系统里面,一个任务可以在占有资源的同时申请资源,这会导致什么情况?并简述发生这种情况的必要条件。 数学题
1 1-9这9个数字中,选3个出来,其和为奇数的组合有几个? 2 请把16进制数270F转化为十进制数
游戏策划类:
关于游戏的了解:
1.您从什么时候开始接触游戏的(不论是街机或者是电视游戏,还是电脑游戏)?第一眼见到游戏的时候,您感觉如何?您觉得现在的游戏怎么样?
2.游戏的哪些因素是您最关注的,画面、剧情、音乐、整体流畅感和平衡性?哪些类型的游戏您最喜欢玩?
3.在您玩游戏的时候,突然游戏出现某个漏洞,您的感觉是?
4.请问你使用过何种游戏修改工具,特别擅长哪种,请就你熟悉的一款单机游戏把里面一段数据完整的分析出来
5.请问您知道BUG一次的含义吗?游戏中的致命BUG一般频繁出现在什么地方?所谓致命BUG:就是能让一款游戏玩家人数锐减的那种啦,如:游戏金钱方面的,游戏平衡方面的等等。
6.如果您玩网络游戏的话,举几个你曾经在网络游戏中发现的BUG,最好是你站在玩家的立场上看,觉得可利用价值最高的BUG,然后简述一下当时发现的情景和过程。 7.在熟悉或者通关游戏之后您会为您付出的这段游戏时间写点东西吗?或者会下其余时间研究研究您玩过的这款游戏?
8.您关注游戏市场上的行情吗?请就你熟悉的游戏类型对现在的游戏市场简要说明一下。分为以下三方面:手机游戏市场,电视游戏和单机市场,网络游戏市场。
Web前端开发类:
1、CSS+DIV开发Web页面的优势有哪些?
2、两种跳转方式分别是什么?有什么区别? 有两种,分别为:
4、简述列举文档对象模型DOM里document的常用的查找访问节点的方法
5、在IE中,HTML对象的ID 可以作为document 的下属对象变量名直接使用,在FF中不能,此兼容性问题如何解决? 6、引入样式表的方式有几种?
7、JavaScript是一门基于解释性的语言,它和java语言的区别?
8、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?
游戏美术类:
考查对于PS,3DsMax(或MAYA),AE等软件的熟悉程度
答案: 编程题:
1 考察数据结构的知识点,这里可使用筛选法,该方法是大部分数据结构书籍都有讲解的算法,当然还有时间复杂度更低的算法(空间复杂度),但是因为求值范围为 1 - 100 ,故综合来看,筛选法的效率是最高的。 int main() {
int *sieve; int n;
intiCounter=2, iMax, i;
printf(“Please input max number:”); scanf(“%d”, &n);
sieve=(int*)malloc((n-1)*sizeof(int)); for(i=0;i iMax = (int)sqrt(n); while (iCounter<=iMax) { for (i=2*iCounter-2; i if (sieve*i+!=0) printf(“%d ”,sieve*i+); return 0; } 2、考察数据结构的知识点,求公约数的算法很多,可考虑效率较高的欧几里德递归算法 , intgcd(intm,int n){ int temp = 0; if(m < n){ temp = m; m = n; n = temp; } if(n == 0) return m; else return gcd1(n, m%n); } 3、考察 C ++容器的知识,这里考察的 MAP int main() { stringstr; map for(intcnt = 0; cnt< 10; cnt++ ){ cin>>str; (content.insert(make_pair(str, 0)).first)->second++; } map cout<< it->first << ”: ” << it->second < 4、考察数据结构,文件目录是一个树 5、考察基础编程能力 #include template T temp; temp = *a; *a = *b; *b = temp; } /**************************************** 简单排序算法 begin ****************************************/ /* * 简单选择排序 * A: 以数组存放的无数数 * n: 数组A中从位置0到n排序(从小到大) */ template voidSelectSort(T A[], intn) { intsmall; for( inti = 0; i< n - 1; i++) { // 执行 n-1 趟 small = i; // 先假定待排序序列中第一个元素最小

