[心得] 程式設計師應該懂多少?
雖然經歷一波不景氣的光景,不過公司軟體業務也的確發生人力不足的現象,
需要補充新血以免日後軟體問題導致出貨延遲。敝公司軟體部門乃是使用C /
C++與MFC搭配開發Windows Application。功能大多圍繞在公司出品的IC相關
應用上。
以上是前因,因為公司不大,基於老闆先存活再談永續經營理念...當然是要找
即戰力囉。不過大家內心也有數,要找到100%相關工作經驗的即戰力機率是
微乎其微。心中把標準稍稍放低,只要懂C / C++,不用我來教變數宣告、指
標、函數宣告...等等就謝天謝地了。Windows Programming只要懂得Message
Routing, Procress / Thread等一點點粗淺的觀念即可。MFC當然是用過就可
以了。
基於以上原則,履歷千挑萬選,剛畢業的不能挑,公司小沒完善的教育訓練,
不應該叫人跳進來這個火坑誤人子弟嘛^_^ 沒寫過C / C++的一堆MIS或ERP相關
經驗的也不敢叫,雖然Java, C#和C++有九成像,但是我們用的MFC和J2EE還有
.Net也差異太大了,還是不敢叫。於是乎挑出了幾個有在大廠(有上市上櫃就算)
寫過一些測試程式或產測程式,有兩三年經驗的人來面試看看。
面試不外乎先問問對方經歷,寫過哪些東西,用什麼工具、遭遇過的困難等等。
然後介紹一下自己公司的職位需要的技能和工作內容等等。到這裡為止都還OK,
面試者都能洋洋灑灑的應對。然後就是在下最重視的重頭戲了,專業評估。
Q: 下面這段程式有沒有什麼問題?
void fun(int* ptr)
{
ptr = new int[2];
}
int main()
{
int *ptr = NULL;
fun(ptr);
ptr[1] = 1;
ptr[2] = 2;
printf("%d %d", ptr[1], ptr[2]);
return 0;
}
這個程式很短也沒啥實際功能,我覺得不是很好的範例程式,不過面試時間不長,
要盡量了解一下對方的C語言底子,所以只好把一堆錯誤都塞進一個程式裡。
不過重點是,這程式可是編譯得過呢~(因為有人回答他語法錯誤)
我期待中的粗淺的Programmer起碼會看出「有使用new配置記憶體,卻沒delete釋放」
「C語言是zero base陣列宣告大小為2的不能索引到[2]」,我想有點程度的應該還能回答
C語言都是傳值呼叫,所以配置好的指標空間無法回傳。
我還想看得出錯誤的人還可以討論怎麼修改會比較好...
以上預想的劇本都沒出現過,回答有:
A1:這程式會編譯不過吧,那是指標不能用ptr[1]。
A2:這程式沒有錯。
A3:......(沉默無言)
我真的不相信這一題這麼難,所以我引導一下。
提示:你覺得new之後要做什麼?
A1:沒用過new。
A2:不知道。
A3:new是什麼指令?
我暈,好吧他們可能是沒寫過C++,所以我換一個問法。
Q:你有用過malloc和free嗎?
A1:沒有。
A2:......(無言)
A3:不熟
好吧,或許你們都用C++ Builder或.Net,有好用的data structure class可以用,
所以我改問...
Q:當有不定資料長度的資料要儲存時,你會使用什麼方法。
A:不定長度?
Q 補充道:就是一開始不知道需要多大空間,要動態配置的啊。
A:不是寫程式時就知道大小了嗎?
Q又補充道:很多狀況要等執行時期,資料讀入或使用者輸入後才知道會有幾筆資料啊。
這些是編譯時期不會知道的啊。
A:不會啊,都可以知道啊。
同上題,另一位回答道。
A:方法? Q補充道:對,就是你會用哪一種資料結構或者是哪些現成的Class?
A:用陣列啊。 Q可是陣列不能動態大小耶。
A:是喔?......(沉默) Q:你都宣告一個很大的陣列來存放嗎?
A:這也是個方法啦......(已經恍神中)
面試到此已經快要升天了,針對一位強調自己會C++和物件導向的人再問道。
Q:Class宣告中,你是如何決定成員的存取等級?
A:存取等級?
Q:就是 public, protected和private那三個啊,你宣告的變數或函式要放在哪一段裡面?
A:喔,那個喔。那些比較理論的東西,我比較沒在注意(心虛中)
Q:小姐,這些不是理論,這是物件導向最基本的精神-封裝。
A:喔~那個喔,我都是改人家程式的,都是放在public。
Q:所以你都不知道為甚麼要放在public嗎?
A:恩......(無言)
另一位面試者,強調用MFC寫過Windows Application,所以問道。
Q:你知道Windows Message的架構嗎?
A:不知道(這個倒爽快)
Q:你知道Procress和Thread的差異嗎?
A:...(沉默是金)
Q:在Windows裡面,不同Procress間要如何溝通?(我承認我蠢,連上一題都無法
回答的人,我還找死問這題!)
A:阿!我有寫過,用CreatThread......
Q:那是Thread,Thread和Process共用資料段,不需要啥特別的方法溝通。
A:喔~(沉默)
以上是我要求太高的面試心得,現在我考慮拿C / C++語言教材的前三章習題,
來當作相關工作經驗三年,資訊系畢業的應徵者試題。
PS:面試者皆有相關C / C++程式開發經驗兩年以上,資訊科系畢業。
目前薪資在40k~50k之間的「即戰力」人才。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.243.230.145
推
06/01 14:42, , 1F
06/01 14:42, 1F
※ 編輯: xsion 來自: 210.243.230.145 (06/01 14:50)
推
06/01 14:53, , 2F
06/01 14:53, 2F
推
06/01 15:02, , 3F
06/01 15:02, 3F
→
06/01 15:05, , 4F
06/01 15:05, 4F
→
06/01 15:07, , 5F
06/01 15:07, 5F
推
06/01 15:15, , 6F
06/01 15:15, 6F
推
06/01 15:18, , 7F
06/01 15:18, 7F
推
06/01 15:23, , 8F
06/01 15:23, 8F
推
06/01 15:24, , 9F
06/01 15:24, 9F
→
06/01 15:25, , 10F
06/01 15:25, 10F
→
06/01 15:27, , 11F
06/01 15:27, 11F
推
06/01 15:28, , 12F
06/01 15:28, 12F
→
06/01 15:29, , 13F
06/01 15:29, 13F
→
06/01 15:30, , 14F
06/01 15:30, 14F
→
06/01 15:30, , 15F
06/01 15:30, 15F
→
06/01 15:30, , 16F
06/01 15:30, 16F
推
06/01 15:30, , 17F
06/01 15:30, 17F
→
06/01 15:30, , 18F
06/01 15:30, 18F
→
06/01 15:31, , 19F
06/01 15:31, 19F
推
06/01 15:32, , 20F
06/01 15:32, 20F
→
06/01 15:33, , 21F
06/01 15:33, 21F
推
06/01 15:34, , 22F
06/01 15:34, 22F
→
06/01 15:35, , 23F
06/01 15:35, 23F
→
06/01 15:36, , 24F
06/01 15:36, 24F
→
06/01 15:38, , 25F
06/01 15:38, 25F
→
06/01 15:40, , 26F
06/01 15:40, 26F
推
06/01 15:40, , 27F
06/01 15:40, 27F
→
06/01 15:40, , 28F
06/01 15:40, 28F
→
06/01 15:41, , 29F
06/01 15:41, 29F
推
06/01 15:41, , 30F
06/01 15:41, 30F
推
06/01 15:42, , 31F
06/01 15:42, 31F
→
06/01 15:42, , 32F
06/01 15:42, 32F
→
06/01 15:42, , 33F
06/01 15:42, 33F
→
06/01 15:43, , 34F
06/01 15:43, 34F
→
06/01 15:43, , 35F
06/01 15:43, 35F
→
06/01 15:44, , 36F
06/01 15:44, 36F
→
06/01 15:44, , 37F
06/01 15:44, 37F
→
06/01 15:45, , 38F
06/01 15:45, 38F
還有 44 則推文
→
06/01 21:33, , 83F
06/01 21:33, 83F
→
06/01 21:33, , 84F
06/01 21:33, 84F
→
06/01 21:35, , 85F
06/01 21:35, 85F
→
06/01 21:35, , 86F
06/01 21:35, 86F
推
06/01 21:40, , 87F
06/01 21:40, 87F
→
06/01 21:41, , 88F
06/01 21:41, 88F
推
06/01 21:42, , 89F
06/01 21:42, 89F
→
06/01 21:43, , 90F
06/01 21:43, 90F
→
06/01 21:45, , 91F
06/01 21:45, 91F
→
06/01 21:47, , 92F
06/01 21:47, 92F
→
06/01 21:48, , 93F
06/01 21:48, 93F
→
06/01 21:49, , 94F
06/01 21:49, 94F
→
06/01 21:51, , 95F
06/01 21:51, 95F
推
06/01 23:02, , 96F
06/01 23:02, 96F
推
06/01 23:22, , 97F
06/01 23:22, 97F
推
06/01 23:33, , 98F
06/01 23:33, 98F
→
06/01 23:34, , 99F
06/01 23:34, 99F
→
06/01 23:35, , 100F
06/01 23:35, 100F
推
06/01 23:43, , 101F
06/01 23:43, 101F
→
06/01 23:44, , 102F
06/01 23:44, 102F
推
06/01 23:44, , 103F
06/01 23:44, 103F
→
06/01 23:45, , 104F
06/01 23:45, 104F
→
06/01 23:46, , 105F
06/01 23:46, 105F
→
06/01 23:47, , 106F
06/01 23:47, 106F
→
06/01 23:47, , 107F
06/01 23:47, 107F
推
06/01 23:47, , 108F
06/01 23:47, 108F
推
06/01 23:56, , 109F
06/01 23:56, 109F
推
06/01 23:59, , 110F
06/01 23:59, 110F
推
06/02 00:00, , 111F
06/02 00:00, 111F
推
06/02 00:08, , 112F
06/02 00:08, 112F
推
06/02 01:13, , 113F
06/02 01:13, 113F
→
06/02 01:13, , 114F
06/02 01:13, 114F
推
06/02 13:29, , 115F
06/02 13:29, 115F
→
06/02 13:30, , 116F
06/02 13:30, 116F
→
06/02 13:30, , 117F
06/02 13:30, 117F
推
06/02 21:46, , 118F
06/02 21:46, 118F
推
06/03 00:13, , 119F
06/03 00:13, 119F
推
06/03 19:10, , 120F
06/03 19:10, 120F
※ 編輯: xsion 來自: 114.44.220.37 (02/20 23:17)
推
05/04 16:17, , 121F
05/04 16:17, 121F
討論串 (同標題文章)
Soft_Job 近期熱門文章
26
60
PTT職涯區 即時熱門文章
68
144