2008baidu武大笔试软件工程师题目

2024-06-24

2008baidu武大笔试软件工程师题目(共3篇)

篇1:2008baidu武大笔试软件工程师题目

第一题是给两个串a和b,判断a中的字符是否在b中出现,a和b中都有可能出现汉字,汉字按gbk编码,占两个字节,第一个字节的最高位为

1第二题是有s={a,b,c,d...z,aa,ab...az,...zz,aaa,aab...} 给定一个串seq=[a...z]+,判断seq是s的第几个字符串

第三题是有一个搜索引擎,用户可以对搜索结果进行评分,设计一个评分判定系统,防止恶意评分

一、编程题(30分)

判断字符串b的所有字符是否都在字符串a中出现过,a, b都是可能包括汉字的字符串,b中重复出现的汉字,那么a中也要至少重复相同的次数。

汉字使用gbk编码(简单的说,用两个字节表示一个汉字,高字节最高位为1的代表汉字,低字节最高位可以不为1)。

int is_include(char *a, char *b);

返回0表示没有都出现过,返回1表示都出现过。请给出所给算法的复杂度分析,尤其是字符串长度不同的情况下的复杂度分析。

二、算法题(35分)

序列Seq=[a,b,…z,aa,ab…az,ba,bb,…bz,…,za,zb,…zz,aaa,…] 类似与excel的排列,任意给出一个字符串s=[a-z]+(由a-z字符组成的任意长度字符串),请问s是序列Seq的第几个。

三、系统设计题(35分)

需求:需要引入用户对搜索结果相关性的评分100分制,希望用户的打分能帮助搜索引擎排序,但又要避免恶意投票,作弊等,请设计一个比较公平的评分系统。

第一题 26进制转10进制 第二题字符建一个26大小的表,汉字建一个256*256大小的表 两个都是使用字符值作为下表偏移 第三题开放题 随便搞

篇2:2008baidu武大笔试软件工程师题目

一、问答题

1、头文件中的 ifndef/define/endif 干什么用?

2、#include和#include“filename.h” 有什么区别?

3、在C语言中,修改符volatile的含义是什么?举例说明其使用场合。

4、在C语言中,static函数与普通函数有什么区别?

5、什么是中断?如果要防止中断嵌套,可以采用什么方法?

6、静态局部变量和普通局部变量有什么区别?

7、堆和栈的区别是?

二、编程题

请实现内存复制函数 void memcpy(void *dst,const void * src,int size);

三、阅读题

1、C++可以采用动态内存分配在运行时为指针分配内存。下面()对一个100个元素的动态数组进行动态内存分配和释放;()对一个单独的int指针分配和释放内存。

Aint *pi = new int;delete pi;pi = 0Bint *pi = new int;delete [] pi;pi =0

Cint *pi = new int(100);delete()pi;pi = 0Dint *pi = new int[100];delete[] pi;pi=02、指出下列程序中的错误并且修改

void GetMemory(char *p)

{

p=(char *)malloc(100);

}

void Test(void)

{

char *str=NULL;

GetMemory=(str);

strcpy(str,“hello world”);

printf(str);

篇3:关于软件测试工程师笔试题目

1、系统测试使用( C )技术, 主要测试被测应用的高级互操作性需求, 而无需考虑被测试应用的内部结构。

A、单元测试 B、集成测试 C、黑盒测试 D、白盒测试

2、单元测试主要的测试技术不包括(B )。

A、白盒测试 B、功能测试

C、静态测试 D、以上都不是

3、(A )的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

A、系统测试 B、集成测试

C、单元测试 D、功能测试

4、如果一个产品中次严重的缺陷基本完成修正并通过复测,这个阶段的成品是( A )。

A、Alpha版 B、Beta版

C、正版 D、以上都不是

5、自底向上法需要写(A )。

A、驱动程序 B、桩程序 C、驱动程序和桩程序 D、.以上都不是

6、测试ATM取款功能,已知取款数只能输入正整数,每次取款数要求是100的倍数且不能大于500,下面哪个是正确的无效等价类(C)

A、(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

B、(500,+∞)

C、(500,+∞)、任意大于0小于500的非100倍数的整数;

D、(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

7、因果图/判定表工程方法在以下那种情况下不适用(C)

A、输入输出明确,或输入输出因果关系明确的情况下

B、被分析的特性或功能点复杂,输入项目很多的情况下

C、系统输入之间相互约束多,需要做大范围的组合测试情况下

D、系统输入之间基本没有相互联系

8、以下说法不正确的是(D)

A、测试原始需要明确了产品将要实现了什么

B、产品测试规格明确了测试设计内容

C、测试用例明确了测试实现内容

D、以上说法均不正确

9、可测试性中,有关系统可观察性的理解,下面说法那个是错误的( B)

A、系统所有的输出结果可观察,错误输出易于识别;

B、系统运行状态和内部处理的过程信息可观察;

C、系统内部变量名及其取值可观察;

D、系统内部重要对象的状态和属性可观察;

E、系统内部重要的操作的处理时间可观察;

F、系统内部重要的资源的占用情况及单个资源的创建、保持、释放过程可观察

10、测试脚本的编写规范强调:(ABCD )

A、可读行 B、可重用性 C、可维护性 D、可移植性

11、当继承某个特性是,通常会从哪些角度对该特性进行测试分析?(AC )

A、失效影响度 B、成熟度 C、继承方式 D、用户原始需求

12、从下列关于软件测试的叙述中,选出正确的叙述(CD)

A、用黑盒法测试时,测试用例是根据程序内部逻辑设计的

B、测试的目的是验证该软件已正确的实现了用户的要求

C、发现错误多的程序块,残留在模块中的错误也多

D、测试设计时,应充分考虑异常的输入情况

13、软件验收测试的合格通过准则是:(ABCD)

A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B. 所有测试项没有残余一级、二级和三级错误。

C. 立项审批表、需求分析文档、设计文档和编码实现一致。

D. 验收测试工件齐全。

13、软件测试计划评审会需要哪些人员参加?(ABCD)

A.项目经理

B.SQA 负责人

C.配置负责人

D.测试组

14.测试设计员的职责有:(BC )

A.制定测试计划

B.设计测试用例

C.设计测试过程、脚本

D.评估测试活动

15.软件实施活动的进入准则是:(ABC)

A.需求工件已经被基线化

B.详细设计工件已经被基线化

C.构架工件已经被基线化

D.项目阶段成果已经被基线化

二、判断题(正确的√,错误的w)共10分,每小题1分

1. 软件测试的目的是尽可能多的找出软件的缺陷。( Y)

2. 负载测试是验证要检验的系统的能力最高能达到什么程度。(N )

3. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)

4. 自动化测试能比手工测试发现更多的缺陷(N)

5. 错误猜测法基于这样一种假设,以前犯过的错误,以后同样会犯,我犯过的错误别人同样会犯,前人犯过的错误,后人同样会犯(N)

6. 软件测试中的二八原则暗示着测试发现的错误中的80%很可能起源于程序模块的20%(Y)

7. 某WEB系统设计中,用户点击“退出”按钮从系统中退出,界面回到初始登陆界面。此时不关闭窗口,使用浏览器的回退功能,可以回到之前的用户界面,继续进行用户操作。这种合适的人性化设计,恩那个避免用户误点击退出按钮后重新登录的繁琐操作;这种说法是否正确(N)

8. 在确定性能测试指标值时,参考的国际标准、国标、运营商规范中对此要求并不一样,可以视情况选择有利于我们的指标值,但必须要比竞争对手高,这样才有利于市场竞争力(N)

9. 测试执行时,应该对每一个测试结果做全面的检查,包括日志,这种说法是否正确( N)

10. 在测试执行时,我们主要是基于用户的使用场景来考虑功能实现的正确性,关键机要数据在数据库内是否加密存储或日志输出中是否采用加密、掩码处理不是我们测试关注的范围,毕竟那产品的内部实现,用户看不到的,自然也是不关心的。这种说法是否正确。( )

三、数据库部分:(共15分)

某班学生和考试成绩信息分别如下表Student和表Achievement所示:

ID Name

1 Jack

2 Marry

3 Rose

4 Bob

5 John

6 Betty

7 Robert

ID Mark

1 90

2 96

3 88

4 86

5 83

6 85

表Student , 表Achievement

其中ID为学生的编号,Name为姓名,Mark为成绩,请针对以下问题,写出相应的SQL语句:

1、请查询成绩>85分的学生的姓名;

Select Name from Student where id in(select id from achievement where mark>85);

Select * from student where id in (select id from achievement where mark>85);

2、请查询成绩>=90分的人数;

Select count(*) from ac where mark》=90;

Slect count(*) from achievement where mark>=90

3、Robert此次考试考了80分,但是成绩没能录入表中,请将其成绩添加进去;

Insert into ac(id,mark)values (‘7’,‘80’);

Insert into achievement(id,name) values (‘1’,’80’);

4、请将Rose的成绩修改为87;

Update ac set mart=‘87’where id=4;

Update achievement set mark=87 where id=3;

5、请删除Betty的记录;

Delete * from student where id=6;

上一篇:党建专题视频观后感下一篇:县工商局平安系统创建工作自查报告