一、面试题(持续跟新)
1、jquery中取得頁面上所有name屬性包含‘box’后綴的div元素怎么寫?怎么從設計上改變這種查找方式,避免低效?
2、是否用過JS的mv*庫,請列舉?
3、避免死鎖的方法有哪些??
4、請說明c#var與dynamic的區別。
答:1. var表示“變量的類型是在編譯時決定的”, var讓你在初始化變量時少輸入一些字,編譯器會根據右值來推斷出變量的類型, var只能用于局部變量的定義,你不能把類的 屬性定義成 var,也不能把方法的返回值類型或者是參數類型定義成var
2. dynamic表示“變量的類型是在運行時決定的”,動態語言運行時(dynamic language runtime DLR)是.NET Framework 4 Beta 1中的一組新的API,它提供了對c# 中dynamic類型的支持, dynamic告訴編譯器,根本就別理究竟是啥類型,運行時再推斷不遲,dynamic類型并沒有跳過類型校驗,只是延遲到了運行時。如果在運行時,檢測 到類型不兼容,照樣會拋出異常。變量,屬性,方法返回值類型及參數類型都可定義為dynamic。
你可能在以下情況下使用dynamic:
1.COM對象
2.動態語言(如IronPython,IronRuby等)對象
3.反射對象
4.C# 4.0中動態創建的對象
因此,dynamic與var具有截然不同的含義。
5、c#中abstract與virtual的區別,請詳盡列舉。
答:virtual是“虛擬的”,abstract是“抽象的";
(1)virtual修飾的方法必須有實現(哪怕是僅僅添加一對大括號),而abstract修飾的方法一定不能實現。
(2)virtual可以被子類重寫,而abstract必須被子類重寫.
(3)如果類成員被abstract修飾,則該類前必須添加abstract,因為只有抽象類才可以有抽象方法。
(4)無法創建abstract類的實例,只能被繼承無法實例化
(5)C#中如果要在子類中重寫方法,必須在父類方法前加virtual,在子類方法前添加override,這樣就避免了程序員在子類中不小心重寫了父類方法。
(6)abstract方法必須重寫,virtual方法必須有實現(即便它是在abstract類中定義的方法).
6、事件代理在什么情況下使用。
7、控制反轉的定義,詳細說明能帶來哪些好處。
控制反轉(IoC)http://www.cnblogs.com/liuhaorain/p/3747470.html#title_3
8、請列舉一下DI的應用場景,有哪些好處。
依賴注入(DI)
9、列舉兩個應用設計模式的例子,并說明使用原因。
10、應用場景,實時數據每分鐘200萬條;只保存7天的數據;怎么備份和刪除;有什么好的數據庫解決方案;
?
?
轉載于:https://www.cnblogs.com/xchit/p/interview_1.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的一、面试题(持续跟新)的全部內容,希望文章能夠幫你解決所遇到的問題。