1. 程式人生 > >騰訊一面

騰訊一面

結束 數列 通過 zed string 所在 題目 temp 進行

騰訊一輪面經 20181016

  • 自我介紹
    • 基礎知識儲備
    • 學業、項目、實習
    • 課余生活
  • java基礎
    • HashMap原理介紹
      • 宏觀(數據結構和編程語言層面)
      • 微觀(具體HashMap的實現)
        • 底層數據結構
        • 擴容
  • 同步異步
    • 同步阻塞和異步非阻塞的性能比較
    • 同步阻塞和異步非阻塞的區別?
  • 場景題
    • 在高速公路上,假設每10min,就能看到一輛車通過的概率為97%,同時假設所有的車流量是勻速、穩定的。求解30min內至少看到一輛車的概率為多少?
      • 解決方案:采用反面考慮該問題,30min內沒有看到一輛車的概率為p=3%3%3%,所以本題的答案為1-p
    • 兩個人玩遊戲,遊戲場景如下:在一個圓桌上,擺放硬幣,當一方無法在放下硬幣時,結束遊戲,對方獲勝。(圓桌至少可以放置下一個硬幣)求解是否存在先手必勝的策略
      • 自己的思路:先手第一次放的硬幣的位置為圓桌的中心,以後存放仍然按照剩余空間兩段弧長的中心放置硬幣,貌似沒有必勝的策略
      • 面試官給的提示:先手第一次放置的策略同上,以後每次放置的位置是通過對方放置後的位置,然後找其關於圓心的對稱點進行放置,這種策略下是必勝的策略。
  • 算法題
    • 給定1~n n個連續的正整數,然後在文件中存儲n+1個數,取值範圍在1~n閉區間中,其中只有一個數重復出現一次,找出重復出現的該數(simple)

      • 解決方案:采用數學解,通過等差數列求和求解,時間復雜度O(n)
    • 上題的前半部分題目不變,後面條件改變為存儲的n+1個數中,有多個重復的數,全部找出來重復的數,n很大很大(42億)。(hard)
      • 解決方案:采用bitmap求解(附帶問題42億需要多大的bitmap存儲空間?)
  • 設計模式
    • 裝飾者設計模式
      • 簡單介紹其jdk中的使用場景
      • 舉個簡單的業務使用場景
      • 裝飾者設計模式的思想是繼承還是組合?(組合)
    • 單例設計模式
      • 手寫單例模式實現
      • 懶漢式、synchronized(方法級別鎖)
      • 雙重鎖(優化1)
      • 靜態內部類(優化2)
  • Spring框架
    • what what is Spring?
    • why why do you use Spring in your projects?
    • how How to use Spring and which modules use in projects?
      • IOC
      • AOP
      • 聲明式事務
      • JdbcTemplate(持久層)
  • redis
    • 五種數據結構 string,hash,set,list,zset.
    • zset的底層實現
    • 實現分布式鎖set nx ex
  • 面試官建議
    • 考慮在正式入職之前,到公司實習增強自身的能力
    • 關註前沿技術
  • 還有什麽要問的
    • 能否介紹下面試官您所在的部門的核心業務?(搜索和推薦)

騰訊一面