4面經---java 內附 計算機基礎知識連結(知識點概括)
1.應該從哪方面準備
就筆試而言,選擇題應該從資料結構,*作系統,基礎演算法,網路這四個方面準備。程式設計題應該側重動態規劃和回溯。
就面試而言,javaweb和Java原始碼、和jvm是基礎的,如果面試非阿里系的,準備這些足夠,但是要是面試阿里或者美團,就要學學中介軟體,中介軟體也要知道原理。
2.什麼時候準備最好
大三上準備最好,當然是先為春招做準備,個人感覺春招是最容易進大公司的,程式設計方面考核的不怎麼難,原理考察的多。這個時候應該紮實基礎,多看書,深入理解JVM一定要看會,多記筆記,個人覺得記筆記是一個好習慣,畢竟複習的時候就會速度的多。還有的話就是一本書看完了,我們可能很煩看第二遍,我們可以找一本相同知識點的書再看一遍做互補,畢竟每個作者對同一個 東西的理解不同。就拿jvm來說吧。我就看了深入理解jvm和jvm故障調優與實戰這兩本書(筆記在部落格中,有興趣的可以看看目錄=_=:
個人感覺做什麼東西千萬不要學過就只是學過,還是要留點東西的,這樣以後好撿起來 。然後我春招其實投的少,大公司投了一兩個,小公司也只投了一兩個,其實應該多投幾個。。。希望以後的童鞋吸取我的經驗吧。既然說到這,我就把自己的春招經驗分享以下吧(懶得打字了,直接把當時的備忘錄給大家看一下吧)。
我的部落格也是之前的筆記整理,這個不僅給別人看,關鍵是自己複習方便,隨時都能看。
春招只是走一走流程,看一看自己缺什麼,還有那方面沒有複習到的。而且春招的面試給了我一個很強的預感:面試要是有三個問題答不上來基本涼涼(暴露了自己菜的本質+-+)。
3.備戰秋招
備戰秋招,很多人都會覺得時間不夠用了,其實這很正常,大部分時間都要刷題了==||,但是整理整理之前的筆記還是很快的呀。。。所以我就開始寫部落格整理自己之前的筆記(抱歉到現在都沒整完++)。。這個是很有用的。可以在寫的過程中知道自己哪方面還不足,查漏補缺。不會的我一般都會先看書,再參考他人的部落格,這個看網文的時候一定不要看完就完了,,要做好標籤。(下面是我的,順便舉個例子。。。)
4.筆試準備
選擇還是在牛客就好。我一般都是下面這幾個組一套,這樣更接近真題,然後千萬被刷幾道,這樣沒效果,最好一次來二三十道。集中一兩個小時來刷,效果會更好。
程式設計題的話有兩個網站不錯。一個是賽碼網,一個是leetcode,這個一個是自己寫輸入輸出,一個直接寫方法,兩者要結合起來刷,leetcode呢,就像我之前說的一樣,最好按題型來做,這樣容易培養自己的思路,不容易養成道道看答案的壞習慣。 程式設計題的話,作答也是要講究的,最好輸入輸出與程式處理分開這樣好糾錯,我的程式設計模板如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
|
5.面試準備
很多人都說,啥時候了,還讓我看書,哪有時間看書,有那時間自行車都造出來啦!
好吧,其實不看書,多看看github上的開源專案也是好的,我在這裡提供一兩個吧:
這裡我在多說一點吧,java一般問基礎都會,要想讓自己脫穎而出,最好是rpc、註冊中心(選舉演算法)、訊息佇列(路由、推拉)等等都要了解,能說會編,這樣被問的時候才不容易涼。
一般面試的時候如果有手寫程式碼的情況大多是劍指offer上的題,所以一定要把牛客網上劍指offer的題刷懂,最好結合書中的思路來做,每道題的思路是什麼,每種思路的優劣大概要了解。
嗯,還有,常見的幾個面試問題,例如大檔案排序、秒殺系統、還有點選連結到顯示頁面的過程,都要去了解一下,回答的深度也反映了自己會的程度,比方說最後一個問題,能從網路層回答屬於基礎水平,能回答出請求到servlet的封裝就高了一層次,你要是給他打出來tomcat原理,那面試官會wa,這個人可以,你要是再給他把伺服器的虛擬ip到目標服務主機的對映說出來,那面試官能不要你嗎?我不信QAQ...所以多上網上看看這些問題別人怎麼答的,然後結合自己的只是總結以下,沒有能給我們一個適合自己的碗筷,還是要自己總結一下的。
其實這樣的專案有很多,大家要自己上網搜一搜,多關注幾個微信公眾號啥的,例如importNew、java程式設計、java3y(這位兄弟請給我打廣告費)。
上面兩個挑自己不會的看就行,抓重點,別的話應該就這些,其它秋招面經我就不說了,大概別人都重複多少遍了。。。就這樣。