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)

sazabijiang 2011-12-31 07:32 AM

我會問這個入門題: 請問a, b傳入swap函數後的值變為多少?

main() {

int a, b;

a=1;
b=2;

swap(a,b);

}


function swap(int x, int y) {

int tmp;

tmp = x;
x = y;
y = tmp;

}

X_Tiger 2011-12-31 07:48 AM

引用:
作者sazabijiang
我會問這個入門題: 請問a, b傳入swap函數後的值變為多少?

main() {

int a, b;

a=1;
b=2;

swap(a,b);

}


function swap(int x, int y) {

int tmp;

tmp = x;
x = y;
y = tmp;

}


沒變...

ps. 這是來亂的還是你真的定義錯?

booger 2011-12-31 09:17 AM

引用:
作者sazabijiang
我會問這個入門題: 請問a, b傳入swap函數後的值變為多少?

main() {

int a, b;

a=1;
b=2;

swap(a,b);

}


function swap(int x, int y) {

int tmp;

tmp = x;
x = y;
y = tmp;

}


如果這是ANSI C ... 編譯不會過

sazabijiang 2011-12-31 04:08 PM

引用:
作者X_Tiger
沒變...

ps. 這是來亂的還是你真的定義錯?


你錄取了 :laugh: :laugh:

lqz 2011-12-31 04:23 PM

引用:
作者booger
如果這是ANSI C ... 編譯不會過


這好像是某年高普考的題目… :think:

booger 2011-12-31 04:43 PM

引用:
作者lqz
這好像是某年高普考的題目… :think:


難道這是虛擬碼??

jamin 2011-12-31 04:46 PM

身為換跑道的菜鳥軟體工程師(又好像不是)

看到前輩們的發言, 很明顯的談的是不同應用.

招募新鮮人, 跟招募有經驗的人, 明顯要問的並不同.

更別談專業應用部分.



面試官要問的問題, 不是自己覺得很簡單的問題

而是要問, 符合這份工作最基本技能的問題.

如果工作內容只要會迴圈就可以應付, 幹麻懂 STL .

以樓主的例子, "驗證IC的功能" 才是主要工作, C/C++ 會用就好了



 

巴豆妖 2011-12-31 05:13 PM

引用:
作者crowofblack
小弟不才..簡單回答一下:ase
1. extern "C" 是向c++編譯器說明, 這裡用的是c介面的溝通方式
2. STL為標準樣板函式庫, 包含一些vector, list, stack, map等容器和一些泛型演算法
3. 以字元陣列的方式存在記憶體裡..缺點就是最怕空間不夠裝, 不像c++的string會自己realloc

在下覺得還是拿一些小程式出來給面試者看
然後問問題比較好耶..
考書上的東西..有時候真的沒看過或沒讀到..並不代表程式很糟..XD


第三題
"3. C語言如何安排字串存在記憶體?這種方法有什麼 缺點?"
我以為是這樣的??
globe 變數(含字串)是存在 BSS 或 DATA (看 init 值)
function 是存在 stack

stack 缺點是會爆, 但共用同一 task stack 空間
BSS 或 DATA 缺點是容易被白痴 over write (目前只想的到這個白爛答案 :laugh: )

不知正解是什麼 :confused:

jamin 2011-12-31 05:30 PM

引用:
作者巴豆妖
第三題
"3. C語言如何安排字串存在記憶體?這種方法有什麼 缺點?"
我以為是這樣的??
globe 變數(含字串)是存在 BSS 或 DATA (看 init 值)
function 是存在 stack

stack 缺點是會爆, 但共用同一 task stack 空間
BSS 或 DATA 缺點是容易被白痴 over write (目前只想的到這個白爛答案 :laugh: )

不知正解是什麼 :confused:


前面就有樓主想要的答案.



引用:
作者怒火燒盡九重天
約耳談軟體裡有一篇:
--> 回歸原點

裡面有提到雖然我們現在都用高階語言寫程式,可是
跟底層有關的問題,有時還是會浮現上來。

裡面也順便提到C字串跟Pascal字串的不同。

booger 2011-12-31 05:32 PM

引用:
作者巴豆妖
第三題
"3. C語言如何安排字串存在記憶體?這種方法有什麼 缺點?"
我以為是這樣的??
globe 變數(含字串)是存在 BSS 或 DATA (看 init 值)
function 是存在 stack

stack 缺點是會爆, 但共用同一 task stack 空間
BSS 或 DATA 缺點是容易被白痴 over write (目前只想的到這個白爛答案 :laugh: )

不知正解是什麼 :confused:


1.問個更白痴的問題,function會使用stack儲存,不是因為function本身只是個位址嗎?

2.那麼function本身的區域變數不也是存在data段...之類的?

3.請問「被白痴覆寫」指的是哪種情況?


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

vBulletin Version 3.0.1
powered_by_vbulletin 2025。