面試問題總結2018/05/16

艾賀發表於2018-05-16
  1. Redis與Memcache與什麼區別?

只說特點,不說誰好誰壞:
Redis是單執行緒的,支援多種資料型別,定製訂閱/釋出模式,支援Lua指令碼,事務,包括持久化儲存。

Memcache也是記憶體儲存,不過memcache還可用於快取其他東西,例如圖片、視訊等等,Memcache無法持久化。

個人覺得Redis更加強大,效率上兩者差別不大,Memcache能做的東西,Redis基本上也能做,所以就選Redis吧。如果需要持久化儲存的選用Redis。

  1. MongoDB有什麼優缺點?

特點:MongoDB在海量資料下效能優越,文件資料儲存結構,可以快速的實現故障轉移。
缺點:不支援事務,佔用空間大。

  1. 如何做MySQL資料庫的優化?
    硬體優化,提升硬體
    MySQL伺服器優化,優化my.ini檔案,增加調整buffer,cache
    表結構優化,恰當的索引
    SQL語句優化,專業的人員來做

  2. MySQL的Select語句實現縱錶轉橫表。

參考:https://blog.csdn.net/fysuccess/article/details/40789869

  1. 分散式中的生產中與消費者,說說他們的關係。專案中那些是生產者,那些是消費者。

  2. 介面與抽象類的區別,什麼時候用介面,什麼時候用抽象類

參考:https://www.jianshu.com/p/fa651f8d3180

  1. 這些技術你再實際生產環境中是如何應用的

慚愧,很多知識沒只懂概念,沒實踐過,以後要學有所用。

  1. 說說JDK8的新特性,JDK10呢

JDK8: Lambda 表示式,直接方法引用, 介面預設方法
新工具 − 新的編譯工具,如:Nashorn引擎 jjs、 類依賴分析器jdeps。
Stream API −新新增的Stream API(java.util.stream) 把真正的函數語言程式設計風格引入到Java中。
Date Time API − 加強對日期與時間的處理。
Optional 類 − Optional 類已經成為 Java 8 類庫的一部分,用來解決空指標異常。
Nashorn, JavaScript 引擎 − Java 8提供了一個新的Nashorn javascript引擎,它允許我們在JVM上執行特定的javascript應用。

JDK10新特性:https://www.oschina.net/translate/109-new-features-in-jdk-10

  1. 常見的設計模式,你經常用那些設計模式

  2. Spring Bean的生命週期

參考:https://blog.csdn.net/lisongjia123/article/details/52091013

  1. AOP瞭解多少,在專案中是如何使用的
  2. 伺服器硬體配置如何,資料儲存量有多少
  3. 你們現有專案中的瓶頸在哪裡,能容納多大的併發量

慚愧,上面的問題表面我的技術在實際應用中並沒怎麼發揮。

  1. 在使用Redis,MongoDB,等遇到過哪些問題,然後是如何解決的。
  2. 專案的使用者量有多少,併發量多少,資料量有多少
  3. 接下來有什麼規劃
  4. 都用過哪些資料庫
  5. 大資料的場景下,談談以空間換取時間的做法。
  6. Spring的事務
  7. JVM效能優化上,常用的JVM引數。關於新生代,老年代的。

先記錄這麼多吧,水平還是很有限的。主要問題在於我線上實操經驗太少。


相關文章