[閒聊] 常見面試的問題真的平常會用嗎?

作者: b6byc (oopp)   2014-09-22 17:18:46
看了幾個面試問題,很納悶有需要用到嗎?
ex:用bit operation去判斷是否為3的倍數.
跟我實際平常用的 if(0 == i%3)
不知道考這個的用意是?
ps: 實際工作時 , 通常是在register判斷意義時會用到.
很簡單地看特定bit的值 , 也不用特地在運算中使用bit operation.
作者: abccbaandy (敏)   2014-09-22 17:25:00
一個for寫出99乘法表
作者: crown (Crown)   2014-09-22 18:46:00
用星號畫出三角型
作者: monoceros629 (獨角獸)   2014-09-22 19:30:00
考考智力和對計算機的了解罷了
作者: robler (章魚丸)   2014-09-22 19:35:00
就是看你的智商
作者: calqlus (白夢の繭)   2014-09-22 21:41:00
劇情需要
作者: askacis (ASKA)   2014-09-22 23:01:00
餘數運算比較慢當然編譯器可能對餘數運算優化,但沒優化前就是比較慢SOC...當你在寫速度只有幾十MHz的MCU就知道差別了:)何況bit 運算是基本ABC程度的東西,還扯不到可讀性這回事應該說都已經碰到填register這層了,這些寫法應該要習慣寫上層AP的人少用就算了,寫FW的人要有這種基本認知才是其實考這題背後的原理在於你對CPU運作的原理知道多少,我面試人的時候,能說得出來背後的原理對我來說是加分的~
作者: KASUGAOSAKA (小步)   2014-09-23 09:40:00
考你位元處理基本概念
作者: askacis (ASKA)   2014-09-23 10:37:00
有些餘數運算會用在計算資料是否為某數整除然後決定是否啟動DMA,有些DMA硬體只能處理固定倍數的資有時這些判斷會放在ISR裡,縮短ISR佔用的時間就是你的責當你的ISR占的太久,影響到別人,短時間可能沒事,時間一長可能就會出現靈異現象~Linux等OS的會提供一些api去處理,讓你避開這個問題,但是沒有OS的MCU,往往while(1)跑到底當一圈while(1)因為你的中斷佔用太多時間跑太久就會出現如同我前所述,因為不曉得你的工作內容是什麼,但對我寫MMCU或是linux kernel or driver的人來說bit運算與取餘操作其實還蠻基本的至於其他面試的一些怪題目,有些是還蠻沒意義的~
作者: KanoLoa (卡)   2014-09-23 15:04:00
考態度,專門刷我這種人 XD
作者: wuliou (wuliou)   2014-09-23 23:38:00
以前寫MCU 連路徑運算都直接查表了 不過除了MCU其實很少有那麼計較效能的環境
作者: grantkobe (grantkobe)   2014-09-24 01:23:00
請問一下這題有解答嗎? 照我的認知,bit運算是2的ring,應該沒辦法直接用bit operation 求出才對除非能用他來做出 x mod 3 = x-(int)(x/3)的效果

Links booklink

Contact Us: admin [ a t ] ucptt.com