计算机专业编程该注重的东西

计算机专业编程该注重的东西

ID:45991182

大小:79.50 KB

页数:9页

时间:2019-11-20

计算机专业编程该注重的东西_第1页
计算机专业编程该注重的东西_第2页
计算机专业编程该注重的东西_第3页
计算机专业编程该注重的东西_第4页
计算机专业编程该注重的东西_第5页
资源描述:

《计算机专业编程该注重的东西》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、学编程的人不能不看的好文章发布:2009・4-1308:18

2、作者:shenlan51

3、查看:1825次做为一名人四的学生,我而试过不少的单位,有成功的也有失败的,但是对我來说所有的失败奋某种意义上都是一种成功,特别是我卜而写的这些,写这篇文章的时候,我己经签了南京的一家软件公司,但是想起今年2月21口我而试苏州台湾的IT公司的经历联想到我们现在学习编程的一些情况我真的深有感触,这次而试使我深深的体会到了失败但也收获了很多。我要说的将分成三部分,1•是我而试的具体经过2.是由而试想到的3.现今我应该做的。当然这些话很人程度上是我个人的意见,不可能完全得到

4、人家的赞同,所以在某些观点上如果哪位朋友觉得跟我的有很人出入,请不要介意,也不要对我攻击,就当我没冇说过,欢迎和我联系共同探讨这些问题!我的EMAIL:wutao8@263.net1•面试经过大约在年前我接到了台湾瑞晟(Realtek)苏州公司的而试通知,通知我2月21H到苏州工业园区而试,接到而试后的儿天我把一些专业课温习了-•遍,特别是C++和数据结构,由于大学几年里,我一直专研这些方血,加上通过了高级程序员的考试,对于一些常用的算法我差不多也达到了烂熟于胸的地步,当时的感觉是如果问了我这些方血的问题我应该是没有问题的!21H那天我被女排在4:30面

5、试,由一位技术人员单独给我面试,在问了一些简单的问题Z后他给我出了一道编程题目,题日是这样的:(由于具体面试的题H比较烦琐,我将其核心思想捉取出來分解成了两个独立的简单的问题,有可能问题分解的不当,请大家见谅,实际面试了一个的问题但比其复杂很多,而H涉及一些高等数学变换)1)写一•个函数计算当参数为n(n很大)时的值1・2+3・4+5-6+7+n哼,我的心里冷笑一芦!没想到这么简单,我有点紧张的心情顿时放松起来!于是很快我给岀我的解法:longfn(longn){longtemp=0;inti,flag=1;if(n<=0){printf("error:

6、nmust>0);exit(1);}for(i=1;i<=n;i++){temp=temp+flag*i;flag=(-1)*flag;}returntemp;}搞定!当我用期待的kl光看着面试官的时候,他微笑着跟我说,执行结果肯定是没有问题!但当n很大的时候我这个稈序执行效率很低,在恢入式系统的开发中,稈序的运行效率很重要,能让CPU少执行一条指令都是好的,他让我看看这个程序还有什么町以修改的地方,把程序优化一下!听了这些话,我的心情当时变的有点沉重,没想到他的要求很严格,Z后我对程序进行了严格的分析,给出了改进了的方案!longfn(longn){l

7、ongtemp=0;intj=1,i=1,flag=1;if(nv=0)printf(f,error:nmust>0);exit(1);}while(j<=n){temp=temp+i;••i=-i;i>0?i++:i--;j++;}returntemp;}虽然我不敢保证我这个算法是最优的,但是比起上一个程序,我将所有涉及到乘法指令的语句改为执行加法指令,既达到要题n的要求而H-运算时间上缩短了很多!而代价仅仅是增加了一个整型变量!但是我现在的信心已经受了一点打击,我将信将疑的看者而试官,他还是微笑着跟我说:“不错,这个程序确实在效率上有的很人的提高!”

8、我心里一阵暗喜!但他接着说这个程序仍然不能达到他的要求,要我给出更优的方案!沢啊!还有优化!我当时真的有点崩溃了,想了一会后,我请求他给出他的方案!然后他很爽快的给出了他的程序!longfn(longn){if(n<=0){printf("error:nmust>0);exit(1);}if(O==n%2)return(n/2)*(-1);elsereturn(n/2)*(-1)+n;}搞笑,当时我日瞪口呆,没想到他是这个意思,这么简单的代码我真的不会写吗,但是我为什么没有往那方而上想呢!他说的没有错,在n很大很大的时候这三个程序运行时间的差别简XL是犬

9、壤之别!当我刚想开口说点什么的时候,他却先开口了:“不要认为CPU运算速度快就把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要讣CPU做,因为CPU是为用户服务的,不是为我们程序员服务的!”多么精辟的语言,我已经不想再说什么了!接着是第二个问题:2),他要求我丿U-种技巧性的编程方法来川一个函数实现两个函数的功能n为如:fn1(n)=n/2!+n/3!+n/4!+n/5!+n/6!fn2(n)=n/5!+n/6!+n/7!+n/8!+n/9!现在用一个函数fn(intn,intflag)实现,当flag为0时,实现fn1功能,如

10、果flag为1时实现fn2功能!他的要求还是效率,效率,效率!说实在话,如果我心

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。