国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

SQL Server開發(fā)人員應(yīng)聘常見問題妙解

時間:2024-10-07 23:10:33 面試筆試 我要投稿
  • 相關(guān)推薦

SQL Server開發(fā)人員應(yīng)聘常見問題妙解

目前在職場中很難找到非常合格的數(shù)據(jù)庫開發(fā)人員。我的一個同事曾經(jīng)說過:“SQL開發(fā)是一門語言,它很容易學(xué),但是很難掌握。”

 在面試應(yīng)聘的SQL Server數(shù)據(jù)庫開發(fā)人員時,我運(yùn)用了一套標(biāo)準(zhǔn)的基準(zhǔn)技術(shù)問題。下面這些問題是我覺得能夠真正有助于淘汰不合格應(yīng)聘者的問題。它們按照從易到難的順序排列。當(dāng)您問到關(guān)于主鍵和外鍵的問題時,后面的問題都十分有難度,因為答案可能會更難解釋和說明,尤其是在面試的情形下。

  您能向我簡要敘述一下SQL Server 2000中使用的一些數(shù)據(jù)庫對象嗎?

  您希望聽到的答案包括這樣一些對象:表格、視圖、用戶定義的函數(shù),以及存儲過程;如果他們還能夠提到像觸發(fā)器這樣的對象就更好了。如果應(yīng)聘者不能回答這個基本的問題,那么這不是一個好兆頭。

  什么是索引?SQL Server 2000里有什么類型的索引?

  任何有經(jīng)驗的數(shù)據(jù)庫開發(fā)人員都應(yīng)該能夠很輕易地回答這個問題。一些經(jīng)驗不太多的開發(fā)人員能夠回答這個問題,但是有些地方會說不清楚。

  簡單地說,索引是一個數(shù)據(jù)結(jié)構(gòu),用來快速訪問數(shù)據(jù)庫表格或者視圖里的數(shù)據(jù)。在SQL Server里,它們有兩種形式:聚集索引和非聚集索引。聚集索引在索引的葉級保存數(shù)據(jù)。這意味著不論聚集索引里有表格的哪個(或哪些)字段,這些字段都會按順序被保存在表格。由于存在這種排序,所以每個表格只會有一個聚集索引。非聚集索引在索引的葉級有一個行標(biāo)識符。這個行標(biāo)識符是一個指向磁盤上數(shù)據(jù)的指針。它允許每個表格有多個非聚集索引。

  NULL是什么意思?

  NULL(空)這個值是數(shù)據(jù)庫世界里一個非常難纏的東西,所以有不少應(yīng)聘者會在這個問題上跌跟頭您也不要覺得意外。

  NULL這個值表示UNKNOWN(未知):它不表示“”(空字符串)。假設(shè)您的SQL Server數(shù)據(jù)庫里有ANSI_NULLS,當(dāng)然在默認(rèn)情況下會有,對NULL這個值的任何比較都會生產(chǎn)一個NULL值。您不能把任何值與一個 UNKNOWN值進(jìn)行比較,并在邏輯上希望獲得一個答案。您必須使用IS NULL操作符。

  什么是主鍵?什么是外鍵?

  主鍵是表格里的(一個或多個)字段,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關(guān)系的約束。這種關(guān)系一般都涉及一個表格里的主鍵字段與另外一個表格(盡管可能是同一個表格)里的一系列相連的字段。那么這些相連的字段就是外鍵。

  什么是觸發(fā)器?SQL Server 2000有什么不同類型的觸發(fā)器?

  讓未來的數(shù)據(jù)庫開發(fā)人員知道可用的觸發(fā)器類型以及如何實(shí)現(xiàn)它們是非常有益的。

  觸發(fā)器是一種專用類型的存儲過程,它被捆綁到SQL Server 2000的表格或者視圖上。在SQL Server 2000里,有INSTEAD-OF和AFTER兩種觸發(fā)器。INSTEAD-OF觸發(fā)器是替代數(shù)據(jù)操控語言(Data Manipulation Language,DML)語句對表格執(zhí)行語句的存儲過程。例如,如果我有一個用于TableA的INSTEAD-OF-UPDATE觸發(fā)器,同時對這個表格執(zhí)行一個更新語句,那么INSTEAD-OF-UPDATE觸發(fā)器里的代碼會執(zhí)行,而不是我執(zhí)行的更新語句則不會執(zhí)行操作。

  AFTER觸發(fā)器要在DML語句在數(shù)據(jù)庫里使用之后才執(zhí)行。這些類型的觸發(fā)器對于監(jiān)視發(fā)生在數(shù)據(jù)庫表格里的數(shù)據(jù)變化十分好用。

  您如何確一個帶有名為Fld1字段的TableB表格里只具有Fld1字段里的那些值,而這些值同時在名為TableA的表格的Fld1字段里?

  這個與關(guān)系相關(guān)的問題有兩個可能的答案。第一個答案(而且是您希望聽到的答案)是使用外鍵限制。外鍵限制用來維護(hù)引用的完整性。它被用來確保表格里的字段只保存有已經(jīng)在不同的(或者相同的)表格里的另一個字段里定義了的值。這個字段就是候選鍵(通常是另外一個表格的主鍵)。

  另外一種答案是觸發(fā)器。觸發(fā)器可以被用來保證以另外一種方式實(shí)現(xiàn)與限制相同的作用,但是它非常難設(shè)置與維護(hù),而且性能一般都很糟糕。由于這個原因,微軟建議開發(fā)人員使用外鍵限制而不是觸發(fā)器來維護(hù)引用的完整性。

對一個投入使用的在線事務(wù)處理表格有過多索引需要有什么樣的性能考慮?

  您正在尋找進(jìn)行與數(shù)據(jù)操控有關(guān)的應(yīng)聘人員。對一個表格的索引越多,數(shù)據(jù)庫引擎用來更新、插入或者刪除數(shù)據(jù)所需要的時間就越多,因為在數(shù)據(jù)操控發(fā)生的時候索引也必須要維護(hù)。

  您可以用什么來確保表格里的字段只接受特定范圍里的值?

  這個問題可以用多種方式來回答,但是只有一個答案是“好”答案。您希望聽到的回答是Check限制,它在數(shù)據(jù)庫表格里被定義,用來限制輸入該列的值。

  觸發(fā)器也可以被用來限制數(shù)據(jù)庫表格里的字段能夠接受的值,但是這種辦法要求觸發(fā)器在表格里被定義,這可能會在某些情況下影響到性能。因此,微軟建議使用Check限制而不是其他的方式來限制域的完整性。

  返回參數(shù)和OUTPUT參數(shù)之間的區(qū)別是什么?

  如果應(yīng)聘者能夠正確地回答這個問題,那么他的機(jī)會就非常大了,因為這表明他們具有使用存儲過程的經(jīng)驗。

  返回參數(shù)總是由存儲過程返回,它用來表示存儲過程是成功還是失敗。返回參數(shù)總是INT數(shù)據(jù)類型。

  OUTPUT參數(shù)明確要求由開發(fā)人員來指定,它可以返回其他類型的數(shù)據(jù),例如字符型和數(shù)值型的值。(可以用作輸出參數(shù)的數(shù)據(jù)類型是有一些限制的。)您可以在一個存儲過程里使用多個OUTPUT參數(shù),而您只能夠使用一個返回參數(shù)。

  什么是相關(guān)子查詢?如何使用這些查詢?

  經(jīng)驗更加豐富的開發(fā)人員將能夠準(zhǔn)確地描述這種類型的查詢。

  相關(guān)子查詢是一種包含子查詢的特殊類型的查詢。查詢里包含的子查詢會真正請求外部查詢的值,從而形成一個類似于循環(huán)的狀況。

  關(guān)于面試過程的思考

  這些問題只不過是確定一個SQL Server數(shù)據(jù)庫開發(fā)人員是否合格的起點(diǎn)。根據(jù)應(yīng)聘者對上面這些問題的回答情況,我可能會要求他們參加我的TSQL編程考試,這一般是一套根據(jù)不同情況進(jìn)行的10到12個數(shù)據(jù)庫查詢。

  您需要自己決定將要雇用的開發(fā)人員具有什么樣的專業(yè)技能。然后,需要通過自己的經(jīng)驗、判斷以及在面試時對應(yīng)聘者的感受(來做最終決定)。

  您在面試數(shù)據(jù)庫開發(fā)人員時一般會問哪些問題呢?讓我們一起來討論一下吧。

  Tim Chapman是肯塔基州路易維爾市一家銀行的SQL Server數(shù)據(jù)庫管理員,他有超過7年的行業(yè)經(jīng)驗。他還通過了微軟SQL Server 2000和SQL Server 2005的認(rèn)證。

【SQL Server開發(fā)人員應(yīng)聘常見問題妙解】相關(guān)文章:

應(yīng)聘面試的常見問題11-21

巧解面試常見問題分析點(diǎn)評12-11

銷售應(yīng)聘面試常見問題12-02

應(yīng)聘文員面試常見問題09-11

小本創(chuàng)業(yè)這招妙!11-11

主管面試常見問題11-27

外企面試的常見問題11-27

壓力面試常見問題12-12

醫(yī)學(xué)面試的常見問題03-26