精品国产一级毛片大全,毛片一级在线,毛片免费观看的视频在线,午夜毛片福利

騰訊歷年筆試題

  關(guān)于往年的筆試題目其中有哪些內(nèi)容呢?是否今年也能派上用場呢?下面是CN人才網(wǎng)為大家搜集整理的騰訊歷年筆試題,歡迎閱讀與借鑒。

  騰訊歷年筆試題

  1、請定義一個宏,比較兩個數(shù)a、b的大小,不能使用大于、小于、if語句。

  2、兩個數(shù)相乘,小數(shù)點后位數(shù)沒有限制,請寫一個高精度算法。

  3、有A、B、C、D四個人,要在夜里過一座橋。他們通過這座橋分別需要耗時1、2、5、10分鐘,只有一支手電,并且同時最多只能兩個人一起過橋。請問,如何安排,能夠在17分鐘內(nèi)這四個人都過橋?

  4、有12個小球,外形相同,其中一個小球的質(zhì)量與其他11個不同,給一個天平,問如何用3次把這個小球找出來,并且求出這個小球是比其他的輕還是重。

  5、在一個文件中有 10G 個整數(shù),亂序排列,要求找出中位數(shù)。內(nèi)存限制為 2G。只寫出思路即可。

  6、一個文件中有40億個整數(shù),每個整數(shù)為四個字節(jié),內(nèi)存為1GB,寫出一個算法:求出這個文件里的整數(shù)里不包含的一個整數(shù)。

  7、騰訊服務(wù)器每秒有2w個QQ號同時上線,找出5min內(nèi)重新登入的qq號并打印出來。

  8、在一篇英文文章中查找指定的人名,人名使用二十六個英文字母(可以是大寫或小寫)、空格以及兩個通配符組成(、?),通配符“”表示零個或多個任意字母,通配符“?”表示一個任意字母。

  如:“J* Smi??” 可以匹配“John Smith” .

  請用C語言實現(xiàn)如下函數(shù):

  void scan(const char* pszText, const char* pszName);

  注:pszText為整個文章字符,pszName為要求匹配的英文名。

  請完成些函數(shù)實現(xiàn)輸出所有匹配的英文名,除了printf外,不能用第三方的庫函數(shù)等。

  9、服務(wù)器內(nèi)存1G,有一個2G的文件,里面每行存著一個QQ號(5-10位數(shù)),怎么最快找出出現(xiàn)過最多次的QQ號。

  10、如何求根號2的值,并且按照我的需要列出指定小數(shù)位,比如根號2是1.141 我要列出1位小數(shù)就是1.1 2位就是1.14, 1000位就是1.141...... 等。。

  11、如果用一個循環(huán)數(shù)組q[0..m-1]表示隊列時,該隊列只有一個隊列頭指針front,不設(shè)隊列尾指針rear,求這個隊列中從隊列投到隊列尾的元素個數(shù)(包含隊列頭、隊列尾)。

  12、兩個數(shù)組a[N],b[N],其中A[N]的各個元素值已知,現(xiàn)給b[i]賦值,b[i] = a[0]a[1]a[2]...a[N-1]/a[i];

  要求:

  1). 不準(zhǔn)用除法運算

  2). 除了循環(huán)計數(shù)值,a[N],b[N]外,不準(zhǔn)再用其他任何變量(包括局部變量,全局變量等)

  3). 滿足時間復(fù)雜度O(n),空間復(fù)雜度O(1)。

  說白了,你要我求b=a[0]a...a[i-1]aa[i+1]..a[N-1]/a ,就是求:a[0]a[1]...a[i-1]a[i+1]..a[N-1]。只是我把a[i]左邊部分標(biāo)示為left[i],b[i]右邊部分標(biāo)示為right[i],而實際上完全不申請left[i],與right[i]變量,之所以那樣標(biāo)示,無非就是為了說明:除掉當(dāng)前元素a[i],其他所有元素(a[i]左邊部分,和a[i]右邊部分)的積。讀者你明白了么?

  下面是此TX筆試題的兩段參考代碼,如下:

  //ncicc

  b[0] = 1;

  for (int i = 1; i < N; i++)

  {

  b[0] = a[i - 1];

  b[i] = b[0];

  }

  b[0] = 1;

  for (i = N - 2; i > 0; i--)

  {

  b[0] = a[i + 1];

  b[i] = b[0];

  }

  b[0] = a[1];

  from wasd6081058上面第二段代碼最后一行的意義是:我們看第二個循環(huán),從N-2到 1;再看for循環(huán)中b[0]的賦值,從N-1到2,而根據(jù)題目要求b[i] = a[0]a[1]a[2]...a[N-1]/a[i],b[0]應(yīng)等于a[1]a[2]* ....a[N-1],所以這里手動添加a[1]。

  13、有不同的手機終端,如iphone,安卓,Symbian,不同的終端處理不一樣,設(shè)計一種服務(wù)器和算法實現(xiàn)對不同的終端的處理。

  14、設(shè)計一種內(nèi)存管理算法。

  15、A向B發(fā)郵件,B收到后讀取并發(fā)送收到,但是中間可能丟失了該郵件,怎么設(shè)計一種最節(jié)省的方法,來處理丟失問題。

  16、設(shè)計一種算法求出算法復(fù)雜度 。

  17、給你5個球,每個球被抽到的可能性為30、50、20、40、10,設(shè)計一個隨機算法,該算法的輸出結(jié)果為本次執(zhí)行的結(jié)果。輸出A,B,C,D,E即可。

  18、五筆的編碼范圍是a ~ y的25個字母,從1位到4位的編碼,如果我們把五筆的編碼按字典序排序,形成一個數(shù)組如下:

  a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy

  其中a的Index為0,aa的Index為1,aaa的Index為2,以此類推。

  1).編寫一個函數(shù),輸入是任意一個編碼,比如baca,輸出這個編碼對應(yīng)的Index;

  2).編寫一個函數(shù),輸入是任意一個Index,比如12345,輸出這個Index對應(yīng)的編碼。

  19、有N+2個數(shù),N個數(shù)出現(xiàn)了偶數(shù)次,2個數(shù)出現(xiàn)了奇數(shù)次(這兩個數(shù)不相等),問用O(1)的空間復(fù)雜度,找出這兩個數(shù),不需要知道具體位置,只需要知道這兩個值。(@Rojay:xor一次,得到2個奇數(shù)次的數(shù)之和x。第二步,以x(展開成二進制)中有1的某位(假設(shè)第i位為1)作為劃分,第二次只xor第i位為1的那些數(shù),得到y(tǒng)。然后x xor y以及y便是那兩個數(shù)。 )

  20、例如手機朋友網(wǎng)有n個服務(wù)器,為了方便用戶的訪問會在服務(wù)器上緩存數(shù)據(jù),因此用戶每次訪問的時候最好能保持同一臺服務(wù)器。

  已有的做法是根據(jù)ServerIPIndex[QQNUM%n]得到請求的服務(wù)器,這種方法很方便將用戶分到不同的服務(wù)器上去。但是如果一臺服務(wù)器死掉了,那么n就變?yōu)榱薾-1,那么ServerIPIndex[QQNUM%n]與ServerIPIndex[QQNUM%(n-1)]基本上都不一樣了,所以大多數(shù)用戶的請求都會轉(zhuǎn)到其他服務(wù)器,這樣會發(fā)生大量訪問錯誤。

  問: 如何改進或者換一種方法,使得:

  1). 一臺服務(wù)器死掉后,不會造成大面積的訪問錯誤,

  2). 原有的訪問基本還是停留在同一臺服務(wù)器上;

  3). 盡量考慮負載均衡。

  21、A.txt和B.txt兩個文件,A.txt有1億個QQ號 , B.txt 100W個QQ號, 用代碼實現(xiàn)交、并、差。

  22、50個臺階,一次可一階或兩階,共有幾種走法?

  23、一個大小為N的數(shù)組,里面是N個整數(shù),怎樣去除重復(fù),要求時間復(fù)雜度為O(n),空間復(fù)雜度為O(1)。

  (此題答案請見@作者hawksoft:https://blog.csdn.net/hawksoft/ ... 67493)。

  24、比如A認識B,B認識C,但是A不認識C, 那么稱C是A的二度好友。找出某個人的所有十度好友. 數(shù)據(jù)量為10萬。

  25、 M*M的方格矩陣,其中有一部分為障礙,八個方向均可以走,現(xiàn)假設(shè)矩陣上有Q+1節(jié)點,從(X0,Y0)出發(fā)到其他Q個節(jié)點的最短路徑。

  其中,1<=M<=1000,1<=Q<=100。

  26、到商店里買200的商品返還100優(yōu)惠券(可以在本商店代替現(xiàn)金)。請問實際上折扣是多少?

  27、給定一個字符串,求出其最長的重復(fù)子串。

  思路:使用后綴數(shù)組,對一個字符串生成相應(yīng)的后綴數(shù)組后,然后再排序,排完序依次檢測相鄰的兩個字符串的開頭公共部分。

  這樣的時間復(fù)雜度為:

  生成后綴數(shù)組 O(N)

  排序 O(NlogNN) 最后面的 N 是因為字符串比較也是 O(N)

  依次檢測相鄰的兩個字符串 O(N N)

  總的時間復(fù)雜度是 O(N^2*logN),

  28、假設(shè)兩個字符串中所含有的字符和個數(shù)都相同我們就叫這兩個字符串匹配,

  比如:abcda和adabc,由于出現(xiàn)的字符個數(shù)都是相同,只是順序不同,

  所以這兩個字符串是匹配的。要求高效!

  思路:https://blog.csdn.net/v_JULY_v/ ... 47454。

  29、微博廣告投放是騰訊收入來源之一。為了保證投放的廣告對用戶更有幫助,必須分享用戶對什么感興趣。用戶的每條微博都可以拆分成幾個關(guān)鍵詞,騰訊微博每個月都會收集到上T(Terabyte)的關(guān)鍵詞,請你分析出其中出現(xiàn)次數(shù)最多的十個關(guān)鍵詞。

  30、騰訊新聞首頁改版之后,為了精確掌握改版效果,需要準(zhǔn)實時統(tǒng)計訪問每篇文章的IP數(shù)量,即從文章發(fā)表之后,有多少個不同IP的用戶讀過這篇文章。每個用戶訪問請求都會被web服務(wù)器解析,并實時傳輸?shù)胶笈_統(tǒng)計系統(tǒng),請你設(shè)計該“后臺統(tǒng)計系統(tǒng)”,以完成統(tǒng)計。

  31、寫一個函數(shù)對字符串?dāng)?shù)組進行排序,排序的規(guī)則是根據(jù)每個字符串重復(fù)出現(xiàn)次數(shù)最多的字符出現(xiàn)的次數(shù),在次數(shù)相同的親情況下根據(jù)出現(xiàn)次數(shù)第二多的字符排序。

  比如:”abcaba”中重復(fù)出現(xiàn)次數(shù)最多的字符是a,次數(shù)是3,第二多的字符是b,次數(shù)是2,第三是c,次數(shù)是1。因此mySort([“abcaba”,”asdfasdf”,”asdfasdfasdf”])的結(jié)果是:[“asdfasdfasdf”,”abcaba”,”asdfasdf”]。

  32、有一個log文件,里面記錄的格式為:

  QQ號: 時間: flag:

  如123456 14:00:00 0

  123457 14:00:01 1

  其中flag=0表示登錄 flag=1表示退出

  問:統(tǒng)計一天平均在線的QQ數(shù)。

  33、有一億個數(shù),輸入一個數(shù),找出與它編輯距離在3以內(nèi)的書,比如輸入6(0110),找出0010等數(shù),數(shù)是32位的。

  34、每個城市的IP段是固定的,新來一個IP,找出它是哪個城市的,設(shè)計一個后臺系統(tǒng)。

  35、N個數(shù)組,每個數(shù)組中的元素都是遞增的順序,現(xiàn)在要找出這N個數(shù)組中的公共元素部分,如何做? 注:不能用額外輔助空間。

  36、http服務(wù)器會在用戶訪問某一個文件的時候,記錄下該文件被訪問的日志,網(wǎng) 站管理員都會去統(tǒng)計每天每文件被訪問的次數(shù)。寫一個小程序,來遍歷整個日志 文件,計算出每個文件被訪問的訪問次數(shù)

  1).請問這個管理員設(shè)計這個算法

  2).該網(wǎng)站管理員后來加入騰訊從事運維工作,在騰訊,單臺http服務(wù)器不夠用的 ,同樣的內(nèi)容,會分布在全國各地上百臺服務(wù)器上。每臺服務(wù)器上的日志數(shù)量, 都是之前的10倍之多,每天服務(wù)器的性能更好,之前他用的是單核cpu,現(xiàn)在用的 是8核的,管理員發(fā)現(xiàn)在這種的海量的分布式服務(wù)器,基本沒法使用了,請重新設(shè)計一個算法。

  37、騰訊的qq游戲當(dāng)中,最多人玩的游戲就是斗地主了,每一句游戲開始時,服務(wù) 器端都要洗牌,以保證發(fā)牌的時每個人拿的牌都是隨機的,假設(shè)用1-54來表示54 張不同的拍,請你寫一個洗牌算法,保證54張牌能隨機打散!

  38、請設(shè)計一個排隊系統(tǒng),能夠讓每個進入隊伍的用戶都能看到自己在隊列中所處的位置和變化,隊伍可能隨時有人加入和退出,當(dāng)有人退出影響到用戶的位置排名時需要即時反饋到用戶。

  39、A,B兩個整數(shù)集合,設(shè)計一個算法求它們的交集,盡可能的高效。

  40、一個數(shù)組 var arr = ['abc','ddadbc','adbdcd','abcqew'.......] 長度一萬, 用最有效率的方法計算出包含被元素出現(xiàn)最多的。

  41、有100W個關(guān)鍵字,長度小于等于50字節(jié)。用高效的算法找出top10的熱詞,并對內(nèi)存的占用不超過1MB。

  點評:老題,與caopengcs討論后,得出具體思路為:

  ①先把100W個關(guān)鍵字hash映射到小文件,根據(jù)題意,100W50B = 5010^6B = 50M,而內(nèi)存只有1M,故干脆搞一個hash函數(shù) % 50,分解成50個小文件;

 、卺槍γ總小文件依次運用hashmap(key,value)完成每個key的value次數(shù)統(tǒng)計,后用堆找出每個小文件中value次數(shù)最大的top 10;

 、圩詈笠来螌γ績尚∥募膖op 10歸并,得到最終的top 10。

  注:很多細節(jié)需要注意下,舉個例子,如若hash映射后導(dǎo)致分布不均的話,有的小文件可能會超過1M,故為保險起見,你可能會說根據(jù)數(shù)據(jù)范圍分解成50~500或更多的小文件,但到底是多少呢?我覺得這不重要,勿糾結(jié)答案,雖準(zhǔn)備在平時,但關(guān)鍵還是看臨場發(fā)揮,保持思路清晰關(guān)注細節(jié)即可。OK,更多類似題目參見此文:https://blog.csdn.net/v_july_v/ ... 82693。

  42、求二叉樹的任意兩個節(jié)點的最近公共祖先。

  點評:何謂最低公共祖先,如下圖所示:節(jié)點1和節(jié)點7的最低公共祖先便是5

  22.jpg

  43、給40億個不重復(fù)的unsigned int的數(shù),沒排序,然后再給一個數(shù),如何快速間斷這個數(shù)是否在那40億個數(shù)中?

  44、假設(shè)兩個字符串中所含有的字符和個數(shù)都相同我們就叫這兩個字符串匹配,

  比如:abcda和adabc,由于出現(xiàn)的字符個數(shù)都是相同,只是順序不同,

  所以這兩個字符串是匹配的。要求高效。

  45、一個大小為N的數(shù)組,里面是N個整數(shù),怎樣去除重復(fù)。

  RT

  要求時間復(fù)雜度為O(n),空間復(fù)雜度為O(1)。

  46、如何對1億個QQ號進行排序

  47、C++編譯器有哪些優(yōu)化?

  48、C++比C快在哪里?

  49、編寫高效服務(wù)器程序,需考慮的因素?

  50、設(shè)計一個抽卡程序,策劃人員填寫物品出現(xiàn)概率,程序按照概率隨機抽出物品。

  10

  50

  51、給定一個駝峰樣式的字符串 例如“AaABbBcBbcvQv........”->“bc”

  兩個一樣的字符夾著一個不一樣的字符, 處理這個字符串去掉所有的駝峰。

  52、12個工廠分布在一條東西向高速公路的兩側(cè),工廠距離公路最西端的距離分別是0、4、5、10、12、18、27、30、31、38、39、47.在這12個工廠中選取3個原料供應(yīng)廠,使得剩余工廠到最近的原料供應(yīng)廠距離之和最短,問應(yīng)該選哪三個廠 ?

  53、待更新。

  54、以windows對文件的復(fù)制粘帖功能為例,盡可能多地寫出測試思路。

  55、已知String convert(String page)作用是將WEB頁轉(zhuǎn)碼為方便移動設(shè)備查看的頁面,為了確保轉(zhuǎn)碼的正確性,請設(shè)計相應(yīng)測試策略。

  56、請給Array本地對象增加一個原型方法,它用于刪除數(shù)組條目中重復(fù)的條目(可能有多個),返回值是一個包含被刪除的重復(fù)條目的新數(shù)組。

  57、用javascript實現(xiàn)用戶登錄驗證的代碼。

  58、調(diào)用動態(tài)連接庫的函數(shù)有哪幾種方法?

  59、WM_QUIT消息的用途是什么?一個普通的Windows窗口能收到的最后���條消息是什么?

  60、待更新。

  61、有1000億條記錄,每條記錄由url,ip,時間組成,設(shè)計一個系統(tǒng)能夠快速查詢以下內(nèi)容

  1).給定url和時間段(精確到分鐘)統(tǒng)計url的訪問次數(shù);

  2).給定ip和時間段(精確到分鐘)統(tǒng)計ip的訪問次數(shù)。

  62、實現(xiàn)一個簡化的搜索提示系統(tǒng)。給定一個包含了用戶query的日志文件,對于輸入的任意一個字符串s,輸出以s為前綴的在日志中出現(xiàn)頻率最高的前10條query。

  由于是分布式系統(tǒng),假設(shè)至少有26臺機器,每個機器存儲以26個字母開頭的query日志文件(如機器1存的是a字母開頭的,機器2存的是以b字母開頭的……)

  每個機器上維護著一張哈希表,對于每條query, 在哈希表表中存放其地址(哈希地址為鏈?zhǔn)降?,并對其進行排序,按頻率由高到低進行排序。

  當(dāng)用戶進行搜索時,可以很快定位到某臺機器,并根據(jù)哈希表,返回出現(xiàn)頻率最高的前10條query。

  提示:

  1).可以預(yù)處理日志

  2).假設(shè)query不超過10億條,每個query不超過50字節(jié)。

  3).考慮在大查詢量的情況下如何實現(xiàn)分布式服務(wù)

  63、待更新。

  64、Android中Looper的實現(xiàn)原理,為什么調(diào)用Looper.prepare()就在當(dāng)前線程關(guān)聯(lián)了一個Looper對象,它是如何實現(xiàn)的。

  65、簡述Andriod如何處理UI與耗時操作的通信,有哪些方式及各自的優(yōu)缺點。

  66、用Object-C定義并實現(xiàn)一個基于數(shù)組的循環(huán)隊列類,當(dāng)隊列放滿需支持動態(tài)的擴展隊列長度。

本文已影響6827
上一篇:國家電網(wǎng)招聘考試科目題型 下一篇:數(shù)據(jù)結(jié)構(gòu)筆試題目

相關(guān)文章推薦

|||||