本文承接上文:Java研發崗位面試歸類A(附答案): http://www.cnblogs.com/wp5719/p/5870243.htmlcss
答案本身網上找的,若有紕漏或錯誤,煩請指教。html
1.MySql的存儲引擎的不一樣.前端
MyISAM:擁有較高的插入,查詢速度,但不支持事務.
InnoDB:5.5版本後Mysql的默認數據庫,事務型數據庫的首選引擎,支持ACID事務,支持行級鎖定.
BDB:源自Berkeley DB,事務型數據庫的另外一種選擇,支持COMMIT和ROLLBACK等其餘事務特性.
Memory:全部數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。可是會佔用和數據量成正比的內存空間。而且其內容會在Mysql從新啓動時丟失.
Merge:將必定數量的MyISAM表聯合而成一個總體,在超大規模數據存儲時頗有用.
Archive:很是適合存儲大量的獨立的,做爲歷史記錄的數據。由於它們不常常被讀取。Archive擁有高效的插入速度,但其對查詢的支持相對較差.
Federated:將不一樣的Mysql服務器聯合起來,邏輯上組成一個完整的數據庫。很是適合分佈式應用.
Cluster/NDB:高冗餘的存儲引擎,用多臺數據機器聯合提供服務以提升總體性能和安全性。適合數據量大,安全和性能要求高的應用.
CSV:邏輯上由逗號分割數據的存儲引擎。它會在數據庫子目錄裏爲每一個數據表建立一個.CSV文件。這是一種普通文本文件,每一個數據行佔用一個文本行。CSV存儲引擎不支持索引。
BlackHole:黑洞引擎,寫入的任何數據都會消失,通常用於記錄binlog作複製的中繼.mysql談談MySQL兩種存儲引擎: http://www.cnblogs.com/kevingrace/p/5685355.htmllinux
2.單個索引、聯合索引、主鍵索引.css3
索引: http://baike.baidu.com/link?url=anMTlZBhAAQVPC8Hw0rvWa8bvSTGpwSBfMBsIfLjIC1WvqaofHarepiTXI_-HPMaOhv8H7-fto3g1OQTNRXqtvFqn0WtsZ0_9odRP5IRODO
3.Mysql怎麼分表,以及分表後若是想按條件分頁查詢怎麼辦(若是不是按分表字段來查詢的話,幾乎效率低下,無解).web
參考答案: http://blog.csdn.net/ahjxhy2010/article/details/50540500面試
MySQL優化分庫分表: http://www.4wei.cn/archives/1001958redis
4.分表以後想讓一個id多個表是自增的,效率實現.算法
MySQL分表自增ID解決方案: http://www.ttlsa.com/mysql/mysql-table-to-solve-the-increment-id-scheme/
MySQL分庫分表環境下全局ID生成方案: http://www.javashuo.com/article/p-gdzayoua-kq.html
5.MySql的主從實時備份同步的配置,以及原理(從庫讀主庫的binlog),讀寫分離.
MySql實現主從熱備和讀寫分離: http://blog.csdn.net/sanjay_f/article/details/48916171
6.經常使用SQL語句.
7.索引的數據結構,B+樹.
B+ Tree的由來、數據結構、基本操做以及數據庫索引的應用: http://www.cnblogs.com/yanghuahui/p/3483047.html
B-樹和B+樹的應用:數據搜索和數據庫索引: http://blog.csdn.net/hguisu/article/details/7786014
8.事務的四個特性,以及各自的特色(原子、隔離)等等,項目怎麼解決這些問題.
9.數據庫的鎖:行鎖,表鎖;樂觀鎖,悲觀鎖.
參考答案:http://blog.itpub.net/11627468/viewspace-1788399/
10.數據庫事務的幾種粒度.
數據庫事務的4種粒度: 數據庫級,表級,記錄級(行級)和屬性級(字段級)。
數據庫事務四種隔離級別: http://blog.csdn.net/tolcf/article/details/49283575
11.關係型和非關係型數據庫區別.
1) 非關係型數據庫的優點:
(1) 性能: NOSQL是基於鍵值對的,能夠想象成表中的主鍵和值的對應關係,並且不須要通過SQL層的解析,因此性能很是高。
(2) 可擴展性: 一樣也是由於基於鍵值對,數據之間沒有耦合性,因此很是容易水平擴展。2) 關係型數據庫的優點:
(1) 複雜查詢: 能夠用SQL語句方便的在一個表以及多個表之間作很是複雜的數據查詢。
(2) 事務支持: 使得對於安全性能很高的數據訪問要求得以實現。
1.單例模式:飽漢、餓漢。以及餓漢中的延遲加載,雙重檢查.
單例模式與雙重檢測: http://jiangzhengjun.iteye.com/blog/652440
2.工廠模式、裝飾者模式、觀察者模式。
(1) 工廠模式: http://www.cnblogs.com/forlina/archive/2011/06/21/2086114.html
(3) 觀察者模式: http://www.cnblogs.com/wangjq/archive/2012/07/12/2587966.html
3.工廠方法模式的優勢(低耦合、高內聚,開放封閉原則).
開放封閉原則(Open Closed Principle): http://www.cnblogs.com/gaochundong/p/open_closed_principle.html
1.有個每秒鐘5k個請求,查詢手機號所屬地的筆試題(記得不完整,沒列出),如何設計算法?請求再多,好比5w,如何設計整個系統?
2.高併發狀況下,咱們系統是如何支撐大量的請求的.
@大量用戶訪問、高併發請求方面, 基本的解決方案: http://f.dataguru.cn/thread-609724-1-1.html
大型高併發高負載網站的系統架構: http://www.cnblogs.com/Safe3/archive/2010/09/07/1820722.html
3.集羣如何同步會話狀態.
集羣中幾種session同步解決方案的比較: http://blog.csdn.net/shimiso/article/details/8978922
4.負載均衡的原理.
六大Web負載均衡原理與實現: http://www.open-open.com/lib/view/open1416924842581.html
5.若是有一個特別大的訪問量,到數據庫上,怎麼作優化(DB設計,DBIO,SQL優化,Java優化).
參考答案: http://wenku.baidu.com/link?url=tbiLiJCuGdmcaDO4iP5BKty7syFZv-9_a5zUqcc39pWNHE8IcMGAIeskE80fHcMSymimvi6XSOMoE0i1QzwPEaeDVIuaeRxJX2a7LrhsKsa
6.若是出現大面積併發,在不增長服務器的基礎上,如何解決服務器響應不及時問題.
如何提升服務器併發處理能力: http://www.cnblogs.com/zengjin93/p/5569556.html
7.假如你的項目出現性能瓶頸了,你以爲可能會是哪些方面,怎麼解決問題。
三個方面解決性能問題的基本思路和方法: http://m.2cto.com/kf/201607/527426.html
http://www.360doc.com/content/15/0727/08/14765814_487648123.shtml
8.如何查找形成性能瓶頸出現的位置,是哪一個位置照成性能瓶頸。
五步定位性能瓶頸: http://www.cnblogs.com/zhangyublogs/p/4965870.html
性能測試如何定位瓶頸: http://blog.csdn.net/zhuff0418/article/details/6906862
9.你的項目中使用過緩存機制嗎?有沒用用戶非本地緩存.
使用緩存的9大誤區: http://kb.cnblogs.com/page/138696/
Java實現redis緩存技術: https://my.oschina.net/Tsher2015/blog/512919
1.經常使用的linux下的命令:
Linux中經常使用操做命令: http://www.cnblogs.com/laov/p/3541414.html
在redis使用過程遇到的一些問題的總結: http://olylakers.iteye.com/blog/2089275
2.消息中間件:
1) 消息中間件的技術選型心得-RabbitMQ、ActiveMQ和ZeroMQ: http://blog.csdn.net/chszs/article/details/8479072
2) 強大的分佈式消息中間件—kafka: http://blog.csdn.net/yangchao228/article/details/40583765
3) kafka與傳統的消息中間件對比: http://www.cnblogs.com/duanxz/p/4610827.html
3.基本Web前端常識:
1) ES6: http://blog.csdn.net/wp1603710463/article/details/51428494
2) CSS3: http://www.ibm.com/developerworks/cn/web/1202_zhouxiang_css3/
4.紅黑樹: http://www.cnblogs.com/yangecnu/p/Introduce-Red-Black-Tree.html
5.如何給100億個數字排序? http://www.jianshu.com/p/8dc11152f178?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
6.如何快速的解決Maven依賴衝突? http://www.cnblogs.com/dingyingsi/p/3725340.html
7.Spring Bean的生命週期. http://www.cnblogs.com/zrtqsk/p/3735273.html
8.Java中的深拷貝和淺拷貝: http://www.jb51.net/article/48201.htm
9.Spring註解原理的詳細剖析與實現: http://freewxy.iteye.com/blog/1149128/