九月十月百度,迅雷,華爲,阿里巴巴最新校招筆試面試二十題(10.12)

九月十月百度,迅雷,華爲,阿里巴巴,最新校招筆試面試二十題

題記

    本博客自2010年10月11日開通以來,已經幫助了一大批人找到工做,特別是連續三年在每年的九、10月份陪伴了至少三屆畢業生找工做的旅程,包括校招中的筆試面試,今年也不會例外,我會在本博客開通3週年之際一如既往的陪伴你們一塊兒成長。html

    本文所整理的所有筆試面試題要麼來源於我羣內羣友們的分享,要麼摘自論壇或博客,全部原題均來自網絡。雖然本文中整理的絕大部分筆試面試題偏算法(本身特地爲之之故),但不管是哪一年的校招,通常說來,筆試偏基礎(尤爲是選擇題部分,涵蓋語言,計算機組成原理、操做系統、網絡協議、數據庫、機率指望等知識),而面試則偏算法,且不管是筆試仍是面試,二者都很看重你的實際編程能力,但願你們知曉。前端

   OK, 本文會盡可能保持天天更新一道新的筆試或面試題,直到9月底(更歡迎各位經過微博私信http://weibo.com/julyweibo,或郵箱zhoulei97@aliyun.com提供題目,亦可直接評論於本文下),若是你們對如下任何一題中有任何思路,包括參考題解中有任何錯誤,歡迎隨時評論於本文之下,或show me your code!謝謝。node

 

九月迅雷,華爲,阿里巴巴,最新筆試面試十題

  1. 8月15日,百度2道面試題:
    一、來自《編程之美》的機率題:一個桶裏面有白球、黑球各100個,如今按下述規則取球:的
        i 、每次從通裏面拿出來兩個球;
        ii、若是取出的是兩個同色的求,就再放入一個黑球;
        ii、若是取出的是兩個異色的求,就再放入一個白球。
    問:最後桶裏面只剩下一個黑球的機率是多少?
    二、算法題:給你一個天然數N,求[6,N]以內的全部素數中,兩兩之和爲偶數的那些偶數。
  2. 9月5日,華爲2014校園招聘的機試題目
    經過鍵盤輸入一串小寫字母(a~z)組成的字符串。請編寫一個字符串壓縮程序,將字符串中連續出席的重複字母進行壓縮,並輸出壓縮後的字符串。
    壓縮規則:
        一、僅壓縮連續重複出現的字符。好比字符串"abcbc"因爲無連續重複字符,壓縮後的字符串仍是"abcbc"。
        二、壓縮字段的格式爲"字符重複的次數+字符"。例如:字符串"xxxyyyyyyz"壓縮後就成爲"3x6yz"。
    要求實現函數: 
         void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
        輸入pInputStr:  輸入字符串lInputLen:  輸入字符串長度
        輸出 pOutputStr: 輸出字符串,空間已經開闢好,與輸入字符串等長;
    注意:只須要完成該函數功能算法,中間不須要有任何IO的輸入輸出
    示例 
        輸入:「cccddecc」   輸出:「3c2de2c」
        輸入:「adef」     輸出:「adef」
        輸入:「pppppppp」 輸出:「8p」
  3. 9月6日,網新恆天2014校園招聘筆試編程題
    已知memcpy的函數爲: void* memcpy(void *dest , const void* src , size_t count)其中dest是目的指針,src是源指針。不調用c++/c的memcpy庫函數,請編寫memcpy。
    點評:老題,參考答案以下
    //copyright@July 2013/9/24  
    void* memcpy(void *dst, const void *src, size_t count)      
    {      
        //安全檢查  
        assert( (dst != NULL) && (src != NULL) );      
      
        unsigned char *pdst = (unsigned char *)dst;      
        const unsigned char *psrc = (const unsigned char *)src;      
      
        //防止內存重複  
        assert(!(psrc<=pdst && pdst<psrc+count));      
        assert(!(pdst<=psrc && psrc<pdst+count));      
      
        while(count--)      
        {      
            *pdst = *psrc;      
            pdst++;      
            psrc++;      
        }      
        return dst;      
    }
        
  4. 9月9日,迅雷2014校招筆試編程題:
    已知集合A和B的元素分別用不含頭結點的單鏈表存儲,函數difference()用於求解集合A與B的差集,並將結果保存在集合A的單鏈表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成計算後A={10,20,30}。
    鏈表結點的結構類型定義以下:
    1. struct node    
    2. {    
    3.     int elem;    
    4.     node* next;    
    5. };    
    請完成函數void difference(node** LA , node* LB)
    點評:參考答案或更多題目請參見:http://blog.csdn.net/hackbuteer1/article/details/11482103
  5. 9月10日,美團網2014校招研發筆試哈爾濱站
    一、鏈表翻轉。給出一個鏈表和一個數k,好比鏈表1→2→3→4→5→6,k=2,則翻轉後2→1→4→3→6→5,若k=3,翻轉後3→2→1→6→5→4,若k=4,翻轉後4→3→2→1→5→6,用程序實現
    點評:相似編程藝術第1章左旋轉字符串,見:http://blog.csdn.net/v_JULY_v/article/details/6322882
    二、一個m*n的矩陣,從左到右從上到下都是遞增的,給一個數elem,求是否在矩陣中,給出思路和代碼
    點評:楊氏矩陣查找,見編程藝術第23章:http://blog.csdn.net/v_july_v/article/details/7085669
  6. 9月14日,阿里巴巴2014校招筆試哈爾濱站
    一、宿舍內5個同窗一塊兒玩對戰遊戲。每場比賽有一些人做爲紅方,另外一些人做爲藍方。請問至少須要多少場比賽,才能使任意兩我的之間有一場紅方對藍方和藍方對紅方的比賽?答案爲4場,參考以下圖,做者doc_sgl:

    點評:其他題目請參見:http://blog.csdn.net/doc_sgl/article/details/11695671
    二、一個有10億條記錄的文本文件,已按照關鍵字排好序存儲。請設計算法,能夠快速的從文件中查找指字關鍵字的記錄。
  7. 9月14日,阿里巴巴-系統工程師-北京站
  8. 9月16日,創新工場2014校招筆試題

    點評:上面第3題仍是楊氏矩陣查找,見編程藝術第23章:http://blog.csdn.net/v_july_v/article/details/7085669。既然這麼多公司都喜歡考楊氏矩陣查找,那麼再給出楊氏矩陣查找一題的擴展:給定 n×n 的實數矩陣,每行和每列都是遞增的,求這 n^2 個數的中位數,分析詳見:http://zhiqiang.org/blog/science/computer-science/median-algorithm-of-ordered-matrix.html
  9. 9月21日,百度2014校招-濟南站
  10. 9月21日,騰訊2014軟件開發校招-簡答題-廣州

    點評:這裏有一關於上面2題的題解:http://blog.csdn.net/thebestdavid/article/details/12056293,能夠參考。
  11. 9月22日,人人校招筆試題

    點評:上述第1題尋找知足條件的兩個數,見編程藝術第5章:http://blog.csdn.net/v_JULY_v/article/details/6419466;上述第2題見編程藝術第21章:http://blog.csdn.net/v_july_v/article/details/6890054
  12. 9月22日,阿里巴巴北郵站



    點評:這裏有一朋友關於上述3題的題解:http://blog.csdn.net/thebestdavid/article/details/11975809,你們能夠參考。
  13. 9月23日,網易電商部-社招面試
    HashMap與HashTable區別
    點評:HashMap基於Hashtable實現,不一樣之處在於HashMap是非同步的,而且容許null,即null value和null key,Hashtable則不容許null,詳見:http://oznyang.iteye.com/blog/30690。此外,記住一點:hashmap/hashset等凡是帶有hash字眼的均基於hashtable實現,沒帶hash字眼的如set/map均是基於紅黑樹實現,前者無序,後者有序,詳見此文第一部分:http://blog.csdn.net/v_july_v/article/details/7382693
  14. 9月24日,去哪兒網2014校招西安站筆試題
    給定一個200MB的文本文件,裏面存的是IP地址到真實地址信息的映射信息,例如:211.200.101.100 北京
    而後給你6億個IP地址,請設計算法快速的打印出所對應的真實地址信息。
  15. 9月25日,阿里巴巴二面
    指針/數組區別,決策樹訓練原理,SVM原理,網絡協議,堆排序,字符串轉換成整數,設計一款拼音輸入法等等..
    點評:字符串轉換成整數看似簡單,實則不少坑,要寫好並不容易,具體分析和實現見編程藝術第30章:http://blog.csdn.net/v_july_v/article/details/9024123;決策樹見:http://blog.csdn.net/v_july_v/article/details/7577684;SVM原理見:http://blog.csdn.net/v_july_v/article/details/7624837
    總結:這次面試的這位同窗面的仍是堆排/快排/atoi等典型問題,實際上:①面試看基礎算法編程能力,和準備是否充分;②不論結果如何,跟4年前高考同樣,高考和麪試都只是人生路上的其中一站。你的真正核心競爭力不是進哪所名校哪所名企,而是存在你骨子裏的上進心或熱愛鑽研技術的態度。
  16. 9月28日,微軟2014校招筆試題最後一道

    點評:上題形式上相似編程藝術第35章完美洗牌算法http://blog.csdn.net/v_july_v/article/details/10212493#t8,但因給定的是鏈表,因此相對來講,簡單了很多;微軟2014校招其它題目見:http://blog.csdn.net/xiaoerlyl/article/details/12126807
  17. 9月28日,百度2014校招-武漢站-系統分析師
  18. 10月2日,暴風影音2014校招筆試
    一、合併兩個已經排序的單鏈表爲一個排序的單鏈表,相同內容只保留一個
    如:單鏈表a:1->2->3->4
    單鏈表b:3->4->5
    輸出:1->2->3->4->5
    二、編寫程序,在原字符串中把尾部m個字符移動到字符串的頭部,要求:長度爲n字符串操做時間複雜度爲O(n),時間複雜度爲O(1)。
    如:原字符串爲」Ilovebaofeng」,m=7,輸出結果:」baofengIlove」。
    點評:仍是相似編程藝術第1章左旋字符串:http://blog.csdn.net/v_JULY_v/article/details/6322882
    三、暴風影音的片源服務器上保存着兩個文件a和b,各存放50億條URL,每條URL佔用64字節,內存限制是4G,讓你找出a,b文件共同的URL。要求:算法設計。
    點評:上述第3題等海量數據處理面試題,請參見此文第第一部分第6題:http://blog.csdn.net/v_july_v/article/details/7382693
  19. 關於linux內核的幾個面試問題:
    一、Linux中主要有哪幾種內核鎖?
    二、Linux中的用戶模式和內核模式是什麼含意?
    三、用戶進程間通訊主要哪幾種方式?
    四、有哪幾種內存分配函數?
  20.  微軟一面:輸入兩個數,相加求和,二進制輸出。
  21. 阿里巴巴面試:
    阿里的log文件以下,有三個字段:time(登錄或登出時間點)+uid+login或logout,每條記錄按時間順序排列。問題以下:給定一個時間點T,統計在線人數。 
  22. 10月9日,暴風影音校招研發筆試
    一、給定字符串A和B,輸出A和B中的第一個最長公共子串,好比A=「wepiabc B=「pabcni」,則輸出「abc」。
    二、TCP創建鏈接的3次握手過程?若最後一次握手失敗,會怎樣處理?
  23. 蜻蜓FM2014校招研發筆試
  24. 10月11日,騰訊web前端面試
    一個數組 var arr = ['abc','ddadbc','adbdcd','abcqew'.......] 長度一萬,  用最有效率的方法計算出包含被元素出現最多的。
  25. 10月12日,百度一面
    JAVA裏面的線程同步機制、異常處理機制、集合類、簡單的設計模式、hashmap和hashtable的區別,及HashMap和ConcurrentHashMap的區別。
    點評:關於hashmap和hashtable的區別,請看上文第13題,其他請本身查閱相關書籍。
  26. 待續,10月12日下午...

 

 

後記

    有一點想竭盡全力的特別強調:若是你是找軟件開發相關的職位,那麼基礎第一,其次即是coding能力是否過硬,此決定你有多少資本/薪水/是在國內仍是國外,最後纔是算法,但願勿本末倒置。很多人老是有意無心忽視coding,覺得雖coding能力通常,但算法好,抱有此種僥倖心理的最後都會發現得不償失。不具有基本編程能力的人,永遠沒法真正邁進軟件開發領域。linux

    再者,算上今年,本博客已經連續整理了4個年頭的筆試面試題,從這些筆試面試題中,細心的朋友自會發現,每年校招的不少編程題屢屢都是編程藝術系列上的原題,故我但願你們掌握的是一類題目的方法,而不是糾結於某一道題的標準答案。c++

    正由於方法比答案重要,因此編程藝術系列從最容易想到的思路開始講起,一步步優化,而不是其它題解那樣一上來就給你所謂的標準速成答案,面試亦如此。程序員

    最後,除了程序員編程藝術系列外,再推薦一些資料、書籍和講座給你們,供你們參考:web

  1. 程序員編程藝術http://blog.csdn.net/column/details/taopp.html
  2. 秒殺99%的海量數據處理面試題http://blog.csdn.net/v_july_v/article/details/7382693
  3. 《編程之美》;
  4. 微軟面試100題系列http://blog.csdn.net/column/details/ms100.html
  5. 《劍指offer》;
  6. 我我的舉辦的專爲幫助你們找工做的面試&算法講座:http://blog.csdn.net/v_july_v/article/details/7237351#t24
  7. 兩個程序員面試網站,leetcode:http://leetcode.com/,與careercup:http://www.careercup.com/

    有何看法或思路,歡迎隨時評論於本文之下,或 show me your code!感謝。面試

相關文章
相關標籤/搜索