1. 程式人生 > >2018年中科院計算所推免考試回憶錄

2018年中科院計算所推免考試回憶錄

        忙活了快三天,中科院計算所推免考試總算是結束了。雖然最後自己不出意料地沒有通過,但是還是想寫篇部落格來總結一下這兩天的經歷,同時也希望能對未來將要進入中科院計算所推免考試的學弟學妹有所幫助。

        首先有必要說明,我不是以夏令營營員的身份去參加推免考試的,夏令營入營條件應該會嚴苛得多。我是之前5月聯絡的一個計算機視覺和模式識別方面的女老師(應該很容易猜出來),因為當時對自己保研還是比較心存希望的。老師人很好,很快就給我回了郵件,告訴我暑期有夏令營可以過來參加。後來我越發覺得自己保研可能無望,同時也在搞一個競賽,就沒再想起這件事。直到7月14日晚上我有一個驗證需要登入郵箱,才發現老師給我發郵件問我去不去參加16號的推免考試。我沒考慮太多,只想過了這麼久老師還記得我併發郵件提醒我,我不管是出於禮貌還是感激都應該過去參加一下考試。雖然知道大概率無望,只是走個過場,但是是考試的話還是應該準備一下才是。

        第二天,我開始在網上找中科院計算所的考試經驗帖子和文章,裡面的一些機試、筆試和麵試的內容列舉在分割線所劃分的區域內。考完試覺得對考試幫助不大。(侵刪)

----------------------------------------------------------------------我是上分割線------------------------------------------------------------------------

一、機試

1、09年計算所機試

⑴實現拷貝函式的功能,不能用庫函式。

(2)迴文數的判斷 還有兩個記不起了,差不多就是這種難度。選做題有一個是關於連結串列操作,還有一個大意是說給定n個有序資料,只用一次迴圈找出中間數來。

2、13年網計

(1)f(n)=n的各位數的乘積,例如f(123)=1*2*3=6。編寫程式實現:輸入一個數x,輸出y,y滿足f(x)=f(y),且y<x,且y最大。其中輸入的x小於等於10的100次方。
(2)函式f(n)的作用是去掉n的二進位制表示時末尾的0後對應的數,編寫程式實現:輸入n,輸出f(1)+f(2)+...+f(n)。輸出會大於32byte。
(3)對一列數進行劃分,每部分不超過5個,確定如何劃分使各部分之和最大。

3、16年軟體所國重

第一題 dijkstra演算法,搞一個最短路演算法出來就可以了。

第二題 好像是一個貪心的加油站的問題,不太記得了。

第三題 dfs,反正是一個搜尋,是搜尋連通塊吧,反正不太難。

4、16年軟體所

第一題的大概意思就是輸入四個頂點的座標,分別表示兩個矩形的對角線頂點。輸出兩個矩形的重疊面積。

第二題是一個深度搜索的問題。輸入一個M*N的0-1矩陣,連通的1作為一個區域,輸出面積最大的那個連通區域1的個數。

第三題,水題。MaxSum問題,輸入一個整數序列,輸出最大的連續子序列之和。

5、17年計算所

(1)用連結串列表示一個整數集,實現:

a.將一個整數插入整數集;

b.從整數集中刪除一個整數;

c.兩個整數集的交集;

d.兩個整數集的並集。

(2)將一個用字串表示的數,表示為整型數

(3)A是用任意個(大於等於一個)數字和字母表示的字串,B是用0個或多個任意數字和字母表示的字串,請程式設計輸出B串在A串中第一次出現的位置,或者輸出不出現。

(4)求圓周率,寫出計算公式,並計算出時間複雜度。

(5)請根據輸入的點集判斷這些點構成的多邊形是否為凸多邊形。

(6)計算輸入的數學表示式的值,數學表示式中包括+、-、*、/、(、)。

二、筆試

09年計算所

筆試內容分為三部分:

1.數學:高數、線代、概率,考得很細,比如拉格朗定理,貝葉斯公式,證明題等,印象最深刻的一個問題是,請問矩陣秩的物理含義是什麼? (汗!我連現在也沒有搞清楚此題答案),這部分我答的很差,完全沒有想到會考得如此詳細,數學都是大一大二學的,全憑著自己的僅有的積累答完了這些題。

2.計算機專業題:基本上所有的專業科目都覆蓋了,主要是資料結構,作業系統,資料庫,計算機網路,C++,這部分答得還算可以

13年

上午是筆試,共6道題。前5道中選4道做,第6題是英語作文。1、2題是離散數學中的內容,第3題是道概率題,第4題是和資料結構有關的,第5題是補全程式碼。兩個小時的時間,時間比較寬鬆。

15年計算所(網技)

網技推免上機也考了個大整數相加,貌似這道題很經典。不用OJ,語言隨便,旁邊有人還用matlab。是讓學長檢查程式碼。
筆試考了個Huffman樹,證Markov不等式,

16年

筆試當時考了四道題。

第一題是一個走臺階,問你一次可以走1步或者走2步,n階臺階有多少種走法,大概就是這樣子的,肯定是可以推出一個遞推關係式的。

第二題是一個離散的推理題,主要是一些正規化啥的,推一推能證明出來就可以了。

第三題是一個數學題,用的是零點介值證明定理,往年也考過的,所以沒什麼問題。

第四題是一個貪心的題,參考杭電oj “今年暑假不AC”這道題。

這些題目都沒有特別標準的答案,主要是你報的老師看一下就可以了。筆試題 也不難,至少不需要提前準備,仔細分析就能做出來。

三、面試

13年

以下是當時面試時問過的問題涉及的部分知識點:linux核心、如果會編譯的話會問“printf”是怎麼載入的、外部排序、堆和棧的區別、最小樹、最大樹、最小堆、最大堆、最短路徑、如何在很大的陣列中找出最大的100個數。

面試時的問題涉及linux、演算法、數學(線性代數、概率論與數理統計)等內容。

----------------------------------------------------------------------我是下分割線------------------------------------------------------------------------

        我15日只准備的機試的內容,也就是對網上所傳的17年計算所的機試內容自己做了一下。16日上午看了一些數學方面的內容(當然也只是根據經驗貼隨便看看,知道自己肯定看不完)。基本可以說沒有準備。下面分割線內的部分則是我所記得的18年計算所機試、筆試的內容(沒進面試因此無法提供面試內容)。

----------------------------------------------------------------------我是上分割線------------------------------------------------------------------------

一、機試

時間:1小時

題數:5

IDE:VS2010

        先是辦公室的祕書小姐姐給計算所的學長學姐發試題,然後一個學長或學姐領走一個人,使用學長學姐的計算機進行機試。題目列印在試題紙上(中文),然後在vs中有5個專案,每個專案會有部分程式碼,讓你補全程式碼以實現題目所要求的功能。學長學姐既進行監考,又會對你有疑義的地方進行解答。code完之後告訴學長學姐。我這邊的學姐只是知道我code完了,並沒有對我的程式碼或是結果進行檢查,不知道其他人是怎麼做的。我的水平只能code兩道題,還有一道題有個小bug沒調出來。並不記得所有題目,我只記得前面兩道題,第四道題是影象處理方面的。

題目一:輸入兩個十進位制數m,n,計算兩個數所對應的二進位制數的距離。距離的定義是如果有一個對應位上的二進位制位不同,就將距離+1.比如4是100,2是010,則距離是2。按低位對其。

題目二:輸入一個字串,對字串進行壓縮並輸出壓縮後的字串。壓縮規則是如果有k個連續的字元x且k>1,則壓縮成kx。如果k=1,則直接寫成x。比如aaabffec,壓縮後就是3ab2fec。

二、筆試

時間:3小時,每科1小時

科目:數學、英語、綜合

1.數學

        由於我基本上沒有複習,加上我數學不是很好,因此不太好評判試卷對的難度。我只列出我記得的題目

(1)B1,B2,……Bn是試驗E樣本空間S的一個劃分,A是E的事件,寫出A的全概率公式

(2)在一個重男輕女的國家,夫婦都非常想要男孩。如果夫婦生了一個女孩,就會繼續生,直到生出男孩為止。問在整個國家的男女比例是多少(要求給出分析過程)

(3)X、Y是隨機變數,概率密度函式f(x,y) = { e^(-y) , 0<x<y; 0, 其他

1)X\Y是否相互獨立?

2)計算邊緣密度(這題我不太記得了,題目就幾個字讓你求邊緣密度)

3)計算P(X>3|Y<5)

另外還有2個小題,但是我忘了。

(4)證明對f(t)進行負無窮大到b的積分,對1/f(t)進行-∞到a的積分,兩者相乘大於等於(b-a)²。(條件可能不是很嚴謹,因為題目我也記得比較模糊)

(5)請設計一個演算法比較兩個文字的相似度,(後面還有一個要求我忘了,大概是給出對大量文字進行相似度比較的快速演算法)

        答案:首先對文字進行分詞。然後構造特徵向量(如詞頻,可自由發揮),計算兩個特徵向量的距離(歐氏距離,cosine距離,也可是其他),據此可對大量文字進行雜湊以計算海明距離(這句話我記得也不是很清楚。)(雖然給出了這個答案,但是實際上需要你再好好斟酌,可以選擇認同答案並不答題,也可對答案持否認態度,也可提出新的方法)

(6)在物體識別中可根據物體的特徵來對不同物體進行識別,比如葡萄和荔枝可根據表面光滑度來進行識別和區分。對一類物體可建立一個特徵向量d,向量中的分量代表的是物體的一個特徵,通常是一個數。向量中既具有獨立的特徵,也具有含相關性的特徵。要求設計一個演算法,對給定的一組物體(物體中只含有A類物體和B類物體)中進行區分,以識別其是A類物體還是B類物體。

(7)有一個研究生再進行中東呼吸綜合徵方面的研究,其手中擁有大量關於此疾病的血液樣本,通過研究樣本中各物質的含量,他企圖構造一個函式,使得輸入血液樣本後能夠輸出0和1,0代表不患,1代表患病,從而預測疾病。他花了一週時間構造了一個函式,對100例樣本進行預測,同時與真實結果進行比對。如下表格所示。

樣本            預測結果      真實結果

成年男性1     p1                  t1

成年男性2     p2                  t2

成年男性100 p100              t100

        該研究生設計了一個指標,來反映其預測函式的準確性:a= 1/100 *  \sum_{n=1}^{100} 1(pn=tn),1(expr)的作用其實就是判斷。如果expr為真就為1,如果為假就為0。他發現a=97%後,非常興奮。師兄看了他的過程後說:“這個指標無法正確反應你的函式預測的結果的準確性。”

        

①請說明a的意義是什麼?

②為什麼師兄會這麼說?

③請設計一個指標,該指標能夠更好地反映該研究生構造的函式的預測的準確性。

2.英語

        英語的題型共分為四種,選擇題、完形填空、英漢互譯和作文。

(1)選擇題

        選擇題就是在句子的空處選擇正確的單詞。單選,四個選項。四個選項,要麼是意思相近,要麼是拼寫相近,考察的是單詞的積累量和單詞的辨別。

(2)完形填空

        文字難度一般,供選擇的單詞也不會有生僻的詞,一般都是常用詞,偶爾會有一兩個供選擇的單詞你不太清楚什麼意思。

(3)英漢互譯

        一共有4個小題。前兩個小題將英文句子譯成中文,後兩個小題將中文句子譯成英文。我記得其中有一題涉及到了專業詞語,比如要將自然語言處理、人工智慧譯成英文,難度不會太大。但是後面有一題要將“樓梯”(是樓梯還是扶梯我忘了)譯成英文,我不會譯就直接寫成‘stairs"了(笑哭)

(4)作文

        作文題目是:

        澳大利亞的某某大學的某某教授邀請你給外國留學生做一次報告,介紹中國文化。請你回信,將你報告的要點介紹給他,並徵求他的意見。要求xx詞以上(多少詞我忘了,好像是250個詞?)

3.綜合測試

        這部分的題目我也只能記得個別題,我就將記得的題目寫下來。

(1)1元可以買1瓶飲料,2個瓶蓋可以換1瓶飲料。你手頭有20元,問你最多能喝多少瓶飲料。

(2)1995+19995+199995+……+199……95(45個9),其和的最後4位的和是多少?

(3)9個連續的自然數,填入九宮格,使得橫縱上的3個數的和都為60.

(4)設計一個演算法,將男性臉部的影象和女性臉部的影象區分開來。(寫出虛擬碼,或者寫出核心思想或者核心步驟)

(5)有一個工程,甲隊15天可以完成,乙隊20天可以完成,但是如果兩隊合作的話,甲隊的速度變成原來的5/6,乙隊變成原來的9/10。怎樣規劃可以使甲隊工作的天數最少,且儘快完成?(要求在16天內完成)(題目中的數字我是憑印象寫的,可能不太對,但是意思是這個意思,可以看出題目倒不難)

        綜合測試總體來說不難,除了我上面說的(3)、(4)題。(3)題我確實沒寫出來,(4)題我寫了,但也不知道老師怎麼看。(3)題後來在考場外寫出來了,不能說很難,可能是考場上有點緊張加上時間也有點緊張吧。

----------------------------------------------------------------------我是下分割線------------------------------------------------------------------------