201、簡述 private、 protected、 public、 internal 修飾符的訪問權限
private : 私有成員, 在類的內部才可以訪問。
protected : 保護成員,該類內部和繼承類中可以訪問。
public : 公共成員,完全公開,沒有訪問限制。
internal: 當前程序集內可以訪問。
202、屬性和public字段的區別是什么?調用set方法為一個屬性設值,然后用get方法讀取出來的值一定是set進去的值嗎?
屬性可以對設值、取值的過程進行非法值控制,比如年齡禁止設值負數,而字段則不能進行這樣的設置。雖然一般情況下get讀取的值就是set設置的值,但是可以讓get讀取的值不是set設置的值的,極端的例子。Public Age{get{return 100;}set{}}。加分的補充回答:用reflector反編譯可以看出,屬性內部本質上就是set_***、get_***方法
class Person
{
public int Age
{
get
{
return 3;
}
set
{
}
}
}
Person p1 = new Person();
p1.Age = 30;
p1.Age++;
Console.Write(p1.Age);//輸出3
必須手寫掌握的代碼(既包含拿電腦寫,拿筆寫):
- 手寫三層架構
- 手寫冒泡排序
- 手寫AJAX:XMLHttpRequest
- 手寫增刪改查、SQLHelper
203、關於三層架構
通常意義上的三層架構就是將整個業務應用划分為:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。區分層次的目的即為了“高內聚,低耦合”的思想。表現層(UI):通俗講就是展現給用戶的界面,即用戶在使用一個系統的時候的所見所得。業務邏輯層(BLL):針對具體問題的操作,也可以說是對數據層的操作,對數據業務邏輯處理。數據訪問層(DAL):該層所做事務直接操作數據庫,針對數據的增添、刪除、修改、更新、查找等每層之間是一種垂直的關系。三層結構是N層結構的一種,一般來說,層次之間是向下依賴的,下層代碼未確定其接口(契約)前,上層代碼是無法開發的,下層代碼接口(契約)的變化將使上層的代碼一起變化。
優點: 分工明確,條理清晰,易於調試,而且具有可擴展性。
缺點: 增加成本。
204、說說在軟件設計中你遇到的以空間換時間的例子?
參考回答:談Cache(緩存)、索引這些例子。用額外的磁盤、內存空間的消耗來提高執行速度。Lucene.Net也是一個例子。
205、asp.net中的錯誤機制。(常考)
參考:
定制錯誤頁來將顯示一個友好的報錯頁面。
頁面中未捕獲一樣會觸發Page_Error(不常用),應用程序中的未捕獲異常會觸發Application_Error。通過HttpContext.Current.Server.GetLastError()、HttpContext.Current.Error;拿到未捕捉異常,記錄到Log4Net日志中。
206、介紹幾個使用過的開源的項目
Lucien.net、NPOI、JQuery、ASP.Net AJAX toolkit、Quartz.Net、JqueryUI、ASP.Net MVC。在CodePlex、SourceForge等網站上有更多的開源項目
207、數據訪問通過aspx頁面和DB層會很慢,有什么解決方法
(1)瀏覽器使用緩存;(2)使用壓縮的JS和CSS(3)減少發送HTTP請求的次數;(4)后台,對於一些不經常變化的數據進行Cache;(5)對可能的低效率的SQL語句進行優化;(6)進行服務器負載均衡
208、關於網絡結構
209、關於反向代理
210、如何搭建一個大型網站架構,需要考慮哪些因素?
211、C#中的擴展方法是什么?
212、什么是局部類?
213、【軟件架構】SOLID代表什么?它的原理是什么?
214、【軟件架構】KISS原則是什么意思?
215、【設計模式】“編程為接口而不是實現”是什么意思?
216、【DevOps】持續集成,持續交付和持續部署之間有什么區別?
217、【軟件架構】什么是故障轉移?
218、【軟件架構】系統的ACID屬性是什么?
219、【設計模式】解釋下內聚和耦合?
220、SOLID是設計模式嗎?
否,設計模式是針對軟件編程中常見問題的可重用解決方案,而SOLID是一組原則,我們可以稱其為准則,它使我們可以創建一個系統,在該系統中,每個零件都將松散地連接到其他零件上。
221、什么是CQRS設計模式?
https://www.cnblogs.com/daxnet/archive/2011/01/06/1929099.html
222、什么是算法?
223、你所了解的敏捷開發是什么?它跟瀑布式有什么區別?
224、在LINQ中,IEnumerable接口與IQueryable有何不同?
https://www.cnblogs.com/liuqiyun/p/8507356.html
225、Git跟SVN有什么區別,如何設置Git的權限?