文档库 最新最全的文档下载
当前位置:文档库 › 华为机试题目参考1

华为机试题目参考1

华为机试题目参考1
华为机试题目参考1

华为南京地区校园招聘软件类上机考试说明同学您好!

欢迎您应聘华为公司。软件研发类岗位(软件研发、云计算、操作系统开发、数据库开发)需要提前进行上机考试。现将上机考试做如下说明。

一、题目类别

本次上机考试题目设置C/C++、Java两个类别,根据个人情况选作一个类别。

二、题目数量

每个考生有三道题,第一二道题必答,第三道题为附加题可以选作,附加题做出,成绩会计入总分。

三、考试时间安排

1、简历筛选后,从9月17日开始分批安排上机考试

2、每个考生上机考试时间为2小时

一、上机考试步骤

1、打开IE输入服务器的IP地址或者直接打开收藏夹中已经收藏好的地址;

2、输入姓名和手机号,选择考试语言,提交登录:

3、登录后会进入试题说明页面,考试阅读完试题要求后,在页面下方点击下载试题框架并解压到D盘。如果是C/C++则用VC打开工程进行编程,只在func.cpp文件中进行函数编写,函数名已经定义好;如果是Java则用Eclips打开Java工程进行编程,只在SWTest.java文件中进行函数编写,函数名已经定义好。注意,考生不要进行任何IO输入输出的处理(题目说明中已经有写了),否则会得0分。

4、编完代码并编译和调试通过后,点击试题页面下方的按钮,在弹出的窗口中,如果是C/C++则将test.exe和func.cpp拷贝到一个名为test的目录中然后打包该目录上传,如果是Java则将工程仍然打包为SWTest.rar一次性上传(这个过程非常重要,否则会因无法自动判卷而得0分)。上传之后页面会显示“提交成功”,然后关闭所有IE窗口并清空客户机中您所创建的所有内容后结束考试离开考场。

二、如何阅卷

1、考生提交试卷后,我们在服务器后台执行系统阅卷程序,进行自动判卷,不进行人工阅卷。

2、系统设置了多个测试用例,根据用例执行的情况判断考生所上机考试的分数。

三、样题

编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素的个数并返回。

预祝您上机考试顺利!

华为南京校园招聘组

2011年9月

2012华为校园招聘机试(成都)

1.选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,

judge_type[]里存储与score[]数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数分别取一个平均分(平均分取整),然后,总分= 专家分*0.6 + 大众评委*0.4,总分取整。如果没有大众评委,则总分= 专家评委平均分,总分取整。函数最终返回选手得分。

函数接口:int cal_score(int score[],int judge_type[],int n)

#include

#include

#include

#include

#define N 5

int cal_score(int score[],int judge_type[],int n) {

int iExpert = 0;

int iPeople = 0;

int iTotalPoints = 0;

int i;

int iNumber = 0;

for(i=0;i

{

if(judge_type[i]==1)

{

iExpert = iExpert + score[i];

iNumber++;

}

else

{

iPeople = iPeople + score[i];

}

}

if(iNumber==N)

{

iTotalPoints = (int)(iExpert/N);

}

else

{

iExpert = (int)(iExpert/iNumber);

iPeople = (int)(iPeople/(N - iNumber));

iTotalPoints = (int)(iExpert*0.6 + iPeople*0.4); }

return iTotalPoints;

}

int main()

{

int score[N];

int judge_type[N];

int iNumberLast = 0;

int i;

printf("Please input the %d score:\n",N);

for(i=0;i

{

scanf("%d",&score[i]);

}

printf("Please input the level(1:Expert,2:People)\n");

for(i=0;i

{

scanf("%d",&judge_type[i]);

}

iNumberLast = cal_score(score,judge_type,N);

printf("The last score is %d\n",iNumberLast);

return 0;

}

2.给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到output[]数

组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[]数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。

例如:input[] = {3,6,1,9,7} output[] = {3,7,9,6,1};

input[] = {3,6,1,9,7,8} output[] = {1,6,8,9,7,3}

#include

using namespace std;

int sort(int input[],int n,int output[]);

int main()

{

int i,n;

int input[100],output[100];

cout<<"请输入数组的长度:"<

cin>>n;

cout<<"请输入该数组:"<

for(i=0;i

{

cin>>input[i];

}

sort(input,n,output);

cout<<"排序后的结果是:"<

{

cout<

}

cout<

return 0;

}

int sort(int input[],int n,int output[]) {

int i,j;

int temp;

int m;

int k;

for(i=0;i

{

for(j=i+1;j

{

if(input[i]>input[j])

{

temp = input[i];

input[i] = input[j];

input[j] = temp;

}

}

}

cout<<"升序排列数组:"<

{

cout<

}

cout<

if(n%2==0)

{

m = n/2;

k = n-1;

output[m] = input[k--];

for(j=1;j

{

output[m-j] = input[k--];

output[m+j] = input[k--];

}

output[0] = input[0];

}

else

{

m = (n-1)/2;

k = n-1;

output[m] = input[k--];

for(j=1;j

{

output[m-j] = input[k--];

output[m+j] = input[k--];

}

}

return *output;

}

#include

#include

#include

void sort(int input[],int n,int output[]) {

int i,j;

int k = 1;

int temp;

int med;

for(i=0;i

{

for(j=0;j

{

if(input[j]>input[j+1])

{

temp = input[j];

input[j] = input[j+1];

input[j+1] = temp;

}

}

}

if(n%2!=0)

{

for(i=0;i

{

printf("%2d",input[i]);

}

printf("\n");

med = (n-1)/2;

output[med] = input[n-1];

for(i=1;i<=med;i++)

{

output[med-i] = input[n-1-k];

output[med+i] = input[n-2-k];

k = k+2;

}

}

else

{

for(i=0;i

{

printf("%2d",input[i]);

}

printf("\n");

med = n/2;

output[med] = input[n-1];

for(i=1;i<=med-1;i++)

{

output[med-i] = input[n-1-k];

output[med+i] = input[n-2-k];

k = k+2;

}

output[0] = input[0];

}

for(i=0;i

{

printf("%2d",output[i]);

printf("\n");

}

int main()

{

int a[6] = {3,6,1,9,7,8};

int b[6] = {0};

for(int i=0;i<6;i++)

{

printf("%2d",a[i]);

}

printf("\n");

sort(a,6,b);

return 0;

}

3.操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务

的优先级<50,用户任务的优先级>=50且<=255。优先级大于255的为非法任务,应予以剔除。现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将task[]中的任务按照系统任务、用户任务依次放到system_task[]数组和user_task[]数组中(数组中元素的值是任务在task[]数组中的下标),并且优先级高的任务排在前面,数组元素为-1表示结束。

例如:task[] = {0,30,155,1,80,300,170,40,99};

system_task[] = {0,3,1,7,-1} user_task[] = {4,8,2,6,-1}

函数接口:void scheduler(int task[],int n,int system_task[],int user_task[])

#include

#include

#include

#include

void scheduler(int task[],int n,int system_task[],int user_task[])

{

int i;

int j = 0;

int k = 0;

int s;

int temp;

for(i=0;i

if(task[i]<50)

{

system_task[j++] = i;

}

else if(task[i]>=50&&task[i]<=255)

{

user_task[k++] = i;

}

}

system_task[j] = -1;

user_task[k] = -1;

for(i=1;i

{

for(s=0;s

{

if(task[system_task[s]]>task[system_task[s+1]])

{

temp = system_task[s];

system_task[s] = system_task[s+1];

system_task[s+1] = temp;

}

}

}

for(i=0;i<=j;i++)

{

cout<

}

cout<

for(i=1;i

{

for(s=0;s

{

if(task[user_task[s]]>task[user_task[s+1]])

{

temp = user_task[s];

user_task[s] = user_task[s+1];

user_task[s+1] = temp;

}

}

for(i=0;i<=k;i++)

{

cout<

}

cout<

}

int main()

{

int task[9] = {0,30,155,1,80,300,170,40,99};

int system_task[9] = {0};

int user_task[9] = {0};

scheduler(task,9,system_task,user_task);

return 0;

}

#include

#include

#include

#include

void scheduler(int task[],int n,int system_task[],int user_task[]) {

int i;

int j = 0;

int *p,*pp,*p_user,*pp_user;

int index = 0;

int count,count2;

int min = 0;

int k = 0;

p = (int*)malloc(sizeof(int)*n);

for(i=0;i

{

p[i] = 0;

}

pp = (int*)malloc(sizeof(int)*n);

for(i=0;i

{

pp[i] = 0;

p_user = (int*)malloc(sizeof(int)*n); for(i=0;i

{

p_user[i] = 0;

}

pp_user = (int*)malloc(sizeof(int)*n); for(i=0;i

{

pp_user[i] = 0;

}

for(i=0;i

{

if(task[i]<50)

{

{

system_task[j] = task[i];

pp[j] = i;

j++;

}

count = j;

}

else if(task[i]<=255)

{

{

user_task[k] = task[i];

pp_user[k] = i;

k++;

}

count2 = k;

}

else

task[i] = task[i];

}

for(i=0;i

{

printf("%3d",system_task[i]); }

printf("\n");

for(i=0;i

{

min = system_task[0];

for(j=1;j

{

if(system_task[j]

{

min = system_task[j];

p[i] = j;

}

}

system_task[p[i]] = 51;

}

pp[count] = -1;

for(i=0;i

{

printf("%3d ",pp[p[i]]);

}

printf("%3d\n",pp[count]);

for(i=0;i

{

printf("%4d",user_task[i]);

}

printf("\n");

for(i=0;i

{

min = user_task[0];

for(j=1;j

{

if(user_task[j]

{

min = user_task[j];

p_user[i] = j;

}

}

user_task[p_user[i]] = 256;

}

pp_user[count2] = -1;

for(i=0;i

{

printf("%4d ",pp_user[p_user[i]]);

}

printf("%3d\n",pp_user[count2]);

}

int main()

{

int task[9] = {0,30,155,1,80,300,170,40,99};

int system_task[9] = {0};

int user_task[9] = {0};

scheduler(task,9,system_task,user_task);

return 0;

}

祝你好运!

2016华为硬件机试题库

华为硬件机试题目(2016版本) 1.(判断题)DRAM上电时存储单元的内容是全0,而Flash上电时存储单元的内容是全1。(4分)? A.正确? B.错误 2.(判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4分)? A.正确? B.错误 3.(判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4分)? A.正确? B.错误 4.(判断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4分)? A.正确? B.错误 5.(判断题)1的8位二进制补码是0000_0001,-1的8位二进制补码是 1111_1111。(4分)?

B.错误 6.(判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4分)? A.正确? B.错误 7.(判断题)十进制数据0x5a与0xa5的同或运算结果为:0x00。(4分)? A.正确? B.错误 8.(判断题)硅二极管的正向导通压降比锗二极管的大(4分)? A.正确? B.错误 9.(单选题)一空气平行板电容器,两级间距为d,充电后板间电压为u。然后将电源断开,在平板间平行插入一厚度为d/3的金属板。此时电容器原板间电压变为(4分)? A.U/3? B.2U/3? C.3U/4?

10.(单选题)8086CPU内部包括哪些单元(4分)? A.ALU,EU? B.ALU,BIU? C.EU,BIU? D.ALU,EU,BIU 11.(单选题)为了避免50Hz的电网电压干扰放大器,应该用那种滤波器:(4分)? A.带阻滤波器? B.带通滤波器? C.低通滤波器? D.高通滤波器 12.(单选题)关于SRAM和DRAM,下面说话正确的是:(4分)? A.SRAM需要定时刷新,否则数据会丢失? B.DRAM使用内部电容来保存信息? C.SRAM的集成度高于DRAM? D.只要不掉点,DRAM内的数据不会丢失 13.(单选题)在RS232串口中,采用哪一种校验方式:(4分)?

华为校招·硬件技术工程师机考试题及答案

精品文档 1.(判断题)DRAM上电时存储单元的内容是全0,而Flash上电时存储单元的内容是全1。(4分) A.正确 B.错误 FLASH可保存 2.(判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4分) A.正确 B.错误 3.(判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4分) A.正确 B.错误 4.(判断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4分) A.正确 B.错误 5.(判断题)1的8位二进制补码是0000_0001,-1的8位二进制补码是1111_1111。(4分) A.正确 B.错误 6.(判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4分) A.正确 B.错误 7.(判断题)十进制数据0x5a与0xa5的同或运算结果为:0x00。(4分) A.正确 B.错误 8.(判断题)硅二极管的正向导通压降比锗二极管的大(4分) A.正确 B.错误 9.(单选题)一空气平行板电容器,两级间距为d,充电后板间电压为u。然后将电源断开,在平板间平行插入一厚度为d/3的金属板。此时电容器原板间电压变为(4分) A.U/3 B.2U/3 C.3U/4 D.不变但电容的大小不是由 Q(带电量)或U(电压)决定的,即: C=εS/4πkd。其中,ε是一个常数, S为电容极板的正对面积, d为电容极板的距离, k则是静电力常量。而常见的平行板电容器 电容为C=εS/d.(ε为极板间介质的介电常数, S 为极板面积, d为极板间的距离。) 3电容器的电势能计算公式: E=CU^2/2=QU/2 10.(单选题)8086CPU内部包括哪些单元(4分) A.ALU,EU B.ALU,BIU C.EU,BIU D.ALU,EU,BIU 80x86从功能上分执行单元EU(Execution Unit),和总线接口单元BIU(Bus Interface Unit),执行单元由8个16位通用寄存器,1个16位标志寄存器,1个16位暂存寄存器,1个16位算术逻辑单元ALU及EU控制电路组成。 总线接口单元由4个16位段寄存器(CS,DS,SS,ES),1个16位的指令指针寄存器,1个与EU通信的内部暂存器,1个指令队列,1个计算20位物理地址的加法器∑及总线控制电路构成。 11.(单选题)为了避免50Hz的电网电压干扰放大器,应该用那种滤波器:(4分) A.带阻滤波器 B.带通滤波器 C.低通滤波器 D.高通滤波器 12.(单选题)关于SRAM和DRAM,下面说话正确的是:(4分) A.SRAM需要定时刷新,否则数据会丢失 B.DRAM使用内部电容来保存信息 C.SRAM的集成度高于DRAM D.只要不掉点,DRAM内的数据不会丢失 【解析】SRAM和DRAM都是随机存储器,机器掉电后,两者的信息都将丢失。它们的最大区别就是:DRAM是用电容有无电荷来表示信息0和1,为防止电容漏电而导致读取信息出错,需要周期性地给电容充电,即刷新;而SRAM是利用触发器的两个稳态来表示信息0和1,所以不需要刷新。另外,SRAM 的存取速度比DRAM更高,常用作高速缓冲存储器Cache。

华为机试试题汇总解析

1.第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50 #include main() { intnum[50]={0}; inti,n; printf("请输入整型数组的长度(1~50):"); scanf("%d",&n); printf("请输入整型数组的元素:"); for(i=0;inum[j]) min_num=num[j]; } intsum=min_num+max_num; printf("数组中最大与最小值之和:%d\n",sum); return0; } 2.求两个长长整型的数据的和并输出,例如输入1233333333333333。。。3111111111111111111111111.。。。,则输出。。。。

#include #include #include main() { char*num1,*num2; //两个长长整型数据 char*sum; // inttemp; int len_num1,len_num2; // 两个长长整型数据的长度 intlen_max,len_min; num1=(char*)malloc(sizeof(char)); num2=(char*)malloc(sizeof(char)); printf("输入两个长长整型数据:"); scanf("%s",num1); printf("输入两个长长整型数据:"); scanf("%s",num2); len_num1=strlen(num1); len_num2=strlen(num2); len_max=(len_num1>=len_num2)?len_num1:len_num2; len_min=(len_num1<=len_num2)?len_num1:len_num2; int len_max1=len_max; sum=(char*)malloc(sizeof(char)*len_max); memset(sum,0x00,len_max+1);//切忌初始化 for(;len_num1>0&&len_num2>0;len_num1--,len_num2--) { sum[len_max--]=((num1[len_num1-1]-'0')+(num2[len_num2-1]-'0')); } if(len_num1>0) { sum[len_max--]=num1[len_num1- 1 ]-'0'; len_num1--; } if(len_num2>0) {

华为机试(南京)-面试题

求一串字符串中出现次数最多的单词 南京 同学都陆续到华为参加了机试,题目整体难度不大,基本上都是考字符串相关的题目。这里就分享一套2012年华为南京机试C++或者C 的编程题目。 2012年华为南京机试第一题整数化成字符串 给定一个整数(有可能是负数),将整数变成字符串。函数已经声明好类似void change(int number, char s[])的形式。可以自己写用例测试。 2012年华为南京机试第二题单链表逆序 给定一个已经定义好的单链表,将单链表中的数字逆序。输入为head 指针,返回的也是一个head 指针。函数声明为void sor(Node **head)的形式。 2012年华为南京机试第三题字符串最大回文子串 给定一个字符串,寻找它的一个最大子串,该子串是回文。例如给定用例字符 串”gabcdcbaef”,那么最大回文字串是”abcdcba”。函数声明为void huiwen(char input[], int len, char output[])。 一天几个考场的题目有相同的也有不同的,基本上难度都不大。要求做前两题就可以了,有能力的可以做第三题并且计入总分。有同学做完当场就看到是100分,也有0分的,至于怎么计分的不太清楚。希望七叶草提供的2012年华为南京机试编程题对你有帮助! 武汉 题目:有一个数组a[N]如a[10]={0,1,2,3,4,5,6,7,8,9}每隔两个数删除一个数,如0,1,2(删除),3,4,5(删除),6,7,8(删除),9,到数组尾部回到数组头部继续删除,要求编写一个函数实现实现上述操作,返回最后一个数的数组下标。 函数接口:int getLast(int iLen) 参数:数组初始元素个数iLen 01 #include 02 #include 03 04 typedef struct node *List; 05 typedef struct node *PNode; 06 07 typedef struct no

华为校招历年机试题目

华为历年笔试题目总结 因最近要参加华为的招聘,便从网上搜集了一些华为笔试历年题目,现总结献给大家,因本人非软件出生,水平有限,仅供参考,若有误处,请海涵。 1、字符串问题 ?问题描述: 把一个字符串中的除大写字母、小写字母和数字字符之外的其他字符都去掉,输出新字符串。 ?要求实现函数: void my_string(char* input, char* output) 【输入】char* input,输入的字符串 【输出】char* output,输出的字符串 【返回】无 ?示例 输入:inp ut = “A*(BC&De+_fg/*” 输出:output = “ABCDefg” 输入:input = “aB+_9” 输出:output = “aB9” 程序如下: void my_string(char* input, char* output) { int i,j; i=j=0; while(*(input+i)!='\0') { if((*(input+i)>='A'&&*(input+i)<='Z')|| (*(input+i)>='a'&&*(input+i)<='z')||(*(input+i)>='0'&&*(input+i)<='9')) { *(output+j)=*(input+i); j++; } i++; } *(output+j+1)='\0'; }

题目描述: 输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母, 若原始大写字母为V~Z, 则转换为对应小写字母的值减21。 其他字符不变,输出转换后的字符串。 例如,对于字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b 要求实现函数: void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr); 【输入】pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长; 【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出 示例 输入:“Axs3mWss” 输出:“fxs3mbss” void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr) { int i=0; for(i=0;i='A'&&pInputStr[i]<'V') pOutputStr[i]=pInputStr[i]+'a'-'A'+5; else if(pInputStr[i]>='V'&&pInputStr[i]<='Z') pOutputStr[i]=pInputStr[i]+'a'-'A'-21; else pOutputStr[i]=pInputStr[i]; } } 3. 单词统计 题目描述:

华为笔试题目很全

[笔试]华为笔试集合,很全面 [此帖已被设为推荐]本人收集的一些华为笔试 华为软件工程笔试题 写一个程序,要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。。。。请用C++语言写。答案:最容易想到的算法是:设x是1的个数,y是2的个数,z是5的个数,number是组合数注意到0=x=100,0=y=50,0=z=20,所以可以编程为:number=0;for(x=0;x=100;x++)for(y=0;y=50;y++)for (z=0;z=20;z++)if((x+2*y+5*z)==100)number++;coutnumberendl;上面这个程序一共要循环100*50*20次,效率实在是太低了事实上,这个题目是一道明显的数学问题,而不是单纯的编程问题。我的解法如下:因为x+2y+5z=100所以x+2y=100-5z,且z=20x=100y=50所以(x+2y)=100,且(x+5z)是偶数对z作循环,求x的可能值如下:z=0,x=100,98,96,...0z=1,x=95, 93,...,1z=2,x=90,88,...,0z=3,x=85,83,...,1z=4,x=80,78,...,0......z=19,x=5,3,1z=20,x=0因此,组合总数为100以内的偶数+95以内的奇数+90以内的偶数+...+5以内的奇数+1,即为:(51+48)+(46+43)+(41+38)+(36+33)+(31+28)+(26+23)+(21+18)+(16+13)+(11+8)+(6+3)+1某个偶数m以内的偶数个数(包括0)可以表示为m/2+1=(m+2)/2某个奇数m以内的奇数个数也可以表示为(m+2)/2所以,求总的组合次数可以编程为:number=0;for(int m=0;m=100;m+=5){number+=(m+2)/2;}coutnumberendl;这个程序,只需要循环21次,两个变量,就可以得到答案,比上面的那个程序高效了许多倍----只是因为作了一些简单的数学分析这再一次证明了:计算机程序=数据结构+算法,而且算法是程序的灵魂,对任何工程问题,当用软件来实现时,必须选取满足当前的资源限制,用户需求限制,开发时间限制等种种限制条件下的最优算法。而绝不能一拿到手,就立刻用最容易想到的算法编出一个程序了事 【华为硬件笔试题1】 一选择13个题目,没有全部抄下来,涉及的课程有电路,模拟电路,数字电路,信号与系统,微机原理,网络,数字信号处理 1.微分电路 2.CISC,RISC 3.数据链路层二填空10个题目,没有全部抄下来,涉及的课程有电路,模拟电路,数字电路,信号与系统,微机原理,网络,数字信号处理有关于 1.TIC6000DSP 2.二极管 3.RISC 4.IIR三简答 1.x(t)的傅立叶变换为X(jw)=$(w)+$(w-PI)+$(w-5) h(t)=u(t)-u(t-2)问:(1),x(t)是周期的吗?(2),x(t)*h(t)是周期的吗?(3),两个非周期的信号卷积后可周期吗?2.简述分组交换的特点和不足四分析设计 1.波形变换题目从正弦波->方波->锯齿波->方波,设计电路2.74161计数器组成计数电路,分析几进制的3.用D触发器构成2分频电路 4.判断MCS-51单片机的指令正确还是错误,并指出错误原因(1)MUL R0,R1(2) MOV A,@R7(3)MOV A,#3000H(4)MOVC@A+DPTR,A(5)LJMP#1000H() 5.MCS-51单片机中,采用12Mhz时钟,定时器T0采用模式1(16位计数器),请问在下面程序中,p1.0的输出频率MOV TMOD,#01H SETB TR0LOOP:MOV TH0,#0B1H MOV TL0,#0E0H LOOP1:JNB TF0,LOOP1CLR TR0CPL P1.0SJMP LOOP 【华为硬件笔试题2】 全都是几本模电数电信号单片机题目 1.用与非门等设计全加法器 2.给出两个门电路让你分析异同 3.名词:sram,ssram,sdram 4.信号与系统:在时域与频域关系 5.信号与系统:和4题差不多 6.晶体振荡器,好像是给出振荡频率让你求周期(应该是单片机的,12分之一周期....) 7.串行通信与同步通信异同,特点,比较8.RS232c高电平脉冲对应的TTL逻辑是?(负逻辑?)9.延时问题,判错10.史密斯特电路,求回差电压11.VCO是什么,什么参数

华为机试试题汇总

1 ?第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50 #i nclude mai n() { intn um[50]={0}; in ti, n; printf("请输入整型数组的长度(1~50):"); scan f("%d",&n); printf("请输入整型数组的元素:"); for(i=0;i nu m[j]) min_num=nu m[j]; } in tsum=min_nu m+max_ num; printf("数组中最大与最小值之和:%d\n",sum); return。; } 2. 求两个长长整型的数据的和并输出,例如输入123333333333333 3.OO

3111111111111111111111111。。O,则输出。OOO #i nclude #i ncludevstri ng.h> #i nclude mai n() { char* nu ml,* num2; //两个长长整型数据 char*sum; // in ttemp; int Ien_num1,len_num2; //两个长长整型数据的长度 in tle n_ max,le n_min; nu m1=(char*)malloc(sizeof(char)); nu m2=(char*)malloc(sizeof(char)); printf("输入两个长长整型数据:"); scan f("%s", nu m1); printf("输入两个长长整型数据:"); scan f("%s", nu m2); len_nu m仁strle n(nu m1); len_nu m2=strle n(nu m2); len_ max=(le n_nu m1>=le n_nu m2)?le n_nu m1:le n_nu m2; len_ mi n=(le n_nu m1<=le n_nu m2)?le n_nu m1:le n_nu m2; int len _max1=le n_max; sum=(char*)malloc(sizeof(char)*le n_max); memset(sum,OxOO,len_max+1);〃切忌初始化 for(;le n_nu m1> 0&&le n_nu m2>0;le n_nu m1--,le n_nu m2--) { sum[len_max--]=(( nu m1[len_num1-1]-'0')+( nu m2[len_num2-1]-'0')); } if(len_num1>0) { sum[le n_max--]=nu m1[le n_nu m1- 1 ]-'0'; len_nu m1--; } if(len_num2>0) {

华为笔试试题大全

华为笔试试题大全 (陈远跃/整理) 1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。 4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。 5.什么是平衡二叉树? 左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。 6.堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源。 7.什么函数不能声明为虚函数? constructor函数不能声明为虚函数。 8.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n^2)。 9.写出float x 与“零值”比较的if语句。 if(x>0.000001&&x<-0.000001) 10.Internet采用哪种网络协议?该协议的主要层次结构? Tcp/Ip协议 主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。 11.Internet物理地址和IP地址转换采用什么协议?

ARP (Address Resolution Protocol)(地址解析協議) 12.IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。 13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。 循环链表,用取余操作做 14.不能做switch()的参数类型是: switch的参数不能为实型。 上海华为的一道关于指针方面的编程题 int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路) 华为笔试题含答案 [软件工程题] 写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。 如:100个1是一个组合,5个1加19个5是一个组合。。。。请用C++语言写。 答案:最容易想到的算法是: 设x是1的个数,y是2的个数,z是5的个数,number是组合数 注意到0<=x<=100,0<=y<=50,0<=z=20,所以可以编程为: number=0; for (x=0; x<=100; x++) for (y=0; y<=50; y++) for (z=0; z<=20; z++) if ((x+2*y+5*z)==100) number++; cout<

华为成都上机笔试题

2010年华为软件校园招聘编程测 类别:软件C语言 编程题(共2题,第一题40分,第二题60分,共100分。请上机编写程序,按题目要求提交文件。[详见考试说明] 本试题采用自动测试用例进行评分,测试用例不对考生公开,凡不满足提交要求导致不能运行或用例不通过,不予评分)。 1. 删除字符串中所有给定的子串(40分) 问题描述:在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。 要求实现函数: int delete_sub_str(const char *str, const char *sub_str, char *result_str) 【输入】str:输入的被操作字符串 sub_str:需要查找并删除的特定子字符串 【输出】result_str:在str字符串中删除所有sub_str子字符串后的结果 【返回】删除的子字符串的个数 注: I、子串匹配只考虑最左匹配情况,即只需要从左到右进行字串匹配的情况。比如:在字符串"abababab"中,采用最左匹配子串"aba",可以匹配2个"aba"字串。如果 匹配出从左到右位置2开始的"aba",则不是最左匹配,且只能匹配出1个"aba"字串。II、输入字符串不会超过100 Bytes,请不用考虑超长字符串的情况。 示例

输入:str = "abcde123abcd123" sub_str = "123" 输出:result_str = "abcdeabcd" 返回:2 输入:str = "abcde123abcd123" sub_str = "1234" 输出:result_str = "abcde123abcd123" 返回:0 2. 高精度整数加法(60分) 问题描述: 在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下: 9876543210 + 1234567890 = ? 让字符串num1="9876543210",字符串num2="1234567890",结果保存在字符串result = "11111111100"。 -9876543210 + (-1234567890) = ? 让字符串num1="-9876543210",字符串num2="-1234567890",结果保存在字符串result = "-11111111100"。 要求编程实现上述高精度的十进制加法。

华为机试题及答案

华为机试题及答案 1、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 测试:输入:“abc def gh i d”输出:“abc,def,gh,i,d,” #include #include void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr) { int i=0,j=0; int flag=0; while(pInputStr[i]==' ') { i++; } for(;i

continue; } if(flag==1) { flag=0; pOutputStr[j++]=','; } pOutputStr[j++]=pInputStr[i]; } pOutputStr[j++]=','; pOutputStr[j]='\0'; } int main() { char test[40]; char re[40]; gets(test); DivideString(test, strlen(test), re); printf("%s",re); return 0; } 2、将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循

环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。 测试:输入:char*input="abbbcd" 输出:char*output="bcdcde" #include #include void convert(char *input,char* output) { int i; for(i=0;i

华为试题答案

华为试题答案 1)在计算机局域网中,常用通信设备有(abd),A、集线器(HUB)B、交换机(Switch) C、调制解调器(Modem)D、路器(Router) 2)线缆标准化工作主要哪一个协会制定? (c) A、OSI B、ITU-T C、EIA D、IEEE 3)802协议族是下面的哪——个组织定义? (c) A、OSI B、EIA C、IEEE D、ANSI )衡量网络性能的两个主要指标为A、带宽B、可信度C、延迟D、距离)局域网区别与其他网络主要体现在以下方面A、网络所覆盖的物理范围B、网络所使用的传输技术C、网络的拓扑结构D、带宽)不会产生单点故障的是下列拓扑结构。A、总线型B、环型C、网状结构D、星形4)数据交换技术包括A、电路交换

B、报文交换 C、分组交换 D、文件交换5)拓扑结构会受到网络中信号反射的影响?A、网型B、总线型C、环型D、星型6)OSI参考模型按顺序有哪些? A、应用层、传输层、数据链路层、网络层、物理层 B、应用层、表示层、会话层、传输层、数据链路层、网络层、物理层 C、应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 D、应用层、表示层、传输层、网络层、数据链路层、物理层7)在OSI七层模型中,网络层的功能有A、确保数据的传输正确无误B、确定数据包如何转发与路 1 C、在信道上传送比特流D、纠错与流控8)在OSI七层模型中,哪一层的实现对数据的加密。A、传输层B、表示层C、应用层D、网络层9)网络层传输的数据叫做A、比特B、包C、段D、帧10)TCP/IP协议栈中传输层的协议有

A、TCP B、ICMP C、 D、IP 11)数据从上到下封装的格式为A、比特包帧段数据B、数据段包帧比特C、比特帧包段数据D、数据包段帧比特12)物理层定义了物理接口的哪些特性?A、机械特性B、电器特性C、功能特性D、接口特性13)细铜轴电缆传输距离达,粗铜轴电缆的传输距离为A、185米B、200米C、500米D、485米)通常在网吧里,LAN 采用的拓扑结构和网线类型为A、总线型和STP B、总线型和UTP C、星形和UTP D、环型和STP )双绞线为什么能代替网络中的细同轴电缆? A、双绞线电缆可靠性高 B、双绞线电缆抗噪性更好 C、细同轴电缆更廉价 D、双绞线电缆更便于安装)在布线时,细缆和粗缆通常应用在拓扑结构中。A、星形B、环形C、树形D、总线)在局域网中,类型的光

2016华为硬件机试题库

华为硬件机试题目(2016版本) 1. (判断题)DRAM上电时存储单元的容是全0,而Flash ±电时存储单元的容是全1。(4分) A. 正确 B. 错误 2. (判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4分) A. 正确 B. 错误 3. (判断题)以太网交换机将冲突域限制在每个端口,提髙了网络性能。(4分) A. 正确 B. 错误 4. (判断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4 分) A. iF 确 B. 错误 5. (判断题)1的8位二进制补码是0000_0001,-1的8位二进制补码是1111_1111o (4 分) A. 正确 B. 错误 6. (判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4分) A. 正确 B. 错误 7. (判断题)十进制数据0x5a与0xa5的同或运算结果为:OxOOo (4分) A. 正确 B. 错误 8. (判断题)硅二极管的正向导通压降比错二极管的大(4分) A. 正确 B. 错误 9. (单选题)一空气平行板电容器,两级间距为d,充电后板间电压为u。然后将电源断开, 在平板间平行插入一厚度为d/3的金属板。此时电容器原板间电压变为(4分) A. U/3 B. 2U/3 C. 3U/4 D. 不变 10. (单选题)8086CPU部包括哪些单元(4分) A. ALU.EU B. ALU,BIU C. EU,BIU

D. ALU,EU,BIU 11. (单选题)为了避免50Hz的电网电压干扰放大器,应该用那种滤波器:(4分) A. 带阻滤波器 B. 带通滤波器 C. 低通滤波器 D. 高通滤波器 12. (单选题)关于SRAM和DRAM,下而说话正确的是:(4分) A. SRAM需要定时刷新,否则数据会丢失 B. DRAM使用部电容来保存信息 C. SRAM的集成度高于DRAM D. 只要不掉点,DRAM的数据不会丢失 13. (单选题)在RS232串口中,采用哪一种校验方式:(4分) A. CRC校验 B. 海明码校验 C. 多种校验方式的组合 D. 奇偶校验 14. (单选题)对于D触发器来说,为了保证可靠的采样,数据必须在时钟信号的上升沿到来之前继续稳定一段时间,这个时间称为:(4分) A. 保持时间 B. 恢复时间 C. 稳定时间 D. 建立时间 15. (单选题)本征半导体中加入()元素可形成N型半导体(4分) A. 五价 B. 四价 C. 三价 D. 二价 16. (单选题)模拟信号数字化的过程是(4分) A. 采样-> 量化-> 编码 B. 采样-> 编码-> 量化 C. 编码-> 采样-> 量化 D. 量化-> 编码-> 采样 17. (单选题)在Buck电路中,不能起到减小纹波作用的措施是(4分) A. 采用多项并联的模式 B. 开关管宜,提髙电源的开关频率 C. 输岀滤波电容由瓷电容改为容量电解电容 D. 增大输出滤波电感量

(完整)【硬件测试】华为2016校招·硬件技术工程师机考试题及答案,推荐文档

1.(判断题)DRAM上电时存储单元的内容是全0,而Flash上电时存储单元的内容是全1。(4分) A.正确 B.错误 FLASH可保存 2.(判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4分) A.正确 B.错误 3.(判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4分) A.正确 B.错误 4.(判断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4分) A.正确 B.错误 5.(判断题)1的8位二进制补码是0000_0001,-1的8位二进制补码是1111_1111。(4分) A.正确 B.错误 6.(判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4分) A.正确 B.错误 7.(判断题)十进制数据0x5a与0xa5的同或运算结果为:0x00。(4分) A.正确 B.错误 8.(判断题)硅二极管的正向导通压降比锗二极管的大(4分) A.正确 B.错误 9.(单选题)一空气平行板电容器,两级间距为d,充电后板间电压为u。然后将电源断开,在平板间平行插入一厚度为d/3的金属板。此时电容器原板间电压变为(4分) A.U/3 B.2U/3 C.3U/4 D.不变但电容的大小不是由 Q(带电量)或U(电压)决定的,即: C=εS/4πkd。其中,ε是一个常数, S为电容极板的正对面积,d为电容极板的距离,k则是静电力常量。而常见的平行板电容器 电容为C=εS/d.(ε为极板间介质的介电常数, S 为极板面积, d为极板间的距离。) 3电容器的电势能计算公式: E=CU^2/2=QU/2 10.(单选题)8086CPU内部包括哪些单元(4分) A.ALU,EU B.ALU,BIU C.EU,BIU D.ALU,EU,BIU 80x86从功能上分执行单元EU(Execution Unit),和总线接口单元BIU(Bus Interface Unit),执行单元由8个16位通用寄存器,1个16位标志寄存器,1个16位暂存寄存器,1个16位算术逻辑单元ALU及EU控制电路组成。 总线接口单元由4个16位段寄存器(CS,DS,SS,ES),1个16位的指令指针寄存器,1个与EU通信的内部暂存器,1个指令队列,1个计算20位物理地址的加法器∑及总线控制电路构成。 11.(单选题)为了避免50Hz的电网电压干扰放大器,应该用那种滤波器:(4分) A.带阻滤波器 B.带通滤波器 C.低通滤波器 D.高通滤波器 12.(单选题)关于SRAM和DRAM,下面说话正确的是:(4分) A.SRAM需要定时刷新,否则数据会丢失 B.DRAM使用内部电容来保存信息 C.SRAM的集成度高于DRAM D.只要不掉点,DRAM内的数据不会丢失 【解析】SRAM和DRAM都是随机存储器,机器掉电后,两者的信息都将丢失。它们的最大区别就是:DRAM是用电容有无电荷来表示信息0和1,为防止电容漏电而导致读取信息出错,需要周期性地给电容充电,即刷新;而SRAM是利用触发器的两个稳态来表示信息0和1,所以不需要刷新。另外,SRAM 的存取速度比DRAM更高,常用作高速缓冲存储器Cache。

华为机试题 面试题

昨天下午机试三道题目: 1.字符去重,例如输入字符串:“aabbccdd”,输出字符串“abcd,要求,不改变字符的顺序。 2.求解类似于2+22+222+2222的和。 3.判断一个邮件地址是否有效。例如:huawei@https://www.wendangku.net/doc/1b11219728.html, 判断条件:只有一个@符号,最后四个字符是.com ;不含空格;字符只能是‘a-z’,‘A-Z’,‘1-9’,‘_’,‘.’,'@' 1.字符串首字母转换成大写 举例: 输入:this is a book 返回:This Is A Book 2.统计不同字符串的个数 举例: 输入:addfsdfasa 输出:4 3.统计数字出现的次数,最大次数的统计出来 举例: 输入:323324423343 输出:3,6 华为面向2013年招聘笔试题 笔试题目(机试,共两题) 题目一:子串分离 题目描述: 通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 如果输入“abc def gh i d”,结果将是abc,def,gh,i,d, 要求实现函数: void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长; 【注意】只需要完成该函数功能算法,中间不需要有任何IO 的输入输出 示例 输入:“abc def gh i d”

2016华为硬件机试题库

华为硬件机试题目( 2016 版本) 1. (判断题)DRAM 上电时存储单元的内容是全0,而 Flash 上电时存储单元的内容是全1。(4 分) A. 正确 B. 错误 2. (判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4 分) A. 正确 B. 错误 3. (判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4 分) A. 正确 B. 错误 4. (判 断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4 分) A. 正确 B. 错误 5. (判断题)1的 8位二进制补码是 0000_0001,-1 的 8位二进制补码是 1111_1111 。(4分) A. 正确 B. 错误 6. (判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4 分) A. 正确 B. 错误 7. (判断题)十进制数据 0x5a 与 0xa5 的同或运算结果为: 0x00 。(4 分) A. 正确 B. 错误 8. (判断题)硅二极管的正向导通压降比锗二极管的大(4 分) A. 正确 B. 错误 9. (单选题)一空气平行板电容器,两级间距为 d,充电后板间电压为u。然后将电源断开, 在平板间平行插入一厚度为 d/3 的金属板。此时电容器原板间电压变为(4 分) A. U/3 B. 2U/3 C. 3U/4 D. 不变 10. (单选题)8086CPU内部包括哪些单元(4分) A. ALU,EU B. ALU,BIU

C. EU,BIU D. ALU,EU,BIU 11. (单选题)为了避免 50Hz 的电网电压干扰放大器,应该用那种滤波器:(4分) A. 带阻滤波器 B. 带通滤波器 C. 低通滤波器 D. 高通滤波器 12. (单选题)关于 SRAM 和 DRAM ,下面说话正确的是:(4 分) A. SRAM 需要定时刷新,否则数据会丢失 B. DRAM 使用内部电容来保存信息 C. SRAM 的集成度高于 DRAM D. 只要不掉点,DRAM内的数据不会丢失 13. (单选题)在 RS232 串口中,采用哪一种校验方式:(4 分) A. CRC 校验 B. 海明码校验 C. 多种校验方式的组合 D. 奇偶校验 14. (单选题)对于 D 触发器来说,为了保证可靠的采样,数据必须在时钟信号的上升沿到来之前继续稳定一段时间,这个时间称为 :(4 分) A. 保持时间 B. 恢复时间 C. 稳定时间 D. 建立时间 15. (单选题)本征半导体中加入()元素可形成N 型半导体(4 分) A. 五价 B. 四价 C. 三价 D. 二价 16. (单选题)模拟信号数字化的过程是(4分) A. 采样 ->量化 ->编码 B. 采样->编码->量化 C. 编码->采样->量化 D. 量化->编码->采样 17. (单选题)在 Buck 电路中,不能起到减小纹波作用的措施是(4 分) A. 采用多项并联的模式 B. 开关管内置,提高电源的开关频率 C. 输出滤波电容由陶瓷电容改为容量电解电容 D. 增大输出滤波电感量

相关文档