java面試技巧

簡歷

1.HR看簡歷,都是看技術關鍵詞。能夠多看招聘要求,簡歷上要多寫些關鍵詞。好比io,集合,多線程,併發,spring,mysql,分佈式等等。
2.能夠準備多份簡歷,根據不一樣的jd發送不一樣的簡歷。
3.網上簡歷作成pdf格式會好一些,word由於版本緣由可能排版會變亂。
4.網上簡歷能夠稍微誇大一下,半懂不懂的也寫上去。紙質簡歷必定要將半懂不懂的技術去掉。固然,最好仍是保持一致。
5.沒有了解過的技術,不要寫在紙質簡歷上,一問就蒙了。
6.頻繁跳槽的經歷,能夠合成一段。頻繁跳槽給人的印象不好。
7."我的評價"直接寫技術棧,不要寫樂觀向上,團結友愛這些。
8."項目經驗"除了介紹項目,還要寫清楚涉及到的技術內容,以及本身負責的模塊。
9.博客、GitHub都是加分項。不要擔憂本身寫的東西很簡單,其實幾乎沒有面試官會去看的。
10.閱讀過Java源碼,Spring源碼。這些也是加分項。php

項目經驗

項目簡介:
我任任職XX公司XX部門,該部門後臺系統主要由API模塊,APP後臺模塊,算法模塊以及數據模塊組成。後臺的任務經過分佈式任務系統進行任務管理。
責任描述:
我主要負責XX模塊,實現了XX功能、XX功能和XX功能。XX功能運用到了XX技術……
技術要點:
整套系統部署在公司的服務器上,主要基於公司的Mysql集羣和Redis集羣作數據存儲,使用MQ集羣作消息隊列,基於ZK集羣搭建高可用系統,前期咱們服務以前的調用方式都是基於HTTP的方式,服務耦合性較高,後期咱們基於SpringCloud框架作了整個系統的微服務化,進行解耦。html

投遞網站

拉勾網:專一互聯網招聘。能夠直接上傳簡歷,很是方便,還能夠查看面試的評價。
BOSS直聘:在線聊天,以後再投簡歷。能夠先設置好招呼語,好比:java

你好,我正在找java開發的工做。
XX年畢業,本科,XX大學,XX專業。
java基礎紮實,熟悉io,集合,多線程,併發;
熟悉spring,springMvc,mybatis,springBoot,springCloud等框架,
熟悉分佈式/微服務,緩存redis,消息隊列kafka,服務協調zookeeper等。

獵聘網:會有獵頭來找你。能夠設置成只有獵頭能夠查看。
51job:工做崗位挺多的。
其餘:智聯招聘。
1.除非實在找不到工做,不然記得將簡歷設置成不可查看,否則一大堆外包公司打電話過來。
2.不要直接就投遞給大公司。先投簡歷給一些中小型公司,總結本身的不足,而後再去心儀的公司面試,這樣拿到好offer的機率更大。
3.面試幾家練練手後,就能夠投給比較大的公司了。篩選出500-2000人以上的公司。
4.記得時常刷新簡歷。這樣獵頭更容易找到你。mysql

內推

內推更靠譜些。直接跳過投簡歷環節,能夠經過同窗/朋友瞭解到公司內部的狀況。
若是面試成功,內推的人是能夠拿到獎勵的。所以,找朋友內推別很差意思,人家也是願意拿錢的。
我之前內推過朋友進公司,賺了三天工資。哈哈。linux

公司

1.最好是互聯網行業。有最新的技術。複雜的場景。高可用高併發分佈式。
2.技術棧最好要匹配。若是不是理想的技術棧,可能幹久了仍是沒有長進。
3.其次是中大型規模的公司IT部門。最好是幾百人以上的公司。
4.其餘的選擇:
創業公司:作的事情太雜。須要通才,什麼髒活累活都得幹,加班太多了。並且創業公司隨時有裁人、倒閉的可能。
外包公司:外包乾久了,只會變成搬運工,並且外包的工做經歷可能會減分。
國企:技術特別落後,流程極慢,人際關係複雜。不過國企上班時間很短,適合養老。
外企:外企加班通常很少。
5.能夠經過「看準網」、「職友集」這類網站查看公司的評價。c++

跳槽準備

1.想要跳槽,最好提早兩個月,開始準備面試。
2.離職證實,用彩色打印多幾份,章也是紅色的,跟原件基本是同樣的。git

行業及產品

除了技術棧和薪水,還要考慮行業和產品。
行業背景也很重要。假如你去面試一家金融公司,那麼作過有關金融的項目經驗就是極大的加分項。程序員

面試資料

1.書籍:《碼出高效》(重點看集合和多線程的源碼講解,很是實用),《劍指offer》,《java程序員面試寶典》,《Cracking the Coding Interview(6th)》
2.網站:牛客網、LeetCode
若是想進大公司,必須刷題。面試時可能須要手寫算法。
3.看準網、職友集等平臺,面試前能夠先查看某公司的面試題。面試

技術模塊

優先級:java基礎,集合,多線程,併發,ssm,數據庫,jvm ,分佈式,網絡,操做系統。
加分項:高併發、分佈式、微服務
其餘:linux,git
數據結構和算法:手寫代碼、手寫算法
項目經驗:這個主要介紹項目,以及本身負責的模塊及技術,因人而異。
若是去大公司面試,很是注重技術廣度和技術深度。通常會進行連環炮問法。對某一個知識點,一直深問到底層原理。
好比,問線程池參數,你回答後就會問參數中的"拒絕策略"有哪些?阻塞隊列有哪些?隊列是默認值是什麼?有哪些不一樣類型的線程池?怎麼本身設計一個線程池?
若是想進大公司,必定要多讀源碼,理解底層原理。
若是是高級開發或者架構,那還會考驗系統設計能力、架構能力。
各模塊面試題可查看: https://www.cnblogs.com/expiator/category/1372059.htmlredis

面試

1.徹底不懂的,就直接說不會,瞎扯給人的印象更差。
2.半懂不懂的,能夠說一時想不起來,讓面試官提示一下。
3.不懂的東西,一個字都不要提。否則人家一問就蒙了。好比人家問redis能夠作什麼?就說緩存,若是沒用過度布式鎖,千萬別提。
4.不要一直由面試官說話。有時能夠本身推動。。好比面試官問新建線程的方式有哪些?你回答完以後,還能夠再補充一下。說開發中用線程池比較多,那面試官可能就會問你一些線程池的技術。
5.其實,負責java崗位的面試官,有多是搞c++/php的,也多是不懂技術的管理人員。遇到不懂技術的,可能適當說些專業術語吹吹牛。不過,一個不懂技術的人來面試java崗位,可能公司是不太靠譜的。
6.日常工做中比較少用到的知識,若是實在理解不了,能夠背起來。

手寫代碼

1.有時候須要手寫代碼,最好本身先寫一遍。
2.算法:數組、字符串、棧、鏈表、樹、查找算法(尤爲二分查找法)、各類排序算法(快排最重要、冒泡比較"低端"),能夠看下《劍指offer》
3.設計模式:面試要求寫的有單例模式(最好能寫線程安全的)、工廠模式、觀察者模式、代理模式、生產者消費者模式。
4.就算是寫不出來,也能夠寫些僞代碼,或者說一下大致的思路,最重要的就是思路。

提問問題

面試後面試官可能會問,「你還有什麼要問個人?」
1.介紹一下技術團隊的規模和人員。有幾個後端?有沒有產品人員?
2.團隊作的是什麼項目?屬於哪些方面?
3.使用了哪些技術棧?有沒有用到分佈式或者微服務的技術?有沒有落地?
4.公司的做息時間。
5.作開發確定是要加班的,但我想了解一下加班的強度。

心態

1.面試也是提升能力的一種方法。在學習過程當中,須要設定目標,分模塊逐步學習,測試學習成果,獲取反饋,針對不足刻意訓練。 而面試就是一種獲取反饋的有效手段。能夠針對面試不足,不斷總結提升。 把面試當成是交流和學習吧,心態放平會好不少。

相關文章
相關標籤/搜索