一、簡述javascript中的「=、==、===」的區別?javascript
=賦值前端
==比較是否通常相等 "3"==3 //會作類型的隱式轉換,truejava
===比較是否嚴格相等 "3"===3 //先比較類型,再進行值比較,false jquery
二、看下列代碼輸出爲什麼?解釋緣由
var a = null;
alert(typeof a);
var b;
alert(typeof b);
alert(c);web
a爲null,也是一個對象,因此typeof(a)爲object.編程
b只有聲明沒有初始化,所以typeof(b)爲undefined.後端
c沒有定義,所以alert(c)會出現error.設計模式
三、編寫javascript代碼實現把兩個數組合並,並刪除第二個元素。數組
合併js數組用concat方法,array1.concat(array2)。緩存
刪除元素用splice方法,splice(1,1),函數原型splice(index,count),指從數組索引1處開始刪除1個元素,即刪除第二個元素。
四、簡述javascript的做用域和閉包
js變量的做用域是指:函數內定義的局部變量只在此函數內有效,而全局變量能夠全局有效。
閉包的做用就在於可以改變局部變量的做用域,將值保存下來,可是若是使用不當會形成沒法回收變量,引發性能問題,甚至崩潰。
五、列舉你用過的javascript框架,並簡述它們的優缺點
js框架:jQuery EasyUI、ExtJS、Bootstrap、AngularJS等等。
jQuery EasyUI:輕量級web前端ui開發框架,尤爲適合MIS系統的界面開發,可以重用jquery插件。
ExtJS:統一的前端UI開發框架,學習難度中等。尤爲適合MIS系統的界面開發,開發文檔和例子代碼都比較完整。缺點是大量的js腳本,下降了運行速度。
Bootstrap:響應式網站開發框架,優勢是下降了後端開發人員開發前端頁面的難度,統一了界面風格,缺點是界面風格比較單一。
AngularJS:將java後端的優秀特性引入到了js前端,大而全的框架。缺點是學習曲線高,Angular2幾乎重寫。
六、簡述a.Equals(b)和a==b的區別?
Equals方法比較內容(值是否相等),==比較引用地址(是否指向同一個對象)。
——————
更正一下,在Java中上述結論是正確的,但在C#中卻正好反過來,即:==比較內容是否相等,Equals先比較值,而後再比較引用。
七、ASP.NET的Application、Session、Cookie、ViewState和Cache等變量的區別是什麼?
Application 應用程序級別
Session 會話級別用戶跟蹤
Cookie 客戶端存儲少許信息
ViewState 保持ASP.NET控件狀態的機制
Cache 緩存
八、列舉ASP.NET MVC ActionResult的返回值有幾種類型?
主要有View(視圖)、PartialView(部分視圖)、Content(內容)、Json(Json字符串)、Javascript(js腳本)、File(文件)等幾種類型。
九、簡述ASP.NET WebApi相對於ASP.NET MVC的優勢?
WebApi消息處理管道獨立於ASP.NET平臺,支持多種寄宿方式。
十、簡述ASP.NET請求的生命週期?
用戶從 Web 服務器請求應用程序資源->ASP.NET 接收對應用程序的第一個請求->爲每一個請求建立 ASP.NET 核心對象->將HttpApplication對象分配給請求->由HttpApplication 管線處理請求
refer: https://msdn.microsoft.com/zh-cn/library/ms178473(v=vs.100).aspx
十一、ORM中的延遲加載與直接加載有什麼異同?
延遲加載(Lazy Loading)只在真正須要進行數據操做的時候再進行加載數據,能夠減小沒必要要的開銷。
十二、簡述Func<T>與Action<T>的區別?
Func<T>是有返回值的委託,Action<T>是沒有返回值的委託。
1三、開啓一個異步線程的幾種方式?多線程編程時的注意事項?
APM(Asynchrocous Programming Model,好比:BeginXXX、IAsyncResult)、EAP(Event-Based Asynchronous Pattern,好比:DownloadContentAsync)、TPL(Task Parallel Library,好比:Task.Factory.StartNew)、async/await。
線程餓死、線程死鎖、線程同步、線程安全。
1四、簡述Linq是什麼,以及Linq的原理?並編寫一個Linq to Object的示例代碼
Linq(Language Integrated Query),其中Linq to Object是對Enumberable擴展方法的調用,在執行時會轉化爲Lambda而後執行。
示例代碼:Linq分組統計
var result = from p in list.AsEnumerable() group p by p.Province into g select new { g.Key, SumValue = g.Sum(p => p.Value) }; result.ToList().ForEach((i) => { Console.WriteLine(i.Key + ":" + i.SumValue); });
1五、簡述面向對象的特性有哪些?你是如何理解的?
繼承(inheritance)、封裝(encapsulation)、多態(polymorphism)。
1六、列舉你所知道的設計模式?你在真實項目中使用過的有哪些?有什麼心得?
單例模式、模板方法、工廠模式、外觀模式、策略模式等。
1七、編寫SQL從A表中查出Name字段重複三條以上的記錄,並編寫SQL刪除這些重複記錄
查詢Name字段記錄重複三條以上的記錄
select name from A group by name having count(name)>3
刪除重複記錄
if exists(select * from sysobjects where name = 'tempA') drop table tempA select ROW_NUMBER() over (order by name ) as rowid, name into tempA from A select * from tempA --刪除重複記錄,只保留rowid最小的那一行
delete from tempA where name in (select name from tempA group by name having count(name)>3) and rowid not in (select min(rowid) from tempA group by name having count(name)>3) select * from tempA