第一篇:华为2013北京软件工程师 上机 机测 编程题目
华为2013年校招机测题目
华为2013年,在北京的软研工程师,需要参加机测,机测通过后,进入面试。
机测时间是30分钟,分批进行。在线提交系统,服务器会编译,给出结果。语言可以选择C,C++,Java.系统给出编译结果,大概分为:编译错误,答案错误,正确这几类。
北京机测一共2个编程题,没有其他题。任意选一个答题,2个都做更好。
【提示】:
1、系统有时提交会出问题,建议编完之后,保存在txt文档里,万一提交失败,可以直接粘贴,重新提交;
2、有任何问题,马上找考官,不然很浪费时间。
3、答对了,时间越短,分数越高。据考官说“答案错误”,他们会看程序,给分。没说编译错误会不会。反正答题的人很多,编译错误的一大堆,估计他们不会管了。答案错误那种,估计他们也来不及细看。所以,还是尽量做到正确吧,不然很难有机会。
4、超出30分钟后,修改也行,不过超时会影响分数。30分钟前,一定要提交1次,不要写了半天,没提交。答案没对的话,建议超时了也要修改,不然,就没戏了。
以下是题目,不是原文,但是要点没错:
1、判断比整数N小的数里,有多少个与7相关的数。与7相关指:7的倍数或者带有7的数(比如7、14、17、27)。只需要给出总的个数,不需要输出它们。N小于30000.2、给一个数组,输出数组里超出所有元素平均值的元素的个数。比如:1、2、3、4、5,输出3.int get(intiArray[],intiLen).
第二篇:北邮2011计算机上机复试编程题目
Your account is taobao_68.And your passwd: 1138899884
A 句子逆转
输入一个句子,占用一行。句子由单词和单词间的空格组成。单词只有小写字母。单词之间由空格隔开。单词之间不会有多个空格。每个句子至多有1000个字母。多组数据输入。将句子单词的排列顺序倒过来输出。
多组数据输入,以EOF为结束。
SAMPLE
INPUT:
It is a apple
OUTPUT:
apple a is it
B 成绩管理
实现查询成绩的功能。首先输入T表示有T组数据。每组数据首先输入n,接下来有n行输入.每行输入是插入或者查找。插入为Insert id score。id是自然数,不大于1000。每次插入的id都不同。score是自然数,不大于100。查找为Find id。找到输出该id与score。查找不到输出No result!
SAMPLE
INPUT:
Insert 0 10
Find 0
Insert 1 15
Find 1
Find 2
Insert 2 35
Find 2
Output:
name:0 score:10
name:1 score:15
No result!
name:2 score:35
C 寻找宝藏
一棵多叉树T,根结点为0,某个结点上有宝藏。从根结点沿着树枝向下寻找,如果有分支,沿各分支继续寻找是等概率的。计算找到宝藏的概率。首先输入M,N,L。M多叉树T的结点数,结点分别为0~M-1。N和L分别是树枝数和宝藏所在结点。接下来有N行输入,每行两个数,表示这两个结点之间有树枝连接。而且前一个结点比后一个更靠近根结点。输出找到结点的概率,保留六位小数。
SAMPLE
INPUT:6 5 50 10 21 32 42 5
OUTPUT:0.250000HINT:
输出可用printf(“%.6f”,a)
第三篇:华为软件测试工程师学习大纲
华为软件测试工程师学习大纲
报读该专业的学生都包就业,安排在深圳软件园600家软件企业担任华为软件测试工程师职位。入学即签包就业合同,保底年薪3万--6万(工作首年年薪)。我们是深圳软件园600家软件企业指定软件工程师培养单位。
报名QQ: 1710980329 报名电话:0755-26690690 手机:***
一、软件测试的原理
软件工程:软件的含义、软件开发过程的特性、软件生命周期模型、软
件管理过程软件质量和质量保证:软件质量就是客户的满意度、质量的概念、软件质量的内涵、质量管理体系、SQA、SCM、SEPG
软件测试概念:软件危机、软件测试产生的背景,软件缺陷是什么、软
件测试职业发展,软件测试人员应具备的素质和技能、软件测试基本概念、软件测试的目的、软件测试的重要性、软件测试的原则、软件开发与软件测试
软件测试依据和规范:软件质量标准、软件测试规范、界面规范、编码
规范、CMM和ISO9001思想结构体系、CMM VS ISO
二、软件测试的技术
软件测试技术概述:软件测试的基本方法,黑盒测试、白盒测试、静态
测试、动态测试、测试策略
软件测试流程:软件测试流程、通用测试文档模板、软件测试的分类、软件包的质量特性
单元测试和集成测试:什么是单元测试、单元测试的目标和任务、单元测
试方法、调试与评估、什么是集成测试、集成测试目标和任务、集成测试的模式与方法
系统测试和验收测试:什么是系统测试,系统测试的目标和任务,系统
测试方法,系统测试中工具的应用、什么是验收测试、验收测试的目标、验收测试的过程和主要内容、产品规格说明书的验证
特定类型的软件测试:面向对象软件的测试、面向对象软件的特点、面
向对象测试的层次与数据流、面向对象的单元测试、面向对象的集成测试、基于应用服务器的测试、应用服务器的分类和特征、基于Web服务器应用的测试、基于数据库应用服务器的测试、基于J2EE平台的测试、软件本地化测试:什么是软件本地化、软件本地化的翻译问题、软件本地化测试的技术问题、本地化测试的重点
三、软件测试的实践
测试环境的部署:测试环境的重要性、测试环境的各要素、建立测试实
验室、测试环境的维护和管理
软件测试用例的设计:测试用例来源、测试需求提取、测试用例设计、白盒测试用例设计方法、逻辑覆盖法/基本路径测试法、黑盒测试用例设
计方法、等价类划分法/边界值分析法/因果图法/错误推测法 /功能图法、测试用例的组织和跟踪、使用实际项目实践
报告所发现的软件缺陷: 软件缺陷的描述、软件缺陷相关的信息、软件缺陷的处理和跟踪
软件测试和质量分析报告:软件产品的质量度量、评估系统测试的覆盖程度、软件缺陷分析方法、基于缺陷分析的产品质量评估、软件质量的可靠性评估、软件可靠性模型、可靠性评估过程
软件测试自动化:测试自动化的内涵、测试工具的分类和选择、测试工具的主流产品介绍、IBM-Rational产品的整体解决方案、Mercury
Interactive产品的整体解决方案,测试管理工具TD实操演示及指导、功能测试工具Robot实操演示及指导、脚本语言perl实操演示及指导、性能测试工具LR
网络基础知识:协议概念、常见的网络协议及层次、TCP/IP协议、Arp协议等报文分析、常见的网元设备及工作原理、常用的网络操作相关命令、客户机服务器模型、抓包工具使用
数据库简介及SQL语句:数据库系统概念、数据管理的发展阶段、数据库系统的特点、SQL概述、SQL数据定义功能、SQL数据查询功能、SQL数据修改功能、嵌入式SQL
Linux操作系统简介及常用命令:Linux系统介绍、Linux系统历史及发展、Linux系统特点、Linux系统安装与配置、Linux系统命令的使用方式、文件及目录操作命令、文件压缩命令、联机帮助命令、进程管理的命令
四、软件测试管理
组织和管理测试团队:基于ISO的测试管理体系构成、测试团队的地位和责任、测试团队的构成、测试团队的管理和发展
软件测试项目管理:软件测试项目管理的概述、软件测试项目的组织、软件测试项目的过程管理、软件测试项目的资源管理、测试项目的进度管理、测试项目的风险管理、测试项目的质量和配置管理、软件测试文档的管理
理解CMM:KPA简介、CMM的五个等级及关键过程域、CMM实例简介、CMM的发展、CMMI2级详细讲解
五、软件测试人员面临的机会和挑战
软件测试职位在IT行业的现状
软件测试职位到底是干什么?
软件测试行业的背景
软件测试人员需要具备的基本素质
软件测试工程师需掌握的技术技能大纲
软件测试人员后期的发展机会和挑战
附录(基础技能版,本内容为华为公司指定培训内容):
一、基础技能方面:
Unix/Linux操作系统:
1、熟悉UNIX环境
2、掌握UNIX常用命令
3、了解并掌握Vi的一些常用命令
4、了解基本的shell
Informix:
1、熟悉并掌握informix常用命令
2、掌握SQL相关的一些知识
Oracle:
1、掌握Oracle的基本操作
2、掌握在unix/Linux系统下安装Oracle数据库
二、网络基础知识
1、熟悉TCP/IP、HTTP、UDP协议
2、掌握常用的网络命令
3、抓包工具的熟悉与学习
三、测试理论
1、软件及其开发过程
2、软件测试的基本概念与方法
3、质量保证与策略
4、测试依据与规范
5、单元测试
6、集成测试与系统测试
7、验收测试
8、基于应用服务器的测试
9、测试计划的制定、用例的设计与执行、缺陷的跟踪
四、模拟项目练习
1、理解需求,设计测试用例、测试用例评审
2、测试执行
3、提单规范
有关模拟项目的需求、用例模板、测试版本。
第四篇:华为面试题C语言软件工程师
那就是变量i没有定义,这在代码编译阶段编译器可以帮你发现,很容易搞定。然而很多问题是自己造成的漏洞,编译器是帮不上什么忙的。这里最大的问题还是str1没有结束符,因为strcpy的第二个参数应该是一个字符串常量。该函数就是利用判断第二个参数的结束符来得到是否拷贝完毕。所以在for循环后面应加上str1p[9] = ‘ ’;
PS:字符数组和字符串的最明显的区别就是字符串会被默认的加上结束符’ ’。void test3(char* str1){
char string[10];
if(strlen(str1)<=10)
{
strcpy(string, str1);
} }
这里的问题仍是越界问题。strlen函数得到字符串除结束符外的长度。如果这里是<=10话,就很明显越界了。
小结:上面的三个找错的函数,主要是考查对字符串和字符数组的概念的掌握以及对strcpy函数和strlen函数的理解。
2、找错
DSN get_SRM_no(){
static int SRM_no;
int I;“>
for(I=0;I
{
SRM_no %= MAX_SRM;
if(MY_SRM.state==IDLE)
{
break;
}
}
if(I>=MAX_SRM)
return(NULL_SRM);
else
return SRM_no;} 这里for循环的判断语句是后来我加上的,估计在网上流传的时候被人给弄丢了,根据对程序的分析,给补上了。估计错误应该不是这儿。
简单的阅读一下这个函数,可以大概的可以猜测出这个函数的功能是分配一个空闲的SRAM块。方法:从上次分配的RAM块后的RAM块开始检测SRAM每个RAM块,看是否是IDLE状态,如果是IDLE则返回当前的RAM块的号SRM_no。如果所有的RAM块都不是IDLE状态,则意味着无法分配一个RAM给函数调用者,返回一个表示没有RAM可分配的标志(NULL_SRM)。
经过上面的分析,则这里可以知道,这个函数的错误是for循环里面没有给SRM_no这个变量累加1。
3、写出程序运行结果 int sum(int a){
auto int c=0;
static int b=3;
c+=1;b+=2;
return(a+b+c);} void main(){
int I;
int a=2;
for(I=0;I<5;I++)
{
printf(”%d,", sum(a));
} } 运行结果是:8,10,12,14,16, 在求和函数sum里面c是auto变量,根据auto变量特性知每次调用sum函数时变量c都会自动赋值为0。b是static变量,根据static变量特性知每次调用sum函数时变量b都会使用上次调用sum函数时b保存的值。
简单的分析一下函数,可以知道,若传入的参数不变,则每次调用sum函数返回的结果,都比上次多2。所以答案是:8,10,12,14,16,4、func(1)= ? int func(int a){
int b;
switch(a)
{
case 1: 30;
case 2: 20;
case 3: 16;
default: 0;
}
return b;} 在 case 语句中可能忘记了对变量b赋值。如果改为下面的代码: int func(int a){
int b;
switch(a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;} 因为case语句中漏掉了break语句,所以无论传给函数的参数是多少,运行结果均为0。
5、a[qp] = a[2] = 2;
6、内存空间占用问题
定义 int **a[3][4], 则变量占有的内存空间为:16位系统24,32位编译系统中是48。PS:公式:3 * 4 * sizeof(int **)。
7、程序编写
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2004年12月31日23时59分59秒,则输出2005年1月1日0时0分0秒。
void ResetTheTime(int *year,int *month,int *date,int *hour,int *minute,int*second){
int dayOfMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(*year < 0 || *month < 1 || *month > 12 ||
*date < 1 || *date > 31 || *hour < 0 || *hour > 23 ||
*minute < 0 ||*minute > 59|| *second <0 || *second >60)
return;if(*year%400 == 0 || *year%100!= 0 && *year%4 == 0)
dayOfMonth[1] = 29;
if(*second >= 60)
{
*second = 0;
*minute += 1;
if(*minute >= 60)
{
*minute = 0;
*hour += 1;
if(*hour >= 24)
{
*hour = 0;
*date += 1;
if(*date > dayOfMonth[*month-1])
{
*date = 1;
*month += 1;
if(*month > 12)
{
*month=1;
*year += 1;
}
}
} } return }
第五篇:【软件工程师】实验题目精选一
题目二:“学校教材定购系统”
1.系统简介
本系统可以细化为两个子系统:销售系统和采购系统
销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。
采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。
以上功能要求在计算机上实现。
2.技术要求和限制条件
(1)当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。
(2)在实现上述销售和采购的工作过程时,需考虑有关的合法性
验证。
(3)系统的外部项至少包括:教师、学生和教材工作人员。
(4)系统的相关数据存储至少包括:购书表、库存表、缺书登记
表、待购教材表、进库表和出库表。