Number bases Algorithms
那天HR的大姐.找我帮忙design 公司跑马拉松的衣服.在交谈中他透露他们的部门也在请FrontEnd developer 可是来了几个人都没有人可以把问题都答对.想问下我们的意见.考题对新人是不是太难了.
而我也想看看自己对于现在的面试考题鉴定会否通过便答应了去面试考题.
一共有4题.
前两题是考Algorithms演算法
第1题是类似CamelCase 只是这里的是数字.只要用个for loop和if else判断变可完成.
第2 题是类似CamelCase 只是这里的是数字.只要用个for loop和if else判断便可完成.(找不到有任何Algorithms演算法)
第3 题是解说如何写出图中的table
第4 题是按下button揭发alert.
后两题便不讲了.解不了真该再用功咯.
第二题是我是用for loop和if else判断完成的.
第一题也真的考到我.哈哈哈.上次 研究arduino时有了解过.可是没记的详细的解法.同常我都是记下某下重点和可行的方法.当遇到问题可以再找寻,可是这次的面试考题没的上网.只有白纸和一支笔. 也考到我了.(看来我要在这方面下点工夫.)
好了回到第一题.第一题的题目是Convert Number Base.
要把Base 2 转去Base 10
例如.Base 2 (10 0101 101) 转去Base 10
首先先找出Base 2 有几位数.这里的example唯例.一共9为数.
先用乘2的方法.把二的乘法 .计算9次.以1开始.放在array
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512
然后把以上的数字reverse 反过来再对齐Base 2.
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
1 |0 | 0 | 1 | 0 | 1 | 1 | 0 | 1
然后把对齐后在1的位置的乘2的数字加起来.
256 + 32 + 8 + 4 + 1 = 301
也可以变成以下的格式当 位置上是1便用乘2的数字否便是0
256 + 0 + 0 + 32 + 0 + 8 + 4 + 0 + 1 = 301
通常除非是碰巧毕业前有接触不然我想通常没几个会记得把? Arduino的玩家该没问题吧?
附上个YouTube 教程 和有用的网上转换
Number Base Calculator 网上转换
http://www.cleavebooks.co.uk/scol/calnumba.htm
YouTube 教程
其他参考-
http://uncyclopedia.wikia.com/wiki/Number_bases
http://www.unm.edu/~tbeach/terms/binary.html