title
author
date
createtime
categories
c# 高階面試題
lindexi
2019-11-19 08:40:50 +0800
2018-11-12 11:18:2 +0800
c#
很少會有人可以答對,如果你遇到乙個來面試的人實在囂張,就可以用本文的題去打擊 本文內容就看著玩,請不要在嚴肅的面試中問題這樣的題目
如果面試到乙個人可以回答出下面的題目也不能證明他的技術很強,只能說明他了解很多c#相關,或者他看過我的部落格
請在下面的**的注釋處填寫**,讓函式 foo 裡面的**輸出
staticvoid
main(string args)
private
static
void
foo()
}finally
}
參***
使用乙個執行緒呼叫的方式,呼叫之後結束執行緒,此時就會輸出
staticvoid
main(string args)
注意,在 dotnet core 不支援 abort 方法
請寫出 ifoo 和 foo 的實現,讓下面的**不會丟擲空異常
staticvoid
main(string args)
參***
classifoo
class
foo
public
static
implicit
operator
foo(ifoo
foo)
}
請新增新的類的**讓下面的**編譯通過
classprogram
}public
class
foo
}
參***
publicclass
heabdsdnbkevx : inotifycompletion
public
foogetresult()
////>
public
void
oncompleted(action
continuation)
}public
static
class
relelnissou
}
再高階一點,寫出下面的**
staticasync
task
main(string args)
其實很簡單,也就是將 getresult 修改一下,在上面的**修改
publicstring
getresult()
因為返回值是 string 所以又可以繼續等待
這裡有乙個**,需要讓 finally 裡面的**不執行,現在你只能寫 foo 方法,同時這個方法不能執行無限長時間
tryfinally
參***
因為不能讓 foo 執行無限長,就不能使用無限迴圈的方法,可以使用的方法有 environment.failfast 或 environment.exit 退出
privatestatic
void
foo()
或者進行堆疊溢位,如下面**
privatestatic
void
foo()
或者 少珺 小夥伴的不安全**申請
privatestatic
void
foo()
}
或者乾掉自己程序
privatestatic
void
foo()
但是申請大記憶體和退出當前執行緒方法都會讓 finally 執行
privatestatic
void
foo()
// 雖然提示記憶體不夠,但是finally依然可以執行
退出當前執行緒丟擲的是執行緒中斷異常,和其他異常一樣都能執行 finally **
privatestatic
void
foo()
注意,在 dotnet core 不支援 abort 方法
另外,如果進入 try 是不能使用 goto 跳出但不執行 finally **
如果是在 visualstudio 除錯,在 foo 執行完之後,在 vs 裡把除錯箭頭拖到 finally 的後面
請問下面的**的 n 的值是多少?
classfoo =
1; }
foofoo=
null;
varn=
2+foo?.n
??1;
console.writeline(n);
參***
可能有小夥伴認為在2 + foo?.n
這時如果 foo 為空就應該返回??
後面的值,但是這是不對的上面的**是和下面的**差不多等同的
if (foo==null)
else
而不是和下面的**等價的
if (foo==null)
else
在表達裡面只有?
的值為空,那麼就不會執行
等等,為什麼上面的**說的是差不多等同而不是等價,因為嘗試執行下面**,會看到 hi 輸出,多謝 九鼎 指出
usingsystem;
class
test}}
static
void
main()
}
上面**中,第乙個foo?.n
會進行判斷,因為 foo 不存在,所以整個表示式沒有執行,但是表示式內的邏輯依然執行
請問下面**輸出什麼?
classb
private
staticbb
static
void
main(string args)
也許這是全部題目裡面最簡單的一道題
請看 c# 匹配可空變數
其實這裡的a is b
用的b
是class
不是定義的屬性,對a is b b5
返回的是bool
所以將會是bool
與b
之間的運算
IOS高階面試題
1.寫一下uibutton與uitableview的層級結構 2.cocoa的foundation物件與core foundation物件通過什麼關鍵字進行轉換?這些關鍵字有什麼區別?3.kvo是什麼?內部是怎麼實現的?4.是否可以把比較耗時的操作放在nsnotificationcenter中處理?...
PHP高階面試題
1.寫出乙個能建立多級目錄的php函式 function createdir path,mode elseelse path aa bb cc cd 要建立的目錄 mode 0755 建立目錄的模式 createdir path,mode 測試 2.請寫一段php 確保多個程序同時寫入同乙個檔案成功...
IOS高階面試題
1.寫一下uibutton與uitableview的層級結構 2.cocoa的foundation物件與core foundation物件通過什麼keyword進行轉換?這些keyword有什麼差別?3.kvo是什麼?內部是怎麼實現的?4.能否夠把比較耗時的操作放在nsnotificationcen...