2010/04/29

20100428-一個非正式的面試試題

這一個面試說來也不算是面試,(保密中...)
就當場寫一寫,沒寫完的部份,就回家查,
而這題目呢。
我覺得是"非常有深度"的!

第1題、第2題:是概念性的題目~平常沒注意根本不管它的細節。
第3題:這也算是"觀念"題目。
第4題、第5題:是程式邏輯部份,完成它很有成就感^^
其它6~10題:非專業題。

招募試題1(這是非正式的~可以拿回家寫的):


第5題是很好玩的邏輯推演(有興趣可以挑戰)


回答技術面的"第一版"差在第5題不一樣

回答技術面的第二版 (加入取 SubArray的C#程式寫法)
 

回答非專業性的題目

 

==================================================
先說說第4題:
寫一個Function去計算出它的值~~
呵~這讓我想起之前的"離散數學"(好像是吧?)
看似很難,但 括號 括一括,推一下項次n與值的關係。
短短幾行~~
就寫出這段程式啦
超有成就感的!
==================================================
第3題:
考的是:C#基本觀念問題--物件比對
這個我平常更本不會注意這最基本的,就趁這次學起來吧!
參考網:C#隨堂考-object超級比一比
(這裡面有很多延伸)
就這題來說,Class 對Class的比較
因為Class 指向不同的物件實體
所以它是 "不同的"~~(比的不是裡面的值)

這要去 實作 運算子 "==" ,去定義Class相比較的"涵意"
class C2
{
 public static bool operator ==(C2 x, C2 y)
            {
                return x.Data == y.Data;
            }
}
==================================================
第1題概念題:
string ="" 和 =null 和 =String.Empty 之間是有差異的!如我回答的部份。
參考資料:
http://www.dotblogs.com.tw/jeff-yeh/archive/2008/12/07/6286.aspx


第2題概念題:
C# - 資源釋放的觀念整理
http://sedc.pixnet.net/blog/post/14184015
==================================================
第5題程式題:
這個巧啦!前幾天想破頭還想不到 遞廻 的例子,
今天就直接來個Sample!

這一題,應有很多種解法,我只是其中之一

關鍵字:搜尋 "已排列" 的數列!(未排列的話會更複雜)
想想想,
用 紙筆 推一下它的邏輯。再怎樣才可以讓它一直Call 自已 Function
遞廻的概念:
1.呼叫自已Function。
2.Function傳入的參數要 收斂。
3.Function一定要有個中斷點。(收斂的盡頭^^)


想到 泡泡排序的演算法,(是吧?=>就對半切的Search)
再加上它有"找不到"的可能性。(回傳-1)

概念就是依判斷 取出 數列它的 SubArray,再Call Function (滿足收斂)
前半段就寫它的中斷點 (收斂的盡頭)

[第1版的回答]有幾個有趣的問題推演過程:
1.最終收斂的狀況有那幾種?
2.取 SubArray的演算法。
3.假如找到,你要透過 "遞廻" 找出它在數列中的位置。 (即是 回傳值)

[第2版的回答]
就是 程式要如何取它的SubArray
(=>透過 Array.Copy()取出,而Array index的算法又是有趣的思考)








0 意見 :

張貼留言