前 言
輾轉(zhuǎn)幾年Java開發(fā),換了幾份工作宫仗,沒一個(gè)穩(wěn)定的學(xué)習(xí)够挂、工作過程。中間也相親幾次藕夫,都是沒啥結(jié)果孽糖。換工作頻繁也嚴(yán)重打亂了和姑娘接觸的節(jié)奏枯冈。糟心工作連著遇到幾次,也怪自己眼光有問題办悟。
2018也找了2次工作尘奏,中間有4、5個(gè)月沒有工作病蛉§偶樱看了個(gè)世界杯,看了個(gè)亞運(yùn)會铺然。也怪自己這段時(shí)間一直是換工作俗孝、找工作,節(jié)奏太亂了魄健。當(dāng)然赋铝,節(jié)奏不亂也可能不會比現(xiàn)在好吧。誰說的準(zhǔn)呢诀艰?
”我自己是一名從事了十余年的后端的老程序員柬甥,辭職后目前在做講師,近期我花了一個(gè)月整理了一份最適合2018年學(xué)習(xí)的JAVA干貨(里面有高可用其垄、高并發(fā)苛蒲、高性能及分布式、Jvm性能調(diào)優(yōu)绿满、Spring源碼臂外,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個(gè)知識點(diǎn)的架構(gòu)資料)從事后端的小伙伴們都可以來了解一下的喇颁,這里是程序員秘密聚集地漏健,各位還在架構(gòu)師的道路上掙扎的小伙伴們速來¢裒“
加QQ群:611481448(名額有限哦D杞)
Java轉(zhuǎn)機(jī)器學(xué)習(xí)——為啥呢?
主要有以下三方面原因:
1姐叁、Java感覺遇到瓶頸瓦盛。Spring、Mytatis外潜、設(shè)計(jì)模式等等原环,源碼看不動了。主要是可能真的覺得沒有意思了吧处窥。很可惜嘱吗,3年多了,沒在大廠待過滔驾,小互聯(lián)網(wǎng)也沒做到高級Java工程師谒麦。
2俄讹、傷心了。小互聯(lián)網(wǎng)或者小團(tuán)隊(duì)經(jīng)歷——在之前的幾篇面試寫到過一些弄匕,讓自己覺得非常不爽颅悉。碰上過創(chuàng)業(yè)忽悠公司,就為了做了東西迁匠,然后賣了解散走人剩瓶,公司和招聘來的人都是C×O們資本運(yùn)作的工具。
也有公司組建團(tuán)隊(duì)就為了試試市場城丧,覺得不行或者做完了不需要這么多人了延曙,馬上裁掉。
還有那種惡心的團(tuán)隊(duì)亡哄,同事間背后說壞話枝缔,領(lǐng)導(dǎo)直接推責(zé)任的。哎蚊惯,苦逼頻繁換工作愿卸,也是醉了,真是荒廢啊截型,這幾年趴荸。經(jīng)歷還真是豐富,對自己的職業(yè)技能發(fā)展真心沒有任何好處宦焦。
3发钝、學(xué)到過機(jī)器學(xué)習(xí)相關(guān)內(nèi)容。上學(xué)期間接觸過相關(guān)的一些理論波闹,發(fā)現(xiàn)看一些機(jī)器學(xué)習(xí)內(nèi)容還是看的懂酝豪。起碼知道啥是矩陣乘法,LeetCode也刷了將近80題了精堕,也記住了一些方法孵淘。
10周自學(xué)機(jī)器學(xué)習(xí)過程——迷茫
個(gè)人基礎(chǔ)背景:
知道矩陣乘法
知道梯度下降、牛頓迭代歹篓,不知道原理和實(shí)現(xiàn)
會用Python瘫证,但機(jī)器學(xué)習(xí)的包不會用
知道有個(gè)東西叫LR,還有叫神經(jīng)網(wǎng)絡(luò)的滋捶,具體是啥就不知道了
主要看了2個(gè)教程痛悯,絕不打廣告余黎,實(shí)話實(shí)說:
Andrew Ng的機(jī)器學(xué)習(xí)課程重窟,Coursera的課程和斯坦福公開課。
機(jī)器在線學(xué)習(xí)課程惧财,花了幾百塊巡扇。這個(gè)在線學(xué)習(xí)很適合面試扭仁,由于自己錯(cuò)過了集訓(xùn)課程,只好學(xué)個(gè)基礎(chǔ)課了厅翔。
除了上面的課乖坠,還做的事:
學(xué)習(xí)Python機(jī)器學(xué)習(xí)相關(guān)包、NumPy刀闷、Pandas熊泵、Sklearn、Pyplot等等甸昏;
Kaggle入門題顽分,泰坦尼克幸存問題,用sklearn等施蜜,把排名弄到了8%卒蘸。主要學(xué)習(xí)了數(shù)據(jù)處理、模型訓(xùn)練流程翻默。
機(jī)器學(xué)習(xí)面試過程——難
6周學(xué)習(xí)過后開始試水機(jī)器學(xué)習(xí)市場缸沃,也正好是世界杯結(jié)束的日子。由于沒有經(jīng)驗(yàn)修械,先投了幾個(gè)試試趾牧,鍛煉一下,都是小公司祠肥。
可能是這個(gè)市場還是挺寬容的武氓,接到的回復(fù)有不少,一些電話面試就直接掛了仇箱,一些聯(lián)系發(fā)簡歷后也掛了县恕。
面試機(jī)會也挺多,但是深感知識深度剂桥、項(xiàng)目經(jīng)驗(yàn)不足忠烛。下面說說面試吧,由于簡歷項(xiàng)目經(jīng)歷少权逗,被問的涉及內(nèi)容也少美尸。
LR(必問)。這個(gè)涉及內(nèi)容很多斟薇,自己也是實(shí)現(xiàn)過师坎,用在過Kaggle項(xiàng)目,但是很多理論還是說不清楚堪滨。面試遇到的問題:最大似然胯陋、loss Function、推導(dǎo)、適合場景遏乔、參數(shù)义矛、回歸、分類盟萨、梯度下降(mini Batch凉翻、SGD),
決策樹相關(guān)捻激。GBDT制轰、xgboost、隨機(jī)森林等胞谭。會問推導(dǎo)艇挨、算法流程、bag和Boost模式區(qū)別韭赘、剪枝算法缩滨,
模型欠擬合、過擬合泉瞻、數(shù)據(jù)清理脉漏、特征選擇等等。
機(jī)器學(xué)習(xí)整體處理流程袖牙。認(rèn)識數(shù)據(jù)侧巨、數(shù)據(jù)清理、特征選擇鞭达、數(shù)據(jù)變換司忱、構(gòu)建模型、模型訓(xùn)練畴蹭、交叉驗(yàn)證坦仍,
寫寫代碼,只遇到了LeetCode簡單題(主要沒有大廠面試機(jī)會叨襟,小公司又不考繁扎,大點(diǎn)互聯(lián)網(wǎng)會考),
講講簡歷上寫的項(xiàng)目糊闽。我的只寫了一個(gè)Kaggle那個(gè)泰坦尼克問題(現(xiàn)在想想真是敢寫啊梳玫,干到前5%也行,自己都沒到)右犹。還寫了畢業(yè)論文和一些Java工程提澎,湊了一頁多。
面試感受和Offer
感覺就是難啊念链,機(jī)會多盼忌,從學(xué)習(xí)群發(fā)現(xiàn)轉(zhuǎn)專業(yè)的真多莉炉。上學(xué)就學(xué)機(jī)器學(xué)習(xí)相關(guān)的優(yōu)勢大。年齡可能也是問題吧碴犬。
拿到了3個(gè)offer,一個(gè)差點(diǎn)offer梆暮,都是新組建的算法團(tuán)隊(duì)服协。
(1)互聯(lián)網(wǎng)金融,很小的公司啦粹。幾十個(gè)開發(fā)人員偿荷,只有一個(gè)算法——就是面試的我。面試官是技術(shù)總監(jiān)唠椭,完全不懂算法跳纳。聊得很開心,我也提醒他了贪嫂,他們需要一個(gè)有經(jīng)驗(yàn)的人寺庄,我可能不太適合。還面了2次力崇,第二次還是周六斗塘,在一個(gè)咖啡館。
本以為是合伙人聊聊業(yè)務(wù)亮靴,誰知道是真的機(jī)器學(xué)習(xí)面試馍盟。還問了源碼實(shí)現(xiàn)、賽馬問題茧吊。聊了好久贞岭,當(dāng)場給了offer。據(jù)說面試人是哪個(gè)大廠的搓侄,每周去這個(gè)公司幾次瞄桨。總之最后我也沒弄明白關(guān)系讶踪。
不過有了之前的工作經(jīng)歷讲婚,這次問的比較多。那邊總監(jiān)團(tuán)隊(duì)說算法面試官是朋友關(guān)系俊柔,算法面試官說自己是合作伙伴筹麸,人力又說不打算短期招聘算法了。我也是被這種搞怕了雏婶,雖說工資對沒經(jīng)驗(yàn)的我還算高物赶,但還是沒去。
(2)感覺是傳統(tǒng)軟件公司留晚,給各種企業(yè)做軟件服務(wù)的酵紫,團(tuán)隊(duì)據(jù)說幾百個(gè)開發(fā)告嘲。面試官也是不太懂算法。還說為了匹配工資奖地,按照高級Java頭銜入職橄唬,做算法工作。
也是沒幾個(gè)人的算法團(tuán)隊(duì)(很可能我就是第一個(gè))参歹,還得兼顧開發(fā)仰楚,感覺有點(diǎn)怕,透露著各種奇怪的感覺犬庇。沒啥實(shí)質(zhì)算法內(nèi)容面試僧界。這個(gè)感覺面得很空虛,所以沒去臭挽。
(3)入職的公司捂襟,也是小算法團(tuán)隊(duì),剛組建欢峰,職位數(shù)據(jù)挖掘葬荷。面試很開心,有筆試纽帖,答得不好闯狱。技術(shù)面基本圍繞分類、數(shù)據(jù)處理流程來問抛计。涉及一些NLP的內(nèi)容哄孤,不太會,也就沒問太多吹截。2天完成2面瘦陈,技術(shù)、人力和leader波俄。差不多3晨逝、4周給了offer。
雖說工資不高懦铺,但是感覺很好捉貌,一個(gè)國企,技術(shù)團(tuán)隊(duì)還沒到100人冬念,算法組當(dāng)時(shí)面也是只有1,2個(gè)人趁窃,不過能給比較充足的學(xué)習(xí)和嘗試時(shí)間。
(4)同學(xué)內(nèi)推互聯(lián)網(wǎng)公司急前,沒發(fā)offer醒陆,面得很開心,還吃了他們的食堂(味道還行)裆针。面的很全面刨摩,機(jī)器學(xué)習(xí)寺晌、LeetCode那種寫代碼、還有數(shù)學(xué)題澡刹。二面的領(lǐng)導(dǎo)問了GBDT具體流程呻征,還挺詳細(xì)。我把GBDT論文里邊的算法偽代碼寫出來了罢浇。
還問了EM陆赋,這個(gè)真心不會。最后定的職位是Java開發(fā)己莺,負(fù)責(zé)算法模型和業(yè)務(wù)程序之間模塊。最后戈轿,據(jù)說被人力pass了凌受,理由是之前工作換的頻繁,這次找工作也沒明確目標(biāo)思杯,職業(yè)規(guī)劃不明確胜蛉。
總 結(jié)
轉(zhuǎn)個(gè)工作專業(yè)真的很難,沒有運(yùn)籌帷幄色乾,全職學(xué)習(xí)去轉(zhuǎn)......這個(gè)真心說啥呢誊册?哎!感覺應(yīng)該在之前的工作中去學(xué)習(xí)暖璧,這樣換個(gè)專業(yè)還算平滑案怯,不會有各種壓力。也可能是自己一直沒想好澎办,工作也變動頻繁嘲碱,一時(shí)沖動吧。
創(chuàng)業(yè)團(tuán)隊(duì)倒閉局蚀、裁員打亂了學(xué)習(xí)節(jié)奏麦锯。已經(jīng)這樣了,啥也說不好琅绅。3個(gè)月扶欣,最后拿到offer還是自己在學(xué)了6周時(shí)候面試的公司。只能感嘆面試人承受能力了千扶。
工作中用的方法目前不太需要深究理論料祠,還在基礎(chǔ)搭建過程,有充足學(xué)習(xí)時(shí)間澎羞。發(fā)現(xiàn)寫寫數(shù)據(jù)處理的Python术陶,比做Java時(shí)候有意思。
當(dāng)然這種有意思也可能和團(tuán)隊(duì)氛圍有關(guān)系吧∶汉郏現(xiàn)在又開始感覺機(jī)器學(xué)習(xí)梧宫、深度學(xué)習(xí)發(fā)展略快接谨,自己有點(diǎn)跟不上節(jié)奏了。
理論基礎(chǔ)還沒學(xué)完塘匣,工作中內(nèi)容還得學(xué)習(xí)脓豪,新的技術(shù)也得關(guān)注著。目前有點(diǎn)地基不牢忌卤、時(shí)間不夠用的感覺扫夜。
綜上:沒有好的職業(yè)規(guī)劃,換工作真的太危險(xiǎn)驰徊,中間的空檔期是很大問題笤闯。經(jīng)濟(jì)壓力,轉(zhuǎn)業(yè)失敗棍厂,新的工作就會比之前更好嗎颗味?
所有都是在看運(yùn)氣的感覺,這次可能真是自己幸運(yùn)了牺弹!現(xiàn)在倒是覺得浦马,工作中好好學(xué)習(xí),對面試公司或部門能有機(jī)會深入了解张漂,就一定要先問問晶默,靠譜的還是內(nèi)推(前提是內(nèi)推人別不久就離職了)——能帶來很多面試中無法了解到的內(nèi)容。
路途坎坷的幾年工作航攒,傷心了2017和2018磺陡,不知道2019會如何呢?