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)

Adsmt 2012-01-01 09:46 PM

引用:
作者passerx
在台灣我遇過太多個喜歡問一堆莫明奇妙或根本不應該出現的問題,
這些人把他們的程式拿出來看,我只能無言以對,而且絕不會跟他們合作.
實際的東西騙不了人
:think: :stupefy:

莫明奇妙或根本不應該出現的問題?

除了第五題是我造出來的,其他四題是標準 function pointer 教科書內的內容(最早我還是從微軟的 MSDN 上看到的)。

也因為前四題可以很輕從 google 查得,所以才需要第五題,第五題也只是前四題的組合。

是真的莫明奇妙或根本不應該出現,還是你以為你不懂的就是不該出現?那我只能說你的心態很遭糕。 :stupefy:

passerx 2012-01-01 09:54 PM

void (*func1(int))(char);
void (*(*func3[5])(int))(char);
char *(*(*func4)())[10];
void *(*(*func5)(double *(*(*func6)(char))[6]))(float (*(*func7)[5])(int));

那請問一下什麼實際應用下會用到上面這些東西? 沒有比較好懂的寫法了嗎?

最後一個是你造出來的? 那你不是在問根本不會出現的東西嗎?


:think:


引用:
作者Adsmt
莫明奇妙或根本不應該出現的問題?

除了第五題是我造出來的,其他四題是標準 function pointer 教科書內的內容(最早我還是從微軟的 MSDN 上看到的)。

也因為前四題可以很輕從 google 查得,所以才需要第五題,第五題也只是前四題的組合。

是真的莫明奇妙或根本不應該出現,還是你以為你不懂的就是不該出現?那我只能說你的心態很遭糕。 :stupefy:

Adsmt 2012-01-01 09:54 PM

引用:
作者lqz
小弟十幾年前寫JPEG encoder/deconer的時候有抓JFIF的code來看,就一堆是這樣寫的。

因為當時c++尚未流行,這是老一輩為了整合操作跟變數,當時沒class可以整合,才這麼用,不是拿來耍帥、表現能力的… :think:

現在還是有這種寫法的,在 signal 相關的函式就有,當然沒有像第五題那麼誇張。

man 一下 signal

void ( *signal(int signum, void (*handler)(int)) ) (int);

他的定義就這樣,至於再掺上陣列的,google 一下也有。

Adsmt 2012-01-01 10:01 PM

引用:
作者passerx
void (*func1(int))(char);
void (*(*func3[5])(int))(char);
char *(*(*func4)())[10];
void *(*(*func5)(double *(*(*func6)(char))[6]))(float (*(*func7)[5])(int));
那請問一下什麼實際應用下會用到上面這些東西? 沒有比較好懂的寫法了嗎?
最後一個是你造出來的? 那你不是在問根本不會出現的東西嗎?
:think:

基本上這只有兩個觀念 function pointer 和 array pointer, 這是教科書上有的東西,function pointer 就不提了,現在 c 函式庫還一堆都有在用。array pointer 也有。

兩者混用當然是極少見,但書上會寫,實例上我只能說我也不曾見過,但我之前第一次看到是在 MSDN 上看到的範例。

至於題型,五題都是我自創的,只是前四題比較容易見到,第五題只是複雜化......

事實上你根本無需計較有沒有實際用到那麼複雜,因為這只是考觀念(而且是可 google, 不複雜化怎麼考?)

因為你真的懂觀念,每題都很容易回答。

SaSaYa 2012-01-01 10:19 PM

現在開發程式強調可讀性,單一Function code 不超過百行,少用global 變數,....

最近打算寫些東西,光畫圖就畫半死,code ? 半行也沒有

真的要考試,建議考畫圖,圖畫的好,CODE丟給印度人寫也行

說真的 FUNCTION POINT只要有用DLL 動態 LOAD 大多會需要宣告,

我還真的比較少看到用Template 的實際案例

此外我拜託那些OO概念不深的,少給我寫Active X control

passerx 2012-01-01 10:29 PM

觀念是可以google的? 第一次聽到? 有這個觀念就有,沒有就沒有,
又不是考記憶, 記憶糢楜google一下才會回來.

:think:


引用:
作者Adsmt
...
事實上你根本無需計較有沒有實際用到那麼複雜,因為這只是考觀念(而且是可 google, 不複雜化怎麼考?)

因為你真的懂觀念,每題都很容易回答。

Adsmt 2012-01-01 11:41 PM

引用:
作者passerx
觀念是可以google的? 第一次聽到? 有這個觀念就有,沒有就沒有,
又不是考記憶, 記憶糢楜google一下才會回來.
:think:

所以你的想法和我並沒有什麼不同,我一開始就說是可 google,給 google只是給你回想的機會,沒觀念 google 一樣不會。

老實說,考基本題,沒鑑別度;考太難,人不可能所有事都能記得,難免會記不清或忘記,那好,都給你 google 了,如果還答得七零八落,那很難讓人相信你有實力,是吧?

xxxxxxtsai 2012-01-02 12:04 AM

引用:
作者Adsmt
所以你的想法和我並沒有什麼不同,我一開始就說是可 google,給 google只是給你回想的機會,沒觀念 google 一樣不會。

老實說,考基本題,沒鑑別度;考太難,人不可能所有事都能記得,難免會記不清或忘記,那好,都給你 google 了,如果還答得七零八落,那很難讓人相信你有實力,是吧?


有基本觀念,畫圖就能知道指到什麼了....... XD

idleic2 2012-01-02 01:07 AM

引用:
作者怒火燒盡九重天
最近幫公司面試一些應徵者。我們需要的工程師是來
幫公司寫一些驗證IC的功能的程式。不限資工或電機
系背景,也不限定用何種語言開發程式。

蠻多應徵者的履歷上都寫熟悉C/C++。我就挑了一些
我認為不算難的問題來問他們。例如:

1. extern "C" { ... }的作用
2. 什麼是STL?
3. C語言如何安排字串存在記憶體?這種方法有什麼
缺點?

2 是 C++ 的 範圍的
<-- 我是不知道現在 C++, 學校有沒有敎 STL, 也許只到 class 就沒了 ?
<-- 不過現在學C++ 應該都要知道 STL 吧
<-- 不過 應該不知道 C++11 吧!

1 也是 C++ 的
<-- 當學校有敎 C 要如何 使用 C++ 的 code, 就應該會碰到

3的 C語言如何安排字串存在記憶體? 算是 進階 !
<-- 了解 C語言的 point, 真的是 一道關卡

3的 這種方法有什麼缺點? 算是 高級題
<-- C 的 字串 與 Pascal 的 字串, 還有 C++ 的 String class
<-- 沒有課外的 電腦語言學習 ...., 我看很難 ...
<-- 電機系的, 應該都超出 敎授 範圍


引用:
作者怒火燒盡九重天
我發現幾乎都沒有人能答得出來。實在讓我很納悶,
一般人所稱的"熟悉C/C++",到底是到什麼程度才算?
如果是由你來提問的話?你會問哪些問題?謝謝。


一個剛畢業的學生, 懂 老師所敎的 C/C++ , 就可以說 熟悉C/C++
另外 履歷不寫熟悉C/C++, 要怎要找工作阿 ?

如果 你是要面試 剛畢業的新人
基本上 邏輯與觀念 一定要有, (可不希望 還要幫新人 debug ,不過 頭一個月/三個月 要人看跟帶)
考題 會考10題吧 ! 難易都有, 只是想知道 他的邏輯與觀念 到什麼階段 !

如果 你是要面試 有1~2年工作經驗的新人
還會加問 有沒有 用過 SVN 之類的 Version Control System !
如何 debug ? C99 比 C90 多那些功能 ? (也許不該問這個)


其實 入行 10年, 不懂的越多 !


另外提供一題 !
char a[10];
char *b;
char c[] = "hi";
char *d = "world";

sizeof(a) 是多少 ?
sizeof(b) 是多少 ?
sizeof(c) 是多少 ?
sizeof(d) 是多少 ?

idleic2 2012-01-02 01:16 AM

引用:
作者passerx
void (*func1(int))(char);
void (*(*func3[5])(int))(char);
char *(*(*func4)())[10];
void *(*(*func5)(double *(*(*func6)(char))[6]))(float (*(*func7)[5])(int));

那請問一下什麼實際應用下會用到上面這些東西? 沒有比較好懂的寫法了嗎?

最後一個是你造出來的? 那你不是在問根本不會出現的東西嗎?


:think:

function point 很常用ㄚ !

linux kernel 常常這樣用 !

只要用 C 又想 泛型 or call back function


所有的時間均為GMT +8。 現在的時間是09:15 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。