C#與.NET程序員面試寶典 Day2

15年末,彷佛陷入了困境,老婆上個月工資沒發,小房的房租也沒收到,個人工資也沒發,全都拖着。。。並且元旦離職後,新的工做還沒着落。。。上次介紹的工做機會只回復了已轉人事,春節後可能有個項目會要人。。。總不能在家等一個月吧,問他能不能先面試,若是經過了,等一個月是能夠;若是沒經過,也好找工做。還沒後續消息。。。面試

 

今天下班碰到一老一少兩個女的在電梯口,說是要買4樓的同戶型房,是網上看到的司法拍賣,但明天要出差,能不能到我家看一下戶型。。。sql

剛開始我很猶豫,由於回小區時順便看了下家裏的燈,家裏人出去了,單獨帶陌生人來家,多少有些風險。數據庫

雖然說是女的,但兩我的把下了藥的手帕矇住我仍是不成問題的。。。醒來後手機錢包和腎都沒了。。。瀏覽器

或者是順手牽羊撈走一些東西是不成問題的,再或者是來踩點的也不是什麼好事。。。服務器

好在看上去真是看房的,我對自已家和小區仍是挺滿意的,當時買的時候正值0八、09年房市最低潮,四千多打着大廣告還沒人買,如今一萬多。。。若是不是老爹當年頂住壓力借錢買了房(親戚都說國家要調控,要降到兩千多。。。還信調控嗎。。。),如今要怎麼才能賺得回本。。。tcp

過後我上網搜了下,4樓確實有司法拍賣,希望是件真事吧,認識個鄰居,也把人與人的信任感傳遞下去。函數

 

這幾天怎麼又感冒了,好像一直沒好,頭痛、精神不振。先把最後一天熬過去再說吧,今晚仍是看這本面試寶典,好歹把這本書看完。post

 

1、章節忘了性能

一、checked/unchecked大數據

public static void Main(string[] args)
{
    byte i = 255;
    checked{
        i++;
    }
    Console.ReadKey();
}

加了checked,會檢查溢出,不加或加unchecked,則不檢查(此例中溢出變成0)

 

二、三目運算符

        public static void Main(string[] args)
        {
            string a = "A";
            string b = a == "A" ? "B1" : "B2" + "END";
            string c = (a == "A" ? "C1" : "C2") + "END";
            Console.WriteLine(b); //B1
            Console.WriteLine(c); //C1END
            Console.ReadKey();
        }

就是要注意有些場景要加括號,否則會把後面的內容看成是三目運算符的一部份

 

三、is/as

is運算符用於檢查對象是否與給定類型兼容,若是兼容返回true,反之返回false。
as運算符用於在兼容的引用類型之間轉換,若是沒法轉換,返回null而不是引起異常

 

四、DateTime,項目中常常用到,就不細舉例了

 

五、靜態構造方法:靜態構造方法是最早被執行的構造方法,而且在一個類裏只容許有一個無參的靜態構造方法

六、事件/委託:事件是定義了一個特定的委託成員,訂閱事件本質就是把事件加入委託鏈表中

 

2、ASP.NET應用開發

一、Request

Request.QueryString:用於獲取Get傳遞的

Request.Form:用於獲取Post傳遞的

Request.ServerVariables:獲取參數集合

通常項目中默認用Request["xx"],這樣會先找Request.QueryString,再找Request.Form,以防有時用$.get,有時用$.post。固然有時爲了嚴謹也能夠直接用Request.Form來強制要求Post

 

二、Response

Response.Charset:字符集

Response.ContentType:HTTP內容類型

Response.Expires:頁面有效緩衝期

Response.Status:HTTP狀態值,如200成功或404未找到

Response.Write("str"):最經常使用到,直接輸出

Response.Redirect("url"):跳轉url

Response.Clear() / .End() / .Flush() : 分別爲清除、結束、發送緩衝

 

三、Server:是HttpServerUtility的類型實例

Server.MapPath():最經常使用,將虛擬目錄轉成實際目錄

Server.Transfer():終止當前頁,執行新頁

Server.HtmlDecode() / .HtmlEncode() :解碼編碼

 

四、ViewState:是個加密、壓縮的隱藏字段,不能跨頁,自動維護,存在於客戶端

五、Session / Cookie / ViewState區別:

Session不適應長時間保持數據,默認是20分鐘,適用於小量數據。

ViewState經常使用於保存單個用戶狀態信息,有效期爲頁面生存週期,不適應大數據

Cookie用於保存瀏覽器請求信息,明文保存。

 

六、頁面跳轉:

Response.Redirect():地址爲變

Server.Transfer():只能同目錄或子目錄,地址不變

Server.Execute():相似針對新頁面進行函數調用,返回結果

a標籤的href:有帶樣式

ASP.NET的HyperLink控件:ASP.NET專用

JS腳本:比較靈活,還能夠加入其它邏輯

 

七、ASP.NET存儲會話:

InProc存儲在IIS進程(默認):性能高、不能跨服務器、受IIS影響、

StateServer存儲在狀態服務器:要設置stateConnectionString="tcpip=192.168.0.xx:42424",並在該服務器上裝ASP.NET State Server服務

SqlServer存儲在數據庫:可跨服務器,穩定,但負載大。開啓數據庫服務和SQL Server代理服務,在C:\winnt\Microsoft.NET\Framework\[version]\找到InstallSqlState.sql(可能每一個系統不大同樣,要去找找看),會新建ASPState庫,有些存儲過程,具體表是在tempdb的ASPStateTempSession表。要配置sqlConnectionString="data source=localhost; Integrated Security=SSPI;"

相關文章
相關標籤/搜索