Java轉python機器學習,並沒有大家想象的那麼美好!
輾轉幾年Java開發,換了幾份工作,沒一個穩定的學習、工作過程。中間也相親幾次,都是沒啥結果。換工作頻繁也嚴重打亂了和姑娘接觸的節奏。糟心工作連著遇到幾次,也怪自己眼光有問題。
2018也找了2次工作,中間有4、5個月沒有工作。看了個世界盃,看了個亞運會。也怪自己這段時間一直是換工作、找工作,節奏太亂了。當然,節奏不亂也可能不會比現在好吧。誰說的準呢?
Java轉機器學習——為啥呢?
主要有以下三方面原因:
1、Java感覺遇到瓶頸。Spring、Mytatis、設計模式等等,原始碼看不動了。主要是可能真的覺得沒有意思了吧。很可惜,3年多了,沒在大廠待過,小網際網路也沒做到高階Java工程師。
2、傷心了。小網際網路或者小團隊經歷——在之前的幾篇面試寫到過一些,讓自己覺得非常不爽。碰上過創業忽悠公司,就為了做了東西,然後賣了解散走人,公司和招聘來的人都是C×O們資本運作的工具。
也有公司組建團隊就為了試試市場,覺得不行或者做完了不需要這麼多人了,馬上裁掉。
還有那種噁心的團隊,同事間背後說壞話,領導直接推責任的。哎,苦逼頻繁換工作,也是醉了,真是荒廢啊,這幾年。經歷還真是豐富,對自己的職業技能發展真心沒有任何好處。
3、學到過機器學習相關內容。上學期間接觸過相關的一些理論,發現看一些機器學習內容還是看的懂。起碼知道啥是矩陣乘法,LeetCode也刷了將近80題了,也記住了一些方法。
10周自學機器學習過程——迷茫
個人基礎背景:
知道矩陣乘法
知道梯度下降、牛頓迭代,不知道原理和實現
會用Python,但機器學習的包不會用
知道有個東西叫LR,還有叫神經網路的,具體是啥就不知道了
主要看了2個教程,絕不打廣告,實話實說:
Andrew Ng的機器學習課程,Coursera的課程和史丹佛公開課。
機器線上學習課程,花了幾百塊。這個線上學習很適合面試,由於自己錯過了集訓課程,只好學個基礎課了。
除了上面的課,還做的事:
學習Python機器學習相關包、NumPy、Pandas、Sklearn、Pyplot等等;
Kaggle入門題,泰坦尼克倖存問題,用sklearn等,把排名弄到了8%。主要學習了資料處理、模型訓練流程。
機器學習面試過程——難
6周學習過後開始試水機器學習市場,也正好是世界盃結束的日子。由於沒有經驗,先投了幾個試試,鍛鍊一下,都是小公司。
可能是這個市場還是挺寬容的,接到的回覆有不少,一些電話面試就直接掛了,一些聯絡發簡歷後也掛了。
面試機會也挺多,但是深感知識深度、專案經驗不足。下面說說面試吧,由於簡歷專案經歷少,被問的涉及內容也少。
LR(必問)。這個涉及內容很多,自己也是實現過,用在過Kaggle專案,但是很多理論還是說不清楚。面試遇到的問題:最大似然、loss Function、推導、適合場景、引數、迴歸、分類、梯度下降(mini Batch、SGD),
決策樹相關。GBDT、xgboost、隨機森林等。會問推導、演算法流程、bag和Boost模式區別、剪枝演算法,
模型欠擬合、過擬合、資料清理、特徵選擇等等。
機器學習整體處理流程。認識資料、資料清理、特徵選擇、資料變換、構建模型、模型訓練、交叉驗證,
寫寫程式碼,只遇到了LeetCode簡單題(主要沒有大廠面試機會,小公司又不考,大點網際網路會考),
講講簡歷上寫的專案。我的只寫了一個Kaggle那個泰坦尼克問題(現在想想真是敢寫啊,幹到前5%也行,自己都沒到)。還寫了畢業論文和一些Java工程,湊了一頁多。
面試感受和Offer
感覺就是難啊,機會多,從學習群發現轉專業的真多。上學就學機器學習相關的優勢大。年齡可能也是問題吧。
拿到了3個offer,一個差點offer,都是新組建的演算法團隊。
(1)網際網路金融,很小的公司。幾十個開發人員,只有一個演算法——就是面試的我。面試官是技術總監,完全不懂演算法。聊得很開心,我也提醒他了,他們需要一個有經驗的人,我可能不太適合。還面了2次,第二次還是週六,在一個咖啡館。
本以為是合夥人聊聊業務,誰知道是真的機器學習面試。還問了原始碼實現、賽馬問題。聊了好久,當場給了offer。據說面試人是哪個大廠的,每週去這個公司幾次。總之最後我也沒弄明白關係。
不過有了之前的工作經歷,這次問的比較多。那邊總監團隊說演算法面試官是朋友關係,演算法面試官說自己是合作伙伴,人力又說不打算短期招聘演算法了。我也是被這種搞怕了,雖說工資對沒經驗的我還算高,但還是沒去。
(2)感覺是傳統軟體公司,給各種企業做軟體服務的,團隊據說幾百個開發。面試官也是不太懂演算法。還說為了匹配工資,按照高階Java頭銜入職,做演算法工作。
也是沒幾個人的演算法團隊(很可能我就是第一個),還得兼顧開發,感覺有點怕,透露著各種奇怪的感覺。沒啥實質演算法內容面試。這個感覺面得很空虛,所以沒去。
(3)入職的公司,也是小演算法團隊,剛組建,職位資料探勘。面試很開心,有筆試,答得不好。技術面基本圍繞分類、資料處理流程來問。涉及一些NLP的內容,不太會,也就沒問太多。2天完成2面,技術、人力和leader。差不多3、4周給了offer。
雖說工資不高,但是感覺很好,一個國企,技術團隊還沒到100人,演算法組當時面也是隻有1,2個人,不過能給比較充足的學習和嘗試時間。
(4)同學內推網際網路公司,沒發offer,面得很開心,還吃了他們的食堂(味道還行)。面的很全面,機器學習、LeetCode那種寫程式碼、還有數學題。二面的領導問了GBDT具體流程,還挺詳細。我把GBDT論文裡邊的演算法虛擬碼寫出來了。
還問了EM,這個真心不會。最後定的職位是Java開發,負責演算法模型和業務程式之間模組。最後,據說被人力pass了,理由是之前工作換的頻繁,這次找工作也沒明確目標,職業規劃不明確。
總 結
轉個工作專業真的很難,沒有運籌帷幄,全職學習去轉......這個真心說啥呢?哎!感覺應該在之前的工作中去學習,這樣換個專業還算平滑,不會有各種壓力。也可能是自己一直沒想好,工作也變動頻繁,一時衝動吧。
創業團隊倒閉、裁員打亂了學習節奏。已經這樣了,啥也說不好。3個月,最後拿到offer還是自己在學了6周時候面試的公司。只能感嘆面試人承受能力了。
工作中用的方法目前不太需要深究理論,還在基礎搭建過程,有充足學習時間。發現寫寫資料處理的Python,比做Java時候有意思。
當然這種有意思也可能和團隊氛圍有關係吧。現在又開始感覺機器學習、深度學習發展略快,自己有點跟不上節奏了。
理論基礎還沒學完,工作中內容還得學習,新的技術也得關注著。目前有點地基不牢、時間不夠用的感覺。
綜上:沒有好的職業規劃,換工作真的太危險,中間的空檔期是很大問題。經濟壓力,轉業失敗,新的工作就會比之前更好嗎?
所有都是在看運氣的感覺,這次可能真是自己幸運了!現在倒是覺得,工作中好好學習,對面試公司或部門能有機會深入瞭解,就一定要先問問,靠譜的還是內推(前提是內推人別不久就離職了)——能帶來很多面試中無法瞭解到的內容。
路途坎坷的幾年工作,傷心了2017和2018,不知道2019會如何呢?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69903766/viewspace-2331198/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 「碼農讀書」:我們並沒有自己想象的那麼理性
- 全球“萬人迷”MySQL或許並沒有想象中的那麼“香”MySql
- 升級struts2-2.5,其實並沒有想象中的那麼難
- 想拿到BAT的前端開發崗offer,並沒有想象中的那麼難!BAT前端
- Netty快速上手:Netty沒有你想象的那麼難Netty
- 復刻或重製老遊戲,可能並沒有想象中那麼簡單遊戲
- 沒有Python基礎,如何學習用Python寫機器學習Python機器學習
- 《英國皇家學會開放科學》:“一萬小時定律”並沒想象中那麼重要
- PHP轉Java有沒有好的學習路線PHPJava
- 《莎木》可能沒有那麼美好 但絕對很“特別”
- 超越身邊80%的人,其實沒有你想象的那麼難!
- 加州大學:研究表明青少年花時間在手機和網路上並不像想象中的那麼有危害
- 基於 Serverless 的 Valine 可能並沒有那麼香Server
- 解讀 App Store 稽核黑箱政策 —— 遠沒有你想象的那麼邪惡APP
- 基本型號 14 英寸 MacBook Pro 可能沒有您想象中那麼快Mac
- 在遊戲裡新增簡單模式,沒有想象中那麼簡單遊戲模式
- 相親原始碼中移動支付的實現,沒有想象中那麼難原始碼
- API 與 Webhook,其實並沒有那麼難懂APIWebHook
- Eutelsat:“超高畫質並沒有我們希望的那麼成功”
- 安全開發Java:日誌注入,並沒那麼簡單Java
- 利用Python寫個開心消消樂小遊戲,並沒有想象中的複雜Python遊戲
- OLED螢幕還未普及,移動VR沒有想象中爆發那麼快VR
- 機器學習之沒有免費午餐定理機器學習
- 走出架構誤區,架構師並不是想象的那麼容易架構
- 機器學習用java還是python?機器學習JavaPython
- 世嘉的霧遊戲有沒有那麼奇葩?遊戲
- 『研究發現“一萬小時定律”並沒想象中那麼重要』今日資料行業日報(2019.08.28)行業
- [python學習]機器學習 -- 感知機Python機器學習
- [轉載] Python 機器學習經典例項Python機器學習
- 什麼是java?為什麼大家都學習java技術?Java
- 機器學習沒有捷徑,根據機器學習演算法地圖學習是最有效的一種方式!機器學習演算法地圖
- 【機器學習】--Python機器學習庫之Numpy機器學習Python
- 學習python中的pandas有沒有好的教程推薦?Python
- java的學習方法有哪些?Java學什麼?Java
- Java學習有什麼好的學習建議麼?Java
- 機器學習並不“萬能”機器學習
- (轉)為什麼選擇機器學習策略機器學習
- Java培訓:什麼是Java?為什麼大家都學習Java技術?Java