【水文】也谈求职中的fizz-buzz-thing,兼谈程序员为什么不会编程
今晚在首页看到这篇为什么程序员不会编程,文中引用了一段洋文,看着似曾相识。查了一下,洋文所对应的原文不知是不是Jeff Atwood(又一个著名的Jeff)在2007年写的Why can’t programmers…program,反正表达的意思差不多,难怪看着眼熟,尤其是一看到fizz和buzz,我的脑海里立刻浮现出怒发冲冠的恐怖头像。大家可以看一下Jeff的英文原文,很多人用自己擅长的编程语言在评论中给出了解答。在我所能看懂的编程语言中,不外乎利用循环和条件判断,过滤满足特定条件的数字,然后输出,大体上都是这种思路。我看了下lipu_paul文章下的回复,贴c#代码的很多,解决方法依然不外乎上面说到的思路,目前比较简洁的代码(稍作改动):
1 2 3 4 5 6 7 8 9 10 11 | static void DoFizzBuzzThing() { var numbers = Enumerable.Range(1, 100); string str = null ; foreach ( var i in numbers) { str = i % 3 == 0 ? (i % 5 == 0 ? str = "fizzbuzz" : "fizz" ) : (i % 5 == 0 ? "buzz" : i.ToString()); Console.WriteLine(str); } Console.ReadKey(); } |
但是,博文作者lipu_paul和洋文作者Jeff Atwood的原意应该都不是教你如何编程实现fizz-buzz-thing。肯定是感觉“歪楼”严重,在这一篇“the Programmer’s Stairway to Heaven”中,Jeff Atwood再次发文对前一篇做了补充和总结,大家可以一并看一下。
当然,洋文里Jeff已经差不多讲明白为什么面试一个程序员还需要出这种fizz-buzz-thing题目的原因。“也许在开始面试一个程序员之前没预先看他们的代码是愚蠢的”(Maybe it's foolish to begin interviewing a programmer without looking at their code first。),我的英语一般,翻译也没有追求信达雅,也许红色的程序员还应该加上引号吧。个人片面总结一下国内的情况,我认为程序员不会编程的重要原因是程序员缺乏实践,当然当前编程教育的问题也不小。还有一种可能,有人说大概是求职者技高一筹自信十足,不屑于面试答题,真牛!
本来这是一个很有意义的讨论,不料刚刚管理员把它从首页撤了下来,而大家还在下面不亦乐乎地贴代码……
作者:Jeff Wong
出处:http://jeffwongishandsome.cnblogs.com/
本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构