簡歷
1.HR看簡歷,都是看技術關鍵詞。可以多看招聘要求,簡歷上要多寫些關鍵詞。比如io,集合,多線程,並發,spring,mysql,分布式等等。
2.可以准備多份簡歷,根據不同的jd發送不同的簡歷。
3.網上簡歷做成pdf格式會好一些,word因為版本原因可能排版會變亂。
4.網上簡歷可以稍微誇大一下,半懂不懂的也寫上去。紙質簡歷一定要將半懂不懂的技術去掉。當然,最好還是保持一致。
5.沒有了解過的技術,不要寫在紙質簡歷上,一問就蒙了。
6.頻繁跳槽的經歷,可以合成一段。頻繁跳槽給人的印象很差。
7."個人評價"直接寫技術棧,不要寫樂觀向上,團結友愛這些。
8."項目經驗"除了介紹項目,還要寫清楚涉及到的技術內容,以及自己負責的模塊。
9.博客、GitHub都是加分項。不要擔心自己寫的東西很簡單,其實幾乎沒有面試官會去看的。
10.閱讀過Java源碼,Spring源碼。這些也是加分項。
項目經驗
項目簡介:
我任任職XX公司XX部門,該部門后台系統主要由API模塊,APP后台模塊,算法模塊以及數據模塊組成。后台的任務通過分布式任務系統進行任務管理。
責任描述:
我主要負責XX模塊,實現了XX功能、XX功能和XX功能。XX功能運用到了XX技術……
技術要點:
整套系統部署在公司的服務器上,主要基於公司的Mysql集群和Redis集群做數據存儲,使用MQ集群做消息隊列,基於ZK集群搭建高可用系統,前期我們服務之前的調用方式都是基於HTTP的方式,服務耦合性較高,后期我們基於SpringCloud框架做了整個系統的微服務化,進行解耦。
投遞網站
拉勾網:專注互聯網招聘。可以直接上傳簡歷,非常方便,還可以查看面試的評價。
BOSS直聘:在線聊天,之后再投簡歷。可以先設置好招呼語,比如:
你好,我正在找java開發的工作。
XX年畢業,本科,XX大學,XX專業。
java基礎扎實,熟悉io,集合,多線程,並發;
熟悉spring,springMvc,mybatis,springBoot,springCloud等框架,
熟悉分布式/微服務,緩存redis,消息隊列kafka,服務協調zookeeper等。
獵聘網:會有獵頭來找你。可以設置成只有獵頭可以查看。
51job:工作崗位挺多的。
其他:智聯招聘。
1.除非實在找不到工作,否則記得將簡歷設置成不可查看,不然一大堆外包公司打電話過來。
2.不要直接就投遞給大公司。先投簡歷給一些中小型公司,總結自己的不足,然后再去心儀的公司面試,這樣拿到好offer的機率更大。
3.面試幾家練練手后,就可以投給比較大的公司了。篩選出500-2000人以上的公司。
4.記得時常刷新簡歷。這樣獵頭更容易找到你。
內推
內推更靠譜些。直接跳過投簡歷環節,可以通過同學/朋友了解到公司內部的情況。
如果面試成功,內推的人是可以拿到獎勵的。因此,找朋友內推別不好意思,人家也是願意拿錢的。
我以前內推過朋友進公司,賺了三天工資。哈哈。
公司
1.最好是互聯網行業。有最新的技術。復雜的場景。高可用高並發分布式。
2.技術棧最好要匹配。如果不是理想的技術棧,可能干久了還是沒有長進。
3.其次是中大型規模的公司IT部門。最好是幾百人以上的公司。
4.其他的選擇:
創業公司:做的事情太雜。需要通才,什么臟活累活都得干,加班太多了。而且創業公司隨時有裁員、倒閉的可能。
外包公司:外包干久了,只會變成搬運工,而且外包的工作經歷可能會減分。
國企:技術特別落后,流程極慢,人際關系復雜。不過國企上班時間很短,適合養老。
外企:外企加班一般不多。
5.可以通過“看准網”、“職友集”這類網站查看公司的評價。
跳槽准備
1.想要跳槽,最好提前兩個月,開始准備面試。
2.離職證明,用彩色打印多幾份,章也是紅色的,跟原件基本是一樣的。
行業及產品
除了技術棧和薪水,還要考慮行業和產品。
行業背景也很重要。假如你去面試一家金融公司,那么做過有關金融的項目經驗就是極大的加分項。
面試資料
1.書籍:《碼出高效》(重點看集合和多線程的源碼講解,非常實用),《劍指offer》,《java程序員面試寶典》,《Cracking the Coding Interview(6th)》
2.網站:牛客網、LeetCode
如果想進大公司,必須刷題。面試時可能需要手寫算法。
3.看准網、職友集等平台,面試前可以先查看某公司的面試題。
4.面試題不要死記硬背,理解最重要。看背試題時,多舉幾個實際例子,理論聯系實踐,才能深刻理解,深度記憶。
技術模塊
優先級:java基礎,集合,多線程,並發,ssm,數據庫,jvm ,分布式,網絡,操作系統。
加分項:高並發、分布式、微服務
其他:linux,git
數據結構和算法:手寫代碼、手寫算法
項目經驗:這個主要介紹項目,以及自己負責的模塊及技術,因人而異。
如果去大公司面試,非常注重技術廣度和技術深度。一般會進行連環炮問法。對某一個知識點,一直深問到底層原理。
比如,問線程池參數,你回答后就會問參數中的"拒絕策略"有哪些?阻塞隊列有哪些?隊列是默認值是什么?有哪些不同類型的線程池?怎么自己設計一個線程池?
如果想進大公司,一定要多讀源碼,理解底層原理。
如果是高級開發或者架構,那還會考驗系統設計能力、架構能力。
各模塊面試題可查看: https://www.cnblogs.com/expiator/category/1372059.html
面試
1.完全不懂的,就直接說不會,瞎扯給人的印象更差。
2.半懂不懂的,可以說一時想不起來,讓面試官提示一下。
3.不懂的東西,一個字都不要提。不然人家一問就蒙了。比如人家問redis可以做什么?就說緩存,如果沒用過分布式鎖,千萬別提。
4.不要一直由面試官說話。有時可以自己推進。。比如面試官問新建線程的方式有哪些?你回答完之后,還可以再補充一下。說開發中用線程池比較多,那面試官可能就會問你一些線程池的技術。
5.其實,負責java崗位的面試官,有可能是搞c++/php的,也可能是不懂技術的管理人員。遇到不懂技術的,可能適當說些專業術語吹吹牛。不過,一個不懂技術的人來面試java崗位,可能公司是不太靠譜的。
6.平常工作中比較少用到的知識,如果實在理解不了,可以背起來。
手寫代碼
1.有時候需要手寫代碼,最好自己先寫一遍。
2.算法:數組、字符串、棧、鏈表、樹、查找算法(尤其二分查找法)、各種排序算法(快排最重要、冒泡比較"低端"),可以看下《劍指offer》
3.設計模式:面試要求寫的有單例模式(最好能寫線程安全的)、工廠模式、觀察者模式、代理模式、生產者消費者模式。
4.就算是寫不出來,也可以寫些偽代碼,或者說一下大體的思路,最重要的就是思路。
5.面試常見的算法題: https://blog.csdn.net/weixin_38118016/article/details/90761111
如果時間不太夠,刷LeetCode時,Status選擇Top Interview Question,先刷面試常考的
提問問題
面試后面試官可能會問,“你還有什么要問我的?”
1.介紹一下技術團隊的規模和人員。有幾個后端?有沒有產品人員?
2.團隊做的是什么項目?屬於哪些方面?
3.使用了哪些技術棧?有沒有用到分布式或者微服務的技術?有沒有落地?
4.公司的作息時間。
5.做開發肯定是要加班的,但我想了解一下加班的強度。
心態
1.面試也是提高能力的一種方法。在學習過程中,需要設定目標,分模塊逐步學習,測試學習成果,獲取反饋,針對不足刻意訓練。
而面試就是一種獲取反饋的有效手段。可以針對面試不足,不斷總結提高。
把面試當成是交流和學習吧,心態放平會好很多。