職位類型:技術類
筆試時間:2014校招
招聘公司:去哪兒網(Qunar.com)
技術類筆試題目共三道編程題、兩道測試題。樓主簡單寫了一下解題思路,大家有什么更好的解題方案可以在評論中提出來,我們互相交流學習一下。
一、編程題
Q1:實現一個字符串反轉,規則如下:
輸入一個字符串str,一個分隔符delim,要求實現對分隔符之間的字符串做反轉操作,但是其內部順序不變。
接口: stringreverseDelimited(string str, const char delim)
舉例: 思路:類似編程之美習題,可以通過內外兩次反轉得到。注意判斷分隔符是否存在串中,以及空串和空指針等特殊情況。 Q2:實現一個用戶的歷史記錄功能。包含以下基本功能。限制:內存有限,最多可以存儲MAX_NUM個網址數據。 *pre(currentNode) //訪問前一頁 思路:內存有限,且需要訪問前驅和后繼節點,可以采用循環隊列(雙向鏈表)的數據結構。 struct Node Q3:給出1~12月份的用戶網站訪問log數據,包含用戶IP,訪問時間,訪問網站url refer cookie 等。不限語言,考慮效率。請設計得出某用戶最感興趣的網站url,并求出該網站的用戶忠誠度。 沒接觸過前端,這題就瞎寫了… 想法:用python實現文本數據的讀取和解析,BeautifulOfSoup。Hash處理日志大數據。 二、測試題 Q2:小明想求師姐內推,于是給師姐發了一封帶附件的郵件,但是師姐check郵箱后發現沒有收到,寫出導致郵件接收不到的可能情況,并寫出檢查方案。 a. 有一方斷網---雙方檢查網絡連接情況 b. 郵件發送失敗---小明檢查發件箱&草稿箱 c. 服務器端出現故障---雙方ping 服務器主機看是否聯通(比如國內用gmail不穩定) d. 郵件遭防火墻攔截---師姐檢查防火墻設置,比如是否攔截帶附件郵件(一些公司內網有攔截功能) e. 郵箱設置問題---師姐檢查郵箱設置,取消附件不接受的勾選 f. 小明發錯人了---小明核查收件人地址
reverseDelimited(NULL, *) = NULL
reverseDelimited("", *) = ""
reverseDelimited("
reverseDelimited("
*next(currentNode) //訪問下一頁
*insert(currentNode) //訪問新網址
{
string url;
Node *pre;
Node *next;
};
Q1:給編程題1,2寫測試用例。