面試前的準備 C 知識點回顧 01

2022-02-21 17:35:26 字數 1424 閱讀 7268

過完年來,準備找份新工作,雖然手裡的工作不錯,但樹挪死,人挪活。咱不能一直在乙個坑里生活一輩子,外面的世界畢竟是很美好的。

為了能正常的找到自己中意的工作,最近是將所有的基礎知識拿出來複習了一次。僅作記錄,自勉,各位大神不要噴,隨意看看就好了。

以下知識點,均摘自面試過程中遇到的題

1.try{} 裡面有個return語句,那麼緊跟try後面的finally{}會不會執行?

答案:會執行,在return後執行

我的記憶方法如下

public static int executenonquery(string connstr, string sql)

catch

finally

}這屬於幫助記憶型,最好還是弄懂原理

2.using有什麼用.

答:很多同學看到這個就笑了,不就是namespace的引用嘛,殊不知,出題人正在等你更精彩的回答呢。

using還可以實現非託管資源的釋放,實現了idisposiable類在using中建立,using結束後會自動呼叫dispose方法**資源,其等價於try...finally

以上可以參考:

這個時候面試官就笑了,綿裡藏針的問,什麼是非託管資源,託管資源.這個時候接不上就暴露了背書了吧。

託管資源:一般是指被clr控制的記憶體資源,這些資源由clr來管理。可以認為是.net 類庫中的資源。

非託管資源:不受clr控制和管理的資源,比如檔案流,資料庫的連線,網路連線,系統的視窗控制代碼,印表機資源等,這類資源一般不存在堆上。可以認為作業系統資源的一組api。

對於託管資源,gc負責垃圾**。對於非託管資源,gc可以跟蹤非託管資源的生存期,但是不知道如何釋放它,這時候就要人工進行釋放。

然後面試官就會繼續問gc**機制巴拉拉一大推了,直到你回答不上來為止.

3.readonly 同const區別

是不是又被簡單到了?

首先先解釋下什麼是靜態常量以及什麼是動態常量。靜態常量是指編譯器在編譯時候會對常量進行解析,並將常量的值替換成初始化的那個值。而動態常量的值則是在執行的那一刻才獲得的,編譯器編譯期間將其標示為唯讀常量,而不用常量的值代替,這樣動態常量不必在宣告的時候就初始化,而可以延遲到建構函式中初始化。

基本了解以上後,就可以對號入座了。const修飾的常量是上述中的第一種,即靜態常量;而readonly則是第二種,即動態常量。那麼區別可以通過靜態常量與動態常量的特性來說明

1)const修飾的常量在宣告的時候必須初始化;readonly修飾的常量則可以延遲到建構函式初始化 

2)const修飾的常量在編譯期間就被解析,即常量值被替換成初始化的值;readonly修飾的常量則延遲到執行的時候

此外const常量既可以宣告在類中也可以在函式體內,但是static readonly常量只能宣告在類中。      

以上摘自:

以上是今天的重點觀察,也許很基礎,也許很多次重逢,溫故而知新吧

C 面試前的準備 基礎知識點的回顧 01

本系列本章來至於 1.try 裡面有個return語句,那麼緊跟try後面的finally 會不會執行?答案 會執行,在return後執行 我的記憶方法如下 public static int executenonquery string connstr,string sql catch final...

c 知識點回顧

過載只與函式的引數有關,而與函式的返回型別無關 int 形參 實參 0 char short int double 形參 實參 float double 用省略號 表示,即函式可以有任意個任意型別的引數。如,int printf const char format,在乙個函式中,可指定多個 甚至全部...

C 面試前的準備 基礎知識點的回顧 05

1.談談viewstate 這個問題,回答的好,工資翻一級 基本上浮現在出來的是,它是什麼,具體談論的東西我就不一一細說了,只能說根據自己的學識去 千萬不要背書,很容易露餡,露餡的話給人一種不懂裝懂的感覺,反而不好。三連擊 注意文章中提到了asp.net頁面生命週期,這個要是能闡述清楚,又是乙個質的...