2025年數(shù)據(jù)分析師面試題庫(kù)與備考策略_第1頁(yè)
2025年數(shù)據(jù)分析師面試題庫(kù)與備考策略_第2頁(yè)
2025年數(shù)據(jù)分析師面試題庫(kù)與備考策略_第3頁(yè)
2025年數(shù)據(jù)分析師面試題庫(kù)與備考策略_第4頁(yè)
2025年數(shù)據(jù)分析師面試題庫(kù)與備考策略_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2025年數(shù)據(jù)分析師面試題庫(kù)與備考策略1.SQL查詢題(共5題,每題10分)題目1背景:某電商平臺(tái)有如下三張表:用戶表(`users`)、訂單表(`orders`)、商品表(`products`)。請(qǐng)編寫SQL查詢,找出2024年總銷售額最高的3個(gè)商品類別。表結(jié)構(gòu):-`users`(user_id,name,register_date)-`orders`(order_id,user_id,product_id,order_date,amount)-`products`(product_id,category)要求:查詢結(jié)果包含商品類別和總銷售額,按銷售額降序排列。題目2背景:某銀行有如下表:交易表(`transactions`)(transaction_id,account_id,amount,transaction_date)。請(qǐng)編寫SQL查詢,找出每個(gè)賬戶過(guò)去30天內(nèi)的平均交易金額,并篩選出平均金額超過(guò)1000的賬戶。要求:查詢結(jié)果包含賬戶ID和平均交易金額,按平均金額降序排列。題目3背景:某電商平臺(tái)有如下表:用戶表(`users`)、訂單表(`orders`)、商品表(`products`)。請(qǐng)編寫SQL查詢,找出每個(gè)用戶的復(fù)購(gòu)率(復(fù)購(gòu)用戶數(shù)/總用戶數(shù))。表結(jié)構(gòu):-`users`(user_id,name,register_date)-`orders`(order_id,user_id,product_id,order_date,amount)-`products`(product_id,category)要求:查詢結(jié)果包含用戶ID和復(fù)購(gòu)率,保留兩位小數(shù)。題目4背景:某醫(yī)院有如下表:患者表(`patients`)(patient_id,name,registration_date)、就診表(`visits`)(visit_id,patient_id,doctor_id,visit_date,fee)。請(qǐng)編寫SQL查詢,找出每個(gè)醫(yī)生的日均就診費(fèi)用。要求:查詢結(jié)果包含醫(yī)生ID和日均就診費(fèi)用,按日均費(fèi)用降序排列。題目5背景:某電商平臺(tái)有如下表:用戶表(`users`)、訂單表(`orders`)、商品表(`products`)。請(qǐng)編寫SQL查詢,找出每個(gè)商品類別的用戶購(gòu)買次數(shù)最多的前三個(gè)商品。表結(jié)構(gòu):-`users`(user_id,name,register_date)-`orders`(order_id,user_id,product_id,order_date,amount)-`products`(product_id,category)要求:查詢結(jié)果包含商品ID、商品類別和購(gòu)買次數(shù),按購(gòu)買次數(shù)降序排列。2.Python編程題(共5題,每題10分)題目1背景:給定一個(gè)包含用戶年齡的列表,請(qǐng)使用Python編寫代碼,計(jì)算不同年齡段(0-18,19-35,36-60,60以上)的用戶數(shù)量。示例輸入:[25,18,45,70,34,12,55,82]要求:輸出結(jié)果為字典形式,如`{'0-18':2,'19-35':3,'36-60':2,'60以上':2}`。題目2背景:給定一個(gè)包含訂單數(shù)據(jù)的DataFrame,請(qǐng)使用Pandas編寫代碼,計(jì)算每個(gè)用戶的訂單金額總和,并找出訂單金額最高的前三個(gè)用戶。示例輸入:pythonimportpandasaspddata={'user_id':[1,2,1,3,2,3],'order_amount':[120,200,150,300,180,250]}df=pd.DataFrame(data)要求:輸出結(jié)果為DataFrame,包含用戶ID和訂單金額總和,按金額降序排列。題目3背景:給定一個(gè)包含用戶評(píng)分的DataFrame,請(qǐng)使用Pandas編寫代碼,計(jì)算每個(gè)用戶的平均評(píng)分,并篩選出平均評(píng)分高于4.0的用戶。示例輸入:pythonimportpandasaspddata={'user_id':[1,1,2,2,3],'rating':[4.5,3.8,4.2,4.9,4.0]}df=pd.DataFrame(data)要求:輸出結(jié)果為DataFrame,包含用戶ID和平均評(píng)分,按評(píng)分降序排列。題目4背景:給定一個(gè)包含訂單數(shù)據(jù)的DataFrame,請(qǐng)使用Pandas編寫代碼,計(jì)算每個(gè)商品類別的訂單數(shù)量,并找出訂單數(shù)量最多的前三個(gè)類別。示例輸入:pythonimportpandasaspddata={'product_id':['A','B','A','C','B','A','C','B'],'order_id':[1,1,2,2,3,3,4,4]}df=pd.DataFrame(data)要求:輸出結(jié)果為DataFrame,包含商品類別和訂單數(shù)量,按數(shù)量降序排列。題目5背景:給定一個(gè)包含用戶注冊(cè)時(shí)間的DataFrame,請(qǐng)使用Python編寫代碼,計(jì)算每個(gè)注冊(cè)月份的新用戶數(shù)量。示例輸入:pythonimportpandasaspddata={'user_id':[1,2,3,4,5],'register_date':['2024-01-15','2024-02-20','2024-01-05','2024-03-10','2024-02-01']}df=pd.DataFrame(data)要求:輸出結(jié)果為DataFrame,包含注冊(cè)月份和用戶數(shù)量,按月份升序排列。3.綜合分析題(共3題,每題15分)題目1背景:某電商平臺(tái)提供了過(guò)去一年的用戶行為數(shù)據(jù),包含用戶ID、購(gòu)買商品類別、購(gòu)買時(shí)間、購(gòu)買金額等信息。請(qǐng)分析以下問(wèn)題:1.每個(gè)商品類別的月度銷售額趨勢(shì)。2.每個(gè)商品類別的復(fù)購(gòu)率。3.用戶購(gòu)買行為的時(shí)間規(guī)律(如工作日/周末、白天/夜晚)。要求:請(qǐng)描述分析思路,并列出關(guān)鍵SQL查詢或Python代碼片段。題目2背景:某銀行提供了過(guò)去一年的信用卡交易數(shù)據(jù),包含用戶ID、交易金額、交易類型(消費(fèi)/取現(xiàn)/還款)、交易時(shí)間等信息。請(qǐng)分析以下問(wèn)題:1.每個(gè)用戶的月度交易金額分布。2.不同交易類型的金額占比。3.識(shí)別潛在的異常交易。要求:請(qǐng)描述分析思路,并列出關(guān)鍵SQL查詢或Python代碼片段。題目3背景:某醫(yī)院提供了過(guò)去一年的患者就診數(shù)據(jù),包含患者ID、醫(yī)生ID、就診時(shí)間、費(fèi)用等信息。請(qǐng)分析以下問(wèn)題:1.每個(gè)醫(yī)生的日均接診量。2.不同科室的診療費(fèi)用分布。3.患者復(fù)診率高的科室。要求:請(qǐng)描述分析思路,并列出關(guān)鍵SQL查詢或Python代碼片段。答案SQL查詢題答案題目1答案sqlSELECTp.category,SUM(o.amount)AStotal_salesFROMordersoJOINproductspONduct_id=duct_idWHEREYEAR(o.order_date)=2024GROUPBYp.categoryORDERBYtotal_salesDESCLIMIT3;題目2答案sqlSELECTaccount_id,AVG(amount)ASavg_amountFROMtransactionsWHEREtransaction_date>=DATE_SUB(CURDATE(),INTERVAL30DAY)GROUPBYaccount_idHAVINGAVG(amount)>1000ORDERBYavg_amountDESC;題目3答案sqlWITHpurchase_countsAS(SELECTuser_id,COUNT(DISTINCTorder_id)ASpurchase_countFROMordersWHEREorder_date>=DATE_SUB(CURDATE(),INTERVAL90DAY)--90天作為觀察期GROUPBYuser_id),total_usersAS(SELECTuser_id,COUNT(*)AStotal_countFROMordersGROUPBYuser_id)SELECTpc.user_id,(pc.purchase_count/tu.total_count)*100ASrepurchase_rateFROMpurchase_countspcJOINtotal_userstuONpc.user_id=tu.user_idWHEREpc.purchase_count>1--復(fù)購(gòu)用戶定義ORDERBYrepurchase_rateDESC;題目4答案sqlSELECTdoctor_id,AVG(fee)ASavg_fee_per_dayFROMvisitsGROUPBYdoctor_idORDERBYavg_fee_per_dayDESC;題目5答案sqlSELECTduct_id,p.category,COUNT(*)ASpurchase_countFROMordersoJOINproductspONduct_id=duct_idGROUPBYduct_id,p.categoryORDERBYpurchase_countDESCLIMIT3;Python編程題答案題目1答案pythonages=[25,18,45,70,34,12,55,82]age_groups={'0-18':0,'19-35':0,'36-60':0,'60以上':0}forageinages:ifage<=18:age_groups['0-18']+=1elifage<=35:age_groups['19-35']+=1elifage<=60:age_groups['36-60']+=1else:age_groups['60以上']+=1print(age_groups)題目2答案pythonimportpandasaspddata={'user_id':[1,2,1,3,2,3],'order_amount':[120,200,150,300,180,250]}df=pd.DataFrame(data)user_total=df.groupby('user_id')['order_amount'].sum().reset_index()user_total=user_total.sort_values(by='order_amount',ascending=False)print(user_total.head(3))題目3答案pythonimportpandasaspddata={'user_id':[1,1,2,2,3],'rating':[4.5,3.8,4.2,4.9,4.0]}df=pd.DataFrame(data)user_avg=df.groupby('user_id')['rating'].mean().reset_index()user_avg=user_avg[user_avg['rating']>4.0].sort_values(by='rating',ascending=False)print(user_avg)題目4答案pythonimportpandasaspddata={'product_id':['A','B','A','C','B','A','C','B'],'order_id':[1,1,2,2,3,3,4,4]}df=pd.DataFrame(data)product_count=df.groupby('product_id').size().reset_index(name='count')product_count=product_count.sort_values(by='count',ascending=False)print(product_count.head(3))題目5答案pythonimportpandasaspddata={'user_id':[1,2,3,4,5],'register_date':['2024-01-15','2024-02-20','2024-01-05','2024-03-10','2024-02-01']}df=pd.DataFrame(data)df['register_month']=pd.to_datetime(df['register_date']).dt.monthmonthly_users=df.groupby('register_month')['user_id'].count().reset_index(name='user_count')monthly_users=monthly_users.sort_values(by='register_month')print(monthly_users)綜合分析題答案題目1答案分析思路:1.月度銷售額趨勢(shì):-按商品類別和月份分組,計(jì)算銷售額-使用時(shí)間序列圖展示趨勢(shì)sqlSELECTproduct_category,MONTH(order_date)ASmonth,SUM(amount)ASmonthly_salesFROMordersWHEREYEAR(order_date)=2024GROUPBYproduct_category,monthORDERBYproduct_category,month;2.復(fù)購(gòu)率:-計(jì)算每個(gè)用戶的購(gòu)買次數(shù)和復(fù)購(gòu)次數(shù)-復(fù)購(gòu)率=復(fù)購(gòu)次數(shù)/總購(gòu)買次數(shù)sqlWITHfirst_purchaseAS(SELECTuser_id,MIN(order_date)ASfirst_purchase_dateFROMordersGROUPBYuser_id),purchasesAS(SELECTuser_id,COUNT(*)AStotal_purchasesFROMordersWHEREorder_date>=DATE_SUB(CURDATE(),INTERVAL90DAY)GROUPBYuser_id),repurchasesAS(SELECTo.user_id,COUNT(*)ASrepurchase_countFROMordersoJOINfirst_purchasefpONo.user_id=fp.user_idWHEREo.order_date>fp.first_purchase_dateGROUPBYo.user_id)SELECTp.user_id,(r.repurchase_count/NULLIF(p.total_purchases,0))*100ASrepurchase_rateFROMpurchasespLEFTJOINrepurchasesrONp.user_id=r.user_idWHEREp.total_purchases>1;3.時(shí)間規(guī)律:-按星期幾和時(shí)間段分組,分析購(gòu)買行為sqlSELECTDAYOFWEEK(order_date)ASday_of_week,TIME(order_date)AStime_period,COUNT(*)ASpurchase_countFROMordersGROUPBYday_of_week,time_periodORDERBYday_of_week,time_period;題目2答案分析思路:1.月度交易金額分布:-按用戶和月份分組,計(jì)算交易金額-使用直方圖展示分布sqlSELECTuser_id,MONTH(transaction_date)ASmonth,SUM(amount)ASmonthly_amountFROMtransactionsGROUPBYuser_id,monthORDERBYuser_id,month;2.交易類型占比:-按交易類型分組,計(jì)算金額占比sqlSELECTtransaction_type,SUM(amount)AStotal_amount,(SUM(amount)/(SELECTSUM(amount)FROMtransactions))*100ASpercentageFROMtransactionsGROUPBYtransaction_type;3.異常交易識(shí)別:-計(jì)算金額的Z-score,識(shí)別異常值sqlSELECTtransaction_id,amount,(amount-AVG(amount))/STDDEV(amount)ASz_scoreFROMtransactionsWHEREABS((amount-AVG(amount))/STDDEV(amount))>3;題目3答案分析思路:1.醫(yī)生日均接診量:-按醫(yī)生和日期分組,計(jì)算接診量sqlSELECTdoctor_id,DATE(visit_date)ASvisit_date,COUNT(*)ASvisit_countFROMvisitsGROUPBYdoctor_id,visit_dateORDERBYdoctor_id,visit_date;2.科室診療費(fèi)用分布:-按科室分組,計(jì)算費(fèi)用分布sqlSELECTdepartment,SUM(fee)AStotal_fee,AVG(fee)ASavg_feeFROMvisitsvJOINdoctorsdONv.doctor_id=d.doctor_idGROUPBYdepartmentORDERBYtotal_feeDESC;3.復(fù)診率高的科室:-計(jì)算每個(gè)科室的復(fù)診率sqlWITHfirst_visitAS(SELECTpatient_id,MIN(visit_date)ASfirst_visit_dateFROMvisitsGROUPBYpatient_id),revisit_visitsAS(SELECTv.patient_id,COUNT(*)ASrevisit_countFROMvisitsvJOINfirst_visitfvONv.patient_id=fv.patient_idWHEREv.visit_date>fv.first_visit_dateGROUPBYv.patient_id)SELECTd.department,(rv.revisit_count/NULLIF(fv.revisit_count,0))*100ASrevisit_rateFROMdoctorsdJOINrevisit_visitsrvONd.doctor_id=rv.doctor_idJOIN(SELECT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論