华为上机考试注意事项及编程技巧(精品)

您所在的位置:网站首页 华为社招上机技术考试 华为上机考试注意事项及编程技巧(精品)

华为上机考试注意事项及编程技巧(精品)

2023-12-22 00:20| 来源: 网络整理| 查看: 265

这是一篇关于华为招聘软件类职位上机考试的博客,主要介绍一下华为机考的流程、注意事项以及一些机试题中常用的编程技巧,写得有点长,但都是尽心尽力敲的,如果真的要参加华为招聘(或者类似公司的招聘),建议稍微花点时间看完。话不多说,直接进入正题。 一、什么是华为上机考试 华为上机考试是华为招聘软件类职位的一个环节,这里以校招为例,华为校招正常流程分为简历注册、简历筛选、上机考试(软件类)、综合测评、专业面试、综合面试、签约洽谈七个流程,上机考试可以说是相当重要的一个环节。 华为机试到目前为止,历年来都是三道编程题,第一道题100分,第二道题200分,第三道题300分,大多情况难度依次递增,个人认为其主要考察对编程语言的运用和简单的算法设计,答题语言可以自选,有C/C++、Java,每种语言的编译器和编译环境每年可能会有轻微改动,目前C/C++语言使用Visual Studio 2005的编译环境(预计很长一段时间内都会是这个),所以建议平常练习的时候用Visual Studio进行编程,常见的win7系统下可以装Visual Studio 2010,因为Visual Studio 2005最开始是对xp系统的,装在win7下还要进行各种设置,较为麻烦。 上机考试需要在指定时间登录华为的软件考试平台进行答题,考试时长两个小时。具体操作步骤如下: 1、打开浏览器输入上机考试的网址; 2、输入姓名、邮箱和手机号等个人信息,提交登录; 3、登录后会进入试题说明页面,考试阅读完试题要求后,进入考试; 4、认真阅读考试题目,考试题目可以随意切换,只要没有点提交,不计入答题次数,但要注意切换之后原来答题框内的代码会消失。有能力完成三道题的人,建议先把三道题都浏览一遍,从自己拿手的做起(但不建议一开始就做第三道)。 5、认真审题后,在自己的本地编译器上编写代码和调试,调试通过后,将代码复制到对应题目的答题框内(注意一定要复制完整的代码),点击“提交”即可,之后页面会显示“提交成功”,提交成功后等待十几秒,系统会给出该道题目的判卷结果; 6、判卷结果大致有“编译未通过”、“运行超时”、“部分测试用例未通过”、“全部测试用例通过”四种结果。如果出现“编译未通过”,则说明提交的代码语法或者链接错误,点击页面上的编译结果,会给出编译信息,据此修改自己的代码;如果出现“运行超时”,建议检查一下自己的输入是否过于繁琐(比如明明可以一次读取一行,却一个字符一个字符输入),或者while、for循环是否能够保证正常退出;如果出现“部分测试用例未通过”,这就需要重新审题,检查自己漏掉了哪些输入情况(这个时候千万不要怀疑判卷平台,一定是你自己错了); 7、三道题目都提交完成并通过后,点击交卷按钮,完成后按系统提示退出考试即可。 二、华为上机考试的注意事项 华为机试主要考察对编程语言的运用和简单的算法设计,虽说真金不怕火炼,但一些细小的问题可能会浪费很多时间,这在机试过程中是致命的,因此总结一下在机试中的一些注意事项。 1、时间安排。华为机试一共两个小时,题量为三道题,如果将难度按照星等来划分的话大体可分为两种模式,第一种为一星或二星、三星、五星,第二种为二星、四星、五星, 这里可能有人会对第二种模式有疑问,需要说明的是,针对第二种情况,第2、3题是有继承性的,即是说第2题的算法或者代码经过改进就可以用于第3题,因此难度上有所提升也是很正常的。答题时间分配各有各的安排,这里个人建议如果是能做完三道题的人,时间按照20、40、60(模式一)或25、50、45(模式二);如果做不完三道题的人,根据自己的熟练程度安排时间。另外,华为在学校安排的统一机试都是严格按照系统时间而非登录时间进行的,如果安排在上午10:00到12:00机试,则12:00一到,考试自动截止,如果你在10:30才点击开始考试,截止时间仍然是12:00。因此,要提前进入考场,登录平台完善个人信息(在开考之前就可以登录平台和填写个人信息)。这里说的都是指在学校的统一机试,华为最近每年校招之前有一个提前批次的内退和优招,这个机考时间是按照登录时间来算的。 2、考场注意事项。一定要提前进入考场,进入考场后需要进行一些准备,第一,阅读考场内标明的注意事项;第二,找合适的座位,开机查看电脑可否正常使用,检查网络连接是否正常;第三,检查鼠标键盘等外设是否可用,尤其是键盘,如果答题答到一半发现键盘上有一个按键不好用了,这是非常坑爹的事,检验方法是新建一个空白文档,然后把键盘上的所有按键都敲一遍,另外说一下万一真的答题到一半时键盘按键不好用了怎么办,微软有自带的频幕软键盘,在开始中输入“osk.exe”运行程序即可调用出频幕软键盘;第四,检查浏览器是否可用,是否可以登录考试平台;第五,检查本地开发平台和编译器是否可用,写一个小测试用例看看能不能编译和运行。 3、VS下新建立的工程项目在编译过程中可能会遇到这样的问题:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏。这既不是语法错误也不是链接的问题,而是嵌入清单的问题,具体原理自行百度,这里只说一下解决办法:右键->工程属性->配置属性-> 清单工具->输入和输出->嵌入清单,选择[否]。 4、注意题目的输入输出要求。一定注意审题,请认真阅读每个机试题目的问题描述,每个题目最下方都有该题目对应的测试数据和提示信息,程序运行前后的输入输出必须与测试数据的输入输出完全一致,不能在程序运行时输出其他任何题目中没有要求的提示语句,例如printf(“请输入字符串”)。请删除此类无效代码。否则您的程序提交后会显示答案错误。 5、C++语言在提交时,不能有#include ”stdafx.h”和system(“pause”)等语句,主函数也不能是int _tmain(int argc, _TCHAR* argv[])而应当直接写成int main()。对于不加system(“pause”)语句调试闪退的现象,可以在return 0后打上断点,也可以使用ctrl+F5直接执行。 6、字符串问题。在对字符串进行操作时,一定要记得结尾符’\0’,例如char a[10]中实际只能放入9个有用字符,最后一位需要放置结尾符。在字符串输入和for循环中经常会因为忽略了结尾符而出错。 7、提交注意事项。提交后,运行超时的,一般应检查输入情况和for、while循环,例如不能用while循环逐个字符读取,保证for循环和while循环可以正常退出等。代码提交后,系统会及时对题目进行打分,并进行提示,可以在答题页面中单击“状态”按钮,查看题目得分,每次提交都会有一次记录,每次提交后台系统都会打分,若多次提交同一个题目,分数以最高分为准。若题目有错误,或者没有得满分,单击状态按钮后弹出的页面中,查看本次提交的记录,如果有错误,该行会提示代码有某种类型的错误,例如,编译错误,答案错误等等,在错误的文字上单击,即可跳转到该错误的详细解析页面,页面中下方会显示此次提交的代码在后台系统中的出错信息,参考该错误信息进行调试。注意,每个题提交次数不能超过5次。 8、对于输入问题。后台输入均为字符串,未明确说明以“\n”结束的,用while(ch=’\n’)这样的写法可能会导致死循环机试的题目中并没有严格定义每行输入的结束符号是回车符或者EOF或者空格或者’\0’等,请按照机试题目要求,逐行读取输入,然后再对输入数据进行处理,不要采用循环逐个读取单个字符,否则可能会导致您本地测试通过,但是提交后系统返回运行超时或者答案错误。建议使用字符串保存输入,再做处理。不要使用’\n’、 ’\0’ 作为while的跳出条件,不要认为后台输入数据时以回车符结束(除非特别声明)。 9、对于测试用例。判题不会用题目中给出的测试用例,即是说直接printf题目中的测试用例输出是不能得分的,想要投机取巧混一点得分是不行的。另外所有的测试用例都是无法看到的,如果是部分测试用例未通过,并不能知道哪类测试用例没有通过,只能自己去检查是否审题有误,或者是考虑情况是否全面。 三、华为上机考试的编程技巧 华为机试的考点,有17个部分,包含:排序,求最大最小数,链表,大数、高精度数运算,字符串常见操作,数组常见操作,四则运算,求数的各种附属数,匹配问题,进制转换,二叉树,规划问题,最短路径问题,图联通问题,对数字进行特殊判断。这里简单列举一些机试编程的常用函数和技巧,只是提出一个参考,函数更为具体的用法可以自行查阅。 1、排序算法。排序算法有快速排序、选择排序、插入排序、冒泡排序、堆排序、归并排序、桶排序等,在编程里面较为好用的当属冒泡排序,以下是一段冒泡排序的代码,尤其要注意第二个for循环的循环控制语句。

for(int i=0;i=’0’ && c=’A’ && c


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3