大眾點評2015筆試題(答案)

2021-07-05 08:20:16 字數 1084 閱讀 2142

1、

有10個檔案,每個檔案1g,每個檔案的每一行存放的都是使用者的query,每個檔案的query都可能重複。要求你按照query的頻度排序。

答案:1)遍歷10個檔案的每個query,取t = hash(query)%10,將這個query存入第t個檔案。這一步結果將相同query儲存至同乙個檔案中,並且每個檔案的大小約為1g

2)分別對每個檔案,找出每個query的個數,使用hashmap(query,query_count),遍歷檔案query,查詢map,query_count自增1

3)對每個檔案,每個query進行排序,可以用快排或者堆排序

4)利用歸併排序思想,對10個檔案歸併,就是取10個檔案的堆頂最大,比較,然後輸出最大的

struct dianpinginfo ;

string encode(uinit_32 userid, string userstring, date viewtime, short platform);

dianpinginfo decode(string);

答案:最簡單的方法,使用0做為轉義字元,uint_32最大轉換為10進製也就8位,date算年月日,時分秒,總共數字是14位,uint_8最長算4位,string總共是32,也就是結構體總共是8+14+4+32=58,使用轉義乙個字元會變成兩位,所以最大58*2=116滿足要求,現在使用00表示0,0a表示a。。。0x表示x,01表示分隔符,編碼即可

再複雜一點的比如 乙個位元組是'a' ascii碼為0x61,二進位制為01100001,拆分為兩個4bit為0110和0001,然後都加上'a',就編碼成為了g和b。

3、場景:

考察目的:linux檔案系統

管理員有一台普通的pc 機器,已安裝linux作業系統(如:centos 6.5)。管理員告訴你,在 /data 目錄下 只有1個100mb 大小的檔案。他要求你找到這個檔案並將它拷貝到 /home 目錄下。

問題:1,由於不知道檔名,只知道檔案大小。你能通過使用哪些 linux工具去找到這個檔案?

2,找到該檔案後,使用什麼linux 命令去完成檔案拷貝?

5,你估計完成這個檔案拷貝需要多長時間?寫出你認為對拷貝時間影響比較大的因素,越多越好。

大眾點評筆試題最後兩題題解

問題1 這是一道動態規劃的問題,狀態轉移方程為 dp i dp i 3 dp i 1 i 3 i 3時dp i 1,只有1種情況 我這裡直接開了乙個dp陣列解決這個問題。在init方法中進行了初始化。另外,考慮到為了方便測試,我用了乙個遞迴函式dfs m,n,str 來進行對所有情況的輸出。具體見 ...

搜狗2011筆試題 答案解析

1 下面兩段 中for迴圈分別執行了多少次?unsigned short i,j for i 0,j 2 i j i 5,j 7 unsigned short i,j for i 3,j 7 i j i 3,j 7 2 下面程式應該輸出多少?char c char cp char cpp cp in...

中興2011筆試題 答案解析

一 單選題 b。p2是int型,只有p1是int 型。d。區分0和 0。c。b。除號與取餘的優先順序是一樣的,所以順序是從左向右。快速與 邏輯與 只要不是0的都認為是true 1 是0則認為是false 0 重複。重複。a。字串常量不可更改。重複。c。可以用排除法。d。c or d。沒查到,c600...