2012-01-02 91 views
1

在最近一次針對C#開發職位的面試中,我被要求提供一個可能導致.NET Framework崩潰的代碼示例。我沒有,仍然不知道這個問題的答案。崩潰.NET Framework

任何想法?

+17

很差的面試問題。 – 2012-01-02 01:28:29

+7

你應該要求他們澄清 – SLaks 2012-01-02 01:28:36

+7

另一個無用的面試問題。我會說我不知道​​,因爲我不寫虛擬機的代碼。 – duffymo 2012-01-02 01:29:04

回答

4

它們可能意味着拋出異常的代碼;然而,這將是一個非常奇怪的問題。

如果不是,他們要求互操作。
您可以通過錯誤地調用本機代碼來崩潰.Net應用程序。

+5

另外,簡單的不安全的代碼和...(你的選擇...包括)開始擺弄字符串內部並更改數據的前兩個字節(指定字符串長度);試圖在小於64K的地址訪問內存;非託管互操作操作類型數據信息(void * ptr =&(myObj.GetType()); *(ptr + 4)= myObj.GetHashCode(););等等等 – GGulati 2012-01-02 01:32:50

+0

我敢打賭,他們想要的答案是'不安全的代碼' – 2012-01-02 02:11:51

+0

我會接受這個答案。我確信他們不是在尋找一個簡單的異常拋出的答​​案,而更可能是一個髒的本地調用。 – koumides 2012-01-02 15:13:15

1

您不能崩潰框架,您可能會崩潰使用該框架的應用程序。

一個很好的例子是無限遞歸方法添加到應用程序沒有任何異常處理。

+3

這是事情:你*可以*崩潰的框架; MSFT會定期發佈可靠性更新,從本質上修補框架以減少發生這種情況的頻率。這很難(這樣做沒有意義),但這並不是說這是不可能的。 但基本上面試的問題表達不清,含糊不清。 – GGulati 2012-01-02 01:38:58

+3

@Gulati:同意,但它不是本身崩潰的框架,而是應用程序,對。例如,如果有10個運行的應用程序使用該框架(不包括asp.net),而且有一個應用程序執行導致其框架實例崩潰的操作,那麼該應用程序崩潰,而不是所有的應用程序。我認爲這確實是一個語義問題。這是一個很可怕的面試問題,被一個可能認爲自己比實際聰明得多的人所問。 – 2012-01-02 01:45:40

+0

我想,也可以崩潰CLR這是框架的一部分 – oleksii 2012-01-02 01:48:42

0

我懷疑這是一個技巧性的問題,他們正在尋找你說使用你自己的代碼不可能崩潰框架本身(即以某種方式取下所有正在運行的.net應用程序)。正如其他人所提到的,任何框架崩潰都可能是框架本身出現錯誤代碼的結果,這可能會被Microsoft迅速解決。