軟體公司常問的技術面試題
來源:互聯網
上載者:User
1.
你以前項目中承擔什麼角色,
主要負責什麼方面的工作?<略>
2. web service
資料轉送有什麼限制?
為什麼?DataTable
可以作為web service
參數傳遞麼?所傳輸的資料必須是可序列化的。因為需要轉換為 XML格式以可以穿越防火牆,做到真正的資料共用.因為 DataSet 處理 DataTable 的序列化以便進行封送處理,所以您也無法傳遞單個 DataTable。參考:http://www.microsoft.com/china/MSDN/library/data/dataAccess/hcvb04vb04i7.mspx?mfr=true
3. url
重寫有幾種方式?1).通過 HttpContext 類的 RewriteUrl() 方法來執行 URL 重寫;2).通過自訂HTTP Module或 HTTP Handler來重寫 URL;3).藉助Regex來重寫URL:4)....參考:http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true
4.
簡述.net
中有哪幾鐘事務?按事務是否跨越多資料資源分類: 1)本地事務:事務操作一個資料資源,如資料庫和訊息佇列。在物理上表現為位於同一台電腦。分2)2)布式事務:事務跨越多個資料資源,如操作兩個伺服器上的資料庫。按交易處理方式劃分:1) 手動事務:使用顯示指令來控制事務的開始和結束,這種方式可以處理嵌套事務。SqlServer,ADO.Net都提供手動交易處理。2)自動事務:通過為組件聲明事務特性,把組件自動置於事務環境中。使用自動事務不能處理嵌套事務。自動事務的本質是依託於COM+。 本地事務的實現方式: 1) 資料庫:一般DBMS都提供了自己的事務支援,如SqlServer,Oracle,屬於手動處理方式。2)ADO.Net:使用 Connection 和 Transaction 對象來控制事務。Connection.BeginTransaction 啟動本地事務; Command 對象的 Transaction 屬性在該事務中登記命令;然後 Transaction 對象提交或復原在資料來源中所做的修改。也屬於手動處理方式。3)使用訊息佇列:內部事務使用MessageQueueTransaction,屬於手動處理;外部事務則要用自動交易處理方式。分散式交易的實現:1)資料庫之間的事務: 手動處理方式:對每一個參與的原子操作用一個Trans來控制;當最後一個操作執行成功後,事務全部提交;其中一個出錯或異常,事務全部復原。 自動處理方式:藉助於.Net EnterpriseServices提供的自動交易處理。2)不同類型資料資源之間: 藉助於.Net EnterpriseServices提供的自動交易處理。當然,可以用COM+實現事務。
5. DataReader
和 DataSet
有什麼區別?1)DataReader要保持串連;DataSet可以離線,當取回資料後可中斷連線;2)DataReader只能快速只進讀取;DataSet可以順序逆序讀取;3)DataReader中的資料唯讀;DataSet資料可以修改;4)DataReader只能保持一個二維表結構;DataSet中可以含多個二維表,且能包含複雜關係;5)...
6. Repeater
控制項不支援分頁功能,
簡述如何?它的分頁功能?(
說說實現思路)分頁思路:一般採取兩種方式。後台分頁和前台分頁。後台分頁:即在商務邏輯中按照當前請求返回當頁資料。
7.
如何?自訂使用者控制項(
複合控制項),
自訂事件如何??
簡述委託原理.(到底是幾個題目?) 自訂事件的實現:1)、聲明事件 如:public delegate void ValueChangedEventHandler(object sender,EventArgs e); 如果使用自訂的事件參數,還需要定義事件參數類。2). 在引發事件的類SourceClass中定義事件;public event ValueChangedEventHandler Changed; 3)SourceClass中在需要觸發事件的位置,呼叫事件 private void button1_Click(object sender, System.EventArgs e) { if (Changed != null) { (Changed (this, e); } }4)、在使用方DestClass關聯事件,並處理 //與事件掛鈎 this.sourceClassInstance.Changed += new ValueChangedEventHandler (ProcessChanged); private void ProcessChanged(object sender, EventArgs e) { //處理事件 }
8.
同一應用中頁面間傳值有哪些方式?1)服務端方式:Application,Session,Cache2)用戶端方式:cookie,QueryString,InputHidden,ViewState等.
9.
強資料類型和弱資料類型有什麼區別?強資料類型是指在在傳遞時進行嚴格的類型檢查,必須與要求的為完全一致的資料類型;C#屬於強資料類型,如不能用1代表true,0代表false賦值給Bool型,編譯器會報錯.弱資料類型在傳遞時不進行嚴格類型檢查,編譯器可能會進行隱式資料轉換,但可能導致不可預見的異常;C++屬於弱資料類型,可以用1賦值給Bool型,代表true,0代表false.
10.
簡述fcl
中常用到類庫,
分web
表單,
資料訪問,io
操作,
網路應用等. system.web.caching;system.web.htmlconrols;system.web.ui.webcontrols;system.web.configuration;system.web.util;system.web.mail;system.web.security;system.data;system.data.sqlclient;system.xml;system.collections;system.collections.specified;system.net;system.text....複雜一點真記不住。
11.
項目分層有什麼優缺點?
分層一般採用什麼依據?優點:1)易於分工協作;2)易於代碼維護;3)易於移植;4)易於重用;5)清晰的架構;6)...缺點:1)為效率帶來影響;分層的依據: 分層的依據主要是在滿足業務需求的基礎上,取得上述優缺點之間取得平衡。 不要為了分層而分層。另外分層是邏輯上的,並不一定非要獨立為dll。
12. .net
中的gc
如何理解?記憶體回收行程。所有通過new產生的資源都由GC來統一進行回收。當申請資源的時候在一個Heap上進行分配,由DotNet運行時來判斷當前資源是否還在使用並決定合適的時機去回收資源。一般情況不需要主動調用GC。 //css
1. css
中id
和class
如何定義,
哪個定義的優先順序別高? 如class定義一個html元素沒有邊框,而id定義這個元素有邊框,結果呢?id的層級高。會有邊框。
2.
如何指定div
元素中樣式類為c1,
字型大小為9pt
的css
樣式?1)在css檔案中定義類c1.c1{FONT-SIZE: 10pt; }2)設定div使用該樣式。<div Class=’c1’>…</div> //html
1.
用html
實現如下表格(
不如嵌套實用表格) 三行三列,其中第一行第一列和第二行第一列合并; 第二行第二列和第二行第三列合并(現場畫表)<略>
2. web
標準網站有那些優點可以使用於多種瀏覽器。//js
1.
簡述ajax
的原理.利用XmlHttpQuest實現在指令碼中訪問web服務,並可使用回呼函數來實現頁面的非同步呼叫,就是當使用者在頁面上操作的時候,可以不用頁面重新整理就完成服務端的一次調用。
2. js
中如何定義class,
如何擴充prototype?大概知道,不熟,略。
2.
如何添加html
元素的事件,
有幾鐘方法.
(什麼意思?不太明白)1) 直接在頁面html元素中添加;2) 通過頁面設計器添加; //資料庫1. 如何定義預存程序的預設參數值. CREATE PROCEDURE dbo.Proc_Test_Defaults ( @p1 smallint = 42)2. 寫sql語句實現下列查詢(表)ta b(列)1 21 3 1 42 12 23 14 15 35 2查詢結果要求a b1 22 13 1 4 15 2(join查詢,略)3. 簡述項目中最佳化sql的方法,從哪些方面,sql語句效能如何分析?可使用查詢分析最佳化工具;多總結積累。//專項
1. sso
基礎知識? 不懂
2.
統計報表/
圖表一般採用哪些方式實現?不明白到底問什麼,是圖形報表還是說圖表控制項?還是說自己如何開發?
4.
對sps
是否有過研究?
ad
是否瞭解?
域方面的基礎知識瞭解,但未深入研究。