1. 程式人生 > >Java程式設計師從京東、阿里、攜程面試回來,已成功拿到京東offer

Java程式設計師從京東、阿里、攜程面試回來,已成功拿到京東offer

阿里巴巴(一面)

阿里找了一個北郵學長的內推,準確來說應該是直推,是他幫我直接錄的簡歷,他本科進的阿里螞蟻金服,厲害吧?是真的佩服。第一次在官網上填資料,想想馬雲有多出名,想想螞蟻金服這樣的頂級技術,有些興奮,有些期待。

錄完簡歷後等待簡歷評估,原來,找內推不一定能得到面試機會,能不能得到面試機會要經過簡歷評估(我這才知道,原來內推免筆試可不是那麼容易的),畢竟內推能免去線上筆試直接面試,網際網路第一梯隊像百度、阿里,騰訊的筆試真的很有難度,做過前幾年這些公司的筆試題,真的太難了。在阿里的校招群裡看到很多研究生研究演算法,前端,Java研發的,簡歷評估後直接變成已回絕沒有得到面試機會。心想,我一個研究生,Java研發都是自學的,專案都是自己設計的需求,簡歷也就一張紙,究竟能不能得到面試機會?

填完資料的一個星期後收到了支付寶的面試電話,突然變得好緊張,居然得到了面試的機會。

  1. 自我介紹

  2. 簡單的介紹一下你的專案

  3. 一個有500個使用者的廣播系統,你怎麼做效能優化

  4. 當用戶提交請求後,卻立即按撤回按鈕,涉及效能的資料落地問題你怎麼處理

  5. Lucene底層實現原理,它的索引結構

  6. ibatis跟hibernate的區別

  7. ibatis是怎麼實現對映的,它的對映原理是什麼

  8. Java I/O底層細節,注意是底層細節,而不是怎麼用

  9. 你對mysql有什麼瞭解

  10. 說一下資料庫事務的四個特性,為什麼mysql事務能保證失敗回滾

  11. mysql資料庫的鎖有多少種,怎麼編寫加鎖的sql語句

  12. mysql什麼情況下會觸發表鎖

  13. 頁鎖、樂觀鎖、悲觀鎖

  14. tcp三次握手的過程

  15. 程序跟執行緒的區別

  16. redis的操作是不是原子操作

  17. ArrayList跟LinkedList的底層實現原理,使用場景

  18. B+樹

  19. 一道演算法題,在一個整形陣列中,有正數有負數,找出和最大的子串

  20. 動態規劃的思想

  21. 你有什麼想問的

阿里一面過後變得懷疑人生,真的好多不會好多底層原理沒答出來,第二天查狀態,變成已回絕了。原來學習不能只學表面,作為一名研發人員,只知道怎麼用是不夠的,更多的應該知道底層原理,不然出現了效能瓶頸你怎麼優化?你怎麼扛得住每秒千萬甚至億的併發量?

有很多底層問題沒答出來,接下來幹嘛?學啊!

攜程(一面)

攜程又找了內推,直接面試。

  1. 自我介紹

  2. 介紹一下專案

  3. 你的併發專案有做過壓測嗎

  4. haspmap的底層實現原理,怎麼解決衝突問題

  5. haspmap是否執行緒安全

  6. object物件的常用方法

  7. 你有什麼想問的

攜程一面後被淘汰,其實問題很簡單,當初被淘汰了感覺很不解,有些鬱悶,只不過是稍微猶豫了一下執行緒安全問題而已,最後也答對了。但現在想起來,連haspmap是否執行緒安全都要考慮,根本就不是一個合格的Java工程師,被淘汰也是理所當然的。突然感覺自己學的好不紮實,變得有些焦慮,連java基礎都存在問題,接下來幹嘛,學啊!

被阿里跟攜程拒絕後的一個多星期,沒有接到任何面試電話,筆試了美團、今日頭條,都掛了,變得沒什麼心情,其實之前也學了很多Java的技術,但還是不牢固不全吧,繼續補吧。

雖然很低落不過還是堅持天天看書。去牢實各種Java基礎,thinking in java再看一遍;多執行緒,concurrent包;集合類,每一個集合類的底層,haspmap的底層原始碼,concurrentHaspMap的底層原始碼,更多地區理解為什麼,而不是怎麼樣;看虛擬機器從記憶體管理到類載入;java併發程式設計的藝術;複習servlet/jsp技術;理解ibatis的技術要點,ibatis的底層原始碼;複習作業系統資料庫計網每一個講過的重點;理解MySQL的技術要點;spring的核心技術跟思想IOC、AOP、springMVC;Lucene的索引結構,檢索特點,為什麼拿它來取代資料庫的全文檢索;Redis技術要點,從五種資料結構到樂觀鎖事務再到資料安全主從複製持久化…..;牢記Linux系統的常用命令與操作;經典的設計模式,單例懶漢惡漢等等;複習資料結構平衡二叉樹B樹B+樹,複習演算法刷leetcode…..當然,還有很多很多。

京東(筆試+兩面技術+一面hr,拿到offer)

一面:

  1. 自我介紹

  2. 介紹一下專案

  3. java多執行緒有哪幾種實現方式

  4. CountDownLatch

  5. Spring的核心技術

  6. 關於資料庫事務說出你知道的所有

  7. 跟面試官聊天,說了很多關於登入驗證的技術問題(有些緊張)

  8. 你有什麼想問的

二面:

  1. 自我介紹

  2. 介紹一下專案

  3. 把你知道的java的concurrent包的技術全部說出來(volatile、鎖重入,LinkedTransferQueue位元組追加提高併發度技術,ConcurrentHaspMap結合volatile的happen-before讀取優化)

  4. redis的配置檔案(AOF&&Snapshot&&主從複製)

  5. WebSocket長連線問題

  6. 秒殺業務場景設計(事務,邏輯調整,行級鎖,資料庫併發度、mybatis呼叫儲存過程)

  7. 會不會寫前端(會,但也僅是會寫,會寫jQuery,CSS3)

  8. 你平時都用什麼開發工具?IntelliJ IDEA相比Ecplise有什麼好(快捷鍵)

  9. 跟面試官聊天,討論了很多關於後臺大併發量的問題

  10. 你今後的研究方向是什麼

  11. 你有什麼想問的

京東的問題都答出來了,感覺特別是二面真的很體現一個人的研發功底,幸好都答出來了,跟面試官聊他們部門的後端併發技術問題,簡直受益匪淺。搜狐的我就不發出來了,最後成功拿到了京東的京東offer

總結

以上是對大型網際網路名企面試題收集分享,分享給大家,希望大家可以瞭解什麼是大型網際網路名企面試題。覺得收穫的話可以點個關注轉發一波喔,謝謝大佬們支援!!

小編這也收集了很多 Java工程化、高效能及分散式、高效能、深入淺出。效能調優、Spring,MyBatis,Netty原始碼分析的教程想要分享出來

大家可以加我的Java架構群:671017482,群裡有Java大型網際網路熱門技術的視訊免費分享給大家。