国产不卡视频在线播放,中文字幕亚洲综合小综合在线,亚洲一级大片,免费观看的成年网站不下载

百度校園招聘-自然語言處理工程師

思而思學網

一、簡答題(本題共30分)

1.簡述數據庫以及線程死鎖產生的原理及必要條件,簡述如何避免死鎖。(10分)

2.請列舉面向對象設計的三個基本要素及五種主要設計原則。(10分)

3.多線程如何同步。(10分)

二、算法與程序設計(本題共45分)

1.一百個燈泡排成一排,第一輪將所有燈泡打開;第二輪每隔一個燈泡關掉一個,即排在偶數的燈泡都被關掉。第三輪每隔兩個燈泡,將開著的燈泡關掉,關掉的燈泡打開。以此類推,第100輪結束的時候,還有幾盞燈泡亮著。編寫代碼實現。(15分)

2.有一個百萬級的字符串集合(worddic),worddict中每個字符串的長度為2~5個漢字。對任意一個查詢串(query),定義該query對worddic模糊匹配的條件為:該query內部移除最多6個連續漢字后,與worddic中某個詞完全匹配。例如:worddic中有"百度公司"這個字符串,query"北京百度網絡技術有限公司",該query即可通過移除6個連續字符('網絡技術有限')來匹配"百度公司";

現在需要你設計一個算法來實現這樣的功能:

/@brief: query match function

@param worddcit:字符串集合,可以在這兒自定義詞典的數據結構worddic;

@param query: query;

@param querylen: query的長度;

@param return: 1表示該query可以模糊匹配詞典中某個字符串,-1表示其它;

/

int check_query(const dict worddict, const char query, const int querylen);

要求:給出數據結構dict的設計并完成check_query函數(20分)

三、系統設計題(本題共35分)

1.拼寫糾錯是搜索引擎具備的一個功能,指的是自動分析用戶輸入的查詢(query),檢查是否有拼寫錯誤,如果有,則給出正確的拼寫建議。例如:把"聯想手機"輸錯為"聯想手機"。這時候搜索引擎一般會給出提示"您要找的是不是:聯想手機"。

一般來說,拼寫糾錯主要包括了兩個重要的步驟:一是識別用戶輸入的錯誤的詞語;二是把錯誤的詞語修改成正確的詞語。

問題:1)在中文中,常見的錯誤輸入是同音不同字:例如,"蘋果"輸錯為"平果";在英文中,常見的錯誤輸入時拼寫錯誤,如"latest"錯輸為"latst"。針對以上兩種在中文和英文輸入中的錯誤,請分別給出一種解決方案。

2)用戶輸入的查詢,常常還包含一些上下文的信息(如,"平果手機什么時候發布"),如何利用這些上下文改進糾錯的效果?

熱門推薦

最新文章