??xml version="1.0" encoding="utf-8" standalone="yes"?>伊人国产在线,成人免费高清观看,在线视频专区 http://www.aygfsteel.com/rendong/category/13807.htmlzh-cn Fri, 02 Mar 2007 07:17:12 GMT Fri, 02 Mar 2007 07:17:12 GMT 60 一位大四学生的面试l历和体会(http://www.best-code.com/favorite/articles/80.aspxQ?/title> http://www.aygfsteel.com/rendong/archive/2006/08/05/61943.htmlrendong rendong Sat, 05 Aug 2006 07:10:00 GMT http://www.aygfsteel.com/rendong/archive/2006/08/05/61943.html http://www.aygfsteel.com/rendong/comments/61943.html http://www.aygfsteel.com/rendong/archive/2006/08/05/61943.html#Feedback 1 http://www.aygfsteel.com/rendong/comments/commentRss/61943.html http://www.aygfsteel.com/rendong/services/trackbacks/61943.html <a >www.best-code.com</a> 我要说的分成三部分Q? 1.是我面试的具体经q? 2.是由面试惛_? 3.C我应该做的? 当然q些话很大程度上是我个h的意见,不可能完全得到大家的赞同Q所以 在某些观点上如果哪位朋友觉得跟我的有很大出入,请不要介意,也不要对我攻击,当我 没有说q,Ƣ迎和我联系共同探讨q些问题Q我的EMAIL:wutao8@263.net 1.面试l过 大约在年前我接到了台湄?Realtek)苏州公司的面试通知Q通知??1日到苏州工业园区面试Q接到面试后的几天我把一些专业课温习了一遍,特别是C++和数据结构,׃大学几年里,我一直专研这些方面,加上通过了高U程序员的考试Q对于一些常用的法我差不多也 达C烂熟于胸的地步,当时的感觉是如果问了我这些方面的问题我应该是没有问题的! 21日那天我被安排在4Q?0面试Q由一位技术h员单独给我面试,在问了一些简单的问题之后 ,他给我出了一道编E题目,题目是这LQ? (׃具体面试的题目比较烦琐,我将其核心思想提取出来分解成……(qQ ? 1) 写一个函数计当参数为n(n很大)时的值 ?-2+3-4+5-6+7......+n |我的心里L一壎ͼ没想到这么简单,我有点紧张的心情时放松hQ ? 于是很快我给出我的解法: 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; } 搞定Q当我用期待的目光看着面试官的时候,他微W着跟我_执行l果肯定是没有问题! 但当n很大的时候我q个E序执行效率很低Q在嵌入式系l的开发中Q程序的q行效率很重要 ,能让CPU执行一条指令都是好的,他让我看看这个程序还有什么可以修改的地方Q把E序 优化一下!听了q些话,我的心情当时变的有点沉重Q没惛_他的要求很严|之后我对E序 q行了严格的分析Q给Z改进了的ҎQ ? 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; } 虽然我不敢保证我q个法是最优的Q但是比起上一个程序,我将所有涉及到乘法指o的语 句改为执行加法指令,既达到要题目的要求而且q算旉上羃短了很多Q而代价仅仅是增加了 一个整型变量!但是我现在的信心已经受了一Ҏ击,我将信将疑的看者面试官Q他q是微笑 着跟我_“不错,q个E序实在效率上有了很大的提高!”我心里一阉|喜!但他接着说这个程序仍然不能达C的要求,要我l出更优的方案!天啊Q还有优化!我当时真的有点崩 溃了Q想了一会后Q我h他给Z的方案!然后他很爽快的给Z他的E序Q ? 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; } 搞笑Q当时我目瞪口呆Q没惛_他是q个意思,q么单的代码我真的不会写吗,但是我ؓ 什么没有往那方面上惛_Q他说的没有错,在n很大很大的时候这三个E序q行旉的差别简 直是天壤之别Q当我刚惛_口说点什么的时候,他却先开口了Q“不要认为CPUq算速度快就 把所有的问题都推l它dQ程序员应该代码优化再优化Q我们自p做的决不要让CPU做 ,因ؓCPU是ؓ用户服务的,不是为我们程序员服务的!”多么精辟的语言Q我已经不想再说 什么了Q接着是第二个问题Q ? 他要求我用一U技巧性的~程Ҏ来用一个函数实C个函数的功能n为如Q? 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)实现Q当flag?时 ,实现fn1功能Q如果flag?时实现fn2功能Q他的要求还是效率,效率Q效率!说实在话Q 如果我心情好的话我应该能给ZU比较好的算法,但我那时真的没有什么心思再想了Q? 我在 U怸胡ؕM一些诸?!=6*5!的公式后直截了当的跟他说要他l出他的{案Q面试官也没有 说什么,l出了他的思\Q? 定义一个二l数l float t[2][5]存入[2!,3!,4!,5!,6!},{5! ,6! ,7!,8!,9!]然后l出一个@环: for(i=0;i<6;i++) { temp=temp+n/t[flag][i]; } 最后得到计|呵呵Q典型的I间换时间的法Q ? q些d׃50分钟的时_q有十分钟我p他很随意的聊聊天Q聊了一些编E以及生z 的问题Q那时的我已l很放松了,因ؓ我知道这ơ面试结果只有一个:p|?:30的时候面试官要我{通知Q于是我d了他们公司。这是面试的整个经q! 2.由面试想到的 真的是很p|啊!我记得那天下好大的雨Q气温也很低Q我边走ҎQ从5:30一直走?:30 Q全w都湉K了Q又冷又饿,但是我只是一直走Q脑子里面充满了疑惑Q我也想让雨把自己淋 醒!看到q里有些朋友可能觉得那些面试题目不算什么如果让自己做的话肯定能全部{对Q我 肯定怿你,因ؓ我从未怀疑过中国E序员的能力Q我认ؓ中国有世界上最好的E序员,我也 从未认ؓ自己是高手,所以我做不出来不代表中国程序员比台湾或者别的地方的E序员差Q所 以我׃我的角度Q我的所见所x谈一些感惻I 不错全世界都有优U的程序员Q中国也不例外,但是我疑惑的是:到底中国和台湾或者国外 的优秀的程序员的比例到底是多少Q台湾我不知道,中国100个程序员里有几个是优U的呢?我 根本算不上Q从上面的表现就以说明一切了Q是1个?5个?10个?50个?q个数字我不敢ؕ 猜,恐遭|友一痛骂,那么我们国内有多h学习计算机呢Q拿我们学校来说Q计机97U ?个班Q?8U?个班Q?9U?0个班Q?000U?7个班Qh多了Q老师怎么办?我们学校的做法是让 研I生上课Q然后呢Q补考一抓一大把Q大把大把的补考费落入了学校的口袋Q还说现在的学 ? 生素质低Q真是好W,我都不知道学校这么做是ؓ了什么,为国内培d量的E序员吗Q学生 们能真正学到计机知识吗?好了Q我敢讲Q在我们学校学习~程学生和优UE序?注意我 指的是优秀Q只会编几个p烂E序的h不?的比例应该是100:0.1 在这U比例下虽然我们中国学习~程的h铺天盖地Q但是想x多少个h能真正ؓ中国软g 业发展作A献,有多h能真正写ZU的程序名扬v外! 我从学习~程以来Q不是自学q是老师指导Q从来都是解决问题就好,~出E序来就行, 我的疑惑是:我们有真正的q程序的效率Q程序的质量吗?我们有仔l分析过我们写的东 西Q看看有没有可以改进的地方,看看有没有简单的Ҏ来达到同L目的呢?我问心自问, 我发玎ͼ我从来没有对我写出来的程序进行过优化Q最多就是进行详l的试Q然后DebugQ 但是这p够了吗?q些天我偶尔发现我曾l写q的一个游戏,那是一q做为 其中一员时候,感觉应该拿点东西出来Q然后花了一个星期的旉写出来的Q程序不复杂, 但是用到了不数据结构的东西Q也用到了一些精彩的法Q加上windows的界面和游戏的可 玩性,写完后受C不少好评Q我当时真的很佩服自己!但是现在看呢Q没有一句注释,好多 丑陋的函数名比如Qvoid chushihua()Q好多没有必要的变量Q可以用单语句完成工作的我 用华丽的法Q大量用全局变量.....,说不好听的话Q六癑֤行的E序除了能运行之外就 是一陀屎!如果一q前我能听到一些反面意见的话,大概我能早一点觉悟,但是自原代码在 网站发布以来听到的都是赞美之词Q没有一个h向我提出E序改进的意见,q又说明了一个什 么问题呢Q很值得思考啊Q ? q有一个疑惑是Q我们说的和做的真的一样吗Q我在学校的时候曾l受学院指派承办q一个 计机大赛Q请了一个老师出决赛的题目Q主要是一些算法题目,q个老师可能是我上大学以 来唯一敬佩的老师了,从程序调试到打分Q对于每个程序都仔细分析其时间效率和I间效率Q 然后综合打分,四十个h的卷子,老师从下午三点一直调试到晚上十点Q在有些写的_ֽ的语 句后q加上批注。我真是高兴很遇到这L老师q且和他做深入的交流Q但在事后,却发生了 一件不愉快的事Q在比赛中获得第二名的学生找到我Q说他程序全部调试成功应该给他满分, q且应该得第一Q我说不q他Q最后调Z他的原程序和W一名的原程序对比,错,两个E 序都运行的很好Q这Ӟ那个同学开口了Q“我的程序写的十分简h了,仅仅数行完成了 题目要求Q而他的却写了一大堆Qؓ什么给他的分多q给我的分。”我当时很是气愤Q如果不 是老师负责的话Q那么现在第一名和W二名的位置真的要互调了Q拜托,不是E序的行数越 程序的质量p高,我记得我跟他大谈q方面的道理Q最后说服他了!哈哈Q但是我Q只能说 说而已Q我不知道还有多h一P说v来头头是道,但心里却压根׃未重视过它! 3.我打做的! 其实那天我想到的q不止上面那么多Q但是我不想再说了,因ؓ我猜想看q篇文章的网友大 概都有一肚子的感惻I一肚子的抱怨,借用q篇文章发泄可不是我惌到的目的Q在上面我把 自己骂的一文不g不是妄自菲薄Q但是在某些斚w我真的做错了Q或者说是偏M正确方向 Q现在是矫正方向和重整旗鼓的时候了Q就象我前面说过的,我相信中国有世界上最好的E序 员,我也怿我的水^不会一直保持现Ӟ我现在就收拾L骚真正的实干hQ 真的很巧,写到这里的时候我在网上偶发Cq篇手册Q我不知道这预示着什么,但是 我想如果我照下面q个基本原则一直踏实做下去Q我一定会实现我的理想---一名优U的Y件设计师! Q下面这些文字不是我的原创,是我偶尔在网上发现的Q我真的很幸q能看到q些Q这文 章也随着下面的文字而结束,我真心的希望您能从这文章中得到启发,q篇文章Ƣ迎大家随 意转蝲Q) 作者:金蝶中间件公司CTO袁红岗 ? 不知不觉做Y件已l做了十q_有成功的喜悦Q也有失败的痛苦Q但M敢称自己是高手, 因ؓ和我心目中真正的高手们比hQ还差的太远。世界上q没有成为高手的捷径Q但一些基 本原则是可以遵@的。 ? 1. 扎实的基。数据结构、离散数学、编译原理,q些是所有计机U学的基Q如果 不掌握他们Q很隑ֆ出高水^的程序。据我的观察Q学计算Z业的人比学其他专业的人更q 写出高质量的Y件。程序h人都会写Q但当你发现写到一定程度很隑ֆ提高的时候,应该想 x不是要回q头来学学这些最基本的理论。不要一开始就dOOPQ即使你再精通OOPQ遇刊W 一些基本算法的时候可能也会束手无{。 ? 2. 丰富的想象力。不要拘泥于固定的思维方式Q遇到问题的时候要多想几种解决问题的 方案,试试别h从没惌的方法。丰富的惌力是建立在丰富的知识的基上,除计机以外 Q多涉猎其他的学U,比如天文、物理、数学等{。另外,多看U电媄也是一个很好的途径 。 ? 3. 最单的是最好的。这也许是所有科学都遵@的一条准则,如此复杂的质能互换原理 在爱因斯坦眼里不过是一个简单得不能再简单的公式QE=mc^2。简单的Ҏ更容易被人理解, 更容易实玎ͼ也更Ҏl护。遇到问题时要优先考虑最单的ҎQ只有简单方案不能满 求时再考虑复杂的方案。 ? 4. 不钻牛角。当你遇到障的时候,不妨暂时q离电脑Q看看窗外的风景Q听听轻ꐠ 乐Q和朋友聊聊天。当我遇到难题的时候会ȝ游戏Q而且是那U极暴力的打斗类游戏Q当负 责游戏的那部分大脑l胞极度亢奋的时候,负责~程的那部分大脑l胞得C充分的休息。 当重新开始工作的时候,我会发现那些N现在竟然可以q刃而解。 ? 5. 对答案的渴求。hc自然科学的发展史就是一个求得到答案的q程Q即使只能知道 答案的一部分也值得我们M出。只要你坚定信念Q一定要扑ֈ问题的答案,你才会付出精 力去探烦Q即使最后没有得到答案,在过E中你也会学到很多东ѝ ? 6. 多与别h交流。三必有我师Q也许在一ơ和别h不经意的谈话中,可以迸出灵 感的火花。多上上|,看看别h对同一问题的看法,会给你很大的启发。 ? 7. 良好的编E风根{注意养成良好的习惯Q代码的~进~排Q变量的命名规则要始l保 持一致。大安知道如何排除代码中错误,却往往忽视了对注释的排错。注释是E序的一个重 要组成部分,它可以你的代码更容易理解,而如果代码已l清楚地表达了你的思想Q就不必 再加注释了,如果注释和代码不一_那就更加p糕。 ?www.best-code.com 8. 韧性和毅力。这也许?高手"和一般程序员最大的区别。A good programming is 99 weat and 1ffee。高手们q不是天才,他们是在无数个日日夜夜中练出来的。成功能l 我们带来无比的喜悦Q但q程却是无比的枯燥乏呟뀂你不妨做个试Q找?0000以内的素敊W 表Q把它们全都抄下来,然后再检查三遍,如果能够不间断地完成q一工作Q你可以满 一条。 ? q些是我q几q程序员生的一点体会,希望能够l大家有所帮助? ]]>
վ֩ģ壺
|
|
պ |
|
|
|
|
|
|
|
|
º |
|
|
|
ͨ |
|
|
ͨ |
|
|
|
|
|
|
ƽ |
|
żҿ |
|
|
ղ |
|
Ԫ |
|
|
ʯʨ |
|
˴ |
ˮ |
ͨ |
|