在某大神博客看到一篇翻译文章,实在有意思,原文链接:http://blog.topspeedsnail.com/archives/11010
话说Fizz Buzz是什么鬼?
Fizz Buzz是洋人小朋友在学除法时常玩的游戏,玩法是:从1数到100,如果遇见了3的倍数要说Fizz,5的倍数就说Buzz,如果即是3的倍数又是5的倍数就说FizzBuzz。
最后演变为一个编程面试题:写一个程序输出1到100,但是如果遇到数字为3的倍数时输出Fizz,5的倍数输出Buzz,既是3的倍数又是5的倍数输出FizzBuzz。
面试中
面试官:你好,在开始面试之前要不要来杯水或来杯咖啡提提神。
我:不用,咖啡啥的我已经喝的够多了,三鹿也喝了不少。
面试官:很好,很好,你不介意在小白板上写代码吧。
我:It’s the only way I code!
面试官:….
我:那只是个笑话。
面试官:好吧,你是否熟悉”fizz buzz”。
我:….
面试官:你到底知不知道”fizz buzz”?
我:我知道”fizz buzz”,我只是不敢相信这么牛叉的IT巨头竟然问这个问题。
面试官:OK,我要你现在写一个程序输出1到100,但是遇到数字为3的倍数时输出Fizz,5的倍数输出Buzz,既是3的倍数又是5的倍数输出FizzBuzz。
我:额,这个,我会!
面试官:很好,我们发现不会解这个问题的人不能胜任我们这里的工作。
我:….
面试官:这是板擦和马克笔。
我:[想了几分钟]
面试官:需不需要帮忙。
我:不,不用。首先先容我导入一些标准库:
面试官:你知道我们的问题是”fizz buzz”吧?
我:当然,现在让我们来讨论一下模型,我正在想一个简单的只有一个隐藏层的感知器。
面试官:感知器?
我:或神经网络,不管你怎么叫它。给它输入数字,然后它能给我们输出数字对应的”fizz buzz”。但是,首先我们需要把数字转为向量,最简单的方法是把数字转换为二进制表示。
面试官:二进制?
我:你懂的,就是一堆0和1,像这样:
面试官:[盯着小白板看了一分钟]
我:输出应该用one-hot编码表示”fizz buzz”: