华为机试心得

上传人:bin****86 文档编号:59850468 上传时间:2018-11-12 格式:DOCX 页数:19 大小:24.80KB
返回 下载 相关 举报
华为机试心得_第1页
第1页 / 共19页
华为机试心得_第2页
第2页 / 共19页
华为机试心得_第3页
第3页 / 共19页
华为机试心得_第4页
第4页 / 共19页
华为机试心得_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《华为机试心得》由会员分享,可在线阅读,更多相关《华为机试心得(19页珍藏版)》请在金锄头文库上搜索。

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划华为机试心得大师兄教你如何过华为机试宝典1内功心法大华为这个大数据时代土豪金海量式的招聘又要开始了!近期听说大华为的校招机试马上就要开始了,由于华为软件岗位的招聘只有技术面跟机试是与技术有关的内容,所以机试的地位非常重要。对于机试,除了长期积累的软件基本功以外,还有很多可以短期训练的东西,类似于考试之前的突击,可以迅速提高机试成绩,就像在我西电大杨老师考前最后一堂课一定要去,那个重点就是考点阿。这篇机试葵花宝典的内容是针对华为软件类上机准备的,如果你认真看了本宝典,如果你是真正通过自

2、己能力考上西电的话,想不过都难。同样想拿高级题的同学,请移步/land/或者,刷上200道题,机试不想拿满分都难。对于机试,首先应该调整好自己的心态,不要觉得写程序很难,机试题很难,也不要去考虑,万一机试考到自己不会的内容怎么办,要相信,机试题永远是考察每个人的基础,基础是不会考的很偏的,会有人恰好做过某个题而做出来那个题,但不会有人恰好没做过一个题而做不出来那个题。机试之前,应该做的准备有:1、买一本算法竞赛入门经典,这本书不同于普通的算法或者编程语言的书籍,这本书既讲语言,又讲算法,由浅入深,讲的很好,能看完前几章并且把例题都做会,想通过机试就很简单了2、调整好心态,时刻告诉自己,哪些小错

3、误是自己以前经常犯的,最好用笔记本记录下来,写每道题前再看一遍,如果遇到代码调不出来了,先想想自己是否犯过以前那些错误。还有就是,看了题目以后,先仔细想清楚细节,在纸上写清楚自己需要用到的变量,以及代码的基本框架,不要急于动手去写代码3、不要惧怕任何一道看起来很难的题目,有不会的就去问身边会的人,让别人给自己讲清楚4、心中默念10遍C+跟C除了多了两个加号其实没有区别,会C就能上手C+5、大量的练习是必要且有效的6、看完这篇宝典,预过机试、必练此功。在这里推荐一个帖子,是机试归来的学长写的,写的很不错,里面的例题在后面的攻略中也会提及,就在好网上。宝典二:常用招式1:机试常用变量类型CC+常用

4、的变量类型有很多种,想通过机试,掌握好其中的几种就可以,他们分别是int,double,string,charint类型是最常用的整数类型,对于输入类型是整形的变量,使用int来进行定义和读入。还有一种更大的整形变量是longlong,在机试中一般不会涉及到考察,如果考虑到运算的过程中有可能超过int的大小,再考虑使用longlong,int最大可以到达231级别,longlong最大可以到达263。PS:有时机试读入多个整数的时候会是这样的形式5,10中间有一个逗号,在这种情况下,其实读入也是很简单的,可以这么写:scanf(“%d%c%d”,&a,&b,&c);或者是:scanf(“%d”

5、,&a);getchar();scanf(“%d”,&c);有的机试题会说:两个整数之间有若干个空格符或tab字符。在这种情况下,读入的方式还是使用scanf(“%d%d”,&a,&b)这样,scanf函数或者cin函数都可以很好的吃掉除了数字字符以外的字符。double类型是最常用的浮点数类型,当运算涉及到小数运算的时候,需要使用double来定义。其中,特别需要注意的一点是,如果使用了如下语句:doublex=a/b;在这里,a和b是int,那么x的值将是a和b整除后的结果,而不是想要的结果,想要得到期望的结果,须改成doublex=(a+)/b;在这里,将a加上一个浮点数,程序会在后台将

6、它强制转换成一个double类型的数字,此时再除一个整数,就没有问题了string类型是遇到字符串类问题应该首选的变量,区别于字符数组char,string类型是直接将字符数组封装了进去,定义strings相当于定义了一个大小特别长的字符数组。使用string的好处是,避免了使用char数组时定义数组长度过小导致越界,同时更加直观的将字符串看做了一个对象。如果要定义一个string变量,首先得包含string的头文件以及使用C+中的标准命名空间,标准命名空间这个东西,只要记得写上就行,没有任何影响。#include/这一句是c+的头文件,c语言代码一样可以把它包含进来,只要将程序后缀名改成.c

7、pp即可,其他都是一样的。#includeusingnamespacestd;在不同的环境下,可能会有不同的头文件包含了string的用法,可能的头文件有cstring,string。在机试的环境中,一般使用即可。定义一个string和定义其他变量方式相同:strings;读入和输出string也只需要使用cins;cout=A&s*i+=0;i-)字符串比较大小:如果比较的规则与字符串的比较规则相同,则直接使用s1s2这种方式,如果规则不同,则用一重循环按位比较即可。2、数字处理类数字处理类的题目,最常见的两种考察形式是整数拆分、进制转换和排序。整数拆分是指将一个整数拆分开每一位,比如123

8、拆分成1,2,3。整数拆分的思路有两种,第一种是直接用字符串读入,然后把每一位用字符的形式提取出来:cppviewplaincopyprint?1.for(inti=0;inumi=si-0;还有一种思路是不断去除以10,把余数提取出来,方法是:cppviewplaincopyprint?1.while(n!=0)2.3.numi=n%10;4.n=n/10;5.i+;6.进制转换:进制转换又分为10进制转换成别的进制以及别的进制转换成10进制,进制转换其实特别简单,只需要记住如下代码:10进制转换成X进制cppviewplaincopyprint?1.while(n!=0)2.3.numi=

9、n%x;4.i+;5.n=n/x;6.X进制转换成10进制cppviewplaincopyprint?1.for(inti=0;iumi表示的是该x进制数的每一位,比如一个二进制数101,用这种转换方式去转换,ans的值从i=0到i=2处理后分别是1,2,5。排序:排序这个东西,其实不需要学习冒泡啊、快排啊之类的算法,应对机试,C+中自带的sort函数就可以很好的解决,请看下面一段代码cppviewplaincopyprint?1.#include2.#include/这个是包含sort函数的头文件3.usingnamespacestd;4.intarr100,n;5.intcmp(intx,

10、inty)/这个函数是sort函数比较两个元素优先级的函数,在这里计算出两个元素的优先级,然后返回即可。6.7.intimportance1,importance2;8./此处插入代码计算x,y的重要性9.returnimportance1n;14.for(inti=0;iarri;15.sort(arr,arr+n,cmp);16.return0;17.这一段代码的作用是读入n个数字,然后按优先级进行排序,排序的比较方法在cmp函数中实现,排序的具体过程不需要考虑。可以看到,其实只需要记住sort函数的用法,要通过机试,排序算法是根本不需要学习的,soeasy!总结:机试中,掌握好int,d

11、ouble,string,char,还有数组,就足够用了,但考察的内容不仅仅是上述这些,想要通过机试,还是应该多多练习,多多学习,不局限于上面所说的内容宝典三:擂台实战首先推荐一个网站:/land/,上面的很多题目,难度很适合机试,如:很简单:1031,1120,1122,1121,1103,1104,1281,简单:1049,1181,1182,1279,1280,中等:1106,1108,1183,1288.难:1105,1282,1283,大家可以根据自己的水平去训练,其实里面的难题也是很简单的,归类到题库中的话都属于简单题,只要好好看书学习都是可以做出来的,下面放几道例题,这些题都是机

12、试很有可能考的题目,或者是非常类似的题目,已经有了仔细的注释,代码写的仓促1.简单题2.题目描述3.输入一个字符串,删除其中所有的数字,所有大写字母改成小写,其他不变,并输出4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.输入描述一个字符串,保证没有空格,以回车符结束,字符串长度#includeusingnamespacestd;intmain()华为校招_我的机试经历(考试时间:XX年9月12日下午2:00-4;00(两个小时)考试地点:南京华为研究所N5三楼培训大厅(南京软件大道101号)上机环境:C/C+:VSXX(或)Java:试题类型:

13、上机编程说明:这次考试跟以往不同(我们这届就是命苦,中考、高考、考研。从未被超越);1、以前上机考试编程工具为C/C+:VC;Java:eclipse,这次改成C/C+:VSXX(或)Java:。由于本人以前学C语言花了一些功夫,相对Java用得上手些,备考时用的是C+;临考前一周接到通知,说是要用VSXX,于是下个软件再加上熟悉一下花了半天时间,手忙脚乱了一阵(建议最好用VS,毕竟有的程序在VC上能调通,在VS上可能运行不通过);2、以往的形式是给你个函数模块,函数名已写好,你只要往里面填代码就行了(华为提供的工程是将Main函数隐藏了的,所以自己不用再添加Main函数)例如:1.从两个数组

14、的最后一个元素比较两个数组中不同元素的个数,如有array15=77,21,1,3,5,array23=1,3,5,从array14与array22比较开始,到array12与array0比较结束。这样得出它们不同的元素个数为0,若array16=77,21,1,3,5,7,那么他们不同的元素为3。函数原型为intcompare_array(intlen1,intarray1,intlen2,intarray2);其中,len1与len2分别为数组array1和array2的长度,函数返回值为两个数组不同元素的个数。这次是随你发挥,可以写子函数,也可以只写个main函数(当然main函数是必不可少的)。先在编译环境(即VSXX或)上运行,调通后再复制到考试系统中,检查无误后,点击提交(不过每道题最多只能传五次);3、以往满分是100分,第一题20分,第二题30分,第三题50分,且前两题为必做题,最后一题作为附加题;现在是满分320(有点像英语四六级改革一样,100分改成710分),第一题60分,第二题100分,第三题160分,且不分什么必

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号