每個程序員1小時內必須解決的5個編程問題

pjp 9年前發布 | 6K 次閱讀 程序員

每個程序員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

翻譯作者:碼農網 – 小峰

 本文由用戶 pjp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!