华为校招接收函

博文学习网小编为您收集整理的华为校招接收函,提供全面的华为校招接收函信息,希望对您有用!

华为校招接收函篇一:华为校招我的机试经历

华为校招_我的机试经历(

考试时间:2013年9月12日下午2:00-4;00(两个小时) 考试地点:南京华为研究所N5三楼培训大厅(南京软件大道101号)

上机环境:C/C++: VS2005(或VC6.0) Java:JDK1.7 试题类型:上机编程

说明:这次考试跟以往不同(我们这届就是命苦,中考、高考、考研。。。。从未被超越);

1、以前上机考试编程工具为C/C++:VC 6.0;Java:eclipse,这次改成C/C++: VS2005(或VC6.0) Java:JDK1.7。由于本人以前学C语言

花了一些功夫,相对Java用得上手些,备考时用的是C++;临考前一周接到通知,说是要用VS2005,于是下个软件再加上熟悉一下花了半

天时间,手忙脚乱了一阵(建议最好用VS,毕竟有的程序在VC上能调通,在VS上可能运行不通过);

2、以往的形式是给你个函数模块,函数名已写好,你只要往里面填代码就行了(华为提供的工程是将Main函数隐藏了的,所以自己不用再添加Main函数)

例如: 1. 从两个数组的最后一个元素比较两个数组中不同元素的个数,如有array1[5]={77,21,1,3,5}, array2[3]={1,3,5},从array1[4]与array2[2]比较开始,到array1[2]与array[0]比较结束。这样得出它们不同的元素个数为0,若array1[6]={77,21,1,3,5,7},那么他们不同的元素为3。

函数原型为 int compare_array( int len1, int array1[], int len2, int array2[] );

其中,len1与len2分别为数组array1[]和array2[]的长度,函数返回值为两个数组不同元素的个数。

这次是随你发挥,可以写子函数,也可以只写个main函数(当然main函数是必不可少的)。先在编译环境(即VS2005或JDK1.7)上运行,调通后再复制到考试系统中,检查无误后,点击提交(不过每道题最多只能传五次);

3、以往满分是100分,第一题20分,第二题30分,第三题50分,且前两题为必做题,最后一题作为附加题;现在是满分320(有点像英语四六级改革一样,100分改成710分),第一题60分,第二题100分,第三题160分,且不分什么必做题、附加题,建议拿到题目后最好把题目都浏览一遍,不一定按顺序做,尽会做的先做;

有几点需要特别注意:

1、一定要按标准输入、输出来编程,且按照考试系统中规定的格式,否则即使从头到尾写的都对,系统将显示格式错误,无法得分;

2、最好多试几组测试条例,否则得不全分(本人已经犯过此类失误,希望后人不要重蹈覆辙);

3、不要写任何程序提示语句(包括自己人为添加的换行命令),否则该题自动判0分;

此外,考试时有不清楚的就问在场的工作人员,不要一个人憋在那里不吭声,浪费的是自己宝贵的时间;个人觉得华为的员工还是挺热心的,我问了不少问题,他们都跟我详细解答的,在此感谢他们的热忱相助。

好了,废话啰嗦,

到此为止。下面进入正题。

1、删除一个字符串首尾的下划线。

例如,输入:hello_

输出:hello

注意:1、删除的是首尾的下划线,中间如果有的话则保留;

2、要考虑一个字符串全是下划线的情况。

自己写的程序(水平很烂,各位看官见笑了):

#include<iostream>

using namespace std;

void underline_delete(char *str,int len)

{int i,j,k;

if(str==NULL)

return;

if(len<1)

return;

for(i=0;str[i]=='_';i++);

for(j=len-1;str[j]=='_';j--);

if(i>j)

{strcpy(str,"");

return;}

else

{char *Str=new char [len+1];

int Len=0;

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

Str[Len++]=str[k];

Str[Len]='\0';

strcpy(str,Str);

delete [] Str;

}

void main()

{char str[100];

int len;

gets(str); //hello_//_Hello_HuaWei_//_This_is_a_C++_program._

len=strlen(str);

underline_delete(str,len);

cout<<str;

//cout<<endl;

}

2、剔除一个字符中重复的字符,然后按ASCII码值从小到大排列。

例如,输入:abbcccddeeeffgghh

输出:abcdefgh

注意:1、剔除是整个字符串中重复的字符,而不是连续的字符

2、要考虑空格(space)的情况(考试时忘了考虑这个,当时心情有点小紧张,一时疏忽了,因此这道题只得了一半分)。

程序代码如下:

#include<iostream>

using namespace std;

void sort(char *str,int len)

{int i,j,k;

char ch;

if(str==NULL||len<2)

return;

for(i=0;i<len-1;i++)

{k=i;

for(j=i+1;j<len;j++)

if(str[j]<str[k])

k=j;

if(k!=i)

{ch=str[k];str[k]=str[i];str[i]=ch;}

}

}

void redundance_delete(char *str,int len)

{int i,diff_count=0;

char ch;

if(str==NULL)

return

if(len<1)

return;

sort(str,len);//先排序,再剔除字符串中重复的字符,否则剔除的是连续出现的字符

char *Str=new char[len+1];

diff_count++;ch=str[0];

Str[diff_count-1]=ch;

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

{if(i==len-1 && ch!=str[i])

{diff_count++;ch=str[i];

Str[diff_count-1]=ch;}

while(i<len && ch==str[i])

i++;

if(i>=len)

break;

diff_count++;ch=str[i];

Str[diff_count-1]=ch;

}

Str[diff_count]='\0';

strcpy(str,Str);

delete [] Str;

}

void main()

{char str[100];

int len=0;

//用cin函数输入的话,编译系统会将空格' '当作结束符'\0'来处理 gets(str);//abbcccddeeeffgghh//ab ba cd dc//dcbaabcd//abcd efgh_

len=strlen(str);

redundance_delete(str,len);

cout<<str;

}

3、渡口问题(原题我记不得了,大概如下):一个渡口有N辆客车和货车需要乘船,规定如下:

同类车辆先来的先上;客车优先于货车;客车上了4辆后货车才可以上;客车若不足4辆则

货车可以补充;若无货车则客车可以全上。其中客车的优先级为0,货车的优先级为1。

例如,输入:5

0 0 1 0 1

输出:0 1 3 2 4

注意:1、输出的是原车辆在序列中的序号,且从0算起,因而前后交换时要保持相对顺序不变;

2、要考虑客车不足4辆,

或者货车数量和客车数量有一者或两者为0的情况。

#include<iostream>

using namespace std;

void shift(int len,int a[],int pos)

{if(len<1)

return;

if(pos<0)

return;

int i,s;

s=a[pos+len];

for(i=len;i>0;i--)

a[pos+i]=a[pos+i-1];

a[pos]=s;

}

void ferry(int num, int input[],int output[])

{int i,truck_num=0,bus_num=0;

if(num<1)

return;

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

{if(input[i]==0)

bus_num++;

else if(input[i]==1)

truck_num++;

else

{output[0]=-1;

return;}

output[i]=i;}

if(truck_num==0||bus_num==0)

return;

int truck_count=0,bus_count=0,len,pos=0;

for(i=0;truck_count+bus_count<truck_num+bus_num;)

{if(bus_count<bus_num && bus_count%4==0)

{pos=truck_count+bus_count;

if(input[pos]!=0)

{for(i=pos,len=0;input[i];i++,len++);

shift(len,input,pos);

shift(len,output,pos);}

pos=truck_count+(++bus_count);}

while(bus_count<bus_num && bus_count%4)

{if(input[pos]!=0)

{for(i=pos,len=0;input[i];i++,len++);

shift(len,input,pos);

shift(len,output,pos);}

华为校招接收函篇二:华为校招问题汇总

华为校招问题汇总

1. 希望了解一些软件考试方面的信息

ANS:7月上旬机试 ,你们等艾庆兴,他会来西工大讲的。

(ps.给刚才提到的艾庆兴同学做个简介,该同志人送外号“艾神”,做过14届所有的华为机试题,曾经获得某编程大赛全国冠军,认真听他的讲座可以提高机试通过率哦~)

2. 华为招聘员工对英语有什么要求啊?

ANS:研发类4级通过即可。

3. 本科生能做除了研发其他的部门吗?

ANS:华为的本科生岗位非常多。

4. 我想问问除了一些知识上的要求,华为对想进华为的学生有什么建议呢? ANS:学历只是参考,重视个人素质与能力

5. 华为今年的暑期实习还可以补录吗?

ANS:华为实习生招聘已结束,不能再补录。

6. 7月份的机试是提前批还是正式秋招的机试?是软件类还是硬件类?

ANS:7月份是正式的秋招机试,软件类招聘第一个环节,希望有意向的同学可以安排好时间。

7. 除了这次7月份的校招,开学还有没有新一轮的校招?

ANS:7月份软件机试是核心,尽量协调好时间,因为很(出自:WwW.HNNscy.Com 博 文学习 网:华为校招接收函)可能9月份将不再设置软件类机试。

8. 华为今年的招聘是不是和往年一样也分好几个批次?

ANS:不能保证有几个批次,机会先到先得,有意向的同学还望早作准备。

9. 华为有内推吗?是什么呢?

ANS:有的,每个学校都是有接口人的。

10. 如果是分多批次的话,七月份提前批比后面的校招有什么优惠政策? ANS:机试出色的人,可以参加优先招聘,会定制部门,特殊起薪机会,还可以选择优秀的导师。

11. 7月份校招的需要暑假去华为呆上一段时间吗?参加了7月批次的还能不能参加后续的招聘?

ANS:不需要去华为呆上一段时间。7月份的软件机试,是整个华为面试的一个重要环节。重点是软件类岗位。

12. 实习的时候招硬件非常少,这次呢?

ANS:软硬件都是主流招聘岗位。

13. 7月机试要是没过 之后的还可以参加吗?

ANS:7月份的肯定比9月份的简单,有可能没有9月的软件机试了。

14. 已经通过面试被录为暑期实习生,由于特殊情况而去不了,会不会影响9月份的正式应聘呢?

ANS:不会影响到9月的校招

15. 只要不是性格测试不过都可以再应聘?

ANS:是的

16. 加班最猛的时候,一个月平均下来是到几点?

ANS:华为没有小伙伴们想的那么恐怖,只有你真正了解华为,才能明白其实

它很开放的。而加班这更多的是看个人。

17. 暑期实习生的时候在西安没招客户经理,请问秋招有吗,工大招多少,谢谢?

ANS:客户经理岗招人非常的严格,去年在西工大总共招了6个人,想要申请该岗位的小伙伴们要加油喽~

18. 弱弱的问下,学飞行器动力工程的可以进华为么?

ANS: 我们关注的是学校,学生的素质和潜力,不关注学院,所以大家不用纠结于自己的专业。

19. 想请问您一下华为秋季有没有计划招聘现在研一的的实习生?就是研二出

去实习的。

ANS: 没有计划了,实习生是统一在5月份面试的。

20. 这次提前招聘主要是针对西安和深圳华为么?

ANS: 面向全国,但是招聘主要是西安为主,其次深圳,下来会有个别全国其他城市。

21. 之前已经填写过简历,新一轮校招中还用在填写吗?

ANS: 不用再写新的,但是可以再修改。

22. 四月底参加了华为暑期实习生招聘上机考试并通过,接着做完性格测,说到

5月6号左右会通知面试,我们几个同学都没有收到面试通知,难道都是性格测试出问题了吗?

ANS:有可能性格测试没过,请耐心等通知。

23. 华为今年具体都会招收哪些岗位?

ANS: 华为各个岗位都有,研发,销售,财经,管理,供应链,制造等.

24. 客户经理是不是都是内推的,秋季校园大型招聘还会招客户经理吗?

ANS:还会招收客户经理。

25. 部分同学反映校招官方招聘网无法登陆,有什么办法可以解决?

ANS: 这个可以参考其他能登陆的同学,或者在官网联系客服。

待解答

请问7月机试时间具体是几号?

华为校招接收函篇三:华为校招2013-2016年机试题目-个人整理

2016校招机试题

第一题

输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序 示例输入:4 6 2 3 7 8 1

处理过程:

奇数位:4268升序排序结果:2468

偶数位:6371 降序排序结果:7631

结果输出:2 7 4 6 6 3 8 1

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

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

void main()

{

char input1[]="4 6 2 3 6 7 8 1";

char output1[16];

int m=15;

sort(input1,m,output1);

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

printf("%c ",output1[i]);

printf("\n");

}

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

{

int i,j,t1,t2,t=0;

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

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

b[0]=input[0]-'0';

for(i=4,t1=1;i<n;i+=4,t1++)

{

for(j=t1-1;((input[i]-'0')<b[j])&&(j>=0);j--)

{

b[j+1]=b[j];

}

b[j+1]=input[i]-'0';

}

c[0]=input[2]-'0';

for(i=6,t2=1;i<n;i+=4,t2++)

{

for(j=t2-1;((input[i]-'0')>c[j])&&(j>=0);j--)

{

c[j+1]=c[j];

}

c[j+1]=input[i]-'0';

}

for(i=0,j=0;i<n;i+=4,j++)

{

output[i]=b[j]+'0';

output[i+1]=' ';

output[i+2]=c[j]+'0';

output[i+3]=' ';

}

}

2.精灵王子爱好冒险,在一次探险历程中,他进入了一个神秘的山洞。在洞穴深处,精灵王子不小心触动了洞穴内暗藏的机关,整个洞穴将很快塌陷,精灵王子必须尽快逃离洞穴。精灵王子的跑步速度为17m/s,以这样的速度可能是无法逃出洞穴的。庆幸的是精灵王子拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗法值10点。精灵王子的魔法值恢复的速度为4点/s,只能在原地休息状态时才能恢复。

现在已知精灵王子的魔法初值M,他所在洞穴中的位置与洞穴出口之间的距离S,距离洞穴塌陷的时间T. 你的任务是写一个程序帮助精灵王子计算如何在最短时间内逃离洞穴。 若能逃出,输出“Yes”,并输出逃出所用的最短时间;若不能逃出,则输出”No“,同时输出精灵王子在剩下的时间内能走的最远距离。注意字母大小写。注意精灵王子跑步,闪烁或休息活动均以秒(s)为单位。且每次活动的持续时间为整数秒。距离的单位为米(m)。

注:M,S,T均是大于等于0的整数。由输入保证取值合法性,考生不用检查。 提醒:

如果输入的S为0,则说明本身已经在出口,输出应为:Yes 0

如果输入的T为0(且S不为0),则说明已经没有时间了,输出应为:No 0

输入格式:

M

S

T

输出格式:

Yes 逃出洞穴所用时间

No在洞穴塌陷前能逃跑的最远距离

10

#include<stdio.h>

void main()

{

int M,S,T;

int de1=0,de2=0;

int start=T;

scanf("%d %d %d",&M,&S,&T);

if(S==0)

printf("Yes 0\n");

else

{

}} if(T==0) printf("No 0\n"); else { while(T) {T--;if(M>=10){ M-=10; de1+=60;}else { M+=4;}de2+=17;if(de2<de1) de2=de1;if(de2>S){ printf("Yes %d\n",start-T); break;}else{ printf("No %d\n",de2); break;} }}

2015校招机试题

第一题(60分):

按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”

#include<stdio.h>

#include<string.h>

void main()

{

int m,n,i,j,p=0;

char str[1024];

int a[10];

scanf("%d%d",&m,&n);

printf("please input %d string:\n",m);

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

{

scanf("%s",&str[p]);

a[i]=strlen(str+p);

p=p+a[i];

}

p=0;

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

{

if(a[i]<n)

{

for(j=p;j<p+a[i];j++)

printf("%c",str[j]);

for(j=a[i];j<n;j++)

printf("0");

printf("\n");

}

else if(a[i]==n)

{

for(j=p;j<p+a[i];j++)

printf("%c",str[j]);

printf("\n");

}

else

{

for(j=p;j<n+p;j++)

printf("%c",str[j]);

printf("\n");

for(j=n+p;j<a[i]+p;j++)

printf("%c",str[j]);

for(j=0;j<(2*n-a[i]);j++)

printf("0");

printf("\n");

}

p=p+a[i];

}

}

第一题:拼音转数字

输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下: 描述: 拼音 yi er san si wu liu qi ba jiu

阿拉伯数字 1 2 3 4 5 6 7 8 9

输入字符只包含小写字母,所有字符都可以正好匹配

运行时间限制:无限制

内存限制:无限制

输入: 一行字符串,长度小于1000

输出: 一行字符(数字)串 样例输入: yiersansi

样例输出: 1234

#include<stdio.h>

#include<string.h>

void main()

{

int i,j;

char str[1000];

char ch;

scanf("%s",str);

int len=strlen(str);

for(i=0;i<len;)

{

switch (str[i])

{

case 'y':

printf("1"); i=i+2;

break;

case 'e':

printf("2"); i=i+2;

break;

case 's':

if(str[i+1]=='a') {

printf("3");i=i+3; }

else

{

printf("4");i=i+2; }

break;

case 'w':

printf("5"); i=i+2;

break;

case 'l':

printf("6"); i=i+3;

break;

case 'q':

printf("7"); i=i+2;