2025年全知科技筆試題及答案_第1頁(yè)
2025年全知科技筆試題及答案_第2頁(yè)
2025年全知科技筆試題及答案_第3頁(yè)
2025年全知科技筆試題及答案_第4頁(yè)
2025年全知科技筆試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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年全知科技筆試題及答案一、編程與算法題1.給定一個(gè)用戶行為日志數(shù)組logs,每個(gè)元素為字符串,格式為"user_id,timestamp,action"(如"u1001,1700000000,click")。要求實(shí)現(xiàn)一個(gè)函數(shù)countActiveUsers(logs,interval),統(tǒng)計(jì)在任意連續(xù)interval秒內(nèi)活躍用戶數(shù)的最大值。注:活躍用戶指在該時(shí)間段內(nèi)至少有一次行為記錄。

示例:

輸入:logs=["u001,1700000000,view","u001,1700000030,click","u002,1700000010,view","u003,1700000040,like"],interval=30

輸出:2(1700000000-1700000030秒內(nèi),u001和u002活躍)答案:defcountActiveUsers(logs,interval):

fromcollectionsimportdefaultdict

user_times=defaultdict(list)

#預(yù)處理:按用戶分組并排序時(shí)間戳

forloginlogs:

uid,ts,_=log.split(',')

user_times[uid].append(int(ts))

#收集所有時(shí)間點(diǎn)并排序

all_times=[]

foruid,timesinuser_times.items():

times.sort()

all_times.extend([(t,uid,'start')fortintimes])

all_times.extend([(t+interval,uid,'end')fortintimes])

all_times.sort(key=lambdax:(x[0],0ifx[2]=='end'else1))#結(jié)束事件先處理

max_active=0

current_active=0

active_users=set()

fort,uid,eventinall_times:

ifevent=='start':

ifuidnotinactive_users:

active_users.add(uid)

current_active+=1

ifcurrent_active>max_active:

max_active=current_active

else:

ifuidinactive_users:

#檢查是否有其他時(shí)間點(diǎn)覆蓋當(dāng)前結(jié)束時(shí)間

overlap=False

fort_startinuser_times[uid]:

ift_start<=t-intervalandt_start+interval>t:

overlap=True

break

ifnotoverlap:

active_users.remove(uid)

current_active-=1

returnmax_active解析:

-預(yù)處理階段將日志按用戶分組,并提取時(shí)間戳排序,便于后續(xù)區(qū)間判斷。

-通過(guò)事件點(diǎn)(開始和結(jié)束)掃描線算法,按時(shí)間順序處理每個(gè)用戶的行為區(qū)間。

-結(jié)束事件處理時(shí)需檢查是否有其他行為記錄覆蓋當(dāng)前區(qū)間,避免誤判用戶退出。2.實(shí)現(xiàn)一個(gè)LRU緩存(最近最少使用),要求支持get(key)和put(key,value)操作,時(shí)間復(fù)雜度O(1)。答案:classLRUCache:

def__init__(self,capacity:int):

self.capacity=capacity

self.cache={}

self.head=Node(-1,-1)#哨兵節(jié)點(diǎn)

self.tail=Node(-1,-1)

self.head.next=self.tail

self.tail.prev=self.head

defget(self,key:int)->int:

ifkeynotinself.cache:

return-1

node=self.cache[key]

self._move_to_head(node)

returnnode.value

defput(self,key:int,value:int)->None:

ifkeyinself.cache:

node=self.cache[key]

node.value=value

self._move_to_head(node)

else:

iflen(self.cache)==self.capacity:

#刪除尾節(jié)點(diǎn)

removed=self.tail.prev

delself.cache[removed.key]

self.tail.prev=removed.prev

removed.prev.next=self.tail

new_node=Node(key,value)

self.cache[key]=new_node

self._add_to_head(new_node)

def_move_to_head(self,node):

#斷開原鏈接

node.prev.next=node.next

node.next.prev=node.prev

#插入頭部

node.prev=self.head

node.next=self.head.next

self.head.next.prev=node

self.head.next=node

def_add_to_head(self,node):

node.prev=self.head

node.next=self.head.next

self.head.next.prev=node

self.head.next=node

classNode:

def__init__(self,key,value):

self.key=key

self.value=value

self.prev=None

self.next=None解析:

-使用雙向鏈表維護(hù)訪問(wèn)順序,頭部為最近訪問(wèn)節(jié)點(diǎn),尾部為最久未訪問(wèn)節(jié)點(diǎn)。

-哈希表cache存儲(chǔ)鍵到節(jié)點(diǎn)的映射,保證O(1)時(shí)間查找。

-put操作時(shí),若容量已滿則刪除尾部節(jié)點(diǎn)(最久未使用),新節(jié)點(diǎn)插入頭部。二、邏輯推理與數(shù)學(xué)題3.數(shù)列推理:1,3,8,22,60,164,?()答案:448解析:從第三項(xiàng)開始,每一項(xiàng)等于前兩項(xiàng)之和的2倍。即:

8=(1+3)×2;22=(3+8)×2;60=(8+22)×2;164=(22+60)×2;下一項(xiàng)為(60+164)×2=448。4.圖形推理:觀察以下圖形規(guī)律,選擇問(wèn)號(hào)處的圖形(選項(xiàng)略,此處用文字描述):第一行:□●△,△□●,●△□

第二行:○

☆,☆○

,?

()答案:

☆○解析:每行圖形為前一個(gè)圖形的循環(huán)右移一位。第一行:□●△→右移一位得△□●→再右移一位得●△□;第二行:○

☆→右移一位得☆○

→再右移一位得

☆○。5.數(shù)學(xué)計(jì)算:某系統(tǒng)有3個(gè)獨(dú)立組件,每個(gè)組件的可靠度(正常工作概率)分別為0.9、0.8、0.7。若系統(tǒng)需要至少兩個(gè)組件正常工作,則系統(tǒng)可靠度是多少?答案:0.902解析:

-恰好兩個(gè)正常:0.9×0.8×(1-0.7)+0.9×(1-0.8)×0.7+(1-0.9)×0.8×0.7=0.216+0.126+0.056=0.398

-三個(gè)都正常:0.9×0.8×0.7=0.504

-總可靠度:0.398+0.504=0.902三、人工智能與大數(shù)據(jù)基礎(chǔ)題6.選擇題:以下哪種算法屬于生成式模型?()A.邏輯回歸

B.支持向量機(jī)(SVM)

C.樸素貝葉斯

D.決策樹答案:C解析:生成式模型學(xué)習(xí)聯(lián)合概率分布P(X,Y),樸素貝葉斯通過(guò)貝葉斯定理計(jì)算P(Y|X),屬于生成式;判別式模型直接學(xué)習(xí)P(Y|X)或決策函數(shù),邏輯回歸、SVM、決策樹均為判別式模型。7.填空題:在K-means聚類中,常用_作為距離度量,算法的核心步驟是_和____。答案:歐氏距離;分配樣本到最近簇中心;更新簇中心為樣本均值8.判斷題:在梯度下降中,學(xué)習(xí)率過(guò)大會(huì)導(dǎo)致模型無(wú)法收斂,學(xué)習(xí)率過(guò)小會(huì)導(dǎo)致收斂速度過(guò)慢。()答案:√解析:學(xué)習(xí)率過(guò)大可能跳過(guò)最優(yōu)解,在極值點(diǎn)附近震蕩;學(xué)習(xí)率過(guò)小則需要更多迭代才能接近最優(yōu)解。9.簡(jiǎn)答題:簡(jiǎn)述Hadoop生態(tài)中HDFS與YARN的核心功能。(1).HDFS(Hadoop分布式文件系統(tǒng)):提供高容錯(cuò)、高吞吐量的分布式存儲(chǔ)服務(wù),將大文件分塊存儲(chǔ)在集群節(jié)點(diǎn)中,支持流式數(shù)據(jù)訪問(wèn)。

(2).YARN(資源調(diào)度與管理框架):負(fù)責(zé)集群資源(CPU、內(nèi)存)的統(tǒng)一管理和任務(wù)調(diào)度,分離了資源管理(ResourceManager)和任務(wù)執(zhí)行(NodeManager),支持多計(jì)算框架(如MapReduce、Spark)。10.論述題:對(duì)比隨機(jī)森林(RandomForest)與XGBoost的異同點(diǎn)。(1).相同點(diǎn):均為集成學(xué)習(xí)方法,基于決策樹構(gòu)建;通過(guò)多個(gè)弱分類器組合提升性能;可處理分類與回歸問(wèn)題。

(2).不同點(diǎn):基學(xué)習(xí)器:隨機(jī)森林使用完全生長(zhǎng)的決策樹(無(wú)剪枝),XGBoost使用CART樹并支持正則化。

集成方式:隨機(jī)森林采用Bagging(并行訓(xùn)練),XGBoost采用Boosting(串行訓(xùn)練,關(guān)注前序模型的錯(cuò)誤樣本)。

優(yōu)化目標(biāo):XGBoost顯式加入正則項(xiàng)(樹復(fù)雜度、L1/L2正則),支持二階泰勒展開優(yōu)化;隨機(jī)森林無(wú)顯式正則。

計(jì)算效率:XGBoost支持列抽樣、并行計(jì)算(節(jié)點(diǎn)分裂時(shí)并行尋找最佳特征),隨機(jī)森林依賴特征和樣本的隨機(jī)抽樣。四、綜合應(yīng)用題11.假設(shè)全知科技需要為某電商平臺(tái)設(shè)計(jì)用戶興趣推薦系統(tǒng),要求:輸入:用戶基本信息(年齡、性別)、歷史行為(點(diǎn)擊、購(gòu)買、加購(gòu))、商品屬性(類目、價(jià)格、品牌)

輸出:用戶未來(lái)7天內(nèi)最可能購(gòu)買的前10個(gè)商品

請(qǐng)?jiān)O(shè)計(jì)技術(shù)方案,包括數(shù)據(jù)預(yù)處理、模型選擇、評(píng)估指標(biāo)。答案:

-(1).數(shù)據(jù)預(yù)處理:

-特征工程:

-用戶特征:人口統(tǒng)計(jì)特征(年齡分桶、性別獨(dú)熱編碼)、行為特征(點(diǎn)擊/購(gòu)買頻率、最近一次行為時(shí)間、類目偏好(TF-IDF))。

-商品特征:類目(層級(jí)編碼)、價(jià)格(標(biāo)準(zhǔn)化)、品牌(嵌入向量)、商品流行度(近期銷量)。

-交叉特征:用戶-類目點(diǎn)擊率、用戶價(jià)格敏感度(歷史購(gòu)買價(jià)格分位數(shù))。

-數(shù)據(jù)清洗:處理缺失值(用戶年齡用均值填充,商品類目用眾數(shù))、異常值(過(guò)濾單日點(diǎn)擊超1000次的異常行為)。

-時(shí)間劃分:按時(shí)間窗口劃分訓(xùn)練集(前90天)、驗(yàn)證集(中間7天)、測(cè)試集(最后7天),確保時(shí)序性。(2).模型選擇:候選生成階段:使用雙塔模型(UserTower和ItemTower),將用戶特征和商品特征映射到同一向量空間,通過(guò)內(nèi)積計(jì)算相似度,召回高相似商品。

排序階段:采用深度模型(如Wide&Deep、DeepFM),融合廣度特征(用戶-商品歷史交互)和深度特征(DNN提取非線性關(guān)系),輸出購(gòu)買概率。(3).評(píng)估指標(biāo):離線指標(biāo):召回率@10:測(cè)試集中用戶實(shí)際購(gòu)買商品在推薦前10中的比例。

NDCG@10:考慮推薦順序的相關(guān)性(購(gòu)買商品排名越前得分越高)。

AUC:模型對(duì)正(購(gòu)買)負(fù)(未購(gòu)買)樣本的區(qū)分能力。

在線指標(biāo):A/B測(cè)試,對(duì)比推薦系統(tǒng)上線前后的GMV提升率、用戶點(diǎn)擊轉(zhuǎn)化率。12.某系

溫馨提示

  • 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)論