首先是簡歷
簡歷一定要認真對待,不能隨隨便便找個模板,它是你能不能得到面試的一個關鍵,
簡歷的模板可以參考該網站超級簡歷的程式員簡歷模板,
自我介紹
這里說一下我的一個主要模板,需要根據不同的公司有針對的準備不同的自我介紹,各位面試官,您們好,很高興得到這次面試機會,我叫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技术
