一、簡(jiǎn)答題
1. 簡(jiǎn)述樹(shù)的深度優(yōu)先遍歷及廣度優(yōu)先遍歷及其非遞歸實(shí)現(xiàn)的特點(diǎn);
2. 找出以下程序中的bug:
#include
#include
struct Record{
int a;
int b;
};
int create(struct Record *p, int num)
{
p = new struct Record[num];
if (!p)
return -1;
else
return 0;
}
int Test()
{
struct Record *p = NULL;
int i;
int num;
printf("0x%08x\n", p);
scanf("Input record num:%d", &num);
if (create(p, num) < 0)
return -1;
printf("0x%08x\n", p);
for (i = 0; i < num; i++) {
p[i].a = 0;
p[i].b = 0;
}
return 0;
}
int main(void)
{
Test();
getchar();
return 0;
}
3. 有一臺(tái)Mini計(jì)算機(jī),內(nèi)存大小為1K,CPU主頻為1M(CPU狀態(tài)每秒改變10的6次方次),問(wèn)在這臺(tái)計(jì)算機(jī)上可運(yùn)行并且確定可以終止的程序的最長(zhǎng)運(yùn)行時(shí)間是多少?
給出思路及推理過(guò)程(可以做任何假設(shè))。
二、算法設(shè)計(jì)
1. 某大型項(xiàng)目由n個(gè)組件N1, N2……Nn構(gòu)成,每個(gè)組件都可以獨(dú)立編譯,但是某些組件的編譯依賴于其它組件(即某些組件只能在其它組件編譯完成后才能編譯),設(shè)計(jì)算法給出統(tǒng)計(jì)過(guò)程。
2. 完成函數(shù):
int maxnumstr(char *inputstr, char *outputstr)
函數(shù)功能:找出inputstr中的最長(zhǎng)連續(xù)數(shù)字串存儲(chǔ)到outputstr里并返回長(zhǎng)度,如調(diào)用maxnumstr("123abc1234a", outputstr)后返回4且outputstr中為"1234"。
三、系統(tǒng)設(shè)計(jì)
URL(統(tǒng)一資源定位符)由site、path組成,并且有其它屬性信息如訪問(wèn)時(shí)間等。
如:https://www.baidu.com/img/abc中site為https://www.baidu.com,path為/img/abc。
1. 設(shè)計(jì)系統(tǒng)存儲(chǔ)100億條URL信息;
2. 說(shuō)明如何完成URL信息的添加、刪除及修改;
3. 如何添加URL的屬性信息;
2010搜狐校園招聘筆試題
一、選擇題(20題,40分)
二、名詞解釋(10題,20分)
諸如SQL、TCP、HTTP、QoS、STL、XML等。
三、程序設(shè)計(jì)(可用任何編程語(yǔ)言實(shí)現(xiàn))
1. 排序數(shù)字字符串的數(shù)字(升序),遇到0時(shí)從數(shù)字字符串中刪除,如"1324”排序后應(yīng)該為“1234”,”9002“排序后應(yīng)該為”29“;
2. 前后顛倒輸入的英文中的單詞位置,標(biāo)點(diǎn)符號(hào)(只可以出現(xiàn)在句尾)位置不變,如輸入"Hello how are you!"輸出應(yīng)該為“you are how Hello!"。