MySQL DBA 面試全揭祕
本文起源於有同學留言回覆說想了解下MySQL DBA面試時可能涉及到的知識要點,那我們今天就來大概談談吧。
MySQL DBA職位最近幾年特別熱門,不少朋友讓我幫忙推薦什麼的,也有很多公司找不到合適的DBA。原因很簡單,優秀的人才要麼被大公司圈起來了,要麼被創業公司高薪挖走,如果你既不是大公司,又不能出得起高價錢的土豪公司,想要找到優秀人才的機率堪比買彩票中獎的概率,哈哈。
本文可以作為MySQL DBA面試官,以及候選人的雙向參考:
面試流程
接下來先說下我以往在做MySQL DBA面試時的過程(套路):
- 先自我介紹後,再讓候選人花2-5分鐘做下自我簡介
- 有不少人可能對自我簡介這個環節嗤之以鼻,覺得多此一舉,尤其是技術能力相對較好的更是如此。其實不然,通過短短2-5分鐘的自我簡介,很快就能考察出候選人是否有用心準備本次面試,其歸納總結能力,以及個人自信心等多方面資訊。
- 因此,如果候選人看中這次面試機會的話,還請好好做下功課,做足準備。比如瞭解下目標公司的大致情況,主營業務,產品特色。可能的話,找同行打聽可能的面試官背景資訊,沒準是校友、以前在同一家公司呆過、或者有其他共同點,這可能會使得面試過程更為順利。
- 有心的候選人在面試官自我介紹時,就可以趁機也考察對方的情況。通常第一輪面試官很可能是你未來的直接主管,從面試過程中你和對方的溝通交流是否順利也可預見到未來工作上配合的順利程度。
- 暖身完,就開始進入主題,從候選人的簡歷入手,挑選其中感興趣的關鍵點逐條交流,有幾個要點:
- 和應聘職位關聯性較高的技術要素,需要逐個過一遍,大致瞭解候選人對於這些技術要素的掌握程度;
- 挑選2-3個技術關鍵點,對候選人窮追猛打深入探討,瞭解其真正的掌握程度,是泛泛的瞭解,還是知其所以然的那種,由此也可以考察候選人的學習方法、心態,是隨波逐流抑或專精專注。
- 候選人每次跳槽經歷也需要關注,究竟何種原因導致跳槽,每次跳槽是否其職業層次也跟著提高。由此考擦候選人的職業規劃是否清晰,是否過於隨性(任性)。否則的話,可能在下一家公司也待不了多久就會因為各種原因(最常見的就是薪資、或者對主管不服氣)而跳槽。
- 候選人簡歷中特意提及的重點專案、事件、榮譽,也可以做深入的交流。
- 重點技術要素考察完畢,可以聊聊職業發展等其他方面的話題,比如
- 為什麼選擇我司;
- 如果還有其他公司的機會,如何權衡選擇哪個offer,最主要的判斷標準是什麼;
- 期望什麼樣的工作環境,團隊環境,以及哪種風格的主管;
- 對什麼事情最在乎,或最不在乎;
- 除了薪資福利,對公司、工作的期望是怎樣的。
專業技術考察
具體到技術實力考查上,通常可以關注幾個要點:
基礎知識考察
基礎知識,尤其是一些理論知識,例如:
- MySQL有哪些索引型別,這是個半開放式命題;
- 從資料結構角度可分為B+樹索引、雜湊索引、以及不常用的FULLTEXT索引(現在MyISAM和InnoDB引擎都支援了)和R-Tree索引(用於對GIS資料型別建立SPATIAL索引);
- 從物理儲存角度可分為聚集索引(clustered index)、非聚集索引(non-clustered index);
- 從邏輯角度可分為主鍵索引、普通索引,或者單列索引、多列索引、唯一索引、非唯一索引等等。需要掌握這些不同概念之間的區別,例如主鍵索引和唯一索引的區別是什麼。
- 為什麼InnoDB表最好要有自增列做主鍵;
- 為什麼需要設定雙1才能保證主從資料的一致性;
- 有幾種binlog格式,及其區別是什麼;
- 如何確認MySQL replication真正的複製延遲是多少;
- 有過哪些印象深刻的實踐經驗。
通過考察候選人的基礎知識掌握程度,可側面反映候選人對學習的態度,是否僅淺層面的瞭解。
核心技術能力考察
核心關鍵技術能力,例如:
- 怎麼做的MySQL備份恢復方案及策略,為什麼那麼做,用什麼工具;
- MySQL主從複製的具體原理是什麼,實際使用過程中,遇到過哪些坑,怎麼解決的;
- 對一個大表做線上DDL,怎麼進行實施的才能儘可能降低影響;
- MyISAM和InnoDB都有哪些不同之處;
- InnoDB的體系結構是否能講的清楚,至少說出個大概;
- 假設現在伺服器負載很高,都有哪些效能問題排查思路,以及優化的方案;
- 什麼是死鎖,什麼是鎖等待,如何優化;
- 關於MySQL及InnoDB優化,講講自己的見解或者實踐經驗;
- 如何確定及實施MySQL高可用方案,不同方案的優缺點對比;
- 一定規模的MySQL自動化運維經驗如何;
- 在SCHEMA設計方面的經驗如何;
- 基於MySQL所做過的一些資料庫架構方案設計、實施經驗。
通過考察候選人對這些核心關鍵技術的掌握程度,可知曉候選人對深層次知識的掌握情況,除了實踐,理論方面掌握了多少。
潛力考察
發展潛力以及學習能力,例如:
- 對Linux的掌握程度,以及Shell、Python、Perl等常用運維開發語言的掌握程度;
- 對伺服器硬體裝置,儲存裝置的瞭解程度;
- 對資訊保安,網路知識的瞭解程度;
- 其他語言,例如C、C++、JAVA、PHP、GO是否有所瞭解。
這些知識對一般的DBA可能不太重要,但想要成為資深DBA或資料庫架構師的話,這些知識是必不可少的。
先囉嗦說這麼多吧,希望對有志成為DBA的同學有些幫助,加油加油。
關於MySQL的方方面面大家想了解什麼,可以直接留言回覆,我會從中選擇一些熱門話題進行分享。 同時希望大家多多轉發,多一些閱讀量是老葉繼續努力分享的絕佳助力,謝謝大家!
相關文章
- 『MySQL』揭開索引神祕面紗MySql索引
- 揭祕 Netflix 後端工程師面試後端工程師面試
- 阿里巴巴MySQL DBA面試題阿里MySql面試題
- DBA面試資源合集(含Oracle、MySQL、Redis等)面試OracleMySqlRedis
- AI 助力使用者體驗,快手「萌面 Kmoji」全揭祕AI
- Redux:全揭祕與入坑指北(中)Redux
- Redux:全揭祕與入坑指北(上)Redux
- 揭開 Kubernetes 的神祕面紗
- 揭開“QUIC”的神祕面紗UI
- nginx常用功能全揭祕(內附福利~~)Nginx
- App效能測試揭祕(Android篇)APPAndroid
- 15個 MySQL 基礎面試題,DBA 們準備好了嗎?MySql面試題
- 揭祕ThreadLocalthread
- 揭祕instancetype
- React面試祕籍React面試
- SpringBoot下使用定時任務的方式全揭祕Spring Boot
- 揭開redux,react-redux的神祕面紗ReduxReact
- 揭開Future的神祕面紗——任務取消
- 2018 CDEX文化裝備全產業鏈大會議程全揭祕!產業
- 面試Hadoop DBA的重要問題面試Hadoop
- 揭祕得物客服IM全鏈路通訊過程
- 揭開Future的神祕面紗——結果獲取
- 揭開Future的神祕面紗——任務執行
- 揭開java記憶體模型的神祕面紗Java記憶體模型
- 揭開單體應用程式的神祕面紗
- MySQL DBA如何從刪庫跑路到carry全場MySql
- 搜遍全網,整理的MySQL面試題,附答案。MySql面試題
- 震撼!全網第一張原始碼分析全景圖揭祕Nginx原始碼Nginx
- 揭祕前端儲存前端
- ReactJS底層揭祕ReactJS
- synchronized底層揭祕synchronized
- 揭開React中server-side rending的神祕面紗ReactServerIDE
- 揭開JS無埋點技術的神祕面紗JS
- 揭開NoahV智慧運維前端框架的神祕面紗運維前端框架
- 揭開DRF序列化技術的神祕面紗
- Java必知必會之(四)--多執行緒全揭祕(下)Java執行緒
- Java必知必會之(四)---多執行緒全揭祕(上)Java執行緒
- 揭祕MySQL 主從環境中大事務的傳奇事蹟MySql
- Spring Boot 揭祕與實戰(二) 資料儲存篇 – MySQLSpring BootMySql