優秀的程式設計師10分鐘內能搞定下面5個程式設計問題,你呢?

首席資料師發表於2018-12-16

每次我釋出軟體工程師的崗位工作要求,各種求職申請就會紛至沓來,接踵而至。但每每讓我困惑的是,似乎總有那麼幾位應聘者完全不明白所謂“程式設計”的意思。

當然,他們另有想法。

而我認為,如果你應聘的是“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小時之內解決完全綽綽有餘的話,請將我的慷慨陳詞當作是在放屁。

相關文章