看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《skizzy (活著是件難過的事)》之銘言: : 把我應徵某公司考題的答案在這裡給這邊的大大鞭策 : 使用編譯程式 codeblock : 1. answer: : #include <iostream> : #include <stdlib.h> 這兩行同時引用是新手證明 : using namespace std; 打開std魔獸也是新手證明 : int main() : { : int x,a, b, c, d, h, m; 變數宣告無法一眼看出意義是新手證明 : int t=0; : for (x=0; x<720; x++) : { : h=x/60; : m=x%60; : a=h/10; : b=h%10; : c=m/10; : d=m%10; 這邊 : if (a==b && a==c && a==d ) : { : t++; : cout<<a<<b<<c<<d<<endl; : } : else if (a==b && a==c && a!=d) : { : t++; : cout<<a<<b<<c<<d<<endl; : } : else if (a!=b && a==c && a==d) : { : t++; : cout<<a<<b<<c<<d<<endl; : } : else if(a==b && a!=c && a==d) : { t++; : cout<<a<<b<<c<<d<<endl; : } 這應該可以分成 if (a==b) { if (a==c) { ... } else { ... } } else { ... } : else if(c==b && a!=b && c==d) : { t++; : cout<<a<<b<<c<<d<<endl; : } : } : cout<<t*2<<endl; : cout<<x<<endl; 下面的程式碼輸出有說明,這邊不說明一下嗎? : system("pause"); : return 0; : } : 2.answer: : #include <iostream> : #include <stdlib.h> : #include <stdio.h> : #include <time.h> : using namespace std; 從 include 了解你是新手 又打開 std 地獄,超新 : void randomize() : { : time_t t; : srand((unsigned) time(&t)); time裡面丟0就可以了,你拿到t又沒有用... 一臉新手樣 : } : int main(void) : { : randomize(); : int x,y,z,r; : cout << "請輸入你要出的拳種 0.剪刀,1.石頭,2.布" << endl; : cin>>x; : r=rand(); : y=r%3; : z=x-y; z沒有馬上用到,讓人覺得很新 然後變數叫 z 也讓人覺得很新 : if (x==0) : { : cout <<"你出的是剪刀"<<endl; : } : } 這縮排有錯 : else if (x==1) : { : cout <<"你出的是石頭"<<endl; : } : } : else if (x==2) : { : cout <<"你出的是布"<<endl; : } : } : else : { : cout <<"請輸入0~2的整數"<<endl; : } : if (y==0) : { : cout <<"電腦出的是剪刀"<<endl; : } : } : else if (y==1) : { : cout <<"電腦出的是石頭"<<endl; : } : } : else if (y==2) : { : cout <<"電腦出的是布"<<endl; : } : if (z==0) : { : cout<<"平手"<<endl; : } : else if(z==-2||z==1) : { : cout<<"你贏了"<<endl; : } : else if(z==2||z==-1) : { : cout<<"你輸了"<<endl; : } 這邊的z的判斷可以改成 z= (x+y+2)%3; if (0 == z) 你贏 if (1 == z) 你輸 else 平手 : cout<<r<<endl; : cout<<y<<endl; : return 0; : } : 3.answer: : #include <iostream> : #include <stdlib.h> : #include <stdio.h> : using namespace std; 新手證明四行,不解釋 : int main() : { : int i,max,n; : cout << "X(i)=1,0<=1<=N" << endl; : cout << "Y(n)=X(n)*X(n)-X(n-1)*X(n+1)" << endl; : cout << "0<n<N" << endl; : cout << "N=?" << endl; : cin>> max; : n=max-1; : int x[max],y[max]; VLA => linux 世界證明,你無法在 windows 生存了 : for(i=0;i<max+1;i++) : { : x[i]=1; out of range 超新手證明 連陣列大小都會搞錯 我是主管我一定不讓你碰產品的code : } : for (i=0;i<n;i++) : { : y[i]=(x[i+1]*x[i+1])-(x[i+2]*x[i]); out of range 你快去把 C++ primer plus 6/e 背下來吧~~~ 我給你一個禮拜,沒背下來不要來面試了 : cout<<"y("<<i<<")="<<y[i]<<endl; : } : return 0; : } : 這樣很沒有邏輯 架構嗎? : 感覺很悶... : 是不是接下來的programmer都會被打槍Q_Q 沒錯,太新了 感覺就是沒看什麼書,網路上一些教學文章看過 練過幾個小程式就想來面試 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.175.35
damody:抱歉我只會噹人,不會教人 09/03 12:34
skizzy:沒錢買書 09/03 12:35
看到沒錢買書真的很怒,這根本不是理由 就算是單親家庭也不會拿這個當藉口 去做水泥工一天就可以買一本c++ primer了 或是去 加油站 7-11 做一天也可以 像我衣服都穿最便宜的 吃只求7分飽,能吃 如果一點 決心 毅力 都拿不出來,你還是轉行吧 推薦你去國軍自願役,原因不解釋,以上。
tobygameac:lol 09/03 12:39
※ 編輯: damody 來自: 140.118.175.35 (09/03 12:50)
ken1325:有種東西叫圖書館 09/03 13:03
damody:台灣的圖書館都很讓人失望 09/03 13:07
我上次去台中市立圖書館,裡面幾乎都是10年前的書了, 不管哪個領域都一樣,都超缺書的,放一堆人在裡面吹冷氣浪費電, 而大學進書審書也要三到六個月(一學期),一般路人甲又不能進大學借書。
thinklu:這麼兇幹嘛= =+ 09/03 13:14
沒有兇,是認真、嚴肅,不習慣就抱歉了。
alasa15:有人願意回就很好了 09/03 13:22
TsinTa:感覺不出第1題改成巢狀判斷的好處,第2題z的判斷有點怪 09/03 13:22
jay060191:改成巢狀應該是為了減少重複判斷吧 09/03 13:26
jay060191:例如...原本的if else內..a==b就判斷了好幾次 09/03 13:27
hichcock:雖然很酸...不過如果我看到這種程式碼也會有同樣反應 09/03 13:28
BSpowerx:中肯啊w 09/03 13:35
layarice:對新人來說,某些公司反而不是很在意這個,而是反應能力 09/03 14:10
layarice:語言/習慣都是可以學,但是邏輯跟反應比較吃天份... 09/03 14:12
套LOL台服第一李星 蘭特 的話,當你玩了兩萬場李星後,你的李星自然就會神了! (註:李星為遊戲英雄之一) 他很有打電動的天份嗎?也還好,但他打電動花的時間是大多數人的10~20倍 所以他在電競,你CODING的時間有普通人的10~20倍嗎? 我覺得當你寫了兩萬小時的C++,你的C++自然就會神了 不過原PO是新手需要時間磨練,我一句也沒有說過 PO很廢 之類的話 只是新手,感覺就像滿等1000等,王有800等,他才練100等就想跟團打王 我是團長我會讓他跟嗎? 可是現實中沒有等級寫在頭上。
shadow0326:118果然霸氣 09/03 14:14
saxontai:公司不是學校,語言基礎是自己該搞定的,不是進來公司學 09/03 15:35
說的很對,現在很多人都覺得學校沒教的自己就不用學,這點我很感冒。 ※ 編輯: damody 來自: 140.118.175.35 (09/03 16:53)
azureblaze:面試官可能不會講得這麼難聽,但是內心想的大概就這樣 09/03 16:38
legnaleurc:語氣可以和緩一點, 理直不必氣壯 09/03 16:52
calqlus:本來覺得很酸的一篇文 一句沒錢買書就覺得還是泡王水好了 09/03 17:53
xatier:time() 裡面其實不應該丟 0 而是丟 NULL ... 09/03 17:57
chchwy:插個嘴 個人不推Primer Plus這本書 09/03 18:39
MOONRAKER:考慮上班多少會混起碼要16年才能累積兩萬小時 09/03 18:42
purpose:Primer Plus 問題在哪?語句不通暢,難讀?內容教壞小孩? 09/03 18:43
MOONRAKER:如果以台灣勞工爆肝的程度會比較快啦,可起碼也要六年吧 09/03 18:43
milen:有些大學有開放老百姓借書... 09/03 18:46
milen:不過公立圖書館真的只有人文地理的書能看= = 09/03 18:46
EdisonX:國圖的書教很新耶!不論是工還是商,那裡是查資料的好地方. 09/03 18:48
milen:猜測國圖是只要有新書上市就擺? 09/03 18:48
EdisonX:我不確定國圖是不是新書上市就放,不過要找到三個月內出版 09/03 18:59
EdisonX:的新書應不算難事。 09/03 18:59
TaiwanXDman:同calqlus大...原本想說原po好兇 看到沒錢買書....... 09/03 19:53
xatier:我們學校審書很快耶,兩3個禮拜就會通知說好了XD 09/03 20:38
siriusu:using std來偷懶會被面試官覺得很嚴重喔(愧) 09/03 23:20
COLDTURNIP:拿沒錢買書當理由真的很人很反感 :( 09/03 23:23
james732:真的沒錢買書又很想學,站內信給我,送你一本C++ Primer 09/03 23:26
EdisonX:james 大人真是太好了, 還送書... 09/04 00:37
handsome616:using std為什麼不好?有大大可以解惑一下嗎 09/04 00:49
skizzy:對不起大家 因為心情不好加上應徵的公司是我曾經投稿過論文 09/04 00:54
skizzy:比賽第一名的公司 才會覺得很難過 加上D大語氣有點沖一順 09/04 00:55
skizzy:間就推下去了 目前在外地住在其實不可以住的地方 然後跟家 09/04 00:56
skizzy:裡有點爭執才會想趕快找到比較多薪水的工作 但是也將近兩年 09/04 00:56
skizzy:沒碰C++了 所以不知道自己不足的地方有那麼多 在這邊先跟大 09/04 00:57
skizzy:家嗑頭道歉 <(_ _)> 目前了解了自己的不足 除了想辦法加強 09/04 00:58
skizzy:自己的能力外 也會另外考慮就業的方向 感謝大家的批評與指 09/04 00:59
skizzy:教 讓各位大大動怒真是非常抱歉 09/04 00:59
現在看來也是我的語氣不好在先真是抱歉。 下次我會盡量用和善的語氣來發"鞭策"的文章,以免原po造成誤會。
james732:如果你跟8051很熟的話,應該就可以找到工作了 09/04 01:00
james732:不一定真的要花時間去讀C++ 09/04 01:00
changyuheng:請問您是應屆畢業生嗎?非本科系有這種水準,個人認為 09/04 01:00
changyuheng:很有潛力,不要輕易放棄 09/04 01:01
changyuheng:另外,在有限時間內解決特定問題,要考的應該是思考方 09/04 01:02
skizzy:也沒有很熟耶= = 只有在大學上過一學期的課 09/04 01:03
changyuheng:向、演算法、資料結構和臨場反應,程式架構多看多寫就 09/04 01:04
changyuheng:可以了。有限時間內能寫出沒有 bug 和符合題目要求的 09/04 01:04
changyuheng:複雜度的答案,我覺得這樣就夠了。 09/04 01:05
james732:在實務上符合要求也就算了,沒有bug還真不太容易...XD 09/04 01:12
milkdragon:等等 為什麼iostream跟stdlib一起引用就是新手證明? 09/04 04:24
milkdragon:先不論原原Po是不是有用到,但搞不好有人就想用rand阿 09/04 04:25
milkdragon:還有,在這麼小的程式直接用using namespace std還好吧 09/04 04:26
milkdragon:還是說我哪裡弄錯了?因為我看大家好像沒什麼異議的樣子 09/04 04:28
purpose:樓上說的我都同意。 沒異議,因為這都只是小節而已 09/04 04:45
purpose:誰對誰錯,都影響不了大局,沒有深入討論的必要 09/04 04:45
好習慣是日積月累的,實力是內化在日常生活中的, 我想面試考的這麼簡單,就是想從這些小地方去猜測應測者的實力, 邏輯的架構可以靠延長專案的時間慢慢改善,可是習慣這種東西需要日積月累, 就是不應惡小而為之,不應善小而不為。 記得有位程式優化高手,忘了是誰了,說過: 程式優化的重點不是在瓶頸,在瓶頸優化誰都會, 重點是瓶頸優化完了之後執行時間平均的分佈在各個模組後, 速度還是不夠快,還是需要優化, 這需要好的程式架構,更需要好的程式習慣養成。 總之!!! 不能因為插隊好爽就在LOL G1插隊,代表台灣的公民訓練還要加強,啊啊啊!!! 我想不能因為是小程式,就不把正確的好習慣帶上, 這樣的人主管怎麼會放心讓他寫大程式,您說是吧? 所謂齊家而能治國,連自己的家庭都管不好,還有能力管國家嗎? 連小程式都寫不好,怎麼寫一個穩健安全有效率的大系統? 不能因為只是小RD就覺得SA、SD的知識沒有用,而不去學習自修, 如果台灣每個人都這樣想,台灣怎麼會進步?
milkdragon:哈哈 我只是怕以後有新手指著那幾行笑別人是新手^^" 09/04 04:57
milkdragon:也就是怕有人被誤導而已 畢竟這篇讓人印象很深刻阿... 09/04 04:58
※ 編輯: damody 來自: 114.37.90.110 (09/04 05:19)
purpose:好習慣的話,那你的二元運算子程式風格怎麼不先好習慣的 09/04 05:57
purpose:統一呢,看是要固定留白,還是不留白。怎麼會寫 z= (x 09/04 05:58
purpose:要嘛 z=(x+y+2)%3; 要嘛 z = (x + y + 2) % 3; 09/04 05:59
Bencrie:不然 GD 板提到的遊戲程式碼給大家膜拜一下好了 XD 09/04 09:15
shadow0326:我認識的許許多多人都可以很"習慣"的區分出哪些style是 09/04 11:02
shadow0326:寫大project或產品要嚴守的,哪些是寫小程式可以偷懶的 09/04 11:02
samuelcdf:簡單地說, 有人就是不符合他的code style就說別人新手 09/04 12:01
samuelcdf:統一就好, 你的code style不等於我的, 重要的是入境隨俗 09/04 12:01
kikiqqp:國圖書籍無法外借,基本上應該要改名為國家閱書館 09/04 12:21
v7q4:邊看邊笑XD 09/04 12:38
damody:感謝purpose指教 09/04 15:33
damody:回samuelcdf除了那個if判斷以外,其它的地方都是會有編譯 09/04 15:34
damody:錯誤的可能的code 像是using std 跟 include 錯誤的標頭檔 09/04 15:35
damody:變數宣告命名的不清楚也是產生bug的一個來源 09/04 15:45
damody:回Bencrie我一直放在網路上 http://0rz.tw/xAfdb 09/04 16:25
damody:不過不用膜拜,還需要大家一起來指教改進、教學相長 09/04 16:26
Bencrie:傷心 ... D3D based 不能跑 orz 09/04 16:48
firejox:圖書館不錯呀 可以複習基礎知識XD 09/04 18:29
firejox:不過第二題還是說明詳細比較好喔~ 09/04 18:30
john0312:其實我覺得學寫程式可以不用看書耶. 網路上Tutorial很多. 09/05 00:10
damody:書裡面學的比較系統完整,比較不會只知其一不知其二 09/05 23:08