自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大四畢業(yè)生的程序員面試經歷和體會

企業(yè)動態(tài)
大四畢業(yè)生講述在臺灣瑞晟(Realtek)蘇州公司的面試經歷,總結了自己的面試體會。

1.面試經過

大約在年前我接到了臺灣瑞晟(Realtek)蘇州公司的面試通知,通知我2月21日到蘇州工業(yè)園區(qū)面試,接到面試后的幾天我把一些專業(yè)課溫習了一遍,特別是C++和數(shù)據(jù)結構,由于大學幾年里,我一直專研這些方面,加上通過了高級程序員的考試,對于一些常用的算法我差不多也達到了爛熟于胸的地步,當時的感覺是如果問了我這些方面的問題我應該是沒有問題的!

21日那天我被安排在4:30面試,由一位技術人員單獨給我面試,在問了一些簡單的問題之后 ,他給我出了一道編程題目,題目是這樣的:

1) 寫一個函數(shù)計算當參數(shù)為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;

}

搞定!當我用期待的目光看著面試官的時候,他微笑著跟我說,執(zhí)行結果肯定是沒有問題!但當n很大的時候我這個程序執(zhí)行效率很低,在嵌入式系統(tǒng)的開發(fā)中,程序的運行效率很重要,能讓CPU少執(zhí)行一條指令都是好的,他讓我看看這個程序還有什么可以修改的地方,把程序優(yōu)化一下!聽了這些話,我的心情當時變的有點沉重,沒想到他的要求很嚴格,之后我對程序進行了嚴格的分析,給出了改進了的方案!

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;

}

雖然我不敢保證我這個算法是***的,但是比起上一個程序,我將所有涉及到乘法指令的語句改為執(zhí)行加法指令,既達到要題目的要求而且運算時間上縮短了很多!而代價僅僅是增加了一個整型變量!但是我現(xiàn)在的信心已經受了一點打擊,我將信將疑的看者面試官,他還是微笑著跟我說:“不錯,這個程序確實在效率上有了很大的提高!”我心里一陣暗喜!但他接著說這個程序仍然不能達到他的要求,要我給出更優(yōu)的方案!天??!還有優(yōu)化!我當時真的有點崩潰了,想了一會后,我請求他給出他的方案!然后他很爽快的給出了他的程序!

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運算速度快就把所有的問題都推給它去做,程序員應該將代碼優(yōu)化再優(yōu)化,我們自己能做的決不要讓CPU做,因為CPU是為用戶服務的,不是為我們程序員服務的!”多么精辟的語言,我已經不想再說 什么了!接著是第二個問題:

他要求我用一種技巧性的編程方法來用一個函數(shù)實現(xiàn)兩個函數(shù)的功能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!

現(xiàn)在用一個函數(shù)fn(int n,int flag)實現(xiàn),當flag為0時 ,實現(xiàn)fn1功能,如果flag為1時實現(xiàn)fn2功能!他的要求還是效率,效率,效率!說實在話,如果我心情好的話我應該能給出一種比較好的算法,但我那時真的沒有什么心思再想了,我在紙上胡亂畫了一些諸如6!=6*5!的公式后直截了當?shù)母f要他給出他的答案!面試官也沒有說什么,給出了他的思路:

定義一個二維數(shù)組 float t[2][5]存入[2!,3!,4!,5!,6!},{5! ,6! ,7!,8!,9!]然后給出一個循環(huán):

for(i=0;i<6;i++)

{

temp=temp+n/t[flag][i];

}

***得到計算值!呵呵,典型的空間換時間的算法!

這些總共花了50分鐘的時間,還有十分鐘我就跟他很隨意的聊聊天,聊了一些編程以及生活的問題,那時的我已經很放松了,因為我知道這次面試結果只有一個:失敗。5:30的時候面試官要我等通知,于是我離開了他們公司。這就是面試的整個經過!

2.由面試想到的

真的是很失敗?。∥矣浀媚翘煜潞么蟮挠?,氣溫也很低,我邊走邊想,從5:30一直走到7:30 ,全身都濕透了,又冷又餓,但是我只是一直走,腦子里面充滿了疑惑,我也想讓雨把自己淋醒!看到這里有些朋友可能覺得那些面試題目不算什么如果讓自己做的話肯定能全部答對,我肯定相信你,因為我從未懷疑過中國程序員的能力,我認為中國有世界上***的程序員,我也從未認為自己是高手,所以我做不出來不代表中國程序員比臺灣或者別的地方的程序員差,所以我就從我的角度,我的所見所想來談一些感想:

不錯全世界都有優(yōu)秀的程序員,中國也不例外,但是我疑惑的是:到底中國和臺灣或者國外的優(yōu)秀的程序員的比例到底是多少?臺灣我不知道,中國100個程序員里有幾個是優(yōu)秀的呢?我根本算不上,從上面的表現(xiàn)就足以說明一切了!是1個?5個?10個?50個?這個數(shù)字我不敢亂猜,恐遭網(wǎng)友一頓痛罵,那么我們國內有多少人學習計算機呢?拿我們學校來說,計算機97級 4個班,98級5個班,99級10個班,2000級17個班,人多了,老師怎么辦?我們學校的做法是讓研究生上課,然后呢?補考一抓一大把,大把大把的補考費落入了學校的口袋,還說現(xiàn)在的學生素質低!真是好笑,我都不知道學校這么做是為了什么,為國內培養(yǎng)大量的程序員嗎?學生們能真正學到計算機知識嗎?好了,我敢講,在我們學校學習編程學生和優(yōu)秀程序員(注意我指的是優(yōu)秀,只會編幾個糟爛程序的人算不上)的比例應該是100:0.1 在這種比例下雖然我們中國學習編程的人鋪天蓋地,但是想想有多少個人能真正為中國軟件業(yè)發(fā)展作出貢獻,有多少人能真正寫出優(yōu)秀的程序名揚海外!

我從學習編程以來,不管是自學還是老師指導,從來都是解決問題就好,編出程序來就行,我的疑惑是:我們有真正的強調過程序的效率,程序的質量嗎?我們有仔細分析過我們寫的東西,看看有沒有可以改進的地方,看看有沒有簡單的方法來達到同樣的目的呢?我問心自問,我發(fā)現(xiàn),我從來沒有對我寫出來的程序進行過優(yōu)化,最多就是進行詳細的測試,然后Debug, 但是這就足夠了嗎?

這些天我偶爾發(fā)現(xiàn)我曾經寫過的一個游戲,那是一年做為其中一員時候,感覺應該拿點東西出來,然后花了一個星期的時間寫出來的!程序不算復雜,但是用到了不少數(shù)據(jù)結構的東西,也用到了一些精彩的算法,加上windows的界面和游戲的可玩性,寫完后受到了不少好評,我當時真的很佩服自己!

但是現(xiàn)在看呢:沒有一句注釋,好多 丑陋的函數(shù)名比如:void chushihua(),好多沒有必要的變量,可以用簡單語句完成工作的我使用華麗的算法,大量使用全局變量.....,說不好聽的話,六百多行的程序除了能運行之外就是一陀屎!如果一年前我能聽到一些反面意見的話,大概我能早一點覺悟,但是自原代碼在網(wǎng)站發(fā)布以來聽到的都是贊美之詞,沒有一個人向我提出程序改進的意見,這又說明了一個什 么問題呢?很值得思考??!

還有一個疑惑是:我們說的和做的真的一樣嗎?我在學校的時候曾經受學院指派承辦過一個計算機大賽,請了一個老師出決賽的題目,主要是一些算法題目,這個老師可能是我上大學以來唯一敬佩的老師了,從程序調試到打分,對于每個程序都仔細分析其時間效率和空間效率,然后綜合打分,四十個人的卷子,老師從下午三點一直調試到晚上十點,在有些寫的精彩的語句后還加上批注。我真是高興很遇到這樣的老師并且和他做深入的交流,但在事后,卻發(fā)生了一件不愉快的事,在比賽中獲得第二名的學生找到我,說他程序全部調試成功應該給他滿分,并且應該得***,我說不過他,***調出了他的原程序和***名的原程序對比,錯,兩個程序都運行的很好,這時,那個同學開口了:“我的程序寫的十分簡捷明了,僅僅數(shù)行就完成了題目要求,而他的卻寫了一大堆,為什么給他的分多過給我的分?!蔽耶敃r很是氣憤,如果不是老師負責的話,那么現(xiàn)在***名和第二名的位置真的要互調了,拜托,不是程序的行數(shù)越少程序的質量就越高,我記得我跟他大談這方面的道理,***說服他了!哈哈,但是我,只能說說而已,我不知道還有多少人一樣,說起來頭頭是道,但心里卻壓根就從未重視過它!

文章鏈接:http://blog.sina.com.cn/s/blog_573be9bc0100c7eh.html

【編輯推薦】

  1. 軟件工程師7天13家公司面試經歷
  2. 大學生細述應聘IBM筆試面試全過程
  3. 面試狂人點評22家軟件公司
責任編輯:張攀 來源: 新浪博客
相關推薦

2009-02-26 10:33:08

面試求職計算機專業(yè)

2009-03-25 09:39:22

華為面試求職

2009-09-02 13:19:40

應屆畢業(yè)生北京求職

2009-08-24 09:24:43

2012-12-26 16:02:00

應屆畢業(yè)生面試策略

2009-02-16 10:04:39

畢業(yè)生面試經驗

2015-04-08 10:57:15

程序員程序員四年經歷

2019-12-31 09:39:41

機器學習人工智能計算機

2010-08-11 10:57:02

offer面試

2014-06-23 09:43:15

JQuery面試

2009-06-16 08:33:46

畢業(yè)生面試訣竅

2010-10-18 11:26:48

職場

2012-12-29 14:29:12

應屆畢業(yè)生求職

2015-08-03 09:33:21

PH程序員一生

2012-12-27 15:14:18

應屆畢業(yè)生簡歷

2022-04-11 00:06:19

開發(fā)服務架構

2010-05-27 10:10:07

職場經驗

2012-12-28 16:15:37

應屆畢業(yè)生面試官校園招聘

2010-05-25 10:44:42

畢業(yè)生求職陷阱
點贊
收藏

51CTO技術棧公眾號