主頁 > .NET開發 > .Net面試經驗總結(.Net/C#)

.Net面試經驗總結(.Net/C#)

2021-02-26 06:03:54 .NET開發

首先是簡歷

 

 

簡歷一定要認真對待,不能隨隨便便找個模板,它是你能不能得到面試的一個關鍵,
簡歷的模板可以參考該網站超級簡歷的程式員簡歷模板,

自我介紹

 

 

這里說一下我的一個主要模板,需要根據不同的公司有針對的準備不同的自我介紹,各位面試官,您們好,很高興得到這次面試機會,我叫XXX,畢業于XXX,具有較強的自學能力,在校期間通過自學掌握了相關的編程技術,
參加作業以來,先后獨立開發了幾個專案模塊,主要包括XXX等,其中讓我識訓最大的一個專案是XXX,當時接到的任務就是XXX,在此期間我的主要任務參與前期的一些設計討論以及后面的開發和維護,…………(這里可以介紹你通過什么技術解決了什么,完成了什么任務等),經過這個專案開發使我在技術的掌握和問題的處理上都有了很大的進步,
我今天求職的崗位是.Net開發工程師,在XXX兩年的.Net開發中,一直從事企業級應用管理系統的開發維護,使我擁有了扎實的編程基礎和良好的編碼習慣,并能夠熟練的使用C#語言開發基于Web Form和Asp.Net MVC架構的應用程式,也使我清楚的知道這個崗位的主要作業內容,并使我在這方面有了一定的能力和經驗積累,我相信我能夠勝任該職位的作業,我非常認可并喜歡貴公司的理念,也希望貴公司能夠給我一次機會,讓我加入到貴公司中,謝謝

 

常見的面試題

 

 

面試時大部分都會有筆試題的,下面列舉一些遇到的一些筆試題

.Net

 

 

.Net簡述面向物件中封裝、多型、繼承的概念
答:封裝:把一些功能的實作寫在一個檔案中,對外只開放一個介面,呼叫者通過這個介面來呼叫方法
繼承:子類繼承父類中的方法和屬性,并且子類可以擁有自己的一些方法和屬性
多型:通過繼承實作不同物件在呼叫相同的方法時,產生不同的結果,這就是多型,重寫或者多載

簡述private、protected、public修飾符的訪問權限
答:private : 私有成員, 在類的內部才可以訪問,
protected : 保護成員,該類內部和繼承類中可以訪問,
public : 公共成員,完全公開,沒有訪問限制,
internal: 當前程式集內可以訪問,

abstract、class、interface有什么區別
答:相同點:都不能被實體化,都可以通過繼承來實作其抽象方法,
不同點:介面支持多繼承,抽象類不能實作多繼承;
介面只包含方法、屬性、索引器、事件的簽名,但不能定義欄位和包含它們的實作;抽象類可以定義欄位、屬性、包含有實作的方法,
介面可以作用于值型別和參考型別;抽象類只能作用于參考型別,例如,Struct就可以繼承介面,而不能繼承類,

寫一段C#訪問SqlServer資料庫的代碼(來列舉出ADO.Net中五個主要物件)
答:

 

 

列舉兩種你所使用過的設計模式,簡述他們的概念和好處
答:單例模式:確保一個類只有一個實體,并提供一個訪問它的全域訪問點

C#中值型別與參考型別的區別,作為引數傳遞時有何不同
賦值區別:將一個值型別變數賦給另一個值型別變數時,將復制包含的值,參考型別變數的賦值只把物件的參考的指標賦值給變數,使得變數參考與物件共享同一個記憶體地址,
繼承區別:值型別不能派生出新的型別:所有的值型別均隱式派生自 System.ValueType,參考型別一般都有繼承性,
記憶體分配區別:值型別通常分配在堆疊上,參考型別通常分配在托管堆上
值型別不可能包含 null 值,然而,可空型別功能允許將 null 賦給值型別,
值型別傳遞的是值的副本,參考型別傳遞的是物件參考,所以值引數的修改不影響原始值,參考型別的修改影響原始值;

C#中使用StringBuilder拼接字串時有何優點
StringBuilder是動態物件,允許擴充他所封裝的字串中的字符數量,在生成string物件之前,不會產生任何string物件,所以在進行大量的字串拼接或者頻繁的堆某一個字串進行操作時最好使用StringBuilder,而不要使用string

C#委托與與泛型的概念,事件是不是一種委托
委托是一種可用于封裝命名和匿名方法的參考型別,委托類似于指標,但是委托是型別安全和可靠的,委托類都繼承于System.Delegate型別,委托型別的宣告和方法簽名類似,有一個回傳值和任意數目任意型別的引數,
泛型是C#語言和公共語言運行庫(CLR)中的一個新功能,它將型別引數的概念引入了.NET Framework,通過使用泛型可以大大的簡化強制型別轉換或裝箱操作的程序,

一列數的規則如下:1、1、2、3、5、8、13、21、34……求第30位數是多少,用遞回演算法實作
解答:總結遞回規律:F(n)=F(n-2)+F(n-1) Fibonacci數列

圖片

簡述行程和執行緒的區別,以及寫出多執行緒常用的物件和方法
行程是系統進行資源分配和調度的單位;執行緒是行程內部的一個執行單元,是CPU調度和分派的單位,一個執行緒可以創建和撤銷另一個執行緒,同一個行程中的多個執行緒也可以并發執行

圖片

簡述WebService、WebApi、WCF的區別,以及使用場景

列舉Asp.Net頁面之間傳遞值的幾種方式

1.使用QueryString, 如…?id=1; response. Redirect()…
2.使用Session變數
3.使用Server.Transfer
4.Cookie傳值

Asp.Net Session有什么作用,請描述你對Session的理解

簡述多載和重寫的概念,并手寫一個簡易的多載和重寫
多載是方法的名稱相同,引數或引數型別不同,進行多次多載以適應不同的需要,多載是面向程序的概念

圖片

重寫(Override)是對基類中的虛方法進行重寫,Override是面向物件的概念

圖片

C#如何捕獲代碼例外
try
{
可能會出現例外的代碼;
}
cath
{
出現例外后要執行的代碼;
}現有集合:List collection = new List();
User類定義如下:

圖片

請使用Linq或者Lambda一種實作以下查詢

1.查詢姓名中包含“張”的所有人

2.查詢年齡在20到30歲之間的人(包含)

3.查詢出2008年三月出生的所有人

4.查詢姓名等于“張三”年齡最大的第一個人

5.按年齡分組查詢每段年齡有多少人

是否使用過EF、Dapper等ORM、框架,簡述這些框架的好處
提高開發效率,降低開發成本
使開發更加物件化
可移植
可以很方便地引入資料快取之類的附加功能

 

 

WEB端的

 

 

JavaScript中的基礎型別有哪些
Undefined、Null、Boolean、Number和String

簡述函式與閉包的概念
函式:就是封裝了一段可被重復呼叫執行的代碼塊,通過此代碼塊可以實作大量代碼的重復使用
閉包就是能夠讀取其他函式內部變數的函式,由于在Javascript語言中,只有函式內部的子函式才能讀取區域變數,因此可以把閉包簡單理解成“定義在一個函式內部的函式”

請寫出jQuery id class 屬性 標簽選擇器語法
id選擇器:KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#?ids')、類選擇器:(’.myClass’)、元素選擇器:$(‘div’)

Ajax的概念,ajax請求的五個步驟
AJAX(即:異步的JavaScript和XML),是一種實作無頁面重繪獲取服務器資料的混合技術,

 

 

SQL方面的

 

 

用一條SQL陳述句查詢出每門課程都大于80的學生的姓名

圖片

答:

圖片

使用SQL實作分頁查詢

圖片

寫一條sql陳述句取出表A中第31到40的記錄(SqlServer,以自動增長的ID作為主鍵,注意:ID可能不是連續的)
答:

圖片

撰寫SQL根據部門資訊T_Org中的部門編號OrgCD、部門名稱欄位OrgName、以及員工資訊表T_Employee中所屬部門編號欄位OrgCD、來更新員工資訊表T_Employee中的所屬部門欄位OrgName

找出教師表(表名Teacher)中姓名(欄位名Name)重復的資料,然后洗掉多余重復的記錄,只留ID小的那個,

什么叫Sql注入,如何防止?
答:
用戶根據系統的程式構造非法的引數從而導致程式執行不是程式員期望的惡意SQL陳述句,使用引數化的SQL就可以避免SQL注入,

介紹存盤程序的基本概念和它的優缺點
答:
存盤程序是一套已經預先編譯好的SQL代碼

1.運行速度:存盤程序一旦執行,在記憶體中就會保留一份這個存盤程序,這樣下次再執行同樣的存盤程序時,可以從記憶體中直接呼叫,所以執行速度會比普通sql快,

2.減少網路傳輸:存盤程序直接就在資料庫服務器上跑,所有的資料訪問都在資料庫服務器內部進行,不需要傳輸資料到其它服務器,所以會減少一定的網路傳輸,

3.可維護性

4.增強安全性

5.可擴展性:應用程式和資料庫操作分開,獨立進行

現有一學生表如下:

圖片

請撰寫Sql查詢出如下結果:

6.獲取每個班級的English的平均成績,并按照降序排序

7.獲取有一門不及格的人,并統計每個班級的不及格人數(小于60分不及格)

注意:上面是找作業期間常遇到的部分面試題,其中設計模式基本都會考到

 

專案經驗

 

 

這個是面試中最重要的了,基本都會根據你做的專案來進行詢問里面遇到的一些技術,遇到的一些問題怎么解決的等等,這就要根據自己的專案來回答了

 

開放性問題

 

 

在作業中學習到了什么?
首先技術方面每個專案都會學到一些特定的技術知識,我在與同事的溝通合作中,注重團隊內部的團結,在作業中學習認識到合作的寶貴,以及實踐的重要性,

你有沒有帶領團隊的經驗
我在以往的專案中與團隊成員都能夠融洽相處,我們每周都會有技術培享會,我也會分享一些技術來相互學習,我們有時候周六會有技術的培訓,我也針對自己掌握的技術做了幾次培訓,雖然我沒有帶隊的經驗,但我相信我自己是能夠做到的

為什么選擇這家公司?
我了解到貴公司在ERP行業屬于領頭行業,業務方面最為全面,研發實力也最為雄厚,通過公司的官方博客我還了解到公司的企業文化,我非常希望能加入到這樣一個優秀的企業中,讓我能夠實戰研發能力,我會女里的作業,證明自身的價值

對本公司了解多少?
我了解到貴公司是中國最早的互聯網即時通信軟體開發商,是我國互聯網服務以及移動增值服務的提供商,并一直致力于即時通信以及相關的增值業務的服務運營

你曾經面臨最大的專業挑戰是什么?你是怎么戰勝它的?
在專案開發程序中也遇到了很多問題,其中讓我印象比較深刻的一個問題是XXX,通過這個問題也是我認識到,在撰寫代碼時不僅要注意代碼的邏輯和可讀性,同時也要考慮一下這些代碼有沒有可能會出現某些問題,

你認為自己的技術水平怎么樣?
經過這兩年的積累和成長,我對自己的技術很有信心,我覺得我算一個中級的開發者,我感覺我可以勝任相關的各種開發任務

你對加班的看法?
如果是作業需要,我會義不容辭的加班,我本身沒有什么負擔,可以全身心的投入到作業中,同時我也會提高作業效率,減少不必要的加班

如何評價你上家公司,你為什么從上家公司離職?
上一家公司在專案管理和系統集成方面較為突出,從中也學習到了很多的東西,經過這兩年對ERP中一些系統的研發,使我了解了相關的業務流程并掌握了很多開發上的技巧,以及相關的一些技術,
以前的行業發展空間比較有限
原來的作業與自己的職業規劃不合
原來的業務相對傳統,我想做一些偏向互聯網方面的一些產品,
公司在新的研發方向上沒有一個明確的資訊,
自己在過去的幾年中也有了一定的經驗積累,所以想尋求更適合自己發揮的一個平臺
并且公司所用的技術堆疊不夠豐富,
我對XXX類系統的前景更看好,我也希望能夠擴展自己的技能和對業務的了解,因此我希望尋找一家做專業的B2B系統的企業,所以做了離職的決定

你有什么優點?
我的優點是有足夠的專業能力,作業認真負責,比如在專案的開發程序中,我作為專案的主要開發人員,每天都會認真規劃和撰寫開發日程,方便其他成員了解開發進度并及時跟進專案進度

你有什么缺點?
缺點的話,比較執著把,比如有時候會因為一個技術問題導致很長時間或者可能加班到很晚都在研究怎么處理這個問題,這樣有時候也會誤了其他方面的作業,作業比較按部就班吧,總是按照主管的要求去完成任務,還有就是自己的作業范圍內有創新意識,但是沒有及時的分享給其他的同事,這些問題我也一直在改善,我也相信我能夠很快的解決

你的職業規劃是什么?
現在最大的愿望就是能入職貴公司,虛心向周圍優秀的同事學習,追趕他們,讓自己變得更專業,然后三到五年的一個計劃就是達到高級工程師的水平,在此期間我也會注重自己管理方面知識的積累,如果三年以后在管理方面有一些能力的話,我會向技術主管和專案經理的方向努力發展

如果你離職,你的老板有什么反應?
我和現任公司的老板關系非常好,我在專案中也承擔了一個核心的研發作業,因此我離開時,他非常的不舍,但我更希望有自己的一些職業發展,所以我們經過友好的交談,他也尊重我離職的這個決定,我也非常感謝他的理解和支持

END

推薦一個公眾號:dotNET編程大全,掃碼關注!

 

 

 

需加微信交流群的,請加小編微信號z438679770,切記備注 加群,小編將會第一時間邀請你進群!

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/263610.html

標籤:.NET技术

上一篇:面試官:Redis 記憶體資料滿了,會宕機嗎?

下一篇:C#呼叫PB創建com組件dll 例外來自 HRESULT:0xFFFFDF80

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • WebAPI簡介

    Web體系結構: 有三個核心:資源(resource),URL(統一資源識別符號)和表示 他們的關系是這樣的:一個資源由一個URL進行標識,HTTP客戶端使用URL定位資源,表示是從資源回傳資料,媒體型別是資源回傳的資料格式。 接下來我們說下HTTP. HTTP協議的系統是一種無狀態的方式,使用請求/ ......

    uj5u.com 2020-09-09 22:07:47 more
  • asp.net core 3.1 入口:Program.cs中的Main函式

    本文分析Program.cs 中Main()函式中代碼的運行順序分析asp.net core程式的啟動,重點不是剖析原始碼,而是理清程式開始時執行的順序。到呼叫了哪些實體,哪些法方。asp.net core 3.1 的程式入口在專案Program.cs檔案里,如下。ususing System; us ......

    uj5u.com 2020-09-09 22:07:49 more
  • asp.net網站作為websocket服務端的應用該如何寫

    最近被websocket的一個問題困擾了很久,有一個需求是在web網站中搭建websocket服務。客戶端通過網頁與服務器建立連接,然后服務器根據ip給客戶端網頁發送資訊。 其實,這個需求并不難,只是剛開始對websocket的內容不太了解。上網搜索了一下,有通過asp.net core 實作的、有 ......

    uj5u.com 2020-09-09 22:08:02 more
  • ASP.NET 開源匯入匯出庫Magicodes.IE Docker中使用

    Magicodes.IE在Docker中使用 更新歷史 2019.02.13 【Nuget】版本更新到2.0.2 【匯入】修復單列匯入的Bug,單元測驗“OneColumnImporter_Test”。問題見(https://github.com/dotnetcore/Magicodes.IE/is ......

    uj5u.com 2020-09-09 22:08:05 more
  • 在webform中使用ajax

    如果你用過Asp.net webform, 說明你也算是.NET 開發的老兵了。WEBform應該是2011 2013左右,當時還用visual studio 2005、 visual studio 2008。后來基本都用的是MVC。 如果是新開發的專案,估計沒人會用webform技術。但是有些舊版 ......

    uj5u.com 2020-09-09 22:08:50 more
  • iis添加asp.net網站,訪問提示:由于擴展配置問題而無法提供您請求的

    今天在iis服務器配置asp.net網站,遇到一個問題,記錄一下: 問題:由于擴展配置問題而無法提供您請求的頁面。如果該頁面是腳本,請添加處理程式。如果應下載檔案,請添加 MIME 映射。 WindowServer2012服務器,添加角色安裝完.netframework和iis之后,運行aspx頁面 ......

    uj5u.com 2020-09-09 22:10:00 more
  • WebAPI-處理架構

    帶著問題去思考,大家好! 問題1:HTTP請求和回傳相應的HTTP回應資訊之間發生了什么? 1:首先是最底層,托管層,位于WebAPI和底層HTTP堆疊之間 2:其次是 訊息處理程式管道層,這里比如日志和快取。OWIN的參考是將訊息處理程式管道的一些功能下移到堆疊下端的OWIN中間件了。 3:控制器處理 ......

    uj5u.com 2020-09-09 22:11:13 more
  • 微信門戶開發框架-使用指導說明書

    微信門戶應用管理系統,采用基于 MVC + Bootstrap + Ajax + Enterprise Library的技術路線,界面層采用Boostrap + Metronic組合的前端框架,資料訪問層支持Oracle、SQLServer、MySQL、PostgreSQL等資料庫。框架以MVC5,... ......

    uj5u.com 2020-09-09 22:15:18 more
  • WebAPI-HTTP編程模型

    帶著問題去思考,大家好!它是什么?它包含什么?它能干什么? 訊息 HTTP編程模型的核心就是訊息抽象,表示為:HttPRequestMessage,HttpResponseMessage.用于客戶端和服務端之間交換請求和回應訊息。 HttpMethod類包含了一組靜態屬性: private stat ......

    uj5u.com 2020-09-09 22:15:23 more
  • 部署WebApi隨筆

    一、跨域 NuGet參考Microsoft.AspNet.WebApi.Cors WebApiConfig.cs中配置: // Web API 配置和服務 config.EnableCors(new EnableCorsAttribute("*", "*", "*")); 二、清除默認回傳XML格式 ......

    uj5u.com 2020-09-09 22:15:48 more
最新发布
  • C#多執行緒學習(二) 如何操縱一個執行緒

    <a href="https://www.cnblogs.com/x-zhi/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2943582/20220801082530.png" alt="" /></...

    uj5u.com 2023-04-19 09:17:20 more
  • C#多執行緒學習(二) 如何操縱一個執行緒

    C#多執行緒學習(二) 如何操縱一個執行緒 執行緒學習第一篇:C#多執行緒學習(一) 多執行緒的相關概念 下面我們就動手來創建一個執行緒,使用Thread類創建執行緒時,只需提供執行緒入口即可。(執行緒入口使程式知道該讓這個執行緒干什么事) 在C#中,執行緒入口是通過ThreadStart代理(delegate)來提供的 ......

    uj5u.com 2023-04-19 09:16:49 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    <a href="https://www.cnblogs.com/huangxincheng/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/214741/20200614104537.png" alt="" /&g...

    uj5u.com 2023-04-18 08:39:04 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    一:背景 1. 講故事 前段時間協助訓練營里的一位朋友分析了一個程式卡死的問題,回過頭來看這個案例比較經典,這篇稍微整理一下供后來者少踩坑吧。 二:WinDbg 分析 1. 為什么會卡死 因為是表單程式,理所當然就是看主執行緒此時正在做什么? 可以用 ~0s ; k 看一下便知。 0:000> k # ......

    uj5u.com 2023-04-18 08:33:10 more
  • SignalR, No Connection with that ID,IIS

    <a href="https://www.cnblogs.com/smartstar/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/u36196.jpg" alt="" /></a>...

    uj5u.com 2023-03-30 17:21:52 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:15:33 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:13:31 more
  • C#遍歷指定檔案夾中所有檔案的3種方法

    <a href="https://www.cnblogs.com/xbhp/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/957602/20230310105611.png" alt="" /></a&...

    uj5u.com 2023-03-27 14:46:55 more
  • C#/VB.NET:如何將PDF轉為PDF/A

    <a href="https://www.cnblogs.com/Carina-baby/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2859233/20220427162558.png" alt="" />...

    uj5u.com 2023-03-27 14:46:35 more
  • 武裝你的WEBAPI-OData聚合查詢

    <a href="https://www.cnblogs.com/podolski/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/616093/20140323000327.png" alt="" /><...

    uj5u.com 2023-03-27 14:46:16 more