大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 其他相关 -> 学编程的人不能不看的好文章

学编程的人不能不看的好文章

时间: 2021-07-31 作者:daque

   做为一名大四的弟子,我口试过不少的单元,有胜利的也有波折的,然而对我来说一切的波折在那种意旨上都是一种胜利,更加是我底下写的那些,写这篇作品的功夫,我仍旧签了南京的一家软硬件公司,然而想起本年2月21日我口试苏州台湾的it公司的体验设想到咱们此刻进修编制程序的少许情景我真的深有感受,这次口试使我深深的领会到了波折但也成果了很多。我要说的将分红三局部,1.是我口试的简直过程2.是由口试想到的3.现今我该当做的。固然那些话很大水平上是我部分的看法,不大概实足获得大师的赞许,以是在某些看法上即使哪位伙伴感触跟我的有很大收支,请不要留心,也不要对我报复,就当我没有说过,欢送和我接洽共通商量那些题目!我的email:wutao8@263.net 1.口试过程   大概在年前我接到了台湾瑞晟(realtek)苏州公司的口试报告,报告我2月21日到苏州产业园区口试,接到口试后的几天我把少许专科课复习了一遍,更加是c++和数据构造,因为大学几年里,我从来专研那些上面,加上经过了高档步调员的考查,对于少许常用的算法我差不离也到达了纯熟于胸的局面,其时的发觉是即使问了我那些上面的题目我该当是没有题目的!

  21日那天我被安置在4:30口试,由一位本领职员独立给我口试,在问了少许大略的题目之后他给我出了一起编制程序标题,标题是如许的:

  (因为简直口试的标题比拟繁芜,我将其中心思维索取出来领会成了两个独力的大略的题目,有大概题目领会的不妥,请大师包容,本质口试了一个的题目但比其搀杂很多,并且波及少许高档数学变幻)

  1) 写一个因变量计划当参数为n(n很大)时的值 1-2+3-4+5-6+7......+n

  哼,我的内心嘲笑一声!没想到这么大略,我有点重要的情绪登时减少起来!

  所以很快我给出我的解法:

long fn(long n) { long temp=0; int i,flag=1; if(n<=0) { printf("error: n must > 0); exit(1); } for(i=1;i<=n;i++) { temp=temp+flag*i; flag=(-1)*flag; } return temp; }

  搞定!当我用憧憬的眼光看着口试官的功夫,他浅笑着跟我说,实行截止确定是没有题目!但当n很大的功夫我这个步调实行功效很低, 在嵌入式体例的开拓中,步调的运转功效很要害,能让cpu少实行一条训令都是好的,他让我看看这个步调再有什么不妨窜改的场合,把步调优化一下!听了那些话,我的情绪其时变的有点深沉,没想到他的诉求很庄重,之后我对步调举行了庄重的领会,给出了矫正了的计划!

long fn(long n) { long temp=0; int j=1,i=1,flag=1; if(n<=0) { printf("error: n must > 0); exit(1); } while(j<=n) { temp=temp+i; i=-i; i>0?i++:i--; j++; } return temp; }

  固然我不敢保护我这个算法是最优的,然而比起上一个步调,我将一切波及到乘法训令的语句改为实行减法训令,既到达要题手段诉求并且演算功夫上减少了很多!而价格只是是减少了一个整型变量!然而我此刻的决心已接受了一点妨碍,我半信半疑的看者口试官,他仍旧浅笑着跟我说:“不错,这个步调真实在功效上有的很大的普及!”我内心一阵暗喜!但他接着说这个步调仍旧不许到达他的诉求,要我给出更优的计划!天啊!再有优化!我其时真的有点解体了,想了一会后,我乞求他给出他的计划!而后他很简洁的给出了他的步调!

long fn(long n) { if(n<=0) { printf("error: n must > 0); exit(1); } if(0==n%2) return (n/2)*(-1); else return (n/2)*(-1)+n; }

  搞笑,其时我惊惶失措,没想到他是这个道理,这么大略的代码我真的不会写吗,然而我干什么没有往那上面上想呢!他说的没有错,在n很大很大的功夫这三个步调运转功夫的分辨几乎是云泥之别!当我刚想启齿说点什么的功夫,他却先启齿了:“不要觉得cpu演算速率快就把一切的题目都推给它去做,步调员该当将代码优化再优化,咱们本人能做的决不要让cpu做,由于cpu是为用户效劳的,不是为咱们步调员效劳的!”如许简练的谈话,我仍旧不想再说什么了!接着是第二个题目:

  2),他诉求我用一种本领性的编制程序本领来用一个因变量实行两个因变量的功效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(int n,int flag)实行,当flag为0时,实行fn1功效,即使flag为1时实行fn2功效!

  他的诉求仍旧功效,功效,功效!说简直话,即使我情绪好的话我该当能给出一种比拟好的算法,但我其时真的没有什么情绪再想了,我在纸上胡乱画了少许诸如6!=6*5!的公式后单刀直入的跟他说要他给出他的谜底!口试官也没有说什么,给出了他的思绪:

  设置一个二维数组 float t[2][5]惠存[2!,3!,4!,5!,6!},{5!,6!,7!,8!,9!]而后给出一个轮回:

for(i=0;i<6;i++) { temp=temp+n/t[flag]; }

  结果获得计划值!呵呵,典范的空间换功夫的算法!

  那些所有花了50秒钟的功夫,再有格外钟我就跟他很随便的聊谈天,聊了少许编制程序以及生存的题目,其时的我仍旧很减少了,由于我领会这次口试截止惟有一个:波折。5:30的功夫口试官要我等报告,所以我摆脱了她们公司。这即是口试的所有过程!

2.由口试想到的

  真的是很波折啊!我牢记那世界好大的雨,气温也很低,我边走边想,从5:30从来走到7:30,浑身都湿透了,又冷又饿,然而我不过从来走,脑筋内里充溢了迷惑,我也想让雨把本人淋醒!看到这边有些伙伴大概感触那些口试标题不算什么即使让本人做的话确定能十足答对,我确定断定你,由于我从未质疑过华夏步调员的本领,我觉得华夏有寰球上最佳的步调员,我也从未觉得本人是能手,以是我做不出来不代办华夏步调员比台湾大概其余场合的步调员差,以是我就从我的观点,我的所见所想来谈少许感触:

  不错全寰球都有特出的步调员,华夏也不不同,然而我迷惑的是:究竟华夏和台湾大概海外的特出的步调员的比率究竟是几何?台湾我不领会,华夏100个步调员里有几个是特出的呢?我基础算不上,从上头的展现就足以证明十足了!是1个?5个?10个?50个?这个数字我不敢乱猜,恐遭网友一顿大骂,那么咱们海内有几何人进修计划机呢?拿咱们书院来说,计划机97级4个班,98级5个班,99级10个班,2000级17个班,人多了,教授如何办?咱们书院的做法是让接洽生上课,而后呢?补考一抓第一次全国代表大会把,大把大把的补考费落入了书院的口袋,还说此刻的弟子本质低!真是可笑,我都不领会书院这么做是为了什么,为海内培植洪量的步调员吗?弟子们能真实学好计划机常识吗?好了,我敢讲,在咱们书院进修编制程序弟子和特出步调员(提防我指的是特出,只会编几个糟烂步调的人算不上)的比率该当是100:0.1 。在这种比率下固然咱们华夏进修编制程序的人排山倒海,然而想想有几何部分能真实为华夏软硬件业兴盛作出奉献,有几何人能真实写出特出的步调名扬海内!

  我从进修编制程序此后,尽管是自习仍旧教授引导,历来都是处置题目就好,编出步调来就行,我的迷惑是:咱们有真实的夸大过步调的功效,步调的品质吗?咱们有提防领会过咱们写的货色,看看有没有不妨矫正的场合,看看有没有大略的本领来到达同样的手段呢?我问心自问,我创造,我历来没有对我写出来的步调举行过优化,最多即是举行精细的尝试,而后debug,然而这就充满了吗?那些天我偶然创造我已经写过的一个游戏,那是一年前我刚介入www.vcroad.net做为个中一员功夫,发觉该当拿点货色出来,而后花了一个礼拜的功夫写出来的!步调不算搀杂,然而用到了不少量据构造的货色,也用到了少许精粹的算法,加上windows的界面和游戏的可玩性,写完后遭到了不少微词,我其时真的很敬仰本人!然而此刻看呢:没有一句解释,许多黯淡的因变量名比方:void chushihua(),许多没有需要的变量,不妨用大略语句实行处事的我运用奢侈的算法,洪量运用全部变量.....,说不动听的话,第六百货多行的步调除去能运转除外即是一陀屎!即使一年前我能听到少许背后看法的话,大约我能早一点省悟,然而自从原代码在网站颁布此后听到的都是赞叹之词,没有一部分向我提出步调矫正的看法,这又说领会一个什么题目呢?很犯得着推敲啊!

  再有一个迷惑是:咱们说的和做的真的一律吗?我在书院的功夫曾接受学院指使包办过一个计划机大赛,请了一个教授出复赛的标题,主假如少许算法标题,这个教授大概是我上海大学学此后独一景仰的教授了,从步调调节和测试到打分,对于每个步调都提防领会当时间功效和空间功效,而后归纳打分,四十部分的卷子,教授从下昼三点从来调节和测试到黄昏十点,在有些写的精粹的语句后还加上讲解。我真是欣喜很遇到如许的教授而且和他做深刻的交谈,但在过后,却爆发了一件不欣喜的事,在竞赛中赢得第二名的弟子找到我,说他步调十足调节和测试胜利该当给他满分,而且该当得第一,我说然而他,结果调出了他的原步调和第一名的原步调比较,不错,两个步调都运转的很好,这时候,谁人同窗启齿了:“我的步调写的格外简略领会,只是数行就实行了标题诉求,而他的却写了第一次全国代表大会堆,干什么给他的分多过给我的分。”我其时很是愤恨,即使不是教授控制的话,那么此刻第一名和第二名的场所真的要互调了,委派,不是步调的行数越少步调的品质就越高,我牢记我跟他大谈这上面的原因,结果压服他了!嘿嘿,然而我,只能说说罢了,我不领会再有几何人一律,说起来井井有条,但内心却压根就从未关心过它!

3.我安排做的!

  本来那天我想到的远不只上头那么多,然而我不想再说了,由于我估计看这篇作品的网友大约都有一肚子的感触,一肚子的埋怨,滥用这篇作品宣泄可不是我想到达的手段,在上头我把本人骂的一钱不值也不是不可一世,然而在某些上面我真的做错了,大概说是偏离了精确目标,此刻是校正目标和另起炉灶的功夫了,就象我前方说过的,我断定华夏有寰球上最佳的步调员,我也断定我的程度不会从来维持近况,我此刻就整理起抱怨真实的实干起来! 真的很巧,就写到这边的功夫我在网上偶然创造了这篇画册,我不领会这预见着什么,然而我想即使我照底下这个基础规则从来坚固做下来,我确定会实行我的理念---一名特出的软硬件安排师!

  (底下那些笔墨不是我的原创,是我偶然在网上创造的,我真的很倒霉能看到那些,这篇作品也跟着底下的笔墨而中断,我忠心的蓄意您能从这篇作品中获得开辟,这篇作品欢送大师随便连载,您不妨不写稿者是谁,然而请您写上www.vcroad.net原创,感谢您的扶助)

  作家:金蝶中央件公司cto袁红岗

  人不知,鬼不觉做软硬件仍旧做了十年,有胜利的欣喜,也有波折的苦楚,但总不敢称本人是能手,由于和我心目中真实的能手们比起来,还差的太远。寰球上并没有变成能手的捷径,但少许基础规则是不妨按照的。

  1. 坚固的普通。数据构造、分割数学、编写翻译道理,那些是一切计划机科学的普通,即使不控制她们,很难写出高程度的步调。据我的查看,学计划机专科的人比学其余专科的人更能写出高品质的软硬件。步调大众城市写,但当你创造写到确定水平很难再普及的功夫,就该当想想是否要回过甚来学学那些最基础的表面。不要一发端就去学oop,纵然你再粗通oop,遇到少许基础算法的功夫大概也会不知所措。

  2. 充分的设想力。不要顽强于恒定的思想办法,遇到题目的功夫要多想几种处置题目的计划,试试旁人从没想过的本领。充分的设想力是创造在充分的常识的普通上,除计划机除外,多观赏其余的学科,比方水文、物理、数学之类。其余,多看科学幻想影戏也是一个很好的道路。

  3. 最大略的是最佳的。这大概是一切科学都按照的一条规则,如许搀杂的质能调换道理在爱因斯坦眼底然而是一个大略得不许再大略的公式:e=mc2。大略的本领更简单被人领会,更简单实行,也更简单保护。遇到题目时要优先商量最大略的计划,惟有简片面案不许满意诉求时再商量搀杂的计划。

  4. 不钻牛角尖。当你遇到妨碍的功夫,无妨姑且离开电脑,看看窗外的得意,听听轻音乐,和伙伴聊谈天。当我遇到困难的功夫会去玩游戏,并且是那种极暴力的打架类游戏,当控制游戏的那局部中脑细胞过度兴奋的功夫,控制编制程序的那局部中脑细胞就获得了充溢的休憩。当从新发端处事的功夫,我会创造那些困难此刻果然不妨瓜熟蒂落。

  5. 对谜底的渴求。生人天然科学的兴盛史即是一个渴求获得谜底的进程,纵然只能领会谜底的第一小学局部也犯得着咱们去开销。只有你坚忍信奉,确定要找到题目的谜底,你才会开销精神去探究,纵然结果没有获得谜底,在进程中你也会学好很多货色。

  6. 多与旁人交谈。三中国人民银行必有我师,大概在一次和旁人不经意的说话中,就不妨迸出灵感的火花。多上上钩,看看旁人对同一题目的管见,会给你很大的开辟。

  7. 杰出的编制程序作风。提防养成杰出的风气,代码的缩进编排,变量的定名准则要一直维持普遍。大师都领会怎样废除代码中缺点,却常常忽略了对解释的排错。解释是步调的一个要害构成局部,它不妨使你的代码更简单领会,而即使代码仍旧领会地表白了你的思维,就不用再加解释了,即使解释和代码不普遍,那就越发蹩脚。

  8. 韧性和意志。这大概是"能手"和普遍步调员最大的辨别。a good programming is 99 weat and 1?ffee。能手们并不是天性,她们是在多数个日昼夜夜中检验出来的。胜利能给咱们带来无比的欣喜,但进程却是无比的枯燥无味。你无妨做个尝试,找个10000以内的素数表,把它们全都抄下来,而后再查看三遍,即使不妨不中断地实行这一处事,你就不妨满意这一条。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.