最新阿里Java面試題整理+進階資料分享,看完直接收藏

最新阿里Java面試題整理+進階資料分享,看完直接收藏

前言:

金三已經過去,現在是銀四,據我瞭解,好多人都會在三月份選擇跳槽,為什麼大家都會在三月份選擇離職跳槽呢?那當然是新年剛剛過去,大家也許是覺得老公司待遇不怎麼樣?薪資不夠高,想換個新環境等等原因,所以,三月份就變成了招聘與跳槽的旺季,那為什麼四月份就比不上三月份呢?相信不用我說大家也知道,畢竟三月份大家都去湊熱鬧,都去招聘與面試了,四月份還剩下來的招聘與面試的人就寥寥無幾了,而且四月份還沒找到工作的可以用老油條來這麼說也不為過,且四月份公司還招人的,那幾本找的都是些大牛了。

那為什麼我要說銀四比金三火呢?因為,大多數人多覺得,四月份的工作難找,且薪資也不會很高,環境還不知道好不好,而且要求的還很多,面試也難面等等說法,但據我瞭解到的,四月份的就業情況要比三月份的好,待遇,薪資,環境等,都要比三月份的好。據我從一個好友James哪裡瞭解到的,就在前幾天,他帶的兩個學員,成功面試上了阿里,且還幫我整理哪兩個學員的面試總結,在此,我分享給大家,希望大家在四月份要找工作的朋友,我的這篇文章能給你有所幫助。

面試總結

那來兩位學員我分別用A和B來代替

A學員

第一輪:電話初面

第二輪:技術面談【技術職位儘量避免多談管理上的工作】

第三輪:高管複試

第四輪:HR最後確認

一面:首先確認對阿里的意向度(如果異地更會考慮對工作地點(杭州)的意向度!阿里很看重這個);其次面試官一般會針對您所做過的項目來做具體技術的交流,會比較關注個人對項目細節是不是掌握到位,主要考察java的技術基礎和原理,比如Spring框架以及數據庫和JVM三個方面,也會交流到分佈式、線程池的實現等等,重點考察是不是有比較鑽研技術和技術上的亮點【不一定每個面都很厲害但一定要有亮點】;

二面:技術面,根據項目深入的瞭解技術實力,瞭解您的知識面,瞭解您的問題解決能力以及技術靈活運用能力,也通過這一過程考察團隊合作能力、學習主動性和創新性,可以挑選2-3個做過的有典型性的項目做一個仔細 技術回顧和自己獨到的理解【這會成為您的加分項】;

三面:他們最後的高管複試會涉及到相關的技術問題,大部分是對你的整體價值觀做宏觀的把控(比如上進心,責任心,心態,工作激情等)

HR確認:基本就是從大方向瞭解一下您的心態、抗壓能力,工作中的角色、未來大致的規劃以及對阿里的意向度

【技術基礎以及的問題多看看書準備下就行了,不懂的直接說不懂沒關係的;在項目細節上多把關一下,根據項目有針對性的談自己的技術亮點,能表達清楚,可以引導面試官來問你比較擅長的技術問題,個人就可以盡情發揮】

阿里比較喜歡的人才特點:對技術有熱情,強硬的技術基礎實力;主動,善於團隊協作,善於總結思考;

阿里面試問的問題會比較底層

  1. Java內存結構,spring的aop的實現方法,java數據庫問題定位和性能調優;
  2. 關於Java異常的續承層次結構,講述異常的續承關係;
  3. java中重載和重寫有什麼區別,分別用什麼關鍵字;
  4. 關於分佈式消息隊列,分佈式緩存;
  5. 關於hashmap源碼實現, jdk
  6. 關於設計模式,uml,jvm 內存回收機制問題
  7. java線程如何啟動?java中加鎖的方式有哪些,怎麼個寫法?
  8. 對樂觀鎖和悲觀鎖的理解;
  9. ORACLE中的SQL如何進行優化,都有哪些方式?事務有哪些特性,在ORACLE中隔離有哪些級別?
  10. 介紹一下自己最近做的一個典型的項目;
  11. 在項目中遇到了哪些問題,自己是如何解決的 ;
  12. 目前系統支撐的用戶量是多少,假如用戶量提升10倍,系統會出現什麼樣的問題,如何重新設計系統【這裡主要是想了解您的問題預見能力以及問題解決能力,考查思路】
  13. 使用memcached是一個什麼樣的原理
  14. 如何存放數據到memcached集群中,介紹一下這個過程。跟進的問題,講一下一致性哈希算法的實現原理。
  15. JVM中堆是如何管理的,JVM的內存回收機制,介紹一下
  16. 分佈式事務實現方式
  17. 熱點賬戶問題(項目中有就會問)

第一輪技術面試(電面)涉及Java基礎點(可參考):

  1. session
  2. java鎖
  3. gc原理
  4. hashmap
  5. listlink arraylist 區別
  6. aop 原理
  7. 多線程
  8. kafka 原理和容錯
  9. spark hadoop 原理
  10. redis 同步機制
  11. classLoader 機制
  12. Http 協議
  13. cookie的限制
  14. HashMap key的要求 , hashcode一致兩個對象是否相等
  15. JVM的原理
  16. 涉及面較廣,包括談到項目上遇到的問題,以此深入探討。

XX:

  1. 介紹自己的工作職責、技術or管理怎麼分配的
  2. 介紹項目,涉及的技術把整個流程說下。然後他感興趣就會深入問
  3. 然後就是聊一些jvm、nosql之類的
  4. 假如服務器反應很慢,你應該怎麼排查問題
  5. 怎麼跟蹤一個方法的用時,並且最小限度干涉業務程序

旁聽面試-java:

  1. 人選介紹目前目前技術管理側重;
  2. 對阿里推薦對應崗位的理解度;
  3. 系統設計是怎麼樣的;
  4. 做的一些架構,數據源來自於哪裡並深入問;
  5. 模塊邊界,緩存機制;
  6. 選用技術選型時,A和B的區別;
  7. 多線程如何用,有什麼好處,和進程的區別;
  8. 多線程的過程;
  9. 多線程同步的方法,X項目中如何去實現;
  10. 分佈式架構在你目前項目中的體現;
  11. 跨主機通信用過什麼,接口等;
  12. 大數據存儲;

結尾:

  1. 你自己覺得你擅長什麼,以後想走的路線,技術還是管理;

Java面試題分享:

  1. JMS的兩種模式是那些;
  2. 富客戶端怎麼更新;
  3. 自己設計類似ESB這樣的企業數據總線應該有哪些功能;
  4. 系統架構設計;
  5. 集群中怎麼控制session;
  6. 怎麼樣知道java存中是哪一些模塊消耗內存比較多;
  7. 應用服務器的參數調整。

B學員

基礎篇

面試題

  1. junit用法,before,beforeClass,after, afterClass的執行順序
  2. 分佈式鎖
  3. nginx的請求轉發算法,如何配置根據權重轉發
  4. 用hashmap實現redis有什麼問題(死鎖,死循環,可用ConcurrentHashmap)
  5. 線程的狀態
  6. 線程的阻塞的方式
  7. sleep和wait的區別
  8. hashmap的底層實現
  9. 一萬個人搶100個紅包,如何實現(不用隊列),如何保證2個人不能搶到同一個紅包,可用分佈式鎖
  10. java內存模型,垃圾回收機制,不可達算法
  11. 兩個Integer的引用對象傳給一個swap方法在方法內部交換引用,返回後,兩個引用的值是否會發現變化
  12. aop的底層實現,動態代理是如何動態,假如有100個對象,如何動態的為這100個對象代理
  13. 是否用過maven install。 maven test。git(make install是安裝本地jar包)
  14. tomcat的各種配置,如何配置docBase
  15. spring的bean配置的幾種方式
  16. web.xml的配置
  17. spring的監聽器。
  18. zookeeper的實現機制,有緩存,如何存儲註冊服務的
  19. IO會阻塞嗎?readLine是不是阻塞的
  20. 用過spring的線程池還是java的線程池?

能回答上百分之七十,基礎的廣度就算OK了。如果達不到,那麼缺什麼就趕緊補什麼。廣度達到了,還需要對個別熱點問題有深度。每個人的精力都有限,可以適當挑選兩個熱點問題進行深入挖掘。比如HashMap,要不僅僅能夠說上來源碼是什麼去實現的,還要了解JDK1.7版本到1.8版本都做了哪些改進,為什麼這麼改進,ConcurrentHashMap怎麼實現的,針對併發場景都做了哪些優化措施,JDK1.7和1.8的實現有什麼差異。瞭解這些可能需要花費很大精力。但是,面試的時候一但問到了這個你非常精通的知識點,就基本進入你的主場了。這個能起到一錘定音的作用,給面試官留下極強的印象,甚至直接決定了此次面試的成敗。因此,至少準備那麼一兩個非常精通的知識點,一定不要多,但要比面試官和其他求職者都要精通。這個賭的就是運氣,只要在一個問題上能給面試官上一課,就能讓對方產生“你很厲害”的錯覺。

所有基礎知識都要做好筆記,面試前多回顧下,在配合刷下題,問題就不大了。

項目篇

要回答好項目問題,核心就是要提前做好充足的準備。首先,仔細回顧自己做過的項目。然後挑選最有價值的部分,寫一篇關於這個項目的總結性文檔,要講清楚這個項目的架構,設計思路。其次是努力回想當時遇到的難點,踩過的坑,以及自己怎麼思考和應對的,還有對項目後續改進的思考。這個非常重要,一定寫下來。文檔寫出來後,還要反覆提煉和補充。面試的時候就以此文檔為綱領,方能做到侃侃而談,從容應對。

情商篇

面試的時候,可能會穿插一些考察性格的問題。比如,問你為什麼離職/想換工作,對技術和業務怎麼看,對我們公司有什麼瞭解,對我們的業務有什麼瞭解,你有什麼想問我的,你覺得自己有什麼優點/缺點。做技術的同學往往在情商方面有所欠缺,如果沒有準備的話,面試時一不小心說錯一句話就可能導致前功盡棄。尤其在阿里,HR是有一票否決權的。 那麼,應對此類問題的第一點就是提前預防,可以提前拿張紙,猜想對方可能會問的問題,把標準答案寫出來,反覆推敲,然後背下來即可。比如,“你覺得自己有什麼優點”這個問題,我當時的標準答案就是,“我覺得人最難了解的就是自己,所以我想借用我前領導對我的評價,XXX是個......的人”。我的這個標準答案是基於 “第三方的評價更有可信度” 這個原理來設計的。第二點,回答問題的時候表現的謙虛一點即可,而且千萬不要有負能量。比如“為什麼離職/想換工作”,這個問題,不要去吐槽公司或者同事,或者表達情緒上的不滿。要儘量展現出自己好學上進的一面,這一點很重要。面試官會把對你的印象記錄在案的,包括你的優點和缺點。因此即便技術達不到要求,也儘量展現性格上的優點。

阿里面試流程

面試一般是四到五面,以電話面試為主。最後一輪面試時HR面試,所以只要挺過前面的技術面試一般就OK了。第一輪是考察基礎,第二輪開始考察項目,溝通表達能力。第三四輪會可能有編程,要求現場寫代碼,或者線下完成一個指定的項目。面試官的級別在p6-p9之間,一般隨著面試流程的推進而升高。技術面試通過後就是HR面了,這一輪主要考察價值觀。所有面試結束後,就是一個漫長的等待了,期間會有體檢,背景調查,然後發offer。這個流程會有一個月的時間,比較久。需要注意的是,面試過程中一定要保證誠實,不能有半點弄虛作假。因為一但背景調查的時候發現說謊了,不但offer會取消,還會記錄到人才庫裡。再有一點,約好了的面試不能隨意爽約,這個也會永久記錄。你的每次面試的過程都會詳細的記錄在人才庫裡的,因此儘量不要留下汙點,以免影響以後的面試。

以上這兩位學員,是James帶的兩位學員,那兩位學員面試過了,然後寫出來的總結,我再此分享給大家。

那為什麼這兩個學員能在這四月初就可以面試上阿里呢?有人就說:“可能他們是老油條,經驗豐富當然能面試上了,” 你們是不是想不到,據我問James的,他們兩個都是2-3年的工作經驗的,基礎中等。

總結:

通過以上的兩位朋友總結出來的阿里面試總結,你們自己在看文章時,你自己想一下看,你能把那些問題都能回答上來麼?你對自己的技術感到又想到進一步的提升麼?在四月,面試黃金月的最後一月,你能把握住機會麼?在你約到技術上的困難以及瓶疾的時候,你能夠解決麼?不能解決的,證明你在開發的道路上,你還需要繼續努力學習。

最後:在後臺回覆“阿里面試”即可獲得整理好的面試題以及答案。


分享到:


相關文章: