整理的一些面試題

一、java基礎

1.集合部分

 

hashmap 底層數據結構

我們知道在Java中最常用的兩種結構是數組和模擬指針(引用),幾乎所有的數據結構都可以利用這兩種來組合實現,HashMap也是如此。實際上HashMap是一個“鏈表散列”,如下是它數據結構:

hashmap 線程不安全

https://www.jianshu.com/p/e2f75c8cce01

treemap

Collections.sort(new ArrayList<T>());

 

二、tcp、Ip、http、https

tcp/ip 協議層淺析

https://www.cnblogs.com/onepixel/p/7092302.html

tcp握手斷開機制

https://www.cnblogs.com/zmlctt/p/3690998.html

https 流程機制

http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

 

三、spring

 

 

三、mysql

索引的數據結構(主要是innodb)

https://www.cnblogs.com/shijingxiang/articles/4743324.html

B+樹的子節點存放數據,並且也是有序的。

mysql int(5) 可以存放超過5長度的int值 不夠5長度的,在數據庫的體現是00123(前面補0)

哪些會導致索引失效?

https://www.cnblogs.com/wuchanming/p/8075840.html

組合索引是否使用索引情況?

https://blog.csdn.net/wdjxxl/article/details/79790421

做索引優化時候explain關注的幾個字段

http://www.cnitblog.com/aliyiyi08/archive/2008/09/09/48878.html

爲什麼主鍵索引使用uuid不太合適

 

mysql 的事務級別

事務隔離級別

髒讀

不可重複讀

幻讀

讀未提交(read-uncommitted)

不可重複讀(read-committed)

可重複讀(repeatable-read)

串行化(serializable)

mysql默認的事務隔離級別爲repeatable-read

 

mysql是如何防止幻讀的?mysql的mvcc機制?

https://www.jianshu.com/p/2953c64761aa

mysql的悲觀鎖和樂觀鎖?

https://www.cnblogs.com/zhiqian-ali/p/6200874.html

 

select ..... for update 鎖表還是鎖行?innodb 和 myasim 引擎不同

https://blog.csdn.net/u012888052/article/details/54895704

 

mysql(innodb)的表鎖和行鎖、還有一些死鎖的情況

https://www.aneasystone.com/archives/2017/11/solving-dead-locks-two.html

這篇文中介紹的鎖非常詳細,要仔細看看。

https://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&tempkey=MTAwMF9TdmxPRndsaFlqOHE4ZFc0UThjVGVJQ3FCaWdTM3FhSEpZb3ZxOEg4UFBjLUVRMUs3UFQ0blNhMC1lU1RWTkpMNDRSeGtXRzdSSXFtenJySDVtRFRfYmpuUnRfWU1fT2o5aFUtTFBaZ0U5Z085WHl1T1BpWG1uRUxpdXFQdmY1eXVtcUpUS3N1Y014V045SDlyNGZyNEZ3N2NGX2llLWhWdjZYRG1Bfn4%3D&chksm=73f914b3448e9da57bb174f3400289f69bf503cddb8236184fbab28baab3648d165bdd5961a5&scene=0&xtrack=1&previewkey=8G5860QBS0PEinr3hWtaG8NS9bJajjJKzz%252F0By7ITJA%253D&from=groupmessage&isappinstalled=0#wechat_redirect

這個是亞盟整理的,別人發版的他的

 

mysql的平滑擴容方案

https://blog.csdn.net/kefengwang/article/details/81213050

這其中包含分庫分表用的一些東西,比如分佈式唯一鍵生成方法,平滑擴容方案等

雪花算法的原理看看,https://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8%87%AA%E5%A2%9Eid%E7%AE%97%E6%B3%95%E8%AF%A6%E8%A7%A3/

mysql的災備 http://bigdata.51cto.com/art/201809/583073.htm

異地雙活 知道大概的架構和難點以及解決方案

http://www.360doc.com/content/17/0730/14/44946832_675334210.shtml

 

redis

redis的持久化機制,各自的特點

https://www.cnblogs.com/xingzc/p/5988080.html

redis的數據結構

https://blog.csdn.net/zhaoliang831214/article/details/82051449

redis的 sortset 原理

https://blog.csdn.net/linyu19872008/article/details/72403962

redis 的緩存穿透 雪崩 數據庫緩存一致性

https://www.cnblogs.com/wangzhuxing/p/8331765.html

 

MQ、kafka、zk

如何保證消息的可靠性、一致性?

消息的重發、怎麼防止重複消費(做冪等處理)

當多個微服務之間有先後調用順序,彼此依賴時(分佈式事務)可以採用廣播的形式多個系統同時回滾。

kafka的zab協議,選舉過程

zab和rafr的協議 https://niceaz.com/2018/11/03/raft-and-zab/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章