介紹下本身。。。html
上週日剛剛到達北京,23號開始第一家的面試歷程,其餘詳細信息能夠看一下個人上一篇博客node
http://www.cnblogs.com/Zhang-silence/p/6866981.html面試
昨天剛剛複試經過,是一家朝陽區的公司,感受技術氛圍很適合本身,HR人漂亮人也好。下月一日入職,在等錄用的郵件。。。算法
恩,第一天初試,應該是來北京的第一次面試,給個人感受就是懟的我體無完膚。。。數據庫
首先筆試:
1.HTTPModult和HTTPHandler的異同和應用的狀況
這個我寫的是HTTP管道的兩個接口。。。
好像是寫錯了給了0分。windows
2.你都知道哪些設計模式
單例模式
觀察者設計模式
3.override和overload
重載是方法的簽名不一樣屢次重載以適應程序的須要
重寫是用虛方法中的類重寫用override修飾的類設計模式
4.進程,線程,協程,C#操做的類都叫什麼,線程之間用什麼互相通訊
進程:proces,線程thread,協程不知道。。。
後面的寫了個message queue 消息隊列、、、數組
5.忘記了。數據結構
6.給一個數組排序
寫了個最簡單的冒泡排序併發
如下是面試:
說說你知道哪些數據結構
(堆棧,二叉樹等等)。。筆者這裏數據結構學的不好勁,因此感受G掉了。。。由於說了一些本身知道的以後,氣氛迷之沉默。。感受是讓我解釋一番,然而徹底不記得。。。
以後大約記得問了問我幾種設計模式,我說了觀察者設計模式和單例模式。而後解釋了一下發布訂閱的流程。說了本身在一個博客上看到了好像二十多個,用不到就記着兩個
說一下重載和重寫,你在什麼狀況下能用的上重載。。
這裏解釋重寫的時候。。緊張的幾乎是用了好多語言來解釋。。。以後回答說我在不少項目都用得上重載,好比在構建與數據庫交互的dbhelper。
以後問到了筆試題的第四題,就是進程和線程這裏,筆者這裏當初頗有興趣,因此說了好久
問了問我好比操做過什麼進程,操做過什麼線程云云。
回答:本身操做過nodepad進程云云。。實例化一個對象,以後用start標記能夠運行。
操做線程須要給一個方法或一個委託,聲明這個線程須要作什麼事情,也是用start標記。。
好比如何在併發的狀況下保證數據的原子性和完整性。。這裏很蠢的把lock鎖說成了task、、、
以後談到了一些併發,鎖的狀況,隊列的狀況,和鎖加隊列。。。這裏其實我很緊張。。。把鎖和隊列的狀況徹底說反了。。。
由此以後還拓展到了數據庫鎖,問了我知不知道友善鎖。。。惋惜我就知道互斥鎖和雙檢鎖。直接回答的不知道。。。
跨線程訪問,是什麼決定不能跨線程訪問
默認不能跨線程訪問,可是能夠手動的設置讓線程能夠互相訪問
我回答的是Command language Runtime決定的。然而面試官說我回答的不對,是windows窗體決定的不能跨線程訪問,仔細一想的確說錯了。
還有問到了我死鎖的問題,傳遞一個空字符串可否發生死鎖
若是是值類型則不會發生死鎖,由於按照值類型傳遞的,每次死鎖時只會操做值類型的副本,因此不會發生死鎖
字符串的話我太清楚,可是我以爲若是也是操做對象的副本則不會發生死鎖。。。
問到了排序,問了問我還知不知道排序的其餘算法。。。
我回答的是應該有其餘的,可是我就記着這個最簡單的了。。。
好像問到了foreach。。就記着實現IEnumerator或繼承GetEnumerator。。。問了我都有什麼繼承了IEnumerator。。
回去的地鐵上仔細的回憶了回憶,回答真的不好勁。。
我應該從枚舉開始切入,說一下枚舉構造器,Getnumerator裏面的方法是作什麼的。。。結果都沒說。
全部的集合類都繼承了IEnumerator。。。
在我說了我還會原生JavaScript的時候問了問我兩個延遲觸發的方法
、、、SetTimeOut=-=就記着這一個,第一個參數給一個函數,第二個給觸發的時間。
數據庫之類的東西也問了問,讓我寫了兩個跨表查詢
寫了一個子查詢和跨表查詢。。
問了問我簡歷中的項目,當初是如何設計的表
前面的問題都有一點戰戰兢兢,,到這兒的時候就顯得本身話多了。。突突突一大堆云云。由於大多都是本身開發,本身設計表,本身設計主外鍵什麼的。
PS:其實感受很基礎,就是本身發揮的太差了。。知道的東西沒有說出來,當初真的是渾身是汗。。。
出去的時候感受本身懸了,應該是被刷了。沒想到次日接到了複試的電話。。。
收到offer的時候感受本身終於能在這座城市活得下去了。
但願跟我同樣的即將離校都能有更好的風景~