今天上午去华为南研所参加机试,一共三道题,由易到难,分数分别是100,200和300。
针对华为机试,之前的复习内容多放在字符串操作,比如截断、分解和压缩等,还有
一些常用的排序,比如冒泡法、选择法。所以,但我看到第一道是任意进制转换时,
让我有一点意外的,没有办法,只能硬着头皮现场编程了。
任意输入一个十进制的正整数num,将其转换为任意进制N(2<=N<=9)输出,
num%2;num/2;这个倒是简单,可是循环终止条件,我想了半天,最后
竟然想到用重新累加的方法得到另一个数result,当result==num时则终止循环。
回来之后,看我同学编的,人家用最简单的(num>=N)做循环终止条件就可以了。
看来,我的确是个心中无码的人~
编程过程中,因为编译出错的问题,举手向监考官求助,监考老师很热心解答,最后说,
可能还是你的源码有问题。之后,我便重新开始调试。最近有看一本书,书名我记不太
清楚,好像是叫“如何成为一名高效能的程序员”,里面提到,如果程序出错,程序员最先反省
的应该是自己的代码,而不是归咎于编译环境。这个是正确的,事实证明,的确是我的程序自己
陷入了死循环。vs2005中调好、运行好之后,提交给机试系统,但是得分却是0分,提示是编译出错。
不得已,我再次向监考老师求助,这次,监考老师也郁闷了...好像的确是答案判别系统的问题。
我重复提交了几次,均判为0分,理由都是编译出错。但每个考生,最多只能提交5次,也就是说,我
最后的成绩就是0分了。这下,心死得踏踏实实的了。
但是,最让我感动的是,监考老师竟然去帮我争取希望能有下一次机试的机会,而且,最终还成功帮我
正确到了一个新账号,让我有重新提交的机会。监考老师还说,明明做对了,却没有得分,太可惜了,如果
这次再不能成功,就说明你和华为有缘无分了。然后,他坐下来,他来亲自提交。但结果...还是0分。
不管怎样,我心中是充满感激的...最后,我把c的头文件、输入输出语句改成c++的头文件、输入输出语句,
提交后,刷新,100分。这是系统关闭的前1分钟完成的,是的,最后一分钟。
上午华为机试的事情对我的触动还是挺大的,感激监考老师的坚持,感激华为的不拘一格。
不管将来是否有机会与华为重逢,在华为获得的这份感动我会一直留在心里。
然后,我也应该调整一下自己的求职心态,不能再仅仅抱着试一试的态度,应该更加尊重每一家招聘企业,
珍惜和把握好每一次笔试机会。求职路上也应该给自己多一些勇气和多一些坚持,同时给一起在路上的同伴
们关心和鼓励。
|