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)

xxxxxxtsai 2012-01-01 03:13 PM

引用:
作者blueck
不是所有的程式都在電腦上跑... :flash:

目前執行環境能用的記憶體

cache+sdram....8mb 多


高明的業務會順道把硬體賣進去....... :flash: :flash: :flash: :flash: :flash:

blueck 2012-01-01 03:29 PM

引用:
作者xxxxxxtsai
高明的業務會順道把硬體賣進去....... :flash: :flash: :flash: :flash: :flash:


其實 sdram 也用不太完

有用的是 cache 阿.... :stupefy:

樓主說的那三題我都不會



只會用C

PM 2012-01-01 04:30 PM

引用:
作者lqz
:think: 其實大多數『非資深』工程師,我想你只要給足夠時間,都不會只滿意『會動』就好。

但是資深以後,被時間追著跑,會發現『鋸箭』是應付很多業務人才亂開口答應客戶『不用多少時間』、『很快』…最好的方法。 :tu:




我覺得…這些變數如果沒跟客戶確定好範圍才是大問題。 :yeah:

所有變數,都改成不定位數範圍的話…天阿∼ :stupefy: 您還是另請高明吧∼

很多案子,沒開始設計前就註定一堆問題了,像變數沒有跟客戶確定範圍是最常見的 :cry:

這也就是國內很奇怪的現狀,上游隨便做,中下游補不完的漏洞、趕不完的deadline

我身邊有兩個老同事兼同學都碰過這類問題:一個是很早就請硬體端把library list出來,結果都沒有,後面才發現一堆軟體很難補的bug。

另外一個做了三家硬體商的driver,
在我考慮要轉做driver的時候勸告我:
driver就是替硬體補破網的單位,都是全公...

基本上台灣的工程環境就是這樣, 不只軟硬體工程師這樣,
連做機構的也是這樣的 :think:

Adsmt 2012-01-01 05:18 PM

引用:
作者ggjtwo
所以一直以來我都很佩服那些具有創造力的程式設計師
像是發展數值分析 圖片辨識系統 PGS 機器人模擬....
這些能把程式化為應用的才是人才

這些事實上不是程式設計師發明或發展的,你叫他們「程式設計師」搞不好他們會不爽,因為他們通常是大學教授或研究人員。

而且他們也可能根本不會寫程式,因為用數學就夠了。

Adsmt 2012-01-01 05:25 PM

引用:
作者xxxxxxtsai
高明的業務會順道把硬體賣進去....... :flash: :flash: :flash: :flash: :flash:

embeded system 就不可能讓你為所欲為了,因為有體積和成本的限制。

例如各種的微晶片系統(如車用 ABS、微電腦溫控熱水瓶、網卡、音效卡.....),記憶體就是這麼大。某些系統甚至只能使用整數型態,因為記憶體不足,那如果你要用浮點運算怎辦?當然是自己想辦法.....

遇到只能使用整數,又需要高精度數學計算的情況,那才是考驗程式設計師的功力。 :stupefy:

Adsmt 2012-01-01 05:48 PM

引用:
作者blueck
其實 sdram 也用不太完
有用的是 cache 阿.... :stupefy:
樓主說的那三題我都不會

只會用C

C++ 很久沒碰了,感覺 C++ 的地位現在很囧,OOP 的語言很多都比 C++ 完善;要指標的應用,c 又比 c++ 應用更廣泛。

不過如果考 c 的話,直接考指標就好了,因為不太可能指標會,其他卻不會。

我想到幾題可以參考看看(可open book 或 google):

1. 寫一個c程式可以隨意輸入10行,每行長度不等。輸入完後可以隨意叫出某一行。

2. 寫一個c程式可以隨意輸入n行,每行長度固定50字元。輸入完後可以隨意叫出某一行。

解釋以下指標意義:

void (*func1(int))(char);

void (*func2[5])(int);

void (*(*func3[5])(int))(char);

char *(*(*func4)())[10];

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

因為可 google, 所以要難一點。 :laugh:
(其實這是要考 google 的能力,很多時候,你會遇到本身知識無法解決的問題)

crowofblack 2012-01-01 07:49 PM

引用:
作者Adsmt

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


這是用來整人的吧-.-?
函數指標也沒人會寫成這樣..:jolin:
老實講我也看不懂..XD

passerx 2012-01-01 08:34 PM

:jolin:

程式設計第一課, 不要寫出讓別人困惑的程式, 這只是自作聰明而已.

不久前在linkedin上有個討論,
printf("%d %d %d", x++, ++x x++);

去看看那些專家怎麼回應的.

:think: :stupefy:


引用:
作者Adsmt
.....
解釋以下指標意義:

void (*func1(int))(char);

void (*func2[5])(int);

void (*(*func3[5])(int))(char);

char *(*(*func4)())[10];

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

....

booger 2012-01-01 08:53 PM

引用:
作者crowofblack
這是用來整人的吧-.-?
函數指標也沒人會寫成這樣..:jolin:
老實講我也看不懂..XD


我覺得OO語法的實作就是長這樣勒,例如
this.getXxxManager().getOoo(null, X.DEFAULF, "en_us").toXxxx(Xxxx.OO);

底層應該就是一堆指標、參照、指標函數......

怒火燒盡九重天 2012-01-01 08:57 PM

引用:
作者passerx
程式設計第一課, 不要寫出讓別人困惑的程式, 這只是自作聰明而已.


我以前有位同事,他寫code是幾乎不用空格跟括號的。
然後一行敘述拉得超長,裡面還混合一大堆不同優先權的
operator。其他同事在debug時,trace到他寫的module,
完全看不懂,莫不幹聲連連。

不過從暗黑兵法的角度來看,他這也算是在保護他自己
的code以及工作不被取代。因為這個module除非換人
重寫,否則只有他老兄有辦法maintain。


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

vBulletin Version 3.0.1
powered_by_vbulletin 2025。