當(dāng)你決定離職之前,你就應(yīng)該開始為下一份工作做準(zhǔn)備了。
那么,該準(zhǔn)備什么呢?
我建議是第一是跟語言無關(guān)的部分,也就是所謂的基本功。具體也就是我們大學(xué)本科里面最頭疼的那些東西,數(shù)據(jù)結(jié)構(gòu)算法,還有一些計(jì)算機(jī)網(wǎng)絡(luò)的基本知識。
鑒于這個(gè)東西實(shí)在很枯燥,我不建議大家去看那些黑皮書,反正我是真的是看不下去啊。
那么問題來了,看什么?
書籍我推薦:大話數(shù)據(jù)結(jié)構(gòu)。
視頻我推薦:小甲魚的的課程。網(wǎng)易云課堂:數(shù)據(jù)結(jié)構(gòu)和算法
首先,書里面的代碼雖然是用c語言寫的,但我相信語言大家都還是有一點(diǎn)c語言基礎(chǔ)的,再者說語言里面很多東西都是通用的。而且正好可以嘗試用java再寫一遍,這樣效果更好。如果不想買書的,可以上網(wǎng)找找pdf版本,找不到我這里也有,不過還是建議買一本。而視頻為什么是這個(gè)呢?因?yàn)樾〖佐~就是按照這個(gè)書來講的,配合大話數(shù)據(jù)結(jié)構(gòu)相得益彰,就是相當(dāng)于教師加上教材。書里面看不懂的地方都可以好好再聽一遍小甲魚的講解應(yīng)該就差不多了。小甲魚除了講基本的數(shù)據(jù)結(jié)構(gòu),還穿插了很多的經(jīng)典算法問題的解決方案,最棒的地方是都是c語言寫的啊,我們想要現(xiàn)成的都沒有,所以跟著看,自己寫啦。
學(xué)習(xí)完基本的數(shù)據(jù)結(jié)構(gòu),就Java的數(shù)據(jù)結(jié)構(gòu)相關(guān)的類實(shí)現(xiàn)原理,比如LinkedList,ArrayList,HashMap,TreeMap這一類的。結(jié)合api去看,很多你之前不懂得地方會恍然大悟。
除了數(shù)據(jù)結(jié)構(gòu),需要長時(shí)間準(zhǔn)備還應(yīng)該有設(shè)計(jì)模式。
雖然說有23種設(shè)計(jì)模式,但是我覺得大家掌握最常用和經(jīng)典的十個(gè)左右就差不多了。剩下的大概了解即可。
書籍我推薦:head first 設(shè)計(jì)模式 /大話設(shè)計(jì)模式
兩者隨意選一本即可,或者兩本對照著看也是可以的。
看的時(shí)候記住最重要的一點(diǎn):
不要光顧著看!
不要光顧著看!
不要光顧著看!
比如你學(xué)習(xí)完了觀察者模式,已經(jīng)大概了解了其實(shí)現(xiàn)原理。那么現(xiàn)在合上書本,仔細(xì)在你的項(xiàng)目中想一下,哪里是符合觀察者模式的應(yīng)用場景的?
你又是怎么實(shí)現(xiàn)的?如果要改應(yīng)該怎么改呢?
如果你找到了符合的地方,那么你就把原來的設(shè)計(jì)用觀察者模式重新寫下來。
注意,不要隨便用在生產(chǎn)上,你現(xiàn)在只是要充分理解這個(gè)模式,而和實(shí)際結(jié)合是最好的學(xué)習(xí)方式。而當(dāng)你寫完了到底要不要放在生產(chǎn)上,你可以先和你的技術(shù)組長說一下,設(shè)計(jì)模式切記不要生搬硬套。
如果你沒有在你的項(xiàng)目中想到合適的應(yīng)用場景,那么沒關(guān)系,你就自己想一個(gè)區(qū)別于書上的例子,自己獨(dú)立完成。
每個(gè)模式都自己寫一遍實(shí)現(xiàn)邏輯,估計(jì)當(dāng)你寫的時(shí)候肯定有不理解的地方,這時(shí)候就是你撕開的地方了,到底為什么這么寫,這么寫好在哪里,完成了時(shí)候就已經(jīng)基本掌握這個(gè)模式了。然后還有最后一步,那就是寫博客。
不知道大家有沒有聽過學(xué)習(xí)的金字塔?
簡單來說,學(xué)習(xí)的方式不同最后能記住的東西差了很多。
第一種,“聽講”,這種我們最常用的方式,學(xué)習(xí)效果最低的,內(nèi)容只能留下5%。
第二種,通過“閱讀”方式學(xué)到的內(nèi)容,可以保留10%。
第三種,用“聲音、圖片”的方式學(xué)習(xí),可以達(dá)到20%。
第四種,是“示范”,采用這種學(xué)習(xí)方式,可以記住30%。
第五種,“小組討論”,可以記住50%的內(nèi)容。
第六種,“做中學(xué)”或“實(shí)際演練”,可以達(dá)到75%。
最后一種在金字塔基座位置的學(xué)習(xí)方式,是“教別人”或者“馬上應(yīng)用”,可以記住90%的學(xué)習(xí)內(nèi)容。
看到這里明白了吧?
寫博客就是把你的理解交給別人,是最好的學(xué)習(xí)方式,而且你把你的博客放在電子簡歷上,絕對是很棒的加分項(xiàng)。 我的面試官最后跟我說,錄用我的原因也有一部分是看了我的博客,覺得我是一個(gè)愛好學(xué)習(xí)的人,在我技術(shù)和其他人差不多的情況下,更加愿意給我機(jī)會。
簡歷
我一開始也忽略了簡歷的重要性。
隨便花了十幾分鐘填了一個(gè)在線模板就開始投遞了,結(jié)果是可以預(yù)料的。都石沉大海。
我們首先要知道一件事情,即使是一家小公司發(fā)布一個(gè)招聘的職位,那么收到的簡歷也可能幾百個(gè)。HR會在這幾百個(gè)甚至上千個(gè)里面選幾個(gè)出來面試,所以哪怕你技術(shù)再好,如果簡歷不能體現(xiàn)出你的水平,連見到面試官的機(jī)會都沒有,那怎么能找到理想的工作呢?
那么問題來了,簡歷怎么寫呢?
我偷懶用的在線的模板,當(dāng)然如果你的內(nèi)容寫的不錯(cuò),問題還是不大的,但是建議還是不要用現(xiàn)成的模板,拉鉤的就挺坑,最上面是一張大大的照片還有教育經(jīng)歷也占了很大地方,結(jié)果最重要的項(xiàng)目經(jīng)驗(yàn)要到第二頁才能看到。
簡歷一般都有幾個(gè)模塊,工作經(jīng)歷,教育經(jīng)歷,項(xiàng)目經(jīng)驗(yàn),自我描述,技能評價(jià)等等。
教育經(jīng)歷我就不說了,這個(gè)沒什么技術(shù)含量。
工作經(jīng)歷
寫上你的上一家公司,從事的職位(java后端開發(fā)),如果你在這三年的時(shí)間換了兩家以上的公司,我建議你還不要都寫上,HR是不喜歡那種經(jīng)常跳槽的,在這個(gè)年限,一般最好是一家到兩家。這些按照實(shí)際情況寫就好了,都是死的東西,接下來就要寫上你的職責(zé)了。
有的人和我最開始寫的一樣
java 后端開發(fā),最多加上一句 負(fù)責(zé)接口的編寫和實(shí)現(xiàn)。
這么寫和沒寫一樣
這么寫和沒寫一樣
這么寫和沒寫一樣
那應(yīng)該怎么寫呢?
1、根據(jù)業(yè)務(wù)需求調(diào)整數(shù)據(jù)模型,設(shè)計(jì)程序接口,實(shí)現(xiàn)接口業(yè)務(wù)邏輯,編寫接口文檔。
2、根據(jù)前端組html及css,編寫jsp頁面及js腳本。
3、日常版本的發(fā)布及緊急回退。
4、處理日常bug和在生產(chǎn)發(fā)生的緊急問題。
5、新同事及實(shí)習(xí)生的業(yè)務(wù)培訓(xùn)。
6、配合性能測試優(yōu)化代碼和sql。
7、參與新需求評審。
上面是我后來修改的的,你覺得兩者差了多少呢?
一定要具體,并且分條陳述,作為一個(gè)技術(shù)崗位,要體現(xiàn)出你的專業(yè)素養(yǎng)。
項(xiàng)目經(jīng)歷
這個(gè)千萬要寫,當(dāng)然工作也這么久了都會有項(xiàng)目經(jīng)歷,但是也要有一個(gè)主次。
第一個(gè)放你最熟悉的,最好是近期的,你從頭開始做的項(xiàng)目,你能如數(shù)家珍侃侃而談的哪種。這也是面試官面試的時(shí)候主要和你談的地方,是除了技術(shù)問題之外最重要的一塊。(后面寫面試的時(shí)候我會詳談)
那么項(xiàng)目怎么寫呢?
我建議業(yè)務(wù)寫一兩句就好,如果你的項(xiàng)目介紹通篇都是滿滿的業(yè)務(wù),那么幾乎注定了你的簡歷不會進(jìn)入被篩選的范圍內(nèi)。
你想一下,你自己應(yīng)聘的是什么崗位?
技術(shù)崗!
那么你應(yīng)該寫什么?
簡單的介紹項(xiàng)目的規(guī)模,有多少技術(shù)人員,是互聯(lián)網(wǎng)項(xiàng)目還是企業(yè)軟件,這些就可以了。
接下來你需要寫關(guān)于項(xiàng)目技術(shù)的那部分。
項(xiàng)目用了什么框架?spring 還是struts2 ,持久化是用的是mybaits還是hibernate等等,有沒有使用RPC框架(Dubbo /HSF)?數(shù)據(jù)庫用的是什么?有沒有用到redis?
版本控制工具是svn還是git,有沒有前后端分離?有沒有寫js ,如果有,你都用到了哪些前端組件, 能寫的都列出來,還有項(xiàng)目是這么分層的?有幾個(gè)子模塊,平時(shí)發(fā)布版本是用的自動(dòng)化工具嗎?(jennkins) ,項(xiàng)目管理用的是什么?(maven)等等,也就是說要讓hr第一眼就能看到這是一個(gè)有經(jīng)驗(yàn)的開發(fā)人員。
下面是我的一個(gè)項(xiàng)目,寫的也不是很好,僅供參考。
- 基于阿里云平臺和中間件技術(shù)研發(fā),應(yīng)用包括云服務(wù)器 ECS,云數(shù)據(jù)庫 RDS,Redis,DRDS對象存儲OSS,開放搜索(OpenSearch),企業(yè)級分布式應(yīng)用服務(wù) EDAS(HSF服務(wù)框架)等技術(shù)。
- 使用maven進(jìn)行項(xiàng)目管理,根據(jù)業(yè)務(wù)分成多個(gè)web子模塊,方便開發(fā)測試和部署。
- spring +mybaits 框架開發(fā),mysql分布式數(shù)據(jù)庫。
- 基于OpenSearch 的全平臺商品名稱搜索,基于redis的商品類目存儲。
- 使用cas實(shí)行單點(diǎn)登錄,shiro 認(rèn)證、授權(quán)、加密和會話管理。
- poi ,jxl 導(dǎo)入導(dǎo)出excel,itext 生成pdf,Zxing生成二維碼。
- ajax 前后端交互,jquery及多個(gè)前端組件包括layer,jquery validate,autocomplete,jdate,datatable分頁等。
- 統(tǒng)一用jenkins發(fā)布,敏捷開發(fā),jira 平臺處理日常及生產(chǎn)問題。
自我介紹
這個(gè)模塊就不要寫什么工作努力了,與人和善,團(tuán)隊(duì)協(xié)作這樣的空話了。
你可以寫你在項(xiàng)目中的作用,你解決了什么樣的問題?得到了客戶怎樣的認(rèn)可?可以寫寫你經(jīng)歷過的加班,怎么努力的保證了項(xiàng)目上線,這些都能體現(xiàn)出你的價(jià)值,你的閃光點(diǎn)。
除了主語言,還會什么其他的語言/技術(shù),或者喜歡逛技術(shù)論壇,最好附上自己的回答,寫技術(shù)博客(放上你的博客地址),當(dāng)然如果有GitHub 上的項(xiàng)目就再好不過了。
好了,說了這么多,簡歷大概就是這個(gè)樣子了。
投遞
現(xiàn)在招聘網(wǎng)站很多,專注it的就有拉勾啊,100offer ,boss直聘,獵聘,智聯(lián)招聘等等。
我建議不要太過廣泛的投遞,(我就吃到了這個(gè)苦頭,最多一天收到十幾個(gè)預(yù)約面試的電話)在投遞前至少看一下公司的性質(zhì),是否和你的期望相符,還有公司的地址距離你是否太遠(yuǎn),公司是否上市等等。
至于具體選擇哪家,各有千秋吧。
非利益相關(guān),我只說我用的,我最開始用的是拉勾網(wǎng)。但是反饋很少,我大概看了一下,很多其實(shí)都是要求3-5年的工作經(jīng)驗(yàn),是招聘中高級的程序員,而我勉強(qiáng)算三年的工作經(jīng)驗(yàn),所以只收到了一個(gè)面試的預(yù)約。
后來,我就在智聯(lián)招聘上開始投遞,投遞的范圍也僅限于初中級的工作經(jīng)驗(yàn)一到三年的,我還用了那個(gè)十五天的簡歷置頂,效果還是很明顯的。我其余四家的面試都是智聯(lián)招聘上找到我的。
在這里我先說一下,投遞的第一天可能沒有人聯(lián)系,那是很正常的。
因?yàn)镠R處理簡歷是有一個(gè)周期的,每天都有很多的簡歷,你的可能要過一兩天才能被看到,但如果三天還沒有人聯(lián)系你,你就要思考下,是不是你的簡歷寫的哪里有問題了。
面試
如果你收到了面試邀請,那么恭喜你,你已經(jīng)成功了一小半。
HR 一般會和你確定時(shí)間,并且給你發(fā)一封郵件,你需要收到后回復(fù),并且查看一下面試的地點(diǎn),同一天最多安排兩家,并且查詢好路線,因?yàn)槎际堑谝淮稳?,所有找路一定會花更多的時(shí)間,所以至少提前留出一個(gè)小時(shí)以上的時(shí)間?,F(xiàn)在天氣也已經(jīng)很暖和了,在外面也不冷了,提前到達(dá)總比氣喘吁吁的直接面試好很多。
有的公司會有筆試,但是不用太介意,回答你會的就好,這個(gè)只是一個(gè)初步的篩選,無論筆試成績怎么樣,都會讓你去面試的,面試才是最重要的地方。
技術(shù)面試針對我們這種有一定工作經(jīng)驗(yàn)的,已經(jīng)不會問你比如 java 有幾種基本類型這樣的問題了,主要集中在java的高級特性上面。一般分為兩個(gè)階段。
第一個(gè)階段是主語言本身以及它的高級特性,第二個(gè)階段是講述自己的項(xiàng)目,并在中間穿插著問題。
主語言本身以及它的高級特性
Java的數(shù)據(jù)結(jié)構(gòu)相關(guān)的類實(shí)現(xiàn)原理,比如LinkedList,ArrayList,HashMap,TreeMap這一類的。(前期的準(zhǔn)備)
Java并發(fā)包當(dāng)中的類,它們都有哪些作用,以及它們的實(shí)現(xiàn)原理,這些類就是java.concurrent包。(重中之重,一定要仔細(xì)看看)
IO包和NIO包中的內(nèi)容。這部分里面NIO會是重點(diǎn)。(這個(gè)問的不是很多)
設(shè)計(jì)模式 這個(gè)一般都會問,讓你說說熟悉的設(shè)計(jì)模式。(前期的準(zhǔn)備)
Java的虛擬機(jī)的內(nèi)容。這部分主要包括三部分,GC、類加載機(jī)制,以及內(nèi)存。
項(xiàng)目
業(yè)務(wù)上把你在項(xiàng)目中的責(zé)任著重體現(xiàn)出來,對項(xiàng)目的架構(gòu)以及為什么這么設(shè)計(jì)要有認(rèn)識。
一定要斟酌你說出的技術(shù),最后挑那些你確實(shí)用過的地方去說,這樣才能防止你說出一個(gè)技術(shù),面試官深入把你問倒的情況。但是如果真的有一兩個(gè)地方不熟悉也不要緊,你可以及時(shí)打住,并且坦誠的承認(rèn)自己在這塊積累不夠。不要在一個(gè)問題上硬挺,不懂裝懂。
還有最重要的一點(diǎn),一定要說出你的閃光點(diǎn)。
比如你解決了哪個(gè)很嚴(yán)重的生產(chǎn)問題,比如你應(yīng)用了那些設(shè)計(jì)模式在你的項(xiàng)目里面,比如你有什么巧妙的解決一些棘手問題的技巧。
相信我,你仔細(xì)回想,是一定可以找到至少這樣一個(gè)閃光點(diǎn)的。
哪怕你說我能加班,我997,我熬夜通宵也把任務(wù)完成了。這也是你的閃光點(diǎn)啊,說明你責(zé)任心強(qiáng)。
你不要等待面試官發(fā)問,很多問題你都可以引導(dǎo)面試到提問的。
這里還有一點(diǎn)也是被問比較頻繁的。
就是項(xiàng)目中是怎么高并發(fā)訪問的問題的?
你是怎么去提高性能瓶頸的?
常規(guī)的優(yōu)化手段都有哪些?
面試的時(shí)候并沒有固定的套路,你要懂得隨機(jī)應(yīng)變,好的心理素質(zhì)和知識儲備是兩大法寶,以不變應(yīng)萬變,但無論怎樣,都要保持好的心態(tài)。
失敗是很正常的。
但是你要相信,只要你沒有虛度光陰,是一定能找到相對理想的工作的,每一次的失敗中你都要冷靜的想一下自己到底是哪里的儲備不夠,并且立刻去了解這部分知識,從失敗中汲取經(jīng)驗(yàn),成功就不遠(yuǎn)了。
offer
最后,如果你收到了不止一個(gè)offer,盡快推掉不準(zhǔn)備接受的其他的offer,這樣不要耽誤人家的招聘。記得要禮貌的拒絕,并表示歉意。
預(yù)祝大家都能找到理想的工作。
-
工程師
+關(guān)注
關(guān)注
59文章
1590瀏覽量
69500 -
JAVA
+關(guān)注
關(guān)注
20文章
2989瀏覽量
109763
發(fā)布評論請先 登錄


硬件工程師看了只會找個(gè)角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師

工程師經(jīng)驗(yàn)分享:社區(qū)之星 趙云 沉著穩(wěn)定才能做好技術(shù)



推薦資料!硬件系統(tǒng)工程師寶典,工程師必備寶典

硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體
電子工程師的電源設(shè)計(jì)經(jīng)驗(yàn)分享


不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實(shí) #YXC晶振 #揚(yáng)興科技

當(dāng)你的工程師朋友失聯(lián)時(shí),別氣,ta真的是在忙工作 #搞笑 #電子愛好者 #硬件工程師 #晶振 #揚(yáng)興科技

硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師

評論