- Oracle程序員面試筆試寶典
- 猿媛之家組編 李華榮等編著
- 1542字
- 2019-09-16 15:01:55
2.3 當企業在招聘時,對數據庫程序員通常有何要求?
先來看看某網站給出的對Oracle DBA的招聘職位JD(Job Description,工作說明)。
崗位職責:
1)承擔數據庫邏輯結構設計、歷史數據歸檔管理、數據庫安裝、調測、調優、日常維護、備份及恢復。
2)性能優化和數據庫配置管理。
3)產品性能測試、分析和推動改善。
4)數據庫技術支持。
5)數據架構研究工作。
職位要求:
1)具有3年以上的主流數據庫開發經驗,1年以上大型項目數據庫架構設計及管理經驗。
2)精通PostgreSQL數據庫,熟悉Oracle、MySQL、SQL Server等主流數據庫,熟悉數據存儲,性能優化,數據挖掘以及數據同步技術。
3)精通存儲過程、函數。
4)具備通用數據庫訪問層邏輯代碼封裝能力。
5)精通數據建模技術、熟悉各種數據集成和數據遷移技術。
6)熟悉Linux/Unix操作系統,具備TB級數據處理經驗。
7)有OCP證書優先。
8)具備良好的抽象思維,能理性地做出技術決策,具有風險控制意識。
再看看第二家公司的招聘MySQL職位JD。
工作職責:
1)負責線上、線下數據庫環境的建設、遷移、維護。
2)負責數據庫日常運行監控和性能調優。
3)負責預研新的數據庫技術適應業務增長的需求。
4)建立數據庫操作標準,開發數據庫相關工具。
5)負責數據庫方面技術難題攻關。
崗位要求:
1)計算機及相關專業本科及以上學歷,有大型互聯網公司工作經驗優先。
2)5年以上分布式MySQL數據庫系統的工作經驗;精通/熟悉MySQL數據庫的運行機制和體系架構。
3)精通/熟悉MySQL性能優化與調整,有大型分布式MySQL數據庫系統的工作經驗優先。
4)較強基于RDBMS底層的代碼的優化和Debug經驗。
5)對數據庫系統中間件的開發,以及分布式環節運維工具有經驗。
6)了解主流分布式存儲產品,例如Redis、Hbase、MongoDB等產品,并有應用、開發、運維等經驗。
7)了解主流數據庫,并對數據庫安全有很強的經驗和背景。
8)有良好的溝通協調能力,有責任心,思維邏輯性強。
對DBA(Database Administrator,數據庫管理員)而言,掌握數據庫的基本知識是必不可少的。從數據庫的操作角度而言,SQL語句才是基礎中的基礎。DBA一方面要根據需求在數據庫中實現某些功能,另一方面要指導非數據庫專業人士在數據庫中完成他們想要實現的功能,所以,關于數據庫中很多細節性的東西都需要DBA去掌握。
另外需要了解數據庫架構方面的知識,掌握SQL底層的一些知識,例如,一般學過數據庫的人都知道索引對提高查詢性能十分重要,但卻不知道過多的索引也會給數據的處理帶來負擔。如果不了解索引的內部實現機制以及SQL使用索引的原理,那么就無法合理地創建索引。
在實現了用戶的需求后,接下來的工作就是維護。再好的數據庫架構,也需要經常被維護和保養,例如,原來很有效的索引,因為索引碎片的增多,讀取的性能就會下降;因為業務的變化,有的索引被刪除了,那么如何保證重要的數據不會丟失,敏感的數據不會被不該訪問的人訪問。這一系列的問題,除了要調查、分析并制定出一套完整的方案外,還需要相關的知識來實施這套方案。日常維護會遇到非常多的問題,這些問題除了SQL的問題外,很多是跟系統或者網絡相關的,甚至是程序中出現的問題需要調試,所以,對于一名好的DBA而言,操作系統、計算機網絡與通信、程序設計語言等相關知識都需要有所涉獵。
為了管理好數據庫,特別是管理好多臺服務器,DBA有時也需要編寫工具來輔助完成任務。所以,懂SHELL或Python也是必不可少的。
通過上面的分析可以得出這樣一個結論,DBA需要的技能主要有:
(1)數據庫知識(熟練掌握)。包括SQL語言,備份,恢復,管理,數據庫結構知識,數據庫運行原理。
(2)熟練掌握至少一種數據庫,了解其他數據庫(有一定應用能力)。很少有不與其他類型數據庫交互的數據庫,如果只熟練掌握一種數據庫,那么當需要與其他數據庫交互時,就會無從下手。
(3)綜合能力(有一定的應用能力)。有一定的開發功底,程序設計能力,包括操作系統、網絡與安全等知識。
- 零基礎PHP學習筆記
- Spring Cloud Alibaba微服務架構設計與開發實戰
- 小創客玩轉圖形化編程
- Internet of Things with Intel Galileo
- MATLAB定量決策五大類問題
- Mastering RStudio:Develop,Communicate,and Collaborate with R
- Node.js全程實例
- Oracle GoldenGate 12c Implementer's Guide
- Mastering Akka
- Qt5 C++ GUI Programming Cookbook
- Python網絡爬蟲技術與應用
- 產品架構評估原理與方法
- PHP高性能開發:基礎、框架與項目實戰
- Learning PowerShell DSC(Second Edition)
- JSP程序設計與案例教程