发
5.
1) 例举Linux下多线程编程常用的pthread库提供的函数名并给出简要说明(至少给出5个)
2) pthread库提供哪两种线程同步机制, 列出主要API
3) 使用pthread库的多线程程序编译时需要加什么连接参数
第五部分(选作): Windows开发
1. DC(设备上下文)有哪几类 区别在哪里
2. 碰撞检测是游戏中经常要用到的基本技术 对于二维情况, 请回答以下问题:
1). 如何判断一个点在一个多边形内
2). 如何判断两个多边形相交
3). 如何判断两个点集所形成的完全图所围的区域是否相交
3. PostMessage SendMessage和PostThreadMessage的区别是什么
4. 什么叫Alpha混合 当前流行的图片格式中哪些支持alpha通道 Layered Window和普通Window有什么区别
5. 如果要实现一个多线程(非MFC)程序, 选择多线程CRT, 创建线程的时候应该用CreateThread还是_beginthreadex(), 为什么
第六部分(选作): 数据库开发
1. 基于哈希的索引和基于树的索引有什么区别
2. User表用于记录用户相关信息, Photo表用于记录用户的照片信息, 两个表的定义如下:
CREATE TABLE User( –用户信息表
UserId bigint, –用户唯一id
Account varchar(30) –用户唯一帐号
);
CREATE TABLE Photo( –照片信息表
PhotoId bigint, –照片唯一id
UserId bigint, –照片所属用户id
AccessCount int, –访问次数
Size bigint –照片文件实际大小
)
1) 请给出SQL打印帐号为”dragon”的用户访问次数最多的5张照片的id;
2) 给出SQL打印拥有总的照片文件大小(total_size)最多的前10名用户的id, 并根据total_size降序排列
3) 为优化上面两个查询, 需要在User和Photo表上建立什么样的索引
4) 简述索引对数据库性能的影响
3. 什么是两阶段提交协议
4. 数据库事务基本概念:
1) 什么是事务的ACID性质
2) SQL标准中定义的事务隔离级别有哪四个
3) 数据库中最常用的是哪两种并发控制协议
4) 列举你所知的数据库管理系统中采用的并发控制协议
5. 数据库中有表User(id, name, age):
表中数据可能会是以下形式:
id name age
001 张三 56
002 李四 25
003 王五 56
004 赵六 21
005 钱七 39
006 孙八 56
…………..
由于人员年龄有可能相等, 请写出SQL语句, 用于查询age最大的人员中, id最小的一个记录
6. 并发访问数据库时常使用连接池, 请问使用连接池的好处是什么 对于有多台应用服务器并发访问一台中心数据库的情况, 数据库访问往往成为系统瓶颈, 请问在应用服务器上设计和使用连接池时该注意哪些问题, 以保证系统的可靠性 正确性和整体性能. 假设每台应用服务器都执行相同的任务并且负载均衡.
第七部分(选作): Web开发
1. 以下哪一条java script语句会产生运行错误:
A. var obj=( );
B. var obj=[ ];
C. var obj={ };
D. var obj=/ /;
2. 如下页面代码(示例代码DOCTYPE为Strict)
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
http://www.w3.org/1999/xhtml” xml:lang=”zh” lang=”zh”>
测试
<script>
*{margin:0; padding:0}
html{width:100%; height:100%;
overflow:scroll; overflow-x:auto;
text-align:center; border:0}
.test{height:200px}
假设a.jpg图片的规格是200pxX100px, 请给出当前背景图片距div.a顶部距离的计算方式和结果(css)
3. HTTP协议相关知识
A) 常见的HTTP Request头字段有哪些
B) web服务器如何区分访问者是普通浏览用户还是搜索引擎的Spider
C) cookie按生命周期分类分为哪两类 其生命周期分别是多长 向浏览器设置cookie时cookie有哪些属性可以设置, 分别起到什么作用
D) HTTP协议中Keep-Alive是什么意思 使用Keep-Alive有何好处, 对服务器会有什么不利的影响 对于不利的影响有什么解决方案
4. 简述你最常用的Web服务器的一种或者几种, 并说明如何在Web服务器和应用服务器之间建立反向代理
5. 简述你所了解的MVC各层次的常用开发框架, 说明其特点
6. 简述Web应用环境下远程调用的几种方式, 并且从性能 异构性等方面比较其优劣
第八部分(选作): Flash开发
7. flash和js如何交互
8. flash中的事件处理分哪几个过程 Event对象的target和currentTarget有什么区别
第九部分(选作): 软件测试
1. 请描述你对测试的了解, 内容可以涉及测试流程, 测试类型, 测试方法, 测试工具等
2. 如果有一天你早上上班, 发现不能上网了, 你会用什么步骤找出问题所在
3. Web应用中实现了好友功能, 用户可以给别人发”加为好友”的请求, 发了请求后可以取消请求, 对方收到请求后, 可以选择接受或者拒绝. 互为好友的两个人, 每个人都可以单方面删除对方, 请设想尽可能多的路径对此功能设计测试用例, 每个用例包括测试步骤和预期结果
4. 公司开发了一个web聊天工具, 用于网络用户之间的聊天, 一个人同时可以和多个人聊天, 功能类似于MSN等等IM工具
要求该系统能承受1万个在线用户, 平均每个用户会和3个人同时聊天, 在网络条件正常的情况下, 要求用户收到消息的延迟时间不超过1分钟. 现在需要对系统进行性能测试, 验证系统是否达到预定要求, 请你写一个性能测试方案. 提示如下:
1) 性能测试的过程一般都是模拟大量客户端操作, 同时监控服务器的性能和客户端相应, 根据服务器的性能指标和客户端响应状况进行分析和判断
2) 系统的性能问题可以从两个角度考虑, 一个是服务器问题, 设计得不好的程序, 在大负载或者长时间运行情况下, 服务器会down机; 另一个是客户端问题, 在负载大的时候, 客户端响应会变慢
3) 在答题中, 可以不涉及性能测试工具, 监控工具等细节, 把你的测试思路说清楚就可以
5. 自动功能测试中会将测试用例组织成测试集合来统一运行, 测试集合suite按功能分类可以有若干个模块module, 每个模块module下包含若干个测试用例test. 现测试集合已经运行完毕, 但是需要在测试报告中统计各个模块的用例失败率, 将失败率超过20%的模块名与其失败率记录下来报警, 请编写实现上述功能的getTestReport函数. 可使用Java或C++等您熟悉的编程语言, 提供的接口及方法如下:
测试集合接口Isuite:
CollectiongetTests() //得到测试集合下的所有测试用例test
测试用例接口Itest:
String getModule() //得到该用例对应的模块名称module
int getResult() //得到该用例的执行结果:0失败 1成