• 每个程序员1小时内必须解决的5个编程问题(转)


      英文原文:Five programming problems every Software Engineer should be able to solve in less than 1 hour

      每次我发布软件工程师的岗位工作要求,各种求职申请就会纷至沓来,接踵而至。但每每让我困惑的是,似乎总有那么几位应聘者完全不明白所谓“编程”的意思。

      当然,他们另有想法。

      而我认为,如果你应聘的是“Web 前端开发”岗位,那么你只懂 jQuery 也可以胜任,那么,“软件工程师”是不是就意味着会 HTML、JavaScript 和 CSS 这些必备技能就行了呢?

      (我觉得那些聊起 XML、JSON、XSLT、SOAP、HTTP、REST、SSL 和 200 多个首字母缩写词来头头是道,但却不会区分整型和浮点型数据类型的家伙很有意思。呵呵)

      你真的会写代码吗?

      对于应聘程序员的求职人员,我,作为用人单位,首先希望的是你会写代码。我指的是真正的代码:我给你一个问题,你使用任何你觉得舒适的编程语言给出它的解决方案。

      你真的能做到这一点吗?

      策略:如果你不能在 1 小时以内解决以下 5 个问题,那么你首先要做的是重新审视自己。的确,或许你各方面的工作都干的不错,但是我依然觉得你现在还不配“软件工程师(或程序员,计算机科学专家,甚至是“开发人员”)”这个头衔。不要自欺欺人,先花点时间来调整你的重点吧。

      5 个问题

      问题1

      使用 for 循环、while 循环和递归写出 3 个函数来计算给定数列的总和。

      问题2

      编写一个交错合并列表元素的函数。例如:给定的两个列表为[a,B,C]和[1,2,3],函数返回[a,1,B,2,C,3]。

      问题3

      编写一个计算前 100 位斐波那契数的函数。根据定义,斐波那契序列的前两位数字是 0 和1,随后的每个数字是前两个数字的和。例如,前 10 位斐波那契数为:0,1,1,2,3,5,8,13,21,34。

      问题4

      编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为 95021。

      Ps:点击这里,阅读我的解决方案。

      问题5

      编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是 100 的程序,并输出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。

      Ps:如果你不知道的话,点击这里,阅读我的解决方案。

      如果你能力超群,上面这些问题对你而言只是小菜一碟,1 小时之内解决完全绰绰有余的话,请将我的慷慨陈词当作是在放屁。

      不过,如果你觉得本文对你很有帮助的话,欢迎分享,并留下您宝贵的见解。Thank for reading。

      译文链接:http://www.codeceo.com/article/5-problems-programmer-1-hour.html

      翻译作者:码农网 – 小峰

    http://news.cnblogs.com/n/520705/

  • 相关阅读:
    委托返回类型的协变性
    委托参数的逆变性
    单例采用双锁定技术
    Jupyter Notebook 工作空间 / 默认路径 的设置方式
    Runaway argument错误 [Overleaf: 在线Latex] [Type 3问题后续]
    [Android ADB] An auto-input method for Android and Windows
    [Latex] 所有字体embedded: Type3 PDF文档处理 / True Type转换为Type 1
    螺旋矩陣 非数组解法
    2014.9.11 Research Meeting Report
    2014.8.23 Research Meeting Report
  • 原文地址:https://www.cnblogs.com/softidea/p/4495846.html
Copyright © 2020-2023  润新知