豆瓣是以技術(shù)和產(chǎn)品為核心、生活和文化為內(nèi)容的創(chuàng)新網(wǎng)絡(luò)服務(wù)。豆瓣以書影音起家,一直致力于幫助都市人群發(fā)現(xiàn)生活中有用的事物,通過(guò)桌面和移動(dòng)產(chǎn)品來(lái)服務(wù)都市日常生活的各個(gè)方面。
2014年豆瓣為招聘合適人才,推出了最新的筆試題目,大家敬請(qǐng)了解:
1.求以下程序的輸出結(jié)果: 【5分】
1.
int foo(int x, int y){
if(x <=0 || y <= 0) return 1;
return 4 * foo(x – 1, y / 2);
}
printf(“%d\n”, foo(3, 5));
A. 256 B.64 C.16 D.4 E.1
2.文法G:S->uvSvu|w所識(shí)別的語(yǔ)言是: 【5分】
A. uvw*vu B. (uvwvu)* C. uv(uv)*wvu(vu)* D. (uv)*w(vu)*
3.已知⼀一張員工數(shù)據(jù)表A的表結(jié)構(gòu)如圖,請(qǐng)用⼀一條SQL語(yǔ)句列出所有的工作崗位(JOB字
段)中收入(SALARY)最低的員工信息,結(jié)果按照收入的升序排列。說(shuō)明:取最小值的
SQL函數(shù)為min()。 【5分】
A {
ENAME VARCHAR(20)
JOB VARCHAR(20)
SALARY NUMBER(5)
}
4.描述在瀏覽器中敲入⼀一個(gè)網(wǎng)址并按下回車后所發(fā)生的事情(盡量詳細(xì))!15分】
5.給定10G個(gè)無(wú)符號(hào)整數(shù)(32位),如何能夠最快地在⼀一臺(tái)內(nèi)存為2G的機(jī)器上找到這些
數(shù)據(jù)中的中位數(shù)(比⼀一半數(shù)據(jù)大,比另⼀一半數(shù)據(jù)小)?【20分】
【說(shuō)明:說(shuō)明算法即可,無(wú)需實(shí)現(xiàn)代碼】
6.拼寫檢查程序通常需要計(jì)算兩個(gè)字符串的相似度。對(duì)字符串,我們定義三個(gè)基本操作:
1.修改⼀一個(gè)字符(如把“a”替換為“b”);
2.添加⼀一個(gè)字符(如把“abdd”變?yōu)?ldquo;aebdd”);
3.刪除⼀一個(gè)字符(如把“travelling”變?yōu)?ldquo;traveling”);
我們定義兩個(gè)字符串的距離為“將其變成相同需要經(jīng)過(guò)的最少操作次數(shù)”,例如,對(duì)字符串“abcdefg”和“abcdef”,我們可以通過(guò)添加/減少⼀一個(gè)“g”的方式來(lái)達(dá)到目的。因此,這兩個(gè)字符串的距離為1。 【30分】
要求:
1,請(qǐng)實(shí)現(xiàn)代碼,為給定的任意兩個(gè)字符串計(jì)算它們的距離。
2,請(qǐng)為其設(shè)計(jì)并實(shí)現(xiàn)測(cè)試。