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