.NET面试题总结
1、c#垃圾回收機制
? ? ?從以下方面入手展開:? 1、壓縮合并算法? ?2、代的機制? 3、GC調用終結器
2、委托和事件
? ? ?先說它的定義:委托的本質是類,類型安全的指針,然后從用途上考慮,事件是包裝的委托,但事件不是委托
3、c#索引
? ? 問題:索引可以是字符串嗎?如何定義?
? ? 可以從索引的本質出發,就是從編譯后的IL出發
4、裝箱和拆箱
? ? 值類型和引用類型之間的轉換。頻繁裝箱和拆箱會導致系統性能降低,可考慮用泛型
5、泛型
? ?考得不多,但我們平常用的比較多。所以對泛型的一些東西需要了解,如泛型約束等
6、c#如何調用c++ 的dll?
? ?其實考查平臺調用
7、托管資源和非托管資源
? ? 問題:1、定義? 2、如何釋放
? ?托管資源有GC釋放,非托管資源由程序員自己釋放,可以實現dispose接口
8、MVC原理
? ?路由機制,我覺得此題,根據自己的理解回答即可,可深入回答
9、MVC中,后臺向前臺頁面傳對象的方式
? ?強類型的模型綁定、ViewData、ViewBag
10、MVC中過濾器
? ? ?問題:你用過過濾器嗎?
? ? 比如,我們經常使用授權過濾器
11、c#擴展方法如何寫?
? ? ? 靜態 ,this
12、.NET Core Api 安全驗證以及中間件
? ? ?采用jwt,生成token驗證,比如我們用來錯誤處理的中間件,可以定義其它功能的中間件
13、設計模式
? ? ?常用的設計模式:工廠、抽象工廠、代理、適配器、模板、策略、單例、觀察者等,根據自己在項目中的使用情況,可以談一談。
14、單點登錄
15、聚集索引和非聚集索引
16、char,varchar、nvarchar區別
17、數據庫死鎖產生的原因及解決辦法
? ? ?兩個進程各自占有資源,然后它們都還想得到對方的資源,而自己不肯釋放資源。我覺得死鎖的活該,誰叫你那么貪婪。
18、有用過緩存嗎?有用過redis嗎?
? ? ?你若回答用過,面試官繼續追問;你若回答沒用過,他會覺得這都沒有用過。
? ? ?緩存為了提高應用程序性能,因為請求數據庫的次數少了。redis有很多特點:1、key-value? ?2、內存數據庫,可以持久化到硬盤上? 3、可以用作消息隊列
19、IOC、依賴注入、容器
? ? ?IOC是一種思想,控制反轉,反轉的是對象的控制權,把生成對象的權利交到外部。比如在方法中要使用一個Student對象,有三種方法,1、用的時候,直接New一個對象? 2、從方法參數中傳入Student對象? ?3、從容器中獲取一個Student對象
20、大文件上傳與下載,如何考慮?比如說50G的大文件
21、Linq
22、AOP
? ? 面向切面的編程。比如給每個Controller,添加日志功能,AOP是橫向思維的一種體現
23、SOA、Webservice、WCF
? ? 問題:Webservice與WCF區別
? ? WCF是一個統一的框架,包括了remotting、Webservice,msmq,可以采用tcp和http等協議。也可以進行安全設置和驗證。缺點:配置復雜
24、有研究過Docker嗎
? ? Docker是一個平臺,解決部署問題。需要理解Image(鏡像)和Container的關系,了解運行機理
25、有研究過微服務嗎
26、sql性能優化
? ? ? 查看sql執行計劃、拆庫、拆表、優化語句等
27、你了解串口編程嗎
? ? ?就是控制攝像頭之類的設備編程,得了解計算機的基本原理
28、js字符串和數組相互轉化
29、請設計一個遞歸算法
? ? ? 比如5的階乘,遞歸算法的一個要點是要設置結束條件,否則會棧溢出。
30、如何考慮做一個網站
31、線性表和鏈表的區別
32、談談你對js閉包的理解
33、多線程中的同步、異步、Task
? ? ?異步主要為了提升吞吐量,防止阻塞。Task主要提供了一個管理線程的接口,比如獲取線程的結果、狀態、取消線程的執行等
34、用過NoSql嗎
35、用過負載均衡嗎
36、大數據處理
37、數據庫表數據量特別大時,如何優化查詢,提高速度?
38、數據庫中如何循環讀取數據庫表中的記錄?
? ? ? 游標
39、數據庫中刪除重復數據
40、Session有什么缺點,微軟如何改進
? ?這是道筆試題,我們知道IIS會回收資源,所以可能會導致Session失效
41、有沒有用過消息隊列
? ? ?RabbitMQ
42、設計一個老鼠、貓和主人的程序,要求可擴展性強,老鼠的叫聲驚動貓和主人
? ? 真無趣的一道題,用事件
43、Vue權限管理,如何控制界面的顯示
44、WCF的部署方式
? ? ?一般在IIS上,還有人部署在Window服務上
45、簡介應用程序池
46、冒泡算法
? ? ? c#寫一個,雙層循環
47、簡述應用程序域
48、數據庫設計三范式
?
面試題可能會針對每個人,有所不同,但是最基礎的面試題都一樣。如果你把最基礎的都答對,面試官試探的一些問題,也能答對,那么就是加分項。比如,大數據、串口編程,這些東西,我們可能平常接觸不到,但某些公司可能要用到。沒有涉及到很正常,我們涉及到的東西,面試官不一定聽過,比如layui、.netcore、word插件。
?
轉載于:https://www.cnblogs.com/wangqiang3311/p/10473839.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: linux文件管理 - 系统目录结构
- 下一篇: Spring Boot使用layui的字