java Guide 面试指南
原文鏈接
看到第二點發現忘了前面的,所以自己寫一遍,摘出對自己有用的.
目錄
- 1.程序員的簡歷
- 1.1Makedown(部分)
- 1.1.1標題
- 1.1.2提前斷行
- 1.1.3列表
- 無序
- 有序
- 1.2兩大法則
- STAR法則(Situation Task Action Result)
- FAB 法則(Feature Advantage Benefit)
- 1.3項目經歷怎么寫
- 1.4專業技能該怎么寫?
- 1.5排版注意事項
- 1.6tips
- 1.7推薦的工具/網站
- 2.初出茅廬的程序員該如何準備面試?
- 2.1如何獲得大廠機會
- 2.2面試前的準備
- 2.2.1自我介紹
- 2.2.2搞清楚技術面可能會問哪些方向的問題
- 2.2.3休閑著裝即可
- 2.2.4隨身帶上自己的成績單和簡歷
- 2.2.5如果需要筆試就提前刷一些筆試題
- 2.2.6花時間一些邏輯題
- 2.2.7準備好自己的項目介紹
- 2.2.8面試之前做好定向復習
- 3.面試問題
- 1.非計算機專業的學生能學好 Java 后臺嗎?我能進大廠嗎?
- 2.沒有項目經歷/博客/Github 開源項目怎么辦?
- 3.大廠青睞什么樣的人?
- 應屆生
- 4.開源項目推薦
- 5.問面試官的問題
- 面對HR或者其他Level比較低的面試官時
- 面對部門領導
- 面對Level比較高的(比如總裁,老板)
- 6.應屆生面試最愛問的幾道 Java 基礎問題
- 7.美團面試常問問題
- 自己看視頻的其他事項
1.程序員的簡歷
推薦使用Markdown語法寫簡歷,然后再將Markdown格式轉換為PDF格式后進行簡歷投遞。
1.1Makedown(部分)
1.1.1標題
# 這是 H1 ## 這是 H2 ###### 這是 H61.1.2提前斷行
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. > > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse > id sem consectetuer libero luctus adipiscing.1.1.3列表
無序
* Red * Green * Blue+ Red + Green + Blue- Red - Green - Blue``有序
1. Bird 2. McHale 3. Parish1.2兩大法則
STAR法則(Situation Task Action Result)
- Situation: 事情是在什么情況下發生;
- Task:: 你是如何明確你的任務的;
- Action: 針對這樣的情況分析,你采用了什么行動方式;
- Result: 結果怎樣,在這樣的情況下你學習到了什么。
簡而言之,STAR法則,就是一種講述自己故事的方式,或者說,是一個清晰、條理的作文模板。不管是什么,合理熟練運用此法則,可以輕松的對面試官描述事物的邏輯方式,表現出自己分析闡述問題的清晰性、條理性和邏輯性。
FAB 法則(Feature Advantage Benefit)
- Feature: 是什么;
- Advantage: 比別人好在哪些地方;
- Benefit: 如果雇傭你,招聘方會得到什么好處。
簡單來說,這個法則主要是讓你的面試官知道你的優勢、招了你之后對公司有什么幫助。
1.3項目經歷怎么寫
1.對項目整體設計的感受
2.負責什么,擔任角色,做了什么
3.學到了什么,使用了哪些技術,學會了什么新技術的應用
4.另外項目描述中,最好可以體現自己的綜合素質,比如你是如何協調項目組成員協同開發的或者在遇到某一個棘手的問題的時候你是如何解決的又或者說你在這個項目用了什么技術實現了什么功能比如:用redis做緩存提高訪問速度和并發量、使用消息隊列削峰和降流等等。
1.4專業技能該怎么寫?
自己會什么,公司需要什么.可以看關鍵字,花幾天學習一下,寫了解.如下
計算機網絡、數據結構、算法、操作系統等課內基礎知識:掌握
Java 基礎知識:掌握
JVM 虛擬機(Java內存區域、虛擬機垃圾算法、虛擬垃圾收集器、JVM內存管理):掌握
高并發、高可用、高性能系統開發:掌握
Struts2、Spring、Hibernate、Ajax、Mybatis、JQuery :掌握
SSH 整合、SSM 整合、 SOA 架構:掌握
Dubbo: 掌握
Zookeeper: 掌握
常見消息隊列: 掌握
Linux:掌握
MySQL常見優化手段:掌握
Spring Boot +Spring Cloud +Docker:了解
Hadoop 生態相關技術中的 HDFS、Storm、MapReduce、Hive、Hbase :了解
Python 基礎、一些常見第三方庫比如OpenCV、wxpy、wordcloud、matplotlib:熟悉
1.5排版注意事項
1.盡量簡潔,不要太花里胡哨;
2.一些技術名詞不要弄錯了大小寫比如MySQL不要寫成mysql,Java不要寫成java。這個在我看來還是比較忌諱的,所以一定要注意這個細節;
3.中文和數字英文之間加上空格的話看起來會舒服一點;
1.6tips
1.寫簡歷要慎重(不會的別寫在簡歷上),這是面試官要提問的地方
2.考慮凸顯亮點 如在項目中做什么事解決什么問題,在項目中使用技術提升了性能和并發量
3.應屆生不要錯過春招和秋招
4.完美展示項目經歷很重要
5.盡量避免主觀表述,少一點語義模糊的形容詞,盡量要簡潔明了,邏輯結構清晰。
6.如果自己有博客或者個人技術棧點的話,寫上去會為你加分很多。
7.如果自己的Github比較活躍的話,寫上去也會為你加分很多。
8.項目經歷建議以時間倒序排序,另外項目經歷不在于多,而在于有亮點。
9.如果內容過多的話,不需要非把內容壓縮到一頁,保持排版干凈整潔就可以了。
10.簡歷最后最好能加上:“感謝您花時間閱讀我的簡歷,期待能有機會和您共事。”這句話,顯的你會很有禮貌。
1.7推薦的工具/網站
冷熊簡歷(MarkDown在線簡歷工具,可在線預覽、編輯和生成PDF)
2.初出茅廬的程序員該如何準備面試?
秋招和春招:秋招數量多,含金量高.
2.1如何獲得大廠機會
1.關注官網
2.線下宣講會,直接投遞簡歷
3.認識的人內推
4.博客和github優秀作者被看中
5.求職網站(不推薦,適合海投)
2.2面試前的準備
2.2.1自我介紹
1.擅長技術
2.重點放在突出自己的優勢和能力
eg:
社招:
面試官,您好!我叫獨秀兒。
我目前有1年半的工作經驗,熟練使用Spring、MyBatis等框架、了解 Java 底層原理比如JVM調優并且有著豐富的分布式開發經驗。
離開上一家公司是因為我想在技術上得到更多的鍛煉。在上一個公司我參與了一個分布式電子交易系統的開發,負責搭建了整個項目的基礎架構并且通過分庫分表解決了原始數據庫以及一些相關表過于龐大的問題,目前這個網站最高支持 10 萬人同時訪問。工作之余,我利用自己的業余時間寫了一個簡單的 RPC 框架,這個框架用到了Netty進行網絡通信, 目前我已經將這個項目開源,在 Github 上收獲了 2k的 Star!
說到業余愛好的話,我比較喜歡通過博客整理分享自己所學知識,現在已經是多個博客平臺的認證作者。 生活中我是一個比較積極樂觀的人,一般會通過運動打球的方式來放松。我一直都非常想加入貴公司,我覺得貴公司的文化和技術氛圍我都非常喜歡,期待能與你共事!
校招:
面試官,您好!我叫秀兒。
大學時間我主要利用課外時間學習了 Java 以及 Spring、MyBatis等框架 。
在校期間參與過一個考試系統的開發,這個系統的主要用了 Spring、MyBatis 和 shiro 這三種框架。我在其中主要擔任后端開發,主要負責了權限管理功能模塊的搭建。另外,我在大學的時候參加過一次軟件編程大賽,我和我的團隊做的在線訂餐系統成功獲得了第二名的成績。我還利用自己的業余時間寫了一個簡單的 RPC 框架,這個框架用到了Netty進行網絡通信, 目前我已經將這個項目開源,在 Github 上收獲了 2k的 Star!
說到業余愛好的話,我比較喜歡通過博客整理分享自己所學知識,現在已經是多個博客平臺的認證作者。 生活中我是一個比較積極樂觀的人,一般會通過運動打球的方式來放松。我一直都非常想加入貴公司,我覺得貴公司的文化和技術氛圍我都非常喜歡,期待能與你共事!
2.2.2搞清楚技術面可能會問哪些方向的問題
不需要全部熟悉,要分清主次,不熟悉的技術不要寫在簡歷上,簡單了解的技術不要說熟練掌握!
2.2.3休閑著裝即可
2.2.4隨身帶上自己的成績單和簡歷
2.2.5如果需要筆試就提前刷一些筆試題
2.2.6花時間一些邏輯題
2.2.7準備好自己的項目介紹
如果有項目的話,技術面試第一步,面試官一般都是讓你自己介紹一下你的項目。你可以從下面幾個方向來考慮:
1.對項目整體設計的一個感受(面試官可能會讓你畫系統的架構圖)
2.在這個項目中你負責了什么、做了什么、擔任了什么角色
3.從這個項目中你學會了那些東西,使用到了那些技術,學會了那些新技術的使用
4.另外項目描述中,最好可以體現自己的綜合素質,比如你是如何協調項目組成員協同開發的或者在5遇到某一個棘手的問題的時候你是如何解決的又或者說你在這個項目用了什么技術實現了什么功能比如:用redis做緩存提高訪問速度和并發量、使用消息隊列削峰和降流等等。
2.2.8面試之前做好定向復習
所謂定向復習就是專門針對你要面試的公司來復習。比如你在面試之前可以在網上找找有沒有你要面試的公司的面經。
舉個栗子:在我面試 ThoughtWorks 的前幾天我就在網上找了一些關于 ThoughtWorks 的技術面的一些文章。然后知道了 ThoughtWorks 的技術面會讓我們在之前做的作業的基礎上增加一個或兩個功能,所以我提前一天就把我之前做的程序重新重構了一下。然后在技術面的時候,簡單的改了幾行代碼之后寫個測試就完事了。如果沒有提前準備,我覺得 20 分鐘我很大幾率會完不成這項任務。
3.面試問題
1.非計算機專業的學生能學好 Java 后臺嗎?我能進大廠嗎?
建議非科班的同學,首先要打好計算機基礎知識基礎:① 計算機網絡、② 操作系統、③ 數據機構與算法,我個人覺得這 3 個對你最重要。這些東西就像是內功,對你以后的長遠發展非常有用。當然,如果你想要進大廠的話,這些知識也是一定會被問到的。另外,“一定學好數據結構與算法!一定學好數據結構與算法!一定學好數據結構與算法!”,重要的東西說 3 遍。
2.沒有項目經歷/博客/Github 開源項目怎么辦?
1.跟著網上視頻做,不但做還要改善.
2.寫博客(掘金、Segmentfault、CSDN 等技術交流社區),也可以自己搭建博客.
可以寫學習筆記、實戰內容、讀書筆記
3.多用 Github,用好 Github,上傳自己不錯的項目,寫好 readme 文檔,在其他技術社區做好宣傳。
3.大廠青睞什么樣的人?
1.底層知識比如 jvm :不只是懂理論更會實操;
2.面向對象編程能力 :我理解這個不僅包括“面向對象編程”,還有 SOLID 軟件設計原則,相關閱讀:
寫了這么多年代碼,你真的了解 SOLID 嗎?
3.框架能力 :不只是使用那么簡單,更要搞懂原理和機制!搞懂原理和機制的基礎是要學會看源碼。
4.分布式系統開發能力 :緩存、消息隊列等等都要掌握,關鍵是還要能使用這些技術解決實際問題而不是紙上談兵。
5.不錯的 sense :喜歡和嘗試新技術、追求編寫優雅的代碼等等。
應屆生
1.參加過競賽( 含金量超高的是 ACM );
2.對數據結構與算法非常熟練;
3.參與過實際項目(比如學校網站)
4.熟悉 Python、Shell、Perl 其中一門腳本語言;
5.熟悉如何優化 Java 代碼、有寫出質量更高的代碼的意識;
6.熟悉 SOA 分布式相關的知識尤其是理論知識;
7.熟悉自己所用框架的底層知識比如 Spring;
8.有高并發開發經驗;
9.有大數據開發經驗等等。
4.開源項目推薦
原地址
5.問面試官的問題
面對HR或者其他Level比較低的面試官時
1.能不能談談你作為一個公司老員工對公司的感受? (這個問題比較容易回答,不會讓面試官陷入無話可說的尷尬境地。另外,從面試官的回答中你可以加深對這個公司的了解,讓你更加清楚這個公司到底是不是你想的那樣或者說你是否能適應這個公司的文化。除此之外,這樣的問題在某種程度上還可以拉進你與面試官的距離。)
2.能不能問一下,你當時因為什么原因選擇加入這家公司的呢或者說這家公司有哪些地方吸引你?有什么地方你覺得還不太好或者可以繼續完善嗎? (類似第一個問題,都是問面試官個人對于公司的看法。)
3.我覺得我這次表現的不是太好,你有什么建議或者評價給我嗎?(這個是我常問的。我覺得說自己表現不好只是這個語境需要這樣來說,這樣可以顯的你比較謙虛好學上進。)
4.接下來我會有一段空檔期,有什么值得注意或者建議學習的嗎? (體現出你對工作比較上心,自助學習意識比較強。)
5.這個崗位為什么還在招人? (崗位真實性和價值咨詢)
6.大概什么時候能給我回復呢? (終面的時候,如果面試官沒有說的話,可以問一下)
面對部門領導
1.部門的主要人員分配以及對應的主要工作能簡單介紹一下嗎?
2.未來如果我要加入這個團隊,你對我的期望是什么? (部門領導一般情況下是你的直屬上級了,你3.以后和他打交道的機會應該是最多的。你問這個問題,會讓他感覺你是一個對他的部門比較上心,比較有團體意識,并且愿意傾聽的候選人。)
4.公司對新入職的員工的培養機制是什么樣的呢? (正規的公司一般都有培養機制,提前問一下是對你自己的負責也會顯的你比較上心)
5.以您來看,這個崗位未來在公司內部的發展如何? (在我看來,問這個問題也是對你自己的負責吧,誰不想發展前景更好的崗位呢?)
6.團隊現在面臨的最大挑戰是什么? (這樣的問題不會暴露你對公司的不了解,并且也能讓你對未來工作的挑戰或困難有一個提前的預期。)
面對Level比較高的(比如總裁,老板)
1.貴公司的發展目標和方向是什么? (看下公司的發展是否滿足自己的期望)
2.與同行業的競爭者相比,貴公司的核心競爭優勢在什么地方? (充分了解自己的優勢和劣勢)
3.公司現在面臨的最大挑戰是什么?
6.應屆生面試最愛問的幾道 Java 基礎問題
原地址
7.美團面試常問問題
原地址
自己看視頻的其他事項
1.版本控制的了解
總結
以上是生活随笔為你收集整理的java Guide 面试指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 演示:使用Sniffer统计与分析流量
- 下一篇: 提高ASP.NET首页性能的十大方法