1. 程式人生 > >java高階工程師開放面試題集<二>

java高階工程師開放面試題集<二>

 

臨近年關,不少人蠢蠢欲動,有童鞋問我java後端面試會面試什麼?

作為一個java後端老鳥,跌打滾爬多次被面試和麵試別人,總結了一些經驗,希望對大家有所幫助。

特別說明,僅僅針對工作兩年以上的java後端開發。以開放性題目為主,沒有標準答案。

上篇<java高階工程師開放面試題集<一>>

本次是第二篇:

6.快取相關

如何設計實現LRU快取?

Least Recently Used,最近最少使用快取。

思路:

  6.1.每個key 需要有value,最近的使用時間戳

  6.2.面向物件思想,Node{key,value,timestamp}組成執行緒安全的連結串列ConcurrentLinkedQueue  

7.設計相關

如何設計一個停車場系統?

思路:

7.1 user-case圖 涉及的人:使用者(普通使用者/特權使用者),車(小汽車/貨車等),停車場普通管理員,停車場系統管理員,車位資訊

7.2 功能:  使用者停車導航,繳費,歷史記錄;車包含車牌,型別和使用者關聯;停車場普通管理員提供停車車位,導航和收費,車位的維護;停車場系統管理員停車場利用率,收費情況,維護費用,盈利報表等

7.3 關鍵點:評估系統的費用,硬體的費用。

8.安全相關

  如何設計一個安全的api介面給第三方使用?

      8.1 http和https 證書

      8.2 防篡改  md5,sha1,sha256  簽名

      8.3 加密,對稱加密des和非對稱加密rsa

      8.4 可以參考http://open.taobao.com/doc.htm?docId=73&docType=1 淘寶開發平臺     

9.linux相關

    一個日誌檔案約為10億行記錄,如何錯誤日誌?

  grep 命令,sed命令

10.如何設計一個秒殺系統?

秒殺場景一般會在電商網站舉行一些活動或者節假日在12306網站上搶票時遇到。對於電商網站中一些稀缺或者特價商品,電商網站一般會在約定時間點對其進行限量銷售,因為這些商品的特殊性,會吸引大量使用者前來搶購,並且會在約定的時間點同時在秒殺頁面進行搶購。

  併發量分別在0~100,100~1000,1000~10000,10000~100000的設計方案,這些設計方案的不同點是什麼?相同點是什麼?

設計思路:

   1.防火牆如何限流,黑板名單 ,可以參考:阿里雲DDoS高防IP:https://www.aliyun.com/product/ddos?spm=5176.224200.selected.8.c83b6ed62UXXwQ

   2.CND 可以參考阿里雲CDN:https://www.aliyun.com/product/cdn?spm=5176.7946143.selected.6.4fe26d63MEHgHU

   3. LB負載層 可以參考阿里雲:https://www.aliyun.com/product/slb?spm=5176.7933777.selected.10.475d56f5Xu5uLk

   4. 前端:頁面靜態化 禁止重複提交

   5.後端:限流 削峰 非同步處理 預處理

   參考架構方案:

今天先寫道這裡。