大數據時代的寵兒——算法工程師(全解析)

現在算法工程師都有哪些分類?

大數據時代的寵兒——算法工程師(全解析)

算法工程師簡介

(通常是月薪15k以上,年薪18萬以上,只是一個概數,具體薪資可以到招聘網站如拉鉤,獵聘網上看看)

算法工程師目前是一個高端也是相對緊缺的職位;

算法工程師包括

音/視頻算法工程師(通常統稱為語音/視頻/圖形開發工程師)、圖像處理算法工程師、計算機視覺算法工程師、通信基帶算法工程師、信號算法工程師、射頻/通信算法工程師、自然語言算法工程師、數據挖掘算法工程師、搜索算法工程師、控制算法工程師(雲臺算法工程師,飛控算法工程師,機器人控制算法)、導航算法工程師、其他【其他一切需要複雜算法的行業】

專業要求:計算機、電子、通信、數學等相關專業;

學歷要求:本科及其以上的學歷,大多數是碩士學歷及其以上;

語言要求:英語要求是熟練,基本上能閱讀國外專業書刊,做這一行經常要讀論文;必須掌握計算機相關知識,熟練使用仿真工具MATLAB等,必須會一門編程語言。

1 機器學習

2 大數據處理:熟悉至少一個分佈式計算框架Hadoop/Spark/Storm/ map-reduce/MPI

3 數據挖掘

4 紮實的數學功底

5 至少熟悉C/C++或者Java,熟悉至少一門編程語言例如java/python/R

加分項:具有較為豐富的項目實踐經驗(不是水論文的哪種)

大數據時代的寵兒——算法工程師(全解析)

算法工程師大致分類與技術要求

(一)圖像算法/計算機視覺工程師類

包括:

圖像算法工程師,圖像處理工程師,音/視頻處理算法工程師,計算機視覺工程師

要求:

l 專業:計算機、數學、統計學相關專業;

l 技術領域:機器學習,模式識別

l 技術要求:

(1) 精通DirectX HLSL和OpenGL GLSL等shader語言,熟悉常見圖像處理算法GPU實現及優化;

(2) 語言:精通C/C++;

(3) 工具:Matlab數學軟件,CUDA運算平臺,VTK圖像圖形開源軟件【醫學領域:ITK,醫學圖像處理軟件包】

(4) 熟悉OpenCV/OpenGL/Caffe等常用開源庫;

(5) 有人臉識別,行人檢測,視頻分析,三維建模,動態跟蹤,車識別,目標檢測跟蹤識別經歷的人優先考慮;

(6) 熟悉基於GPU的算法設計與優化和並行優化經驗者優先;

(7) 【音/視頻領域】熟悉H.264等視頻編解碼標準和FFMPEG,熟悉rtmp等流媒體傳輸協議,熟悉視頻和音頻解碼算法,研究各種多媒體文件格式,GPU加速;

應用領域:

(1) 互聯網:如美顏app

(2) 醫學領域:如臨床醫學圖像

(3) 汽車領域

(4) 人工智能

相關術語:

(1) OCR:OCR (Optical Character Recognition,光學字符識別)是指電子設備(例如掃描儀或數碼相機)檢查紙上打印的字符,通過檢測暗、亮的模式確定其形狀,然後用字符識別方法將形狀翻譯成計算機文字的過程

(2) Matlab:商業數學軟件;

(3) CUDA: (Compute Unified Device Architecture),是顯卡廠商NVIDIA推出的運算平臺(由ISA和GPU構成)。 CUDA™是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決複雜的計算問題

(4) OpenCL: OpenCL是一個為異構平臺編寫程序的框架,此異構平臺可由CPU,GPU或其他類型的處理器組成。

(5) OpenCV:開源計算機視覺庫;OpenGL:開源圖形庫;Caffe:是一個清晰,可讀性高,快速的深度學習框架。

(6) CNN:(深度學習)卷積神經網絡(Convolutional Neural Network)CNN主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。

(7) 開源庫:指的是計算機行業中對所有人開發的代碼庫,所有人均可以使用並改進代碼算法。

2

(二)機器學習工程師

包括:

機器學習工程師

要求

l 專業:計算機、數學、統計學相關專業;

l 技術領域:人工智能,機器學習

l 技術要求:

(1) 熟悉Hadoop/Hive以及Map-Reduce計算模式,熟悉Spark、Shark等尤佳;

(2) 大數據挖掘;

(3) 高性能、高併發的機器學習、數據挖掘方法及架構的研發;

應用領域:

(1)人工智能,比如各類仿真、擬人應用,如機器人

(2)醫療用於各類擬合預測

(3)金融高頻交易

(4)互聯網數據挖掘、關聯推薦

(5)無人汽車,無人機

相關術語:

(1) Map-Reduce:MapReduce是一種編程模型,用於大規模數據集(大於1TB)的並行運算。概念"Map(映射)"和"Reduce(歸約)",是它們的主要思想,都是從函數式編程語言裡借來的,還有從矢量編程語言裡借來的特性。

2

(三)自然語言處理工程師

包括:

自然語言處理工程師

要求:

l 專業:計算機相關專業;

l 技術領域:文本數據庫

l 技術要求:

(1) 熟悉中文分詞標註、文本分類、語言模型、實體識別、知識圖譜抽取和推理、問答系統設計、深度問答等NLP 相關算法;

(2) 應用NLP、機器學習等技術解決海量UGC的文本相關性;

(3) 分詞、詞性分析、實體識別、新詞發現、語義關聯等NLP基礎性研究與開發;

(4) 人工智能,分佈式處理Hadoop;

(5) 數據結構和算法;

應用領域:

口語輸入、書面語輸入 、語言分析和理解、語言生成、口語輸出技術、話語分析與對話、文獻自動處理、多語問題的計算機處理、多模態的計算機處理、信息傳輸與信息存儲 、自然語言處理中的數學方法、語言資源、自然語言處理系統的評測。

相關術語:

(2) NLP:人工智能的自然語言處理,NLP (Natural Language Processing) 是人工智能(AI)的一個子領域。NLP涉及領域很多,最令我感興趣的是“中文自動分詞”(Chinese word segmentation):結婚的和尚未結婚的【計算機中卻有可能理解為結婚的“和尚“】

1

(四)射頻/通信/信號算法工程師類

包括:

3G/4G無線通信算法工程師, 通信基帶算法工程師,DSP開發工程師(數字信號處理),射頻通信工程師,信號算法工程師

要求:

l 專業:計算機、通信相關專業;

l 技術領域:2G、3G、4G,BlueTooth(藍牙),WLAN,無線移動通信, 網絡通信基帶信號處理

l 技術要求:

(1) 瞭解2G,3G,4G,BlueTooth,WLAN等無線通信相關知識,熟悉現有的通信系統和標準協議,熟悉常用的無線測試設備;

(2) 信號處理技術,通信算法;

(3) 熟悉同步、均衡、信道譯碼等算法的基本原理;

(4) 【射頻部分】熟悉射頻前端芯片,紮實的射頻微波理論和測試經驗,熟練使用射頻電路仿真工具(如ADS或MW或Ansoft);熟練使用cadence、altium designer PCB電路設計軟件;

(5) 有紮實的數學基礎,如複變函數、隨機過程、數值計算、矩陣論、離散數學

應用領域:

通信

VR【用於快速傳輸視頻圖像,例如樂客靈境VR公司招募的通信工程師(數據編碼、流數據)】

物聯網,車聯網

導航,軍事,衛星,雷達

相關術語:

(1) 基帶信號:指的是沒有經過調製(進行頻譜搬移和變換)的原始電信號。

(2) 基帶通信(又稱基帶傳輸):指傳輸基帶信號。進行基帶傳輸的系統稱為基帶傳輸系統。傳輸介質的整個信道被一個基帶信號佔用.基帶傳輸不需要調制解調器,設備化費小,具有速率高和誤碼率低等優點,.適合短距離的數據傳輸,傳輸距離在100米內,在音頻市話、計算機網絡通信中被廣泛採用。如從計算機到監視器、打印機等外設的信號就是基帶傳輸的。大多數的局域網使用基帶傳輸,如以太網、令牌環網。

(3) 射頻:射頻(RF)是Radio Frequency的縮寫,表示可以輻射到空間的電磁頻率(電磁波),頻率範圍從300KHz~300GHz之間(因為其較高的頻率使其具有遠距離傳輸能力)。射頻簡稱RF射頻就是射頻電流,它是一種高頻交流變化電磁波的簡稱。每秒變化小於1000次的交流電稱為低頻電流,大於10000次的稱為高頻電流,而射頻就是這樣一種高頻電流。高頻(大於10K);射頻(300K-300G)是高頻的較高頻段;微波頻段(300M-300G)又是射頻的較高頻段。【有線電視就是用射頻傳輸方式】

(4) DSP:數字信號處理,也指數字信號處理芯片

(五)數據挖掘算法工程師類

包括:

推薦算法工程師,數據挖掘算法工程師

要求:

l 專業:計算機、通信、應用數學、金融數學、模式識別、人工智能;

l 技術領域:機器學習,數據挖掘

l 技術要求:

(1) 熟悉常用機器學習和數據挖掘算法,包括但不限於決策樹、Kmeans、SVM、線性迴歸、邏輯迴歸以及神經網絡等算法;

(2) 熟練使用SQL、Matlab、Python等工具優先;

(3) 對Hadoop、Spark、Storm等大規模數據存儲與運算平臺有實踐經驗【均為分佈式計算框架】

(4) 數學基礎要好,如高數,統計學,數據結構

l 加分項:數據挖掘建模大賽;

應用領域

(1) 個性化推薦

(2) 廣告投放

(3) 大數據分析

相關術語

Map-Reduce:MapReduce是一種編程模型,用於大規模數據集(大於1TB)的並行運算。概念"Map(映射)"和"Reduce(歸約)",是它們的主要思想,都是從函數式編程語言裡借來的,還有從矢量編程語言裡借來的特性。

6

(六)搜索算法工程師

要求:

l 技術領域:自然語言

l 技術要求:

(1) 數據結構,海量數據處理、高性能計算、大規模分佈式系統開發

(2) hadoop、lucene

(3) 精通Lucene/Solr/Elastic Search等技術,並有二次開發經驗

(4) 精通Lucene/Solr/Elastic Search等技術,並有二次開發經驗;

(5) 精通倒排索引、全文檢索、分詞、排序等相關技術;

(6) 熟悉Java,熟悉Spring、MyBatis、Netty等主流框架;

(7) 優秀的數據庫設計和優化能力,精通MySQL數據庫應用 ;

(8) 瞭解推薦引擎和數據挖掘和機器學習的理論知識,有大型搜索應用的開發經驗者優先。

7

(七)控制算法工程師類

包括了雲臺控制算法,飛控控制算法,機器人控制算法

要求:

l 專業:計算機,電子信息工程,航天航空,自動化

l 技術要求:

(1) 精通自動控制原理(如PID)、現代控制理論,精通組合導航原理,姿態融合算法,電機驅動,電機驅動

(2) 卡爾曼濾波,熟悉狀態空間分析法對控制系統進行數學模型建模、分析調試;

l 加分項:有電子設計大賽,機器人比賽,robocon等比賽經驗,有硬件設計的基礎;

應用領域

(1)醫療/工業機械設備

(2)工業機器人

(3)機器人

(4)無人機飛控、雲臺控制等

8

(八)導航算法工程師

要求:

l 專業:計算機,電子信息工程,航天航空,自動化

l 技術要求(以公司職位JD為例)

公司一 (1)精通慣性導航、激光導航、雷達導航等工作原理; (2)精通組合導航算法設計、精通卡爾曼濾波算法、精通路徑規劃算法; (3)具備導航方案設計和實現的工程經驗; (4)熟悉C/C++語言、熟悉至少一種嵌入式系統開發、熟悉Matlab工具;

公司二 (1)熟悉基於視覺信息的SLAM、定位、導航算法,有1年以上相關的科研或項目經歷; (2)熟悉慣性導航算法,熟悉IMU與視覺信息的融合;

應用領域

無人機、機器人等。

有圖像算法工程師,要熟悉圖像算法,會matlab仿真,會C/C++編程,能用匯編優化性能或者上gpu應該都是加分項

有通信算法工程師,矩陣加傅立葉變換等等數學套餐,Matlab仿真加一門編程語言,最主要看的是對通信算法的熟悉

有數據挖掘/機器學習方向的算法工程師,估計題主好的就是這口了…編程能力最重,python/c/java都行,熟悉linux,知道mapreduce能講清楚或者答一個demo思路,數據結構算法一半,主流機器學習算法一半剩下就是看面試官喜好了

還有一些其它的類別,比如數值優化算法工程師,機器人算法工程師等

基本技能就是數據結構相關的算法+編程能力+熟悉相關領域算法

大數據時代的寵兒——算法工程師(全解析)


分享到:


相關文章: