1. 程式人生 > 其它 >阿里校招一面

阿里校招一面

心理狀態:本來七點的電話面,五點開始,有點猝不及防,來電話的時候還在床上,心裡是又驚又慌。

自身狀態:作為大三學生,不僅沒有大型專案經驗,對於很多基礎知識都不是特別牢靠,筆試十幾分(PS:面試官點出,並問我有沒有私底下分析分析,我:&~(* _ *) &~選擇題確實不太好,程式設計題也沒寫出來(找不出錯哪很絕望,其實感覺都不難,leetcode上的題多半夠了,前兩道應該是簡單水平,第三道沒寫))。

阿里校招面試比較面向你的邏輯,整個流程更偏向於引導你,而不是讓你介紹你遇到的技術,反而不太考八股文,更多的是從專案出發,問你從專案中獲得的一些經驗,整體面試大概在四十到五十分鐘。

下面是一些流程可以參考(只記得一部分):

 

1.介紹一下自己(我沒準備(其實也沒啥講的,大貓小貓三兩隻):簡單講了1分鐘:哭)

2.介紹一下課程和分數(課程就簡單說了些課,分數我不知道為什麼要問這個,還花時間找了@_@簡單的說了幾門課和分數)

3.你的專案是更傾向於課程作業型別的麼?(主要確認了一下專案:我課程專案+實訓專案沒亮點)

4.你覺得一下作業系統中最重要的是什麼?(我說的是核心態和使用者態以及執行緒程序設定....感覺不太符合。。。)

5.你說執行緒很重要,那知道在給定程式中設定執行緒的數量使得整個程式最優呢?(我回答執行緒池,他說這是執行緒管理,然後我說的是測試,+balabalba,最後他才說是要根據IO密集型區分,才記得好像有講過**^**)

6.介紹一下你覺得Java中什麼最重要(我說的併發+balabala。。。說了一堆,我也沒懂我在說些啥,還舉了sping的工廠模式,反正挺菜的)

7.介紹一下單例模式的應用,在什麼場景使用?(我說的是spring中的IOC容器,和對於物件操作只需要一個的,只關注於方法的,感覺不太對,課上應該講過,但沒記住)

8.你說併發很重要,為什麼重要?

9.excel表格(單個使用的程式)需不需要實現併發?

10.講講並行和併發的區別?(主要說了下兩個的區別,並行:是同一時間指令等一起執行,併發:單位時間段內大量的指令一起執行)

11.你專案中使用了cookie和session麼?講講?(就cookies,session是什麼)

12.session存在哪些問題呢?(我說的是存在記憶體,易失,然後需要儲存在記憶體中訪問確認,當數量多的時候驗證花費開銷大)

13.筆試為什麼那麼低分?有總結過麼?

14.講一下你在專案中獲得的經驗?

15.你還有什麼要問的麼?

Q:java研發工程師和後端開發工程師有什麼區別?

A:沒太大區別,Java研發工程師是Java技術的,而後端開發工程師是不限語言的,包括但不限於java,c,c++,都是負責後端的開發。

Q:本科生和研究生,學習Java語言的話更需要面向生態還是jvm基礎?

A:面試官說不太清楚我的意思?(...)回答趨向於兩個方面:1.本科生和研究生最大的區別是研究生存在一個方向,有更多的機會接觸專案,而本科生在這方面往往沒有研究生那麼有競爭力。無論是什麼語言都不是關鍵。2.生態和jvm基礎都挺重要的(說了挺多的,但我覺得大概綜述應該是這個)