Java程式設計師拿著阿里offer去頭條面試,卻被執行緒池絆倒,難受!
之前有程式設計師網友在牛客網發表了自己在頭條的面試經驗和過程,小編拿過來和大夥分享下。
一面考演算法:兩個基礎題目,思路不難,考基本功,一個是連結串列相加,思路就是反轉 然後求和,另一個是多個有序陣列 歸併。
二面考應用和知識面:內容涉及 mysql 引擎,索引(mysql 這塊一定要懂);java map底層實現,最好看原始碼,還有各種集合類的區別;最小堆;http協議,ajax;java多執行緒;一些java的常用框架的架構;快取資料庫比如 redis。最後一個演算法題是一個裝水的問題,問在裝多少。
三面:java 多執行緒,mysql 索引,問一些做過的專案
HR 面:問一些平時的學習方式之類的,比較輕鬆。
同時也有網友在匿名區發表了自己去頭條面試的情況,他表示為了面頭條Java開發,看了spring原始碼,spring boot原始碼,spring cloud部分原始碼,準備了大量演算法題。沒想到面試官一開始就要求寫一個執行緒池,思路正確可是被說加鎖的控制不好。然後結束了,這位面試者很納悶,最後發帖問廣大網友:頭條的Java難到不用spring嗎?只用多執行緒?
然後這位樓主還再評論區補充到,自己工作五年,阿里,美團,京東offer都有。就是想去今日頭條,沒想到結局是這樣子。執行緒池的實現其實是很簡單,只是平時沒關注過。一般面試也就是問問原理,很少手寫實現執行緒池的,jdk實現得很經典了,何必再個人去幹呢?頭條Java感覺一般,面試官也只是問一些知識性問題。沒有問到框架。Java是幹嘛的?就是框架開發啊。
同時也有網友表示有點坑,一般都是看看執行緒池原始碼。execute裡面到處充斥著狀態改變時候的if判斷。一般人寫不出來吧。
評論區也有是面試官的網友回覆到樓主。表示,自己作為大廠一名資深的面試官我一定會問的,一般只問執行緒的建立方式的,面試官也是個菜鳥,一般要問任務滿了怎麼辦,阻塞佇列是什麼,原理是啥,阻塞佇列滿了怎麼辦,完後什麼什麼場景用什麼執行緒池,密集型和io形都用什麼,為什麼。
然後之前那名網友又發表了自己的經歷:自己也點背,準備了好多二叉樹、圖論、遞迴,恨不得都得手紅黑樹了。面了好幾家,也不乏個別準大廠,都沒問。感覺Java面試官普遍不關注這一塊,都是偏運維和架構的題目。白白浪費了精力和感情,鬱悶額。結果樓主表示,如果自己遇到手寫紅黑樹的,我一般直接說寫不出來。結果隨意。
但也有網友覺得樓主就是太low,宇宙頭條不是白叫的,臨時準備面試通過的可能性比較小,涉及面很廣,面試官的問題很發散,比較難。
那對於以上網友們的看法和經歷。大夥兒怎麼看的呢?歡迎在下方評論區吐槽!
在這裡我相信有很多想要學習java的朋友們!
那如何學習java才能快速入門並精通呢?
當真正開始學習的時候難免不知道從哪入手,導致效率低下影響繼續學習的信心。
但最重要的是不知道哪些技術需要重點掌握,學習時頻繁踩坑,最終浪費大量時間,所以有一套實用的視訊課程用來跟著學習是非常有必要的。
為了讓學習變得輕鬆、高效,今天給大家免費分享一套阿里架構師傳授的一套教學資源。幫助大家在成為架構師的道路上披荊斬棘。
這套視訊課程詳細講解了(Spring,MyBatis,Netty原始碼分析,高併發、高效能、分散式、微服務架構的原理,JVM效能優化、分散式架構)等成為架構師必備的內容!
加QQ群:331789133,免費領取!