首先是簡歷 簡歷一定要認(rèn)真對待,不能隨隨便便找個模板,它是你能不能得到面試的一個關(guān)鍵。 簡歷的模板可以參考該網(wǎng)站超級簡歷的程序員簡歷模板。 自我介紹 這里說一下我的一個主要模板,需要根據(jù)不同的公司有針對的準(zhǔn)備不同的自我介紹。各位面試官,您們好,很高興得到這次面試機會,我叫XXX,畢業(yè)于XXX,具有較強的自學(xué)能力,在校期間通過自學(xué)掌握了相關(guān)的編程技術(shù), 參加工作以來,先后獨立開發(fā)了幾個項目模塊,主要包括XXX等,其中讓我收獲最大的一個項目是XXX,當(dāng)時接到的任務(wù)就是XXX,在此期間我的主要任務(wù)參與前期的一些設(shè)計討論以及后面的開發(fā)和維護,…………(這里可以介紹你通過什么技術(shù)解決了什么,完成了什么任務(wù)等)。經(jīng)過這個項目開發(fā)使我在技術(shù)的掌握和問題的處理上都有了很大的進步。 我今天求職的崗位是.Net開發(fā)工程師,在XXX兩年的.Net開發(fā)中,一直從事企業(yè)級應(yīng)用管理系統(tǒng)的開發(fā)維護,使我擁有了扎實的編程基礎(chǔ)和良好的編碼習(xí)慣,并能夠熟練的使用C#語言開發(fā)基于Web Form和Asp.Net MVC架構(gòu)的應(yīng)用程序。也使我清楚的知道這個崗位的主要工作內(nèi)容,并使我在這方面有了一定的能力和經(jīng)驗積累,我相信我能夠勝任該職位的工作,我非常認(rèn)可并喜歡貴公司的理念,也希望貴公司能夠給我一次機會,讓我加入到貴公司中。謝謝 常見的面試題 面試時大部分都會有筆試題的,下面列舉一些遇到的一些筆試題
.Net .Net簡述面向?qū)ο笾蟹庋b、多態(tài)、繼承的概念 答:封裝:把一些功能的實現(xiàn)寫在一個文件中,對外只開放一個接口,調(diào)用者通過這個接口來調(diào)用方法 繼承:子類繼承父類中的方法和屬性,并且子類可以擁有自己的一些方法和屬性 多態(tài):通過繼承實現(xiàn)不同對象在調(diào)用相同的方法時,產(chǎn)生不同的結(jié)果,這就是多態(tài),重寫或者重載 簡述private、protected、public修飾符的訪問權(quán)限 答:private : 私有成員, 在類的內(nèi)部才可以訪問。 protected : 保護成員,該類內(nèi)部和繼承類中可以訪問。 public : 公共成員,完全公開,沒有訪問限制。 internal: 當(dāng)前程序集內(nèi)可以訪問。 abstract、class、interface有什么區(qū)別 答:相同點:都不能被實例化,都可以通過繼承來實現(xiàn)其抽象方法。 不同點:接口支持多繼承,抽象類不能實現(xiàn)多繼承; 接口只包含方法、屬性、索引器、事件的簽名,但不能定義字段和包含它們的實現(xiàn);抽象類可以定義字段、屬性、包含有實現(xiàn)的方法。 接口可以作用于值類型和引用類型;抽象類只能作用于引用類型。例如,Struct就可以繼承接口,而不能繼承類。 寫一段C#訪問SqlServer數(shù)據(jù)庫的代碼(來列舉出ADO.Net中五個主要對象) 答: 列舉兩種你所使用過的設(shè)計模式,簡述他們的概念和好處 答:單例模式:確保一個類只有一個實例,并提供一個訪問它的全局訪問點 C#中值類型與引用類型的區(qū)別,作為參數(shù)傳遞時有何不同 賦值區(qū)別:將一個值類型變量賦給另一個值類型變量時,將復(fù)制包含的值。引用類型變量的賦值只把對象的引用的指針賦值給變量,使得變量引用與對象共享同一個內(nèi)存地址。 繼承區(qū)別:值類型不能派生出新的類型:所有的值類型均隱式派生自 System.ValueType。引用類型一般都有繼承性。 內(nèi)存分配區(qū)別:值類型通常分配在棧上,引用類型通常分配在托管堆上 值類型不可能包含 null 值,然而,可空類型功能允許將 null 賦給值類型。 值類型傳遞的是值的副本,引用類型傳遞的是對象引用,所以值參數(shù)的修改不影響原始值,引用類型的修改影響原始值; C#中使用StringBuilder拼接字符串時有何優(yōu)點 StringBuilder是動態(tài)對象,允許擴充他所封裝的字符串中的字符數(shù)量,在生成string對象之前,不會產(chǎn)生任何string對象,所以在進行大量的字符串拼接或者頻繁的堆某一個字符串進行操作時最好使用StringBuilder,而不要使用string C#委托與與泛型的概念,事件是不是一種委托 委托是一種可用于封裝命名和匿名方法的引用類型,委托類似于指針,但是委托是類型安全和可靠的,委托類都繼承于System.Delegate類型,委托類型的聲明和方法簽名類似,有一個返回值和任意數(shù)目任意類型的參數(shù)。 泛型是C#語言和公共語言運行庫(CLR)中的一個新功能,它將類型參數(shù)的概念引入了.NET Framework,通過使用泛型可以大大的簡化強制類型轉(zhuǎn)換或裝箱操作的過程。 一列數(shù)的規(guī)則如下:1、1、2、3、5、8、13、21、34……求第30位數(shù)是多少,用遞歸算法實現(xiàn) 解答:總結(jié)遞歸規(guī)律:F(n)=F(n-2)+F(n-1) Fibonacci數(shù)列 
簡述進程和線程的區(qū)別,以及寫出多線程常用的對象和方法 進程是系統(tǒng)進行資源分配和調(diào)度的單位;線程是進程內(nèi)部的一個執(zhí)行單元,是CPU調(diào)度和分派的單位,一個線程可以創(chuàng)建和撤銷另一個線程,同一個進程中的多個線程也可以并發(fā)執(zhí)行 
簡述WebService、WebApi、WCF的區(qū)別,以及使用場景 列舉Asp.Net頁面之間傳遞值的幾種方式 1.使用QueryString, 如…?id=1; response. Redirect()… 2.使用Session變量 3.使用Server.Transfer 4.Cookie傳值 Asp.Net Session有什么作用,請描述你對Session的理解 簡述重載和重寫的概念,并手寫一個簡易的重載和重寫 重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進行多次重載以適應(yīng)不同的需要。重載是面向過程的概念 
重寫(Override)是對基類中的虛方法進行重寫。Override是面向?qū)ο蟮母拍?/p> 
C#如何捕獲代碼異常 try { 可能會出現(xiàn)異常的代碼; } cath { 出現(xiàn)異常后要執(zhí)行的代碼; }現(xiàn)有集合:List collection = new List(); User類定義如下: 
請使用Linq或者Lambda一種實現(xiàn)以下查詢 1.查詢姓名中包含“張”的所有人 2.查詢年齡在20到30歲之間的人(包含) 3.查詢出2008年三月出生的所有人 4.查詢姓名等于“張三”年齡最大的第一個人 5.按年齡分組查詢每段年齡有多少人 是否使用過EF、Dapper等ORM、框架,簡述這些框架的好處 提高開發(fā)效率,降低開發(fā)成本 使開發(fā)更加對象化 可移植 可以很方便地引入數(shù)據(jù)緩存之類的附加功能 WEB端的 JavaScript中的基礎(chǔ)類型有哪些 Undefined、Null、Boolean、Number和String 簡述函數(shù)與閉包的概念 函數(shù):就是封裝了一段可被重復(fù)調(diào)用執(zhí)行的代碼塊,通過此代碼塊可以實現(xiàn)大量代碼的重復(fù)使用 閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù),由于在Javascript語言中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,因此可以把閉包簡單理解成“定義在一個函數(shù)內(nèi)部的函數(shù)” 請寫出jQuery id class 屬性 標(biāo)簽選擇器語法 id選擇器:KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#?ids')、類選擇器:(’.myClass’)、元素選擇器:$('div’) Ajax的概念,ajax請求的五個步驟 AJAX(即:異步的JavaScript和XML),是一種實現(xiàn)無頁面刷新獲取服務(wù)器數(shù)據(jù)的混合技術(shù)。 SQL方面的 用一條SQL語句查詢出每門課程都大于80的學(xué)生的姓名 
答: 
使用SQL實現(xiàn)分頁查詢 
寫一條sql語句取出表A中第31到40的記錄(SqlServer,以自動增長的ID作為主鍵,注意:ID可能不是連續(xù)的) 答: 
編寫SQL根據(jù)部門信息T_Org中的部門編號OrgCD、部門名稱字段OrgName、以及員工信息表T_Employee中所屬部門編號字段OrgCD、來更新員工信息表T_Employee中的所屬部門字段OrgName 找出教師表(表名Teacher)中姓名(字段名Name)重復(fù)的數(shù)據(jù),然后刪除多余重復(fù)的記錄,只留ID小的那個。 什么叫Sql注入,如何防止? 答: 用戶根據(jù)系統(tǒng)的程序構(gòu)造非法的參數(shù)從而導(dǎo)致程序執(zhí)行不是程序員期望的惡意SQL語句。使用參數(shù)化的SQL就可以避免SQL注入。 介紹存儲過程的基本概念和它的優(yōu)缺點 答: 存儲過程是一套已經(jīng)預(yù)先編譯好的SQL代碼 1.運行速度:存儲過程一旦執(zhí)行,在內(nèi)存中就會保留一份這個存儲過程,這樣下次再執(zhí)行同樣的存儲過程時,可以從內(nèi)存中直接調(diào)用,所以執(zhí)行速度會比普通sql快。 2.減少網(wǎng)絡(luò)傳輸:存儲過程直接就在數(shù)據(jù)庫服務(wù)器上跑,所有的數(shù)據(jù)訪問都在數(shù)據(jù)庫服務(wù)器內(nèi)部進行,不需要傳輸數(shù)據(jù)到其它服務(wù)器,所以會減少一定的網(wǎng)絡(luò)傳輸。 3.可維護性 4.增強安全性 5.可擴展性:應(yīng)用程序和數(shù)據(jù)庫操作分開,獨立進行 現(xiàn)有一學(xué)生表如下: 
請編寫Sql查詢出如下結(jié)果: 6.獲取每個班級的English的平均成績,并按照降序排序 7.獲取有一門不及格的人,并統(tǒng)計每個班級的不及格人數(shù)(小于60分不及格) 注意:上面是找工作期間常遇到的部分面試題,其中設(shè)計模式基本都會考到 項目經(jīng)驗 這個是面試中最重要的了,基本都會根據(jù)你做的項目來進行詢問里面遇到的一些技術(shù),遇到的一些問題怎么解決的等等,這就要根據(jù)自己的項目來回答了 開放性問題 在工作中學(xué)習(xí)到了什么? 首先技術(shù)方面每個項目都會學(xué)到一些特定的技術(shù)知識,我在與同事的溝通合作中,注重團隊內(nèi)部的團結(jié),在工作中學(xué)習(xí)認(rèn)識到合作的寶貴,以及實踐的重要性。 你有沒有帶領(lǐng)團隊的經(jīng)驗 我在以往的項目中與團隊成員都能夠融洽相處,我們每周都會有技術(shù)培享會,我也會分享一些技術(shù)來相互學(xué)習(xí),我們有時候周六會有技術(shù)的培訓(xùn),我也針對自己掌握的技術(shù)做了幾次培訓(xùn),雖然我沒有帶隊的經(jīng)驗,但我相信我自己是能夠做到的 為什么選擇這家公司? 我了解到貴公司在ERP行業(yè)屬于領(lǐng)頭行業(yè),業(yè)務(wù)方面最為全面,研發(fā)實力也最為雄厚,通過公司的官方博客我還了解到公司的企業(yè)文化,我非常希望能加入到這樣一個優(yōu)秀的企業(yè)中,讓我能夠?qū)崙?zhàn)研發(fā)能力,我會女里的工作,證明自身的價值 對本公司了解多少? 我了解到貴公司是中國最早的互聯(lián)網(wǎng)即時通信軟件開發(fā)商,是我國互聯(lián)網(wǎng)服務(wù)以及移動增值服務(wù)的提供商,并一直致力于即時通信以及相關(guān)的增值業(yè)務(wù)的服務(wù)運營 你曾經(jīng)面臨最大的專業(yè)挑戰(zhàn)是什么?你是怎么戰(zhàn)勝它的? 在項目開發(fā)過程中也遇到了很多問題,其中讓我印象比較深刻的一個問題是XXX,通過這個問題也是我認(rèn)識到,在編寫代碼時不僅要注意代碼的邏輯和可讀性,同時也要考慮一下這些代碼有沒有可能會出現(xiàn)某些問題。 你認(rèn)為自己的技術(shù)水平怎么樣? 經(jīng)過這兩年的積累和成長,我對自己的技術(shù)很有信心,我覺得我算一個中級的開發(fā)者,我感覺我可以勝任相關(guān)的各種開發(fā)任務(wù) 你對加班的看法? 如果是工作需要,我會義不容辭的加班,我本身沒有什么負擔(dān),可以全身心的投入到工作中,同時我也會提高工作效率,減少不必要的加班 如何評價你上家公司,你為什么從上家公司離職? 上一家公司在項目管理和系統(tǒng)集成方面較為突出,從中也學(xué)習(xí)到了很多的東西,經(jīng)過這兩年對ERP中一些系統(tǒng)的研發(fā),使我了解了相關(guān)的業(yè)務(wù)流程并掌握了很多開發(fā)上的技巧,以及相關(guān)的一些技術(shù), 以前的行業(yè)發(fā)展空間比較有限 原來的工作與自己的職業(yè)規(guī)劃不合 原來的業(yè)務(wù)相對傳統(tǒng),我想做一些偏向互聯(lián)網(wǎng)方面的一些產(chǎn)品, 公司在新的研發(fā)方向上沒有一個明確的信息, 自己在過去的幾年中也有了一定的經(jīng)驗積累,所以想尋求更適合自己發(fā)揮的一個平臺 并且公司所用的技術(shù)棧不夠豐富, 我對XXX類系統(tǒng)的前景更看好,我也希望能夠擴展自己的技能和對業(yè)務(wù)的了解,因此我希望尋找一家做專業(yè)的B2B系統(tǒng)的企業(yè),所以做了離職的決定 你有什么優(yōu)點? 我的優(yōu)點是有足夠的專業(yè)能力,工作認(rèn)真負責(zé),比如在項目的開發(fā)過程中,我作為項目的主要開發(fā)人員,每天都會認(rèn)真規(guī)劃和編寫開發(fā)日程,方便其他成員了解開發(fā)進度并及時跟進項目進度 你有什么缺點? 缺點的話,比較執(zhí)著把,比如有時候會因為一個技術(shù)問題導(dǎo)致很長時間或者可能加班到很晚都在研究怎么處理這個問題,這樣有時候也會誤了其他方面的工作,工作比較按部就班吧,總是按照主管的要求去完成任務(wù),還有就是自己的工作范圍內(nèi)有創(chuàng)新意識,但是沒有及時的分享給其他的同事,這些問題我也一直在改善,我也相信我能夠很快的解決 你的職業(yè)規(guī)劃是什么? 現(xiàn)在最大的愿望就是能入職貴公司,虛心向周圍優(yōu)秀的同事學(xué)習(xí),追趕他們,讓自己變得更專業(yè),然后三到五年的一個計劃就是達到高級工程師的水平,在此期間我也會注重自己管理方面知識的積累,如果三年以后在管理方面有一些能力的話,我會向技術(shù)主管和項目經(jīng)理的方向努力發(fā)展 如果你離職,你的老板有什么反應(yīng)? 我和現(xiàn)任公司的老板關(guān)系非常好,我在項目中也承擔(dān)了一個核心的研發(fā)工作,因此我離開時,他非常的不舍,但我更希望有自己的一些職業(yè)發(fā)展,所以我們經(jīng)過友好的交談,他也尊重我離職的這個決定,我也非常感謝他的理解和支持 END
|