PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   關於C/C++,有比較適合的面試問題嗎? (https://www.pcdvd.com.tw/showthread.php?t=954078)

怒火燒盡九重天 2011-12-31 10:16 PM

引用:
作者darkangel
如果面試者是"熟" C/C++.
我覺得樓主問的題目太簡單!


所以我才納悶,一般所謂的"熟悉C/C++",到什麼
程度才算。假如由暗黑兄出面試題分別考資淺跟資深
人員,會出什麼題目呢?

我有遇過自稱寫過幾萬行程式的人。問他用到哪些資
料結構(寫大程式很難不碰到這個吧?)。他竟然對資
料結構毫無概念。

還有的人遇到程式需要使用大量變數,是用這樣的寫
法:
void main( void ) {
int x[100000];
...
}
或是
int x[100000];
void main( void ) {
...
}
空間不夠用時怎麼辦?改成200000然後再compile
一次。這樣寫也是"會動"啊。你也不能說不對,只不
過沒有記憶體空間回收,浪費一些記憶體而已。

FlameJoker 2011-12-31 10:19 PM

引用:
作者怒火燒盡九重天
1. extern "C" { ... }的作用
2. 什麼是STL?
3. C語言如何安排字串存在記憶體?這種方法有什麼缺點?


接觸C++快十年
大大小小的程式多多少少寫過幾支...
可我也不會 :laugh:

個人的想法是
只要是可以查得到都不需要拿出來做題目
你總不會禁止員工上網查資料吧?
請應徵的人拿兩三個作品的code來看看比較快
順便請他概略說明一下程式功能
另外前面有人提到請他看一份簡單的code也是個辦法
這兩種方式多少可以看出功力

xxxxxxtsai 2011-12-31 10:24 PM

引用:
作者怒火燒盡九重天
還有的人遇到程式需要使用大量變數,是用這樣的寫
法:
void main( void ) {
int x[100000];
...
}
或是
int x[100000];
void main( void ) {
...
}
空間不夠用時怎麼辦?改成200000然後再compile
一次。這樣寫也是"會動"啊。你也不能說不對,只不
過沒有記憶體空間回收,浪費一些記憶體而已


RAM 現在一條才多少錢啊??


:laugh: :laugh: :laugh: :laugh: :laugh: :laugh:

passerx 2011-12-31 10:25 PM

引用:
作者怒火燒盡九重天
.....
還有的人遇到程式需要使用大量變數,是用這樣的寫
法:
void main( void ) {
int x[100000];
...
}
或是
int x[100000];
void main( void ) {
...
}
空間不夠用時怎麼辦?改成200000然後再compile
一次。這樣寫也是"會動"啊。你也不能說不對,只不
過沒有記憶體空間回收,浪費一些記憶體而已。




其實這也沒什麼不對要看用在哪裡, 如果是速度第一的系統用array確實是最快的.


:think:

怒火燒盡九重天 2011-12-31 10:34 PM

引用:
作者xxxxxxtsai
RAM 現在一條才多少錢啊??


假如這個程式是要release給客戶用的,客戶run程式
發現用超過當初用"常數"宣告的100000個空間,那
要怎麼辦?請客戶不要用超過100000嗎?還是我們
再改成200000 update給客戶?

SaSaYa 2011-12-31 11:07 PM

引用:
作者怒火燒盡九重天
假如這個程式是要release給客戶用的,客戶run程式
發現用超過當初用"常數"宣告的100000個空間,那
要怎麼辦?請客戶不要用超過100000嗎?還是我們
再改成200000 update給客戶?


永遠有不同的需求,

之前有客戶要求的程式不準有遞回,

後來交出程式後發現印度人還是用了遞回,當場退回要他們賠款

xxxxxxtsai 2011-12-31 11:14 PM

引用:
作者怒火燒盡九重天
假如這個程式是要release給客戶用的,客戶run程式
發現用超過當初用"常數"宣告的100000個空間,那
要怎麼辦?請客戶不要用超過100000嗎?還是我們
再改成200000 update給客戶?


保固內改,過保收費 :cool: :cool: :cool: :cool: :cool:

FlameJoker 2011-12-31 11:35 PM

引用:
作者xxxxxxtsai
保固內改,過保收費 :cool: :cool: :cool: :cool: :cool:

標準答案 :laugh: :laugh: :laugh: :laugh:

SaSaYa 2011-12-31 11:45 PM

引用:
作者怒火燒盡九重天
所以我才納悶,一般所謂的"熟悉C/C++",到什麼
程度才算。假如由暗黑兄出面試題分別考資淺跟資深
人員,會出什麼題目呢?

我有遇過自稱寫過幾萬行程式的人。問他用到哪些資
料結構(寫大程式很難不碰到這個吧?)。他竟然對資
料結構毫無概念。

還有的人遇到程式需要使用大量變數,是用這樣的寫
法:
void main( void ) {
int x[100000];
...
}
或是
int x[100000];
void main( void ) {
...
}
空間不夠用時怎麼辦?改成200000然後再compile
一次。這樣寫也是"會動"啊。你也不能說不對,只不
過沒有記憶體空間回收,浪費一些記憶體而已。


有各經驗分享,某人的程式經過十年的使用後出現記憶體不足的關係需要修改


這各歷史遺跡就給新來的菜鳥去接

這菜鳥想也沒想,就開始看程式,才發現經過十年留存的程式源代碼早就七零八落,也不確定是不是當初的最後版

看了個把月也沒搞定,

問了客戶,為何十年後才發生這各問題,客戶也說不上來,總之就是現在執行就會出現記憶體不足的訊息,

於是申請出差跑到客戶那邊去看環境

看了才發現,,客戶用的電腦還是386 -486時代的電腦

而最近客戶導入新的網路程式,調整過電腦記憶體的配置,把網路的程式調上去,自然死其他應用程式,其他廠商完全不鳥這種問題,

這菜鳥也很天,花了三天時間不斷修改程式,還是搞不定,最終他換了編譯器搞定

這件事說明什麼? 客戶一毛錢也沒給,公司賠出差費,賠薪資,菜鳥花腦力,換來一場空

怒火燒盡九重天 2011-12-31 11:49 PM

引用:
作者xxxxxxtsai
保固內改,過保收費 :cool: :cool: :cool: :cool: :cool:


又學到一招了。真是I服了U。 :yeah:


所有的時間均為GMT +8。 現在的時間是07:48 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。