當前位置:編程學習大全網 - 源碼下載 - 怎麽社招進入BAT工作

怎麽社招進入BAT工作

參加阿裏的社招面試,而社招不同於校招,問題的範圍其實是很隨機的。因為能參加壹些比較知名的互聯網公司社招的人,70%以上都會有個3-5年的經驗。這倒不是說壹兩年經驗的同學沒有機會進這些公司,而是因為這種公司,大部分情況下只招壹些比較資深的開發和應屆生,而不招那些處於中間階段的人。而1-2年經驗的同學,往往就剛好處於這個尷尬的階段。

對於能有3-5年經驗的這部分人中,每個人的經歷又都不同,所擅長的點也不壹樣,因此這就會導致每個人的問題和範圍都不太壹樣。

很少說有哪個知名的互聯網公司,比如BAT、京東、360、搜狐、網易等這些公司,其社招面試還有固定的問題和模式,讓妳可以像應屆生面試壹樣,在面試前靠臨時抱佛腳度過這壹關。

大部分公司在社招的時候,不光是阿裏,其它公司也都壹樣,基本上都分為兩個階段的提問。

第壹個階段是主語言本身以及它的高級特性

第二個階段是講述自己的項目,並在中間穿插著問題

社招面試如何準備1主語言本身以及它的高級特性。

主語言當然就是妳平日裏拿來賺錢的家夥。

主語言很顯然是Java,那麽對於Java來說,它的語言本身以及它的高級特性,都有哪些比較容易在面試中問到呢?

壹般情況下,主要有以下知識點很容易被問到。(PS:以下所列舉的,都是壹些Java相對而言比較高級壹點的知識點,因為這裏談的是社招,而不是校招)

1、Java的數據結構相關的類實現原理,比如LinkedList,ArrayList,HashMap,TreeMap這壹類的。以下簡單模擬壹個數據結構的連環炮。

比如,面試官先問妳HashMap是不是有序的?

妳肯定回答說,不是有序的。那面試官就會繼續問妳,有沒有有順序的Map實現類?

妳如果這個時候說不知道的話,那這個問題就到此結束了。如果妳說有TreeMap和LinkedHashMap。

那麽面試官接下來就可能會問妳,TreeMap和LinkedHashMap是如何保證它的順序的?

如果妳回答不上來,那麽到此為止。如果妳依然回答上來了,那麽面試官還會繼續問妳,妳覺得它們兩個哪個的有序實現比較好?

如果妳依然可以回答的話,那麽面試官會繼續問妳,妳覺得還有沒有比它更好或者更高效的實現方式?

如果妳還能說出來的話,那麽就妳所說的實現方式肯定依然可以問妳很多問題。

以上就是壹個面試官壹步壹步提問的例子。所以,如果妳了解的不多,千萬不要敷衍,因為可能下壹個問題妳就暴露了,還不如直接說不會,把這個問題結束掉,趕緊切換到妳熟悉的領域。

2、Java並發包當中的類,它們都有哪些作用,以及它們的實現原理,這些類就是java.concurrent包下面的。與上面壹樣,咱們也簡單的模擬壹個並發包的連環炮。

比如面試官可能會先問妳,如果想實現所有的線程壹起等待某個事件的發生,當某個事件發生時,所有線程壹起開始往下執行的話,有什麽好的辦法嗎?

這個時候妳可能會說可以用柵欄(Java的並發包中的CyclicBarrier),那麽面試官就會繼續問妳,妳知道它的實現原理嗎?

如果妳繼續回答的話,面試官可能會繼續問妳,妳還知道其它的實現方式嗎?

如果妳還能說出很多種實現方式的話,那麽繼續問妳,妳覺得這些方式裏哪個方式更好?

如果妳說出來某壹個方式比較好的話,面試官依然可以繼續問妳,那如果讓妳來寫的話,妳覺得還有比它更好的實現方式嗎?

如果妳這個時候依然可以說出來妳自己更好的實現方式,那麽面試官肯定還會揪著這個繼續問妳。

為什麽說面試的時候要引導面試官,原因就在這了。因為面試官的提問很多時候都是有跡可循的,妳如果抓住了他的軌跡,能夠猜到他下面很可能會問什麽,那妳在回答的時候就可以往妳想要談的方向去說。這樣面試時就會顯得更加從容,更加的遊刃有余。

3、IO包和NIO包中的內容。這部分裏面NIO會是重點,IO包大部分都會比較熟悉,因此可能會直接略過,直接問妳NIO的內容。

IO包和NIO包的內容相對來說不是很多,首先NIO模型要熟悉,特別是其中的selector壹定要非常清楚它的職責和實現原理。其實NIO的核心是IO線程池,壹定要記住這個關鍵點。有的時候,面試官可能也會問妳IO包的設計模式(裝飾器模式),為什麽要這樣設計?

有的面試官還會問妳有沒有更好的設計,這個時候如果妳不知道請果斷說自己現在的水平有限,想不出來更好的設計,千萬不要信口開河,隨意YY。

4、Java的虛擬機的內容。這部分主要包括三部分,GC、類加載機制,以及內存。

壹個GC部分簡單的連環炮。

面試官可以先問妳什麽時候壹個對象會被GC?

接著繼續問妳為什麽要在這種時候對象才會被GC?

接著繼續問妳GC策略都有哪些分類?

妳如果說出來了,繼續問妳這些策略分別都有什麽優劣勢?都適用於什麽場景?

妳繼續說出來了以後,給妳舉個實際的場景,讓妳選擇壹個GC策略?

妳如果選出來了,繼續問妳,為什麽要選擇這個策略?

下面是關於類加載機制的簡單連環炮。

首先肯定是先問妳Java的類加載器都有哪些?

回答了這些以後,可能會問妳每個類加載器都加載哪些類?

說完以後,可能會問妳這些類加載之間的父子關系是怎樣的?

妳在回答的時候可能會提到雙親委派模型,那麽可以繼續問妳什麽是雙親委派模型?

妳解釋完了以後,可能會繼續問妳,為什麽Java的類加載器要使用雙親委派模型?

妳回答完以後,可能會繼續問妳如何自定義自己的類加載器,自己的類加載器和Java自帶的類加載器關系如何處理?

再來壹個關於內存的連環炮。

首先肯定就是問妳內存分為哪幾部分,這些部分分別都存儲哪些數據?

然後繼續問妳壹個對象從創建到銷毀都是怎麽在這些部分裏存活和轉移的?

接著可能會問妳,內存的哪些部分會參與GC的回收?

完事以後,可能還會問妳Java的內存模型是怎麽設計的?

妳回答了以後,還會繼續問妳為什麽要這麽設計?

問完以後,還可能會讓妳結合內存模型的設計談談Volatile關鍵字的作用?

妳在談的時候,肯定會提到可見性,那麽接著可見性這三個字,還可以繼續問妳並發的內容。

額外的加分項

上面兩個階段基本上是必問的,還有壹些加分項。這些加分項中,有些內容面試官也會問妳(比如TCP/IP協議、算法),但更多的是會先問妳了解不了解,妳了解的話再繼續聊,不了解的話就直接略過了,不至於因為這種問題而直接把妳打入地獄。

列舉壹些加分項:

1、計算機系統原理。

2、網絡通信協議(TCP/IP,HTTP等)。

3、數據結構與算法。

4、著名開源項目的源碼。

5、妳自己有很棒的開源項目。

6、妳的個人博客。

7、待評論區補充。

這幾項當中,

對於前1-3項,如果妳之前就比較了解,只是由於時間問題忘記了的話,還是可以臨時抱佛腳壹下的。

至於後面4-6項,就需要妳日常的積累了,不是壹時半會兒能做到的。如果妳平日裏沒有積累,那麽後面這三個加分項只能拋棄了。

  • 上一篇:先驅者(3)中國激光雷達企業逆襲記
  • 下一篇:7PK公式誰知道?
  • copyright 2024編程學習大全網