1. 給你10臺機器,每個機器2個cpu,2g內(nèi)存,現(xiàn)在已知在10億條記錄的數(shù)據(jù)庫里執(zhí)行一次查詢需要5秒,問用什么方法能讓90%的查詢能在100毫秒以內(nèi)返回結(jié)果。
2. 一個長度為10000的字符串,寫一個算法,找出最長的重復(fù)子串,如abczzacbca,結(jié)果是bc。
3. 一個保存有10000個URL的文本文件,刪除其中相同的URL。
4. 連接兩個單向鏈表,返回排序后的結(jié)果。
5. 將9個石子放在9x9的方格中,要求同行、同列、45度上無兩個石子。
6. 有一幢100層高的大樓,給你兩個完全相同的玻璃圍棋子。假設(shè)從某一層開始,丟下玻璃棋子就會破碎。那么怎么利用手中的兩顆棋子,用一種什么樣的最優(yōu)策略,知道這個臨界的層高呢?
7. 用c++寫一個函數(shù),如Foo(const char *str),打印出str的全排列,如abc的全排列:abc, acb, bca, dac, cab,cba
8. 求出一字符串中最長的數(shù)字串。比如as123cdf1234f,返回1234,char* FindNumber(char * out,char *in)。