程序员必须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。
问题5
编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。
例如:1 + 2 + 34–5 + 67–8 + 9 = 100。
如果你能力超群,上面这些问题对你而言只是小菜一碟,1小时之内解决完全绰绰有余的话,请将我的慷慨陈词当作是在放屁。
不过,如果你觉得本文对你很有帮助,欢迎分享,并留下您宝贵的见解。
在微信公众号内回复数字“1”
小编拉你进粉丝微信群
不是在文章评论里回
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 习近平同马克龙、冯德莱恩举行会晤 4926314
- 2 国乒遭遇“黑色星期一”四战三败 4982586
- 3 太阳耀斑或达最强级别 影响健康吗 4814393
- 4 “五一”假期开启“韵味”旅游季 4799856
- 5 妈妈拍到父女俩在雨中快乐起舞 4663958
- 6 警方回应西安男子当街殴打辅警 4531657
- 7 黄金狂飙后钻石崩了 4492518
- 8 新娘的愿望是和离婚20年的父母合影 4369697
- 9 官方辟谣凉山最落后山村不通电 4214470
- 10 村民焚烧秸秆被罚款?镇政府回应 4128686