演算法工程師面經
1. 百度計算機視覺演算法工程師面經(research 崗,已offer)
一面(技術面):
1、相機外參,相機內參
2、分水嶺演算法
3、目標檢測了解嗎
4、3D這塊有了解嗎
5、論文是你寫的嗎
6、介紹一下圖像分割
7、Deeplab v1, v2, v3, v3+
8、U-net後續改進
9、Non-local
10、經典三維重建公式
11、分割常用backbone
二面(技術面):
1、數據增強方法
2、dropout方法
3、圖像分割常見深度學習方法
4、簡單介紹一下三維重建項目,平行還是stereo,如何估計的depth map
5、deep lab v3與deep lab v3+的區別
6、深度可分離卷積介紹,輸入輸出,channel數
7、為什麼mobile net要用深度可分離卷積
8、數據集imbalance如何處理
9、常見的圖像分割損失函數
10、iou能作為損失函數嗎
11、linux 下shell命令行開發熟悉嗎
12、組里以發論文為主,寫論文的意願
13、相機鉛培內外參
14、現在大幾,可實習到段激猜什麼時候
15、希望自驅性比較高
三面(hr面)
因為是日常實習崗不是校招所以沒有...
總結
二次面試過程中我都有些太隨意了,有過一些打斷面試小姐姐握型說話的舉動,謝謝說的比較少,中間不舒服還活動了下嗓子...還好問的問題比較簡單最後過了。
2. 演算法工程師工作期間需要掌握什麼知識學到哪些核心技術
演算法工程師的主要核心技術基於數學,並輔以語言。要全面掌握的知識包括高級數學,復變函數,線性代數的離散數學,數據結構以及數據挖掘所需的概率論和數學統計知識。不要太受約束去平時閱讀教科書並多練習,並培養良好的思維能力。只有那些有想法的人才能擁有技術的未來。嘗試實現您遇到的任何演算法,無論演算法的優劣總是有其自身的特徵。此外,您必須具有一定的英語水平(至少6級),因為該領域的大多數官方材料都是外語。
計算機及相關專業本科以上學歷,在互聯網搜索,推薦,流量或相關領域有2年以上工作經驗。熟悉機器學習/自然語言處理/數據挖掘/深度學習中至少一項的原理和演算法,並且能夠熟練地建模和解決業務問題。精通Linux平台下的C / C ++ / Java語言開發,精通使用gcc / gdb等開發工具,並精通Python / Linux Shell / SQL等腳本開發。熟悉hadoop / hbase / storm等分布式計算技術,並熟悉其運行機制和體系結構。具有出色的分析和解決問題的能力,思路清晰,並對工作挑戰充滿熱情。具有強烈的工作責任感和團隊合作精神,並能夠交流和更好地學習。
3. 面試遇到演算法題怎麼辦,都不會
科班出身還是半路出家?半路出家就選別這類崗位。
計算機科學專業的基礎,外加演算法競賽相關的培訓和實戰,不算基礎,培訓過程也至少要耗去一兩年,所以要算能不能和值不值。真正需要演算法能力高超的崗位薪水好,但是,少之又少,競爭慘烈,985本專業畢業生能搶上的都屬於鳳毛麟角。
4. 演算法工程師大致是做什麼的
各個行業都有演算法部分,統計有統計的演算法,控制有控制的演算法,圖像處理有圖像處理的演算法。在很多傳統行業,演算法不是一個獨立的崗位,而是由研發工程師負責。今天小編就帶大家來了解下演算法工程師大致是做什麼的?我們接著往下看。
1. 圖像處理,尤其是基於OpenCV的圖像處理演算法,一般產品里有做美顏,濾鏡什麼的特別喜歡招這塊的小朋友,近一兩年有被做深度學習的取代的趨勢。最近google出了arcore,所以讓不少小公司也能出一些效果很好的換頭類應用。
2. 計算機圖形學,這也算是一個大類,主要涉及到圖形渲染演算法,光追演算法,三維圖像重構等圖像繪制方面的內容。這個方向,不光是做3d引擎和游戲開發方面,對於很多行業需要與cad相關的,都會涉及到這一個領域的模型和優化演算法設計。
3. VR,AR領域,涉及到的包括視頻跟蹤,SLAM,raytracing,幾何投影等等,實際上是一個綜合的領域,目前主要是做計算機視覺的轉行做這塊。
4. 醫學影像處理,三維圖像重構,用在B超,CT成像上,這個是醫療方向的。
5. 通信基帶信號處理,網路優化演算法,這一塊其實很式微了,畢竟高大上的演算法小公司沒成本去實施。
6. 音頻濾波,用在HiFi產品,比如車載音響,手機廠商,圈子其實蠻小的。
7. 控制演算法,自適應濾波演算法,用在機械領域上,比如機械臂行程式控制制,穩定性。
8. 有限元演算法,這塊從雷達,機械,電磁學,到服裝設計,都有很有價值的應用。
9. 信號處理,比如插值,頻譜分析,盲信號分離,壓縮感知,物聯網大部分應用會涉及這一塊。
互聯網和軟體行業把演算法分離成一個獨立的崗位大體有兩個原因。第一,低級的軟體工程師不懂演算法,或者更乾脆一點說不懂數學,所有涉及到模型和計算公式的工作都必須要找專業人員來搞定。第二,從生產效率考慮,初級演算法工程師很多沒有很好的軟體工程背景,簡單點說就是不會寫代碼只會寫matlab,這種工程師的工作交付沒有辦法直接投入生產,所以需要將他們的工作和生產環節隔離開。綜上所述,就是小編今天給大家分享的內容,希望可以幫助到大家。
5. 你覺得演算法工程師的就業前景如何
隨著大數據和人工智慧領域的不斷深入發展,自然語言處理、機器學習等方向成為求職的大熱門,演算法工程師也自然而然成為目前最炙手可熱的崗位。雖然演算法工程師一直被頻頻提及,但是許多人對這個崗位的了解還知之甚少。那麼演算法工程師究竟是做什麼的?發展前景怎麼樣呢?
由於演算法工程師對於知識結構的要求比較豐富,同時演算法工程師崗位主要以研發為主,需要從業者具備一定的創新能力,所以要想從事演算法工程師崗位往往需要讀一下研究生,目前不少大型科技企業對於演算法工程師的相關崗位也有一定的學歷要求。
6. 想做一名演算法工程師需要學什麼
1、業務認知&問題定位
首先要清楚你所要解決的問題是什麼,是否需要復雜的演算法求解。問題的定義來源於你對業務的認知和理解。我們經常陷入一種誤區,覺得自己是一名演算法工程師,遇到任務問題都想要用復雜的演算法去求解。正所謂一頓操作猛如虎,得來的效果卻很一般。因此,做事之前一定要在理解業務的基礎上,把問題定位清楚,用合適的方法求解。
2、數據挖掘&分析
深度學習的應用能夠突飛猛進的一個重要原因就是大數據的支撐。當前獲取數據的成本很低,而數據清理和挖掘的成本很高,但非常重要。數據是模型的輸入,是模型能夠擬合的上限。在入模之前,你需要花一定的精力用於數據工作,這是必要也是值得的。因此,掌握數據能力也是一名演算法工程師的必經之路。
3、演算法策略
這是每位演算法工程師的硬實力,有了清晰的問題和可用的數據後,我們需要選擇合適的演算法策略求解問題。就銷量預估而言,由於特徵大部分都是表格型,樹模型及其變體成為首選的方案。通過樹模型,你能夠快速拿到一個不錯的baseline。但千萬不要停滯不前,你需要調研更多的先進的方案進行優化,即使此時能夠拿到的受益不多,但請堅持專研的精神(近期時序模型中,熱度很高的informer值得嘗試)。此外,「人工智慧,有多少人工就有多少智能」這句話在實際應用領域體現得淋漓盡致。策略也屬於演算法的一部分,人工策略有時候能夠帶來很大的受益,也能夠找到更適合的演算法優化方向。例如,我們在優化首猜的貨品池時,考慮到首猜目前的推薦演算法已經非常優秀了,但消費者的成交來源主要是搜索,我們通過人工分析選擇了做增量貨品供給的方式,拿到了不錯的業務效果。基於此,我們也找到了更合適的選品演算法優化方向。
4、離線實驗和線上AB實驗
實驗是驗證理論的最佳手段,也是最具有說服力的。我們需要找到幾個合適的指標進行優化,並且要保證離線效。
7. 成為演算法工程師需要學習哪些課程
演算法工程師要求很高的數學水平和邏輯思維。需要學習高數,線性代數,離散數學,數據結構和計算機等課程。
專業要求:計算機、電子、通信、數學等相關專業;
學歷要求:本科及其以上的學歷,大多數是碩士學歷及其以上;
語言要求:英語要求是熟練,基本上能閱讀國外專業書刊;
必須掌握計算機相關知識,熟練使用模擬工具MATLAB等,必須會一門編程語言。
國內外狀況
國內從事演算法研究的工程師不少,但是高級演算法工程師卻很少,是一個非常緊缺的專業工程師。
演算法工程師根據研究領域來分主要有音頻/視頻演算法處理、圖像技術方面的二維信息演算法處理和通信物理層、雷達信號處理、生物醫學信號處理等領域的一維信息演算法處理。