[闲聊] 常见面试的问题真的平常会用吗?

楼主: 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