面試中遇到這 3 個SQL問題,最容易掉坑里

2021-10-06 15:19:21 字數 1537 閱讀 7783

面試中遇到這 3 個sql問題,最容易掉坑里

面試中遇到這 3 個sql問題,最容易掉坑里

最常見的讀者問題:我應該如何準備sql面試?

準備 sql 面試時,我會認真地做盡可能多的事情,這樣以來,寫查詢就變成了我的第二天性。我希望技術部分成為面試過程中比較容易的部分,這樣我就可以集中精力與面試官進行交流,並將我的精力花在用白板書寫我的方法和解決方案上。

根據我在技術面試中的經驗,面試官測試的最大重點是理解**的在做什麼,如何考慮各種場景或邊緣情況以及結果的含義。

與你在工作中編寫的冗長而複雜的查詢相比,sql部分非常簡單。要麼為你提供1個或2個表,並要求你建立乙個需要進行聯接或自聯接的sql查詢,要麼為你提供了sql**,並要求對其進行除錯。

只要你了解joins和coalesce之類的高階功能,就不會有問題。使面試變得困難的是,如何將**編寫與執行**後得到的結果聯絡起來。

面試中遇到這 3 個sql問題,最容易掉坑里

面試中遇到這 3 個sql問題,最容易掉坑里

以下是在技術面試中被問到的3個真實的sql問題

1、假設給你乙個表,其中包含使用者的好友請求、接受和他們的日期。如何編寫乙個查詢,以便隨著時間的推移可以獲得%的好友接受率?

這當中沒有正確或錯誤的答案,但是你需要確定有兩種不同的方式來編寫查詢,然後討論這兩種選擇之間的取捨。

2、如果你做了一次ab實驗,並且由於在試點地區推出了一項新功能,朋友的接受度增加了2倍,且p <0.05,那麼你會將其部署到生產環境中並推廣到所有使用者嗎?

大多數人會說是的,但是在面試中,最明顯的答案可能不是正確的答案。在這種情況下,正確的選擇是:這要看情況。然後,你應該談談其原因,以及你需要哪些額外資訊來做決定。

這些都是你需要注意考慮的問題,要思考如何形成乙個完整的答案。

3、你有乙個主表,其中包含乙個使用者id及其最近的登入日期,並且你還有第二張表,其中包含當天登入的所有使用者(同一使用者當天可能有多次登入)。編寫乙個查詢,該查詢將使用使用者id及其最新登入日期來更新主表。

很簡單,但是你需要練習理解所有不同的場景。在這種情況下,你有乙個當天剛註冊新使用者的情況,以及當天有同一位使用者多次登入的情況。你如何處理這些情況?

面試中遇到這 3 個sql問題,最容易掉坑里

面試中遇到這 3 個sql問題,最容易掉坑里

更多建議

我相信你在閱讀本文時認為這些問題很簡單。但困難的是,你在面試過程中可能並沒有預料到這些問題,並且當下情況會要求你在面試官面前快速地分析和解決。你被要求編寫一些**,然後考慮所有不同的情況以及結果的含義。這可能是乙個壓力很大的情況,大多數人會不知所措。

這就是為什麼你的技術技能需要第二天性。你的sql技能必須與中文寫作技能一樣好。

在準備sql面試時,作者給你的主要建議是,了解為什麼、如何編寫**來解決特定問題。準備好交流為什麼要編寫特定的**行,為解決特定的極端情況和場景,你要新增什麼邏輯以及輸出什麼樣的結果。你的解釋與**本身同樣重要,甚至更重要。

另外,在構建解決方案時,請一定要和與面試官交談,並讓他們盡可能多地了解你的思考過程。

sql面試是為了測試你的技術技能。在你的面試中,你要把你的技能歸為零,並確保盡可能多地做練習題。

近日matlab程式設計中遇到3個問題

沒有想到怎麼轉化為連續的辦法。我想的是讓車從靜止開始,那麼可以知道未知引數為0,所以下一時刻的引數值和初始時刻的值應該是相差不多的,按照這個原則,就可以開拓出一條路子。我去試試 2.方程存在非線性因素,無法求得解析解,需要使用ode45進行數值解,目前我正在對方程進行分析,期待能得出結果。3.無跡卡...

程式設計中的蛇形填空問題 面試中遇到的乙個蛇形演算法題

參加面試第一次遇到當場寫演算法題的,順時針列印矩陣的座標,如圖所示 順序為,0,1,2,3,4,9,14,19,24,23,22,21,20,15,10,5,6,7,8,13,18,17,16,11,12 假設 0的座標為 0,0 1的座標為 0,1 5的座標為 1,0 其他以此類推。題目是列印出來...

VS2008開發環境中容易遇到的3個問題之解決辦法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!很久沒有寫技術相關的部落格了,今天將一些容易遇到,但很瑣碎的3個小問題發出來。畢竟多些資源,少些煩惱。filename.aspx.designer.cs 中控制項id不同步更新修改的問題 當我們在aspx的源 介面下工作時,有時修改了一些控制項la...