引言 自發(fā)表上一篇文章至今(事實(shí)上,上篇文章更新了近3個(gè)月之久),blog已經(jīng)停了3個(gè)多月,而在那之前,每月都不曾斷過。正如上一篇文章支持向量機(jī)通俗導(dǎo)論(理解SVM的三層境界)末尾所述:”額,blog許久未有更新了,因?yàn)樽罱鼘?shí)在忙,無暇顧及blog。“與此同時(shí),工作之余,也在一直閑心研究學(xué)習(xí)數(shù)據(jù)挖掘:"神經(jīng)網(wǎng)絡(luò)將可能作為Top 10 Algorithms in Data Mining之番外篇第1篇,同時(shí),k-最近鄰法(k-nearest neighbor,kNN)算法談到kd樹將可能作為本系列第三篇。這是此系列接下來要寫的兩個(gè)算法,剛好項(xiàng)目中也要用到KD樹“。 但很顯然,若要等到下一篇數(shù)據(jù)挖掘系列的文章時(shí),說不定要到年底去了,而最近的這段時(shí)間,9月,正是各種校招/筆試/面試火熱的時(shí)節(jié),自己則希望能幫助到這些找工作的朋友,故此,怎能無動(dòng)于衷,所以,3個(gè)多月后,blog今天更新了。 再者,雖然如我的這條微博:http://weibo.com/1580904460/yzs72mmFZ所述,blog自10年10月開通至11年10月,一年的時(shí)間內(nèi)整理了300多道面試題(這300道題全部集錦在此文中第一部分:http://blog.csdn.net/v_july_v/article/details/6543438)。但畢竟那些題已經(jīng)是前年或去年的了,筆試面試題雖然每年類型變化不大,但畢竟它年年推陳出新,存著就有其合理性。 OK,以下是整理自8月下旬至9月中旬各大公司的筆試面試二十題,相信一定能給正在參加各種校招的諸多朋友多少幫助,學(xué)習(xí)參考或借鑒(當(dāng)然,你手頭上若有好的筆試/面試題,歡迎通過微博私信:http://weibo.com/julyweibo,或郵箱:zhoulei0907@yahoo.cn發(fā)給我,或者干脆直接評論在本文下,再者,如果你對以下任何一題有任何看法.想法.思路或建議,歡迎留言評論,大家一起討論,享受思考的樂趣)。 九月百度人搜,阿里巴巴,騰訊華為京東筆/面試二十題9月11日, 京東: 談?wù)勀銓γ嫦驅(qū)ο缶幊痰恼J(rèn)識 - 8月20日,金山面試,題目如下:
數(shù)據(jù)庫1中存放著a類數(shù)據(jù),數(shù)據(jù)庫2中存放著以天為單位劃分的表30張(比如table_20110909,table_20110910,table_20110911),總共是一個(gè)月的數(shù)據(jù)。表1中的a類數(shù)據(jù)中有一個(gè)字段userid來唯一判別用戶身份,表2中的30張表(每張表結(jié)構(gòu)相同)也有一個(gè)字段userid來唯一識別用戶身份。如何判定a類數(shù)據(jù)庫的多少用戶在數(shù)據(jù)庫2中出現(xiàn)過? 來源:http://topic.csdn.net/u/20120820/23/C6B16CCF-EE15-47C0-9B15-77497291F2B9.html。
- 百度實(shí)習(xí)筆試題(2012.5.6)
簡答題1 一個(gè)單詞單詞字母交換,可得另一個(gè)單詞,如army->mary,成為兄弟單詞。提供一個(gè)單詞,在字典中找到它的兄弟。描述數(shù)據(jù)結(jié)構(gòu)和查詢過程。 簡答題2 線程和進(jìn)程區(qū)別和聯(lián)系。什么是“線程安全” 簡答題3 C和C++怎樣分配和釋放內(nèi)存,區(qū)別是什么 算法題1 一個(gè)url指向的頁面里面有另一個(gè)url,最終有一個(gè)url指向之前出現(xiàn)過的url或空,這兩種情形都定義為null。這樣構(gòu)成一個(gè)單鏈表。給兩條這樣單鏈表,判斷里面是否存在同樣的url。url以億級計(jì),資源不足以hash。 算法題2 數(shù)組al[0,mid-1] 和 al[mid,num-1],都分別有序。將其merge成有序數(shù)組al[0,num-1],要求空間復(fù)雜度O(1) 系統(tǒng)設(shè)計(jì)題 百度搜索框的suggestion,比如輸入北京,搜索框下面會以北京為前綴,展示“北京愛情故事”、“北京公交”、“北”等等搜索詞。 如何設(shè)計(jì)使得空間和時(shí)間復(fù)雜度盡量低。
- 人搜筆試
1. 快排每次以第一個(gè)作為主元,問時(shí)間復(fù)雜度是多少?(O(N*logN)) 2. T(N) = N + T(N/2)+T(2N), 問T(N)的時(shí)間復(fù)雜度是多少?(O(N)) 3. 從(0,1)中平均隨機(jī)出幾次才能使得和超過1?(e) 4.編程題: 一棵樹的節(jié)點(diǎn)定義格式如下: struct Node{ Node* parent; Node* firstChild; // 孩子節(jié)點(diǎn) Node* sibling; // 兄弟節(jié)點(diǎn) } 要求非遞歸遍歷該樹。 思路:采用隊(duì)列存儲,來遍歷節(jié)點(diǎn)。 5. 算法題: 有N個(gè)節(jié)點(diǎn),每兩個(gè)節(jié)點(diǎn)相鄰,每個(gè)節(jié)點(diǎn)只與2個(gè)節(jié)點(diǎn)相鄰,因此,N個(gè)頂點(diǎn)有N-1條邊。每一條邊上都有權(quán)值wi,定義節(jié)點(diǎn)i到節(jié)點(diǎn)i+1的邊為wi。 求:不相鄰的權(quán)值和最大的邊的集合。- 2011,人搜面試,所投職位:搜索研發(fā)工程師:面試題回憶
1、刪除字符串開始及末尾的空白符,并且把數(shù)組中間的多個(gè)空格(如果有)符轉(zhuǎn)化為1個(gè)。 2、求數(shù)組(元素可為正數(shù)、負(fù)數(shù)、0)的最大子序列和。 3、鏈表相鄰元素翻轉(zhuǎn),如a->b->c->d->e->f-g,翻轉(zhuǎn)后變?yōu)椋篵->a->d->c->f->e->g 4、鏈表克隆。鏈表的結(jié)構(gòu)為: typedef struct list { int data; //數(shù)據(jù)字段 list *middle; //指向鏈表中某任意位置元素(可指向自己)的指針 list *next;//指向鏈表下一元素 } list; 5、100萬條數(shù)據(jù)的數(shù)據(jù)庫查詢速度優(yōu)化問題,解決關(guān)鍵點(diǎn)是:根據(jù)主表元素特點(diǎn),把主表拆分并新建副表,并且利用存儲過程保證主副表的數(shù)據(jù)一致性。(不用寫代碼) 6、求正整數(shù)n所有可能的和式的組合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2) 7、求旋轉(zhuǎn)數(shù)組的最小元素(把一個(gè)數(shù)組最開始的若干個(gè)元素搬到數(shù)組的末尾,我們稱之為數(shù)組的旋轉(zhuǎn)。輸入一個(gè)排好序的數(shù)組的一個(gè)旋轉(zhuǎn),輸出旋轉(zhuǎn)數(shù)組的最小元素。例如數(shù)組{3, 4, 5, 1, 2}為{1, 2, 3, 4, 5}的一個(gè)旋轉(zhuǎn),該數(shù)組的最小值為1。) 8、找出兩個(gè)單鏈表里交叉的第一個(gè)元素 9、字符串移動(dòng)(字符串為*號和26個(gè)字母的任意組合,把*號都移動(dòng)到最左側(cè),把字母移到最右側(cè)并保持相對順序不變),要求時(shí)間和空間復(fù)雜度最小 10、時(shí)間復(fù)雜度為O(1),怎么找出一個(gè)棧里的最大元素 11、線程、進(jìn)程區(qū)別 12、static在C和C++里各代表什么含義 13、const在C/C++里什么意思 14、常用linux命令 15、解釋Select/Poll模型 - 百度,網(wǎng)易,阿里巴巴等面試題:http://blog.csdn.net/hopeztm/article/category/1201028;
- 8月30日,網(wǎng)易有道面試題
var tt = 'aa'; function test() { alert(tt); var tt = 'dd'; alert(tt); } test();
- 8月31日,百度面試題:不使用隨機(jī)數(shù)的洗牌算法,詳情:http://topic.csdn.net/u/20120831/10/C837A419-DFD4-4326-897C-669909BD2086.html;
- 9月6日,阿里巴巴面試:
1、介紹一下你自己。 2、介紹一下你認(rèn)為做的最好的一個(gè)項(xiàng)目。 3、請用五分鐘的時(shí)間把你做的項(xiàng)目的流程圖畫一下。 4、項(xiàng)目中你遇到的難點(diǎn)是什么?怎么解決的? 5、項(xiàng)目中你認(rèn)為哪個(gè)技術(shù)是你最拿手的? 6、介紹一下HTTP協(xié)議 7、如何把一個(gè)大的日志文件哈希到不同的哈希表中,這些哈希表的存儲格式是什么? 8、linux網(wǎng)絡(luò)編程,畫一個(gè)c/s通信的流程 9、多線程了解多少,做過的項(xiàng)目中有沒有用到過? 10、描述一下動(dòng)態(tài)規(guī)劃的思想 11、快排。 12、內(nèi)存分配方式有哪幾種?代碼段放在哪個(gè)內(nèi)存區(qū)?static int a[1024][1024][1024]放在哪個(gè)區(qū)?會不會有異常? 13、如何表示圖? 14、如何驗(yàn)證圖的連通性? 15、對互聯(lián)網(wǎng)的業(yè)務(wù)和技術(shù)是否關(guān)注?
- 9月7日,一道華為上機(jī)題:
題目描述: 選秀節(jié)目打分,分為專家評委和大眾評委,score[] 數(shù)組里面存儲每個(gè)評委打的分?jǐn)?shù),judge_type[] 里存儲與 score[] 數(shù)組對應(yīng)的評委類別,judge_type == 1,表示專家評委,judge_type == 2,表示大眾評委,n表示評委總數(shù)。打分規(guī)則如下:專家評委和大眾評委的分?jǐn)?shù)先分別取一個(gè)平均分(平均分取整),然后,總分 = 專家評委平均分 * 0.6 + 大眾評委 * 0.4,總分取整。如果沒有大眾評委,則 總分 = 專家評委平均分,總分取整。函數(shù)最終返回選手得分。 函數(shù)接口 int cal_score(int score[], int judge_type[], int n) 上機(jī)題目需要將函數(shù)驗(yàn)證,但是題目中默認(rèn)專家評委的個(gè)數(shù)不能為零,但是如何將這種專家數(shù)目為0的情形排除出去。 來源:http://topic.csdn.net/u/20120907/15/c30eead8-9e49-41c2-bd11-c277030ad17a.html;
- 9月8日,騰訊面試題:
假設(shè)兩個(gè)字符串中所含有的字符和個(gè)數(shù)都相同我們就叫這兩個(gè)字符串匹配, 比如:abcda和adabc,由于出現(xiàn)的字符個(gè)數(shù)都是相同,只是順序不同, 所以這兩個(gè)字符串是匹配的。要求高效! 我想,你們能想到的,這篇blog里:http://blog.csdn.net/v_JULY_v/article/details/6347454都已經(jīng)有了。 - 阿里云,搜索引擎中5億個(gè)url怎么高效存儲;
- 創(chuàng)新工場微博,前幾天才發(fā)布的難道不少人的的牛題:http://t.qq.com/iwrecruiting?pgv_ref=im.WBlog.guest&ptlang=2052;
4**9 的筆試題,比較簡單: 1.求鏈表的倒數(shù)第二個(gè)節(jié)點(diǎn) 2.有一個(gè)整數(shù)數(shù)組,求數(shù)組中第二大的數(shù) 阿里巴巴二道題 第一道: 對于給定的整數(shù)集合S,求出最大的d,使得a+b+c=d。a,b,c,d互不相同,且都屬于S。集合的元素個(gè)數(shù)小于等于2000個(gè),元素的取值范圍在[  ],假定可用內(nèi)存空間為100MB,硬盤使用空間無限大,試分析時(shí)間和空間復(fù)雜度,找出最快的解決方法。 阿里巴巴第二道(研發(fā)類) 筆試題1,原題大致描述有一大批數(shù)據(jù),百萬級別的。數(shù)據(jù)項(xiàng)內(nèi)容是:用戶ID、科目ABC各自的成績。其中用戶ID為0~1000萬之間,且是連續(xù)的,可以唯一標(biāo)識一條記錄??颇緼BC成績均在0~100之間。有兩塊磁盤,空間大小均為512M,內(nèi)存空間64M。 1) 為實(shí)現(xiàn)快速查詢某用戶ID對應(yīng)的各科成績,問磁盤文件及內(nèi)存該如何組織; 2) 改變題目條件,ID為0~10億之間,且不連續(xù)。問磁盤文件及內(nèi)存該如何組織; 3) 在問題2的基礎(chǔ)上,增加一個(gè)需求。在查詢各科成績的同時(shí),獲取該用戶的排名,問磁盤文件及內(nèi)存該如何組織。 筆試題2:代碼實(shí)現(xiàn)計(jì)算字符串的相似度。 - 9月11日,京東全套筆試題:
    - 群友壯壯在我的算法群里貼了如下一個(gè)圖(而它就是我寫的編程藝術(shù)系列第一章左旋轉(zhuǎn)字符串:http://blog.csdn.net/v_JULY_v/article/details/6322882的題):
 上面文章來源:http://www.cnblogs.com/bakari/archive/2012/09/09/2677155.html。當(dāng)然,有些書上也收錄過此題,并給出了與我思路類似的解答,如下圖所示: 
360PHP筆試全套試題: 1、手工寫代碼一個(gè)HTML提交表單,注意(表單對齊方式) - JavaScript代碼
- 1. <script type="text/javascript">
- 2. function check_form()
- 3. {
- 4. var username = document.getElementById('username').value;
- 5. if (username == '') {
- 6. alert('非法用戶名');
- 7. return false;
- 8. } else {
- 9. return true;
- 10. }
- 11.
-
-
-
-
-
-
-
-
-
-
- 22. }
- 23. </script>
XML/HTML代碼
- 1. <form name="from1" method="POST" action="login.php" onsubmit="return check_form()">
- 2. <table border="1" width="100%">
- 3. <tr>
- 4. <td align="right">用戶名: </td>
- 5. <td><input type="text" id="username" name="username"></td>
- 6. </tr>
- 7. <tr>
- 8. <td align="right">密碼:</td>
- 9. <td><input type="password" id="password" name="password"></td>
- 10 </tr>
- 11. <tr>
- 12. <td colspan="2" align="right"><input type="submit" value="提交"></td>
- 13. </tr>
- 14. </table>
- 15. </form>
2、寫一段上面表單的PHP驗(yàn)證程序 PHP代碼 - 1. <?php
- 2.
-
-
- 5. $db = mysql_connect('localhost', 'root', '');
- 6. mysql_select_db('db_name');
- 7.
- 8.
- 9. $username = mysql_real_escape_string($_POST['username']);
- 10. $password = mysql_real_escape_string($_POST['password']);
- 11.
- 12. $sql = "SELECT PASS FROM UserInfo WHERE USER='{$username}'";
- 13. $query = mysql_query($sql);
- 14. $row = mysql_fetch_assoc($query);
- 15.
- 16. if ( ! $row) {
- 17. echo "用戶名不存在";
- 18. } else {
- 19. echo $row['PASS'] == $password ? "密碼正確" : "密碼錯(cuò)誤";
- 20. }
3、繼上一題寫出HTTP請求與接收的報(bào)文(摘錄) (1)請求行 請求行由請求方法字段、URL字段和HTTP協(xié)議版本字段3個(gè)字段組成,它們用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP協(xié)議的請求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。這里介紹最常用的GET方法和POST方法。 GET:當(dāng)客戶端要從服務(wù)器中讀取文檔時(shí),使用GET方法。GET方法要求服務(wù)器將URL定位的資源放在響應(yīng)報(bào)文的數(shù)據(jù)部分,回送給客戶端。使用GET方法時(shí),請求參數(shù)和對應(yīng)的值附加在URL后面,利用一個(gè)問號(“?”)代表URL的結(jié)尾與請求參數(shù)的開始,傳遞參數(shù)長度受限制。例如,/index.jsp?id=100&op=bind。 POST:當(dāng)客戶端給服務(wù)器提供信息較多時(shí)可以使用POST方法。POST方法將請求參數(shù)封裝在HTTP請求數(shù)據(jù)中,以名稱/值的形式出現(xiàn),可以傳輸大量數(shù)據(jù)。 (2)請求頭部 請求頭部由關(guān)鍵字/值對組成,每行一對,關(guān)鍵字和值用英文冒號“:”分隔。請求頭部通知服務(wù)器有關(guān)于客戶端請求的信息,典型的請求頭有: User-Agent:產(chǎn)生請求的瀏覽器類型。 Accept:客戶端可識別的內(nèi)容類型列表。 Host:請求的主機(jī)名,允許多個(gè)域名同處一個(gè)IP地址,即虛擬主機(jī)。 (3)空行 最后一個(gè)請求頭之后是一個(gè)空行,發(fā)送回車符和換行符,通知服務(wù)器以下不再有請求頭。 (4)請求數(shù)據(jù) 請求數(shù)據(jù)不在GET方法中使用,而是在POST方法中使用。POST方法適用于需要客戶填寫表單的場合。與請求數(shù)據(jù)相關(guān)的最常使用的請求頭是Content-Type和Content-Length。
4、正則匹配郵箱地址 PHP代碼 - 1. <?php
- 2. $html = "9812ed aboys72@sina.com s9dfasdf$@$ aboys72@sina.vip.com Aboys72@sohu.com linglong__@163-net.com.cn liu.lei@mail.com";
- 3. preg_match_all('/\w+(\.\w+)*@\w+(\.\w+){1,}/', $html, $mails);
- 4. print_r($mails);
- 4、SHELL下搜索*.xml文件中含有hello的文件(我在Ubuntu下嘗試命令通過,以前在CentOS也這樣的使用過此命令但是沒有預(yù)期效果)
Shell代碼 5、autoload機(jī)制 在$object = new UFO;時(shí),試圖調(diào)用一個(gè)未引入的類文件在系統(tǒng)報(bào)錯(cuò)之前,會嘗試使用__autoload進(jìn)行加載類,如果定義了__autoload方法將按照此規(guī)則進(jìn)行加載類文件 6、實(shí)現(xiàn)strrev()函數(shù)“360奇虎”,不使用mb_substr情況下。 PHP代碼 - 1. <?php
- 2.
- 3. $string = "虎奇063";
- 4. $length = strlen($string);
- 5. $rev_string = '';
- 6.
- 7. $byte_len = 3;
- 8. for ($i = 0; $i < $length;) {
- 9. if (ord(substr($string, $i, 1)) > 0xa0) {
- 10. $rev_string = substr($string, $i, $byte_len) . $rev_string;
- 11. $i+= $byte_len;
- 12. } else {
- 13. $rev_string = substr($string, $i, 1) . $rev_string;
- 14. $i++;
- 15. }
- 16. }
- 17. echo $rev_string;
7、使用了索引查詢的語句,EXPLAIN SQL代碼
- 1. SELECT * FROM user where name='a';
- 2.
- 3. SELECT * FROM user where name='a' OR name='b';
- 4.
- 5. SELECT * FROM user where name like 'a%';
多玩YY 2012校園招聘筆試題 C++ A卷 時(shí)間:120分鐘 提示:請注意代碼風(fēng)格 1、請給出以下程序的輸出:(12分) - class A
- {
- public:
- A()
- {
- puts("In A");
- }
- ~A()
- {
- puts("Out A");
- }
- };
-
- class B
- {
- public:
- B()
- {
- puts("In B");
- }
- ~B()
- {
- puts("Out B");
- }
- };
-
- class X
- {
- public:
- X()
- {
- puts("In X");
- }
- ~X()
- {
- puts("Out X");
- }
- virtual void test()
- {
- puts("test in X");
- }
- };
-
- class C:public X
- {
- public:
- C(): b(), a()
- {
- puts("In C");
-
- }
- ~C()
- {
- puts("Out C");
- }
- virtual void test()
- {
- puts("test in C");
- }
- private:
- A a;
- B b;
- };
-
- int main()
- {
- X* p = new C;
- p->test();
- delete p;
-
- return 0;
- }
2、請簡述以下const的作用(8分) 1)const int a = 10; 2)const int* 3)int * const a 4)void T::test() const 3、請問以下過程調(diào)用的時(shí)拷貝構(gòu)造函數(shù)還是賦值運(yùn)算符:(6分) - class Test{…}
- Test a,b;
- a = b; 1)
- Test a;
- Test b = a; 2)
- Test a;
- Test b(a); 3)
4、請完成以下函數(shù)的填空:(9分) - int binarySearch(int from, int to, int target, int *array)
- {
-
-
-
- if(from <= to)
- {
- int middle = (from + to) /2;
- if(array[middle] == target)
-
- else if(array[middle]<target)
-
- else
-
- }
- return -1;
- }
5、請給出以下程序的輸出:(5分) - class T
- {
- public:
- T()
- {
- puts("T()");
- }
- ~T()
- {
- puts("~()");
- }
- private:
- };
-
- void test(T t)
- {
- }
-
- int main()
- {
- T t;
- test(t);
-
- return 0;
- }
6、下面的代碼段有幾處錯(cuò)誤,請根據(jù)程序的意圖,寫出正確的server類(10分) 提示:這段代碼實(shí)現(xiàn)的功能是定期向各個(gè)server 發(fā)ping包,各個(gè)server對象是在不同時(shí)間創(chuàng)建的 - class Server
- {
- Server()
- {
- }
- ~Server()
- {
- }
- void checkSendPing()
- {
-
-
-
- static int lastSendPing = (int)time(NULL);
- int now = (int)time(NULL);
- if(now < lastSendPing + 5)
- return;
-
- }
- private:
- };
-
- void monitorServer(std::vector<Server>& x)
- {
-
-
-
- for(std::vector<Server>::iterator it = x.begin();
- it != x.end();++it)
- it->checkSendPing();
- }
7、(編程題)100萬個(gè)數(shù)據(jù),數(shù)據(jù)值在0~65535之間,請用盡可能少的內(nèi)存和最快的速度從小到大排序(10分) - void sort(int* array, int n)
- {
-
-
- }
8、(編程題)請完成如下函數(shù),從長度為n的數(shù)組array中刪除值等于v的元素,返回刪除后的數(shù)組array和元素個(gè)數(shù)(10分) - int remove(int* array, int n, int v)
- {
-
- }
9、(編程題)請看以下的Maixu結(jié)構(gòu):(15分) - struct Maixu
- {
- int sid;
- std::list<int> userlist:
- int validTime;
- int leftTime;
- };
其中隊(duì)列userlist中每一項(xiàng)都在預(yù)定的時(shí)間validTime后出隊(duì),比如當(dāng)前隊(duì)列是{1,2,3},validTime是5秒,則5秒后1出列,隊(duì)列變?yōu)?/span>{2,3},再過5秒2出隊(duì),隊(duì)列變?yōu)?/span>{3},相應(yīng)的實(shí)現(xiàn)代碼如下: - std::vector<Maixu> m_maixus;
-
- void Timer()
- {
- for(std::vector<Maixu>::iterator it = m_maixus.begin();
- it !=m_maixus.end();++it)
- {
- if(it->userlist.empty())
- continue;
- if(--it->leftTime == 0)
- {
-
- it->userlist.pop_front();
- it->leftTime = it->validTime;
-
- }
- }
- }
請問上面的實(shí)現(xiàn)方式有沒有什么問題?如何改進(jìn)?請?zhí)岢瞿愕母倪M(jìn)方案并重寫上面的代碼段。 10、(思考題)有服務(wù)器S1、S2…Sn(100>n>50),每個(gè)服務(wù)器上維護(hù)著連接到該服務(wù)器的用戶的信息,服務(wù)器之間互相連接,當(dāng)用戶信息有更新,必須通知到與它相連的其它服務(wù)器。比如S1上的用戶a改了昵稱,必須通知到S2 、S3…但由于網(wǎng)絡(luò)的不可靠,更新通知不一定每次都能到達(dá)其它服務(wù)器,假設(shè)S2丟了通知,則S2必須同步上的用戶信息,最差情況下,S2~Sn都可能同時(shí)丟了S1的通知而導(dǎo)致同步。 每個(gè)服務(wù)器大概維護(hù)10000個(gè)用戶,用戶的信息結(jié)構(gòu)如下,大小平均約100B:(15分) - struct UserInfo
- {
- int userId;
- string nickname;
- string sign;
-
- };
問題: 1) S2如何發(fā)現(xiàn)它丟了S1的通知? 2) 每個(gè)服務(wù)器的帶寬限制10M/s,請給出一個(gè)可用的同步方案,保證服務(wù)器帶寬不超過限制的情況下完成同步工作; 3) 顯然如果通知越可靠,同步將會大大減少,請?zhí)岢鲆恍┠芴岣咄ㄖ煽啃缘姆桨覆⒑唵握f明它的實(shí)現(xiàn)。
- 持續(xù)更新,待續(xù)...2012.09.13;
由于整理匆忙,有部分題目未注明詳細(xì)來源,若以上任何一題目出自你的空間或者發(fā)的帖子而未有注明,請于本文評論中告知我,一定即刻補(bǔ)上,謝謝。
后記 經(jīng)過上面這么多筆試面試題目的了解,你自會看到,除了少數(shù)幾個(gè)特別難的算法題,大部分都是考察的基礎(chǔ),故面試的關(guān)鍵是你的80%的基礎(chǔ)和編程能力 + 20%的算法能力。 OK,以上的一切都是我喜歡且我樂意做的,我愿同各位朋友享受這一切。如果你身邊有正在參加校招/筆試/面試的朋友,歡迎把此文轉(zhuǎn)給他/她,舉手之勞,助人無限,謝謝。完。July,二零一二年九月。
|