一、筆試
1、limit offset:分頁查詢
SELECT column1, column2, ...
FROM table_name
LIMIT number_of_rows OFFSET start_row;
--跳過前 start_row 行,返回接下來的 number_of_rows 行。
2、lag、lead:查詢前后行數據
--lag函數用于訪問當前行的上一行(或指定行)的數據
LAG(column, n, default_value) OVER (PARTITION BY partition_columnORDER BY order_column
)
----lead函數用于訪問當前行的下一行(或指定行)的數據
LEAD(column, n, default_value) OVER (PARTITION BY partition_columnORDER BY order_column
)
二、面試
1、求每個班級學生總成績最高的3名
可以使用 SQL 的窗口函數和排名函數來解決這個問題。
假設學生表的名稱為 students,包含學生的 id,班級 id 和成績,那么可以使用以下 SQL 查詢語句來獲取每個班級學生總成績最高的3名:
WITH ranked_scores AS
(SELECT student_id, class_id, score, RANK() OVER(PARTITION BY class_id ORDER BY SUM(score) DESC) AS rank
FROM students
GROUP BY student_id, class_id, score
)
SELECT class_id, student_id, SUM(score) AS total_score
FROM ranked_scores
WHERE rank <= 3
GROUP BY class_id, student_id
ORDER BY class_id, total_score DESC;
2、insert?into?和?insert?overwrite有什么區別?join?和left?join的區別?
- 在關系型數據庫中,insert into用于向表中插入新的行,而insert overwrite用于覆蓋表中已有的數據,重新寫入新的數據
- left join和join之間的區別在于,left join返回左邊表中所有行,而右邊表中沒有匹配行的地方填充為 NULL。而join只返回兩個表中都有匹配的行。另外,在使用left join時,需要注意左邊表和右邊表的順序,因為左右表的順序會影響連接結果的順序。
3、與聚合函數一起使用的篩選關鍵字是什么?
與聚合函數一起使用的篩選關鍵字是HAVING。在使用聚合函數如COUNT、SUM、AVG等對數據進行分組后,可以使用HAVING關鍵字對分組后的數據進行篩選,類似于WHERE對原始數據的篩選。HAVING關鍵字接在GROUP BY語句后面,可以使用聚合函數和分組字段進行篩選
4、你對風控業務有多少認識?
- 風控業務主要是指對企業風險進行控制和管理的業務,其中包括信用評估、反欺詐、交易風險控制、合規監管等方面。
- 作為數據分析工程師,對風控業務的了解是很重要的。在此方面,我對信用評估和反欺詐有一定的了解,了解一些常見的風險控制手段和工具,例如評分卡、邏輯回歸、決策樹等等,以及一些常見的反欺詐技術,例如黑名單過濾、IP歸屬地識別等等。
- 另外,我還了解到合規監管在風控業務中的重要性,例如在個人信息保護、反洗錢、反恐怖融資等方面,都需要遵循國家的相關法規和政策。
總之,我認為風控業務是數據分析工程師所需要了解的重要領域之一。
5、介紹隨機森林
- 隨機森林(Random Forest)是一種集成學習算法,通過訓練多個決策樹并結合它們的預測結果來提高預測的準確性。
- 隨機森林的基本原理是:構建多個決策樹,每個決策樹的特征和樣本是隨機選擇的。在預測時,多個決策樹的預測結果進行投票,選出出現次數最多的結果作為最終的預測結果。?
- 隨機森林的優點包括:?
- 可以處理高維數據和非線性關系;?
- 可以通過特征重要性評估方法獲取特征的重要程度,幫助進行特征選擇和數據可視化;?
- 可以防止過擬合和提高模型的泛化能力。?
- 隨機森林的缺點包括:?
- 訓練速度較慢;?
- 難以解釋模型的預測結果。?
- 在實際應用中,隨機森林常用于分類和回歸問題,比如文本分類、情感分析、股票價格預測等。
6、介紹降維方法?
- 降維方法是指在保持數據重要信息的前提下,減少數據特征維度的方法。
- 在大數據處理中,降維方法可以用來減少存儲空間、降低計算復雜度、提高模型效率等。
- 以下是一些常見的降維方法:?
- 主成分分析(PCA):是一種線性降維方法,它通過將數據映射到低維空間中的新坐標系,最大程度地保留數據的方差來實現降維。PCA通常用于特征提取和數據可視化。?
- t-SNE:是一種非線性降維方法,它將高維數據映射到二維或三維空間中,以便于可視化。t-SNE通過測量相似度來保留數據之間的局部結構,并將其映射到低維空間中。
- 局部線性嵌入(LLE):是一種非線性降維方法,它試圖在低維空間中保留數據的局部結構。LLE通過在高維空間中找到每個數據點周圍最近的數據點,并嘗試將其映射到低維空間中的相應位置來實現降維。?
- 獨立成分分析(ICA):是一種非線性降維方法,它試圖將數據分解為多個獨立的成分。ICA通常用于信號處理和圖像處理等領域。 在實際應用中,根據數據的特點和降維的目的,可以選擇不同的降維方法。