頭條java 後臺一面涼經

連接:https://www.nowcoder.com/discuss/142537html

下午三點視頻面:一上來懟jvm和gcmysql

1.講講jvm運行時數據庫區

https://blog.csdn.net/strawqqhat/article/details/88807835面試

2.講講你知道的垃圾回收算法

https://blog.csdn.net/strawqqhat/article/details/88129909#%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E7%AE%97%E6%B3%95redis

標記清除,複製,標記整理,分代回收。算法

3.jvm內存模型jmm 知道的全扯了一遍

4.內存泄漏與內存溢出的區別

https://blog.csdn.net/strawqqhat/article/details/88817163sql

5.什麼時候會STW,全部垃圾回收器都會有STW嗎

答案:都有stw。數據庫

包括緩存

1.1 Young GC類算法:Serial Young GC(DefNew)、Parallel Young GC、ParNew GC;服務器

1.2 Full GC類算法:Serial Old GC、PS MarkSweep GC / Parallel Old GC、Full GC for CMS算法、Full GC for G1 GC算法;併發

1.3 G1 GC算法:Young GC/Mixed GC 是stw的;

2. CMS算法是怎麼回事呢?

2.1 CMS(Old)GC算法只在初始標記(initial mark)和再標記(remark)階段stw一下;

2.2 相似的,G1 GC算法在其標記階段某幾個時段是stop the world的,好比初始標記(initial mark)、再標記(remark)、清理(cleanup)階段;

6.mysql數據庫默認存儲引擎,有什麼優勢

InnoDB 引擎

MySQL 5.5 及之後版本中的默認存儲引擎,他的優勢以下:

災難恢復性好
支持事務
使用行級鎖
支持外鍵關聯
支持熱備份
對於InnoDB引擎中的表,其數據的物理組織形式是簇表(Cluster Table),主鍵索引和數據是在一塊兒的,數據按主鍵的順序物理分佈
實現了緩衝管理,不只能緩衝索引也能緩衝數據,而且會自動建立散列索引以加快數據的獲取
支持熱備份
MyISAM引擎

特性以下:

不支持事務
使用表級鎖,併發性差
主機宕機後,MyISAM表易損壞,災難恢復性不佳
能夠配合鎖,實現操做系統下的複製備份、遷移
只緩存索引,數據的緩存是利用操做系統緩衝區來實現的。可能引起過多的系統調用且效率不佳
數據緊湊存儲,所以可得到更小的索引和更快的全表掃描性能
MEMORY 存儲引擎

提供內存表,也不支持事務和外鍵。顯著提升訪問數據的速度,可用於緩存會頻繁訪問的、能夠重構的數據、計算結果、統計值、中間結果。

缺點以下:

使用表級鎖,雖然內存訪問快,但若是頻繁的讀寫,表級鎖會成爲瓶頸
只支持固定大小的行。Varchar類型的字段會存儲爲固定長度的Char類型,浪費空間
不支持TEXT、BLOB字段。當有些查詢須要使用到臨時表(使用的也是MEMORY存儲引擎)時,若是表中有TEXT、BLOB字段,那麼會轉換爲基於磁盤的MyISAM表,嚴重下降性能
因爲內存資源成本昂貴,通常不建議設置過大的內存表,若是內存表滿了,可經過清除數據或調整內存表參數來避免報錯
服務器重啓後數據會丟失,複製維護時須要當心
若是選擇合適的引擎?

是否須要事務支持
是否爲高併發,InnoDB實現了行鎖,這方面的表現大大優於MyISAM
索引,不一樣存儲引擎的索引實現不一樣
是否須要外鍵
高效緩衝數據,InnoDB緩衝數據而MyISAM只緩衝了索引
備份,是否須要支持熱備份

7.優化數據庫的方法,從sql到緩存到cpu到操做系統,知道多少說多少

參考:http://www.javashuo.com/article/p-rtgonhfq-en.html

8.什麼情景下作分表,什麼情景下作分庫

https://blog.csdn.net/strawqqhat/article/details/88818291

9.linkedList與arrayList區別 適用場景

https://blog.csdn.net/strawqqhat/article/details/88818522

10.array list是如何擴容的

https://blog.csdn.net/zymx14/article/details/78324464

11.String str = new String(「abc」)的操做有幾個對象產生

https://blog.csdn.net/strawqqhat/article/details/88818628

12.手撕代碼 刪除鏈表中全部重複元素

https://blog.csdn.net/strawqqhat/article/details/88819261

13.懟項目 秒殺模塊怎麼設計的,如何壓測,抗壓手段,如何保證數據庫與redis緩存一致的,消息隊列怎麼用的

(一小時左右)

結束 面試官說三天內給消息?

相關文章
相關標籤/搜索