梁朝偉可愛(ài)
近幾年,互聯(lián)網(wǎng)行業(yè)發(fā)展迅速,最受人歡迎的非軟件工程師莫屬了,可軟件工程師也有很多細(xì)分的方向,比如Web方向、大數(shù)據(jù)方向、物聯(lián)網(wǎng)方向、云計(jì)算方向、人工智能方向、區(qū)塊鏈方向等等,不同方向的軟件工程師需要具備的知識(shí)結(jié)構(gòu)也會(huì)有所區(qū)別。另外,不同行業(yè)(金融、教育、通信、醫(yī)療)的軟件工程師往往在知識(shí)結(jié)構(gòu)上也有所區(qū)別。今天,IT培訓(xùn)就和大家來(lái)聊聊!
通常情況下,軟件工程師需要具備以下幾個(gè)方面的知識(shí)結(jié)構(gòu):
第一:操作系統(tǒng)知識(shí)。操作系統(tǒng)知識(shí)是軟件工程師必須具備的重要內(nèi)容,Web開(kāi)發(fā)領(lǐng)域可能會(huì)使用到Windows系列操作系統(tǒng),大數(shù)據(jù)和物聯(lián)網(wǎng)方向要使用到Linux系列操作系統(tǒng),掌握操作系統(tǒng)的體系結(jié)構(gòu)是進(jìn)行軟件研發(fā)的重要基礎(chǔ)。主要內(nèi)容包括資源管理、任務(wù)調(diào)度、并發(fā)管理、權(quán)限管理、網(wǎng)絡(luò)管理等內(nèi)容。
第二:編程語(yǔ)言和算法。編程語(yǔ)言是軟件工程師必備的技能,不同方向的開(kāi)發(fā)需要使用到不同的編程語(yǔ)言,比如Web開(kāi)發(fā)可能會(huì)使用PHP、Python、Java等語(yǔ)言,而大數(shù)據(jù)可能會(huì)使用Java、R、Scala等語(yǔ)言,而物聯(lián)網(wǎng)開(kāi)發(fā)可能會(huì)使用到C、C++等編程語(yǔ)言。通常來(lái)說(shuō),軟件工程師往往需要掌握多門(mén)編程語(yǔ)言,以應(yīng)對(duì)不同的開(kāi)發(fā)環(huán)境。算法是軟件工程師的重點(diǎn)知識(shí)結(jié)構(gòu),因?yàn)檐浖邪l(fā)說(shuō)到底就是個(gè)數(shù)學(xué)問(wèn)題,所以算法的掌握情況往往能夠決定軟件工程師的成長(zhǎng)高度。當(dāng)然,對(duì)于應(yīng)用級(jí)軟件工程師來(lái)說(shuō),也有可能不會(huì)接觸到更多的算法。
第三:領(lǐng)域知識(shí)。不同開(kāi)發(fā)領(lǐng)域需要掌握不同的知識(shí)結(jié)構(gòu),比如大數(shù)據(jù)軟件工程師往往需要掌握Hadoop、Spark平臺(tái)的使用,而Web開(kāi)發(fā)工程師往往還需要掌握前后端開(kāi)發(fā)技術(shù),包括一系列Web開(kāi)發(fā)框架的使用等等。
愛(ài)上家裝飾
熟悉Linux操作系統(tǒng),基本配置,系統(tǒng)管理,網(wǎng)絡(luò)路由包過(guò)濾防火墻與各種服務(wù)程序配置;熟悉shell腳本語(yǔ)言,熟悉C,Python,JAVA其中一種或幾種了解Linux下的RAID、LVM等機(jī)制與配置,了解Linux下的各種本地文件系統(tǒng)與網(wǎng)絡(luò)文件系統(tǒng),熟練進(jìn)行調(diào)優(yōu)配置。熟悉各種主流的開(kāi)源分布式文件系統(tǒng)及分布式存儲(chǔ)系統(tǒng);熟悉Hadoop框架,各個(gè)相關(guān)軟件模塊,能夠安裝、配置、優(yōu)化hadoop運(yùn)行系統(tǒng),熟悉各種hadoop變種產(chǎn)品及相應(yīng)優(yōu)缺點(diǎn),對(duì)hadoop平臺(tái)有自己的理解,了解OpenStack平臺(tái),能夠搭建、定制OpenStack系統(tǒng)。拓展資料Linux重要目錄結(jié)構(gòu)詳解
susyweswes
Linux云計(jì)算工程師應(yīng)該具備以下知識(shí):1、熟悉Linux操作系統(tǒng),基本配置,系統(tǒng)管理,網(wǎng)絡(luò)路由包過(guò)濾防火墻與各種服務(wù)程序配置;2、熟悉shell腳本語(yǔ)言,熟悉C,Python,JAVA其中一種或幾種3、了解Linux下的RAID、LVM等機(jī)制與配置,了解Linux下的各種本地文件系統(tǒng)與網(wǎng)絡(luò)文件系統(tǒng),熟練進(jìn)行調(diào)優(yōu)配置。熟悉各種主流的開(kāi)源分布式文件系統(tǒng)及分布式存儲(chǔ)系統(tǒng);4、熟悉Hadoop框架,各個(gè)相關(guān)軟件模塊,能夠安裝、配置、優(yōu)化hadoop運(yùn)行系統(tǒng),熟悉各種hadoop變種產(chǎn)品及相應(yīng)優(yōu)缺點(diǎn),對(duì)hadoop平臺(tái)有自己的理解,了解OpenStack平臺(tái),能夠搭建、定制OpenStack系統(tǒng)。
就叫小胖
windows下面的cygwin其實(shí)就是模擬Linux環(huán)境,如果條件允許的話,還是直接使用Linux吧,比如我們公司做Hadoop研究開(kāi)發(fā)都是在Fedora上面進(jìn)行的。其實(shí)Linux就是命令多點(diǎn),對(duì)于開(kāi)發(fā)人員而言。如果不是開(kāi)發(fā)內(nèi)核或者驅(qū)動(dòng)程序的話,那么沒(méi)什么難度,你想要的資料和信息網(wǎng)上可以找到一大堆。做hadoop開(kāi)發(fā)的話,因?yàn)楸旧硎荍ava開(kāi)發(fā)的,所以用盡java上手還是比較快的,當(dāng)然只要有標(biāo)準(zhǔn)輸入輸出的語(yǔ)言都可以開(kāi)發(fā)hadoop的。此外,Shell腳本盡量多掌握些,本人不喜歡在IDE下面工作,所以有點(diǎn)小怪僻而已,shell掌握了也就等于掌握Linux的基礎(chǔ)了。此外,ssh,iptables等還是最好學(xué)會(huì)如何配置或使用的。等你實(shí)踐后,遇到問(wèn)題再私下交流吧
優(yōu)質(zhì)工程師考試問(wèn)答知識(shí)庫(kù)