推 abccbaandy: 一個for寫出99乘法表 09/22 17:25
固定數值,直接寫成矩陣,直接拿矩陣數值比較快.(這個很常見)
推 crown: 用星號畫出三角型 09/22 18:46
推 monoceros629: 考考智力和對計算機的了解罷了 09/22 19:30
推 robler: 就是看你的智商 09/22 19:35
老實說,平常很少用的東西.突然問我,我可能回答不出來.
→ calqlus: 劇情需要 09/22 21:41
我想也是.
推 askacis: 餘數運算比較慢 09/22 23:01
推 askacis: 當然編譯器可能對餘數運算優化,但沒優化前就是比較慢 09/22 23:07
是比較慢,但是不用省那一點點時間,可讀性更重要.
因為現在的soc很強大.只要不是寫的很誇張,我想可讀性比效能還重要.
也有可能我沒遇過效能>可讀性的專案吧.
不過簡單的code optimization 還是要有一點概念.
推 askacis: SOC...當你在寫速度只有幾十MHz的MCU就知道差別了:) 09/23 01:45
mcu的確需要,指令幾個cycle都要看.
不過arm , mips. 除非有特殊需求. code沒有寫太差的話. 應該都還ok.
推 askacis: 何況bit 運算是基本ABC程度的東西,還扯不到可讀性這回事 09/23 01:47
恩. bit運算其實可以寫的很複雜. 我也寫過,老實說,很難看.
過段時間再看. 我可能需要想一下.
→ askacis: 應該說都已經碰到填register這層了,這些寫法應該要習慣 09/23 01:50
→ askacis: 寫上層AP的人少用就算了,寫FW的人要有這種基本認知才是 09/23 01:53
register讀/寫bit , 其實用不到什麼運算,只是bit判斷.
有寫過的,應該也知道不會遇到是否為3的倍數這種情形.
→ askacis: 其實考這題背後的原理在於你對CPU運作的原理知道多少, 09/23 02:00
→ askacis: 我面試人的時候,能說得出來背後的原理對我來說是加分的~ 09/23 02:02
cpu運作原理? 沒遇過這樣的專案需要知道cpu運作原理的.(ex:pipeline之類的)
也許我沒遇過這樣的吧.
其實我的疑問是,面試考這些之類的,實作上有用到嗎?
在我經手過的專案,仔細想想,有些根本非常少用,或者根本沒用.
但也有可能我遇過的專案不夠多吧
推 KASUGAOSAKA: 考你位元處理基本概念 09/23 09:40
推 askacis: 有些餘數運算會用在計算資料是否為某數整除 09/23 10:37
→ askacis: 然後決定是否啟動DMA,有些DMA硬體只能處理固定倍數的資 09/23 10:39
推 askacis: 有時這些判斷會放在ISR裡,縮短ISR佔用的時間就是你的責 09/23 10:41
推 askacis: 當你的ISR占的太久,影響到別人, 09/23 10:43
→ askacis: 短時間可能沒事,時間一長可能就會出現靈異現象~ 09/23 10:44
這點同意,所以在寫mcu時,ISR都是很簡單的處理.
推 askacis: Linux等OS的會提供一些api去處理, 09/23 10:47
推 askacis: 讓你避開這個問題,但是沒有OS的MCU,往往while(1)跑到底 09/23 10:49
推 askacis: 當一圈while(1)因為你的中斷佔用太多時間跑太久就會出現 09/23 10:51
→ askacis: 如同我前所述,因為不曉得你的工作內容是什麼,但對我寫M 09/23 10:52
→ askacis: MCU或是linux kernel or driver的人來說 09/23 10:53
→ askacis: bit運算與取餘操作其實還蠻基本的 09/23 10:54
以前寫過mcu但時間不長. 寫過audio driver,但是DMA處理就沒碰過.
kernel很同意. 有時追code. 看到一堆<< , & , |.
不過有段時間沒處理過driver了.(入門級新手)
目前寫上層.
推 askacis: 至於其他面試的一些怪題目,有些是還蠻沒意義的~ 09/23 11:04
是啊,更有趣的是,進去後的工作,跟面試題目無關.
也不知道是考啥的? 智力? 記憶力?
※ 編輯: b6byc (61.220.139.2), 09/23/2014 11:09:30
→ KanoLoa: 考態度,專門刷我這種人 XD 09/23 15:04
→ wuliou: 以前寫MCU 連路徑運算都直接查表了 不過除了MCU其實很少 09/23 23:38
→ wuliou: 有那麼計較效能的環境 09/23 23:38
推 grantkobe: 請問一下這題有解答嗎? 照我的認知,bit運算是2的ring, 09/24 01:23
→ grantkobe: 應該沒辦法直接用bit operation 求出才對 09/24 01:24
→ grantkobe: 除非能用他來做出 x mod 3 = x-(int)(x/3)的效果 09/24 01:25