30W年薪阿里P7面試經歷JAVA總結,技術面,HR面

爲記錄阿里的電面經歷,特與大家分享,崗位是JAVA研發工程師。

一面主要問題如下:

1)首先自我介紹
2)數據結構算法的基本問題,如排序算法,二叉樹遍歷,後序遍歷非遞歸,圖的最短路徑問題
3)對一個數組進行絕對值排序的算法
4)java中hashmap的底層實現
5)java中垃圾回收機制GC原理等
6)介紹自己的項目,數據庫中用到的數據結構數據模型,死鎖的概念(問的應該是數據庫的死鎖),如何避免死鎖?
7)樂觀鎖和悲觀鎖?
8)一致性hash算法
9)項目中業務對象的關聯關係/關聯方式,談談左外連接及如何實現多對多關係模型10)spring的IOC和AOP
11)sping如何實現(保證)事務一致性完整性,spring中事務傳播機制類型
12)談談WEB的架構(應該指的是j2ee開發架構模型)、項目中的用戶場景使用場景13)對分佈式架構的瞭解,如分佈式存儲 分佈式緩存 分佈式計算
14)談談對阿里的哪些開源項目有所瞭解?
15)對淘寶技術是否有了解?
16)對其杭州信息平臺事業部其主要業務是否瞭解(其主要是java方面的開發,另可以重點關注看看工作流引擎)
二面主要問題如下:

1)首先仍然是先自我介紹
2)有過競賽經歷?獎項?專業排名?平時都看些什麼書籍?是否參加了學校社團活動?哪個部門?主要工作?時間安排?
3)對哪些技術最熟悉最擅長?我說的是java WEB框架那些,然後就開始問java了
4)接口和抽象類的區別 實現有哪些不同?
5)序列化如何實現?用代碼描述。writeObject? objectWrite?ObjectOutputStream.writeObject(). ObjectInputStream.readObject()
6)IO框架 集合框架的描述。如何判斷文件是否存在?如何讀取一個目錄下面的所有文件和子目錄?代碼描述。
7)廣度優先遍歷目錄下面的所有子目錄和文件?代碼實現?List和Map的不同?HashMap的實現?如何解決散列衝突?
8)多線程機制?線程休眠10秒?sleep()與wait()的區別。
9)緩衝流buffer的用途?原理?
10)linux下如何查看CPU負載和IO端口的使用情況?如何創建目錄?如何搜索一個指定的字符?
11)考察數據庫的sql操作,給定了一個具體的業務表,如何對不同類型的數據進行統計。
12)事務的概念?髒讀?如何避免?如何在代碼中實現?
13)sql代碼中如何使用如何定義一個事務?應該是如何定義一個事務的隔離級別?
14)項目中遇到的問題?解決方式?
15)SSI框架?spring如何定義一個bean?代碼描述。Bean的生命週期?Bean的scope?16 ) 對淘寶技術架構的瞭解?從哪裏獲取到的?自己今後的職業規劃?技術發展方向?17 )最後,對來杭州和阿里工作的意向?然後詢問我自己有啥想問的?談了下 信息平臺事業部的主要業務?工作流和ERP?
總體上來看,還是比較注重基礎的 尤其是java的多線程和併發安全性及數據庫相關,另外對有關開源框架的具體底層實現需要多閱讀源碼並進行總結。

################################################################################

1 hashmap,hashtable區別。
2 是否瞭解過hashmap的源碼?
3 jvm相關,主要是內存分配的過程,何時出發GC,用什麼工具或者命令來進行監控?
4 類加載,類隔離機制。
5 spring的ioc,aop,事物,然後順便提到了數據庫的事物,兩階段提交,數據庫鎖的級別,MySQL數據庫鎖的特殊之處(頁級鎖)
6 java線程池裏面的arrayblockingqueue,linkedblockingqueue的用途和區別。
7 設計模式相關,主要講解用途
8 如何保證數據庫集羣中ID的唯一性,假設每秒鐘併發20萬次。
9 設計十萬併發級別的網站後臺,如何計算使用的ecs數目(雲服務器(Elastic Compute Service, ECS 如阿里ECS)是一種處理能力可彈性伸縮的計算服務器,基於BGP最優路由算法構架多線網絡,雲服務器可以幫助構建更加安全穩定的應用)。
10 memcached和redis的異同和用途。
11 nosql數據庫相關,主要講了mongodb
12 10G的整數中,取出最大的一個(不光是使用高效的排序算法,還需要考慮內存大小)
13 synchronized,volatile,可重入鎖的用途和優缺點。
14 java nio相關核心的api基本瞭解和應用
15 一致性hash
16 在一個大系統中存在哪些單點失效的問題
17 hadoop優化相關
#########################################################################

一面,主要注重基礎,問得很深很廣,壓力面試。

1.hashmap、concurrenthashmap底層實現和區別
2.spring框架的原理
3.如何寫一個orm框架
4.hibernate一級緩存和二級緩存,hibernate其他緩存
5.hibernate事務傳播行爲種類
6.springmvc原理
7.restful的好處
8.restful有幾種請求,表單如何提交put請求
9.web中安全性問題的考慮,如何防止
10.web系統整體架構
11.hibernate如何實現聲明式事務
12.java併發包
13.volatile
14.平常都看哪些書
15.spring底層數據結構
16.如何進行反射,如何提高反射的性能
17.如何實現java的代理,爲什麼需要實現接口
18.TCP協議三次握手
19.springmvc用過哪些註解
20.springAOP可以使用哪些代理,有什麼區別
21.爲什麼要分三層
22.mybatis與hibernate有什麼區別,爲什麼不用hibernate直接寫sql語句?這面沒有準備好,廣度和深度壓力很大,建議大家多看看三大框架源碼、原理,併發包。
二面注重於項目

1.什麼是restful web service?
2.併發集合包?
3.項目中使用了哪些數據結構?
4.TCP中斷連接四次揮手?
5.MD5加鹽
6.https
7.支付寶接口開發
8.知道哪些鎖,有什麼區別?
9.依舊JDK源碼
10.項目遇到什麼問題,怎麼解決?
11.JDK1.8有什麼新特性?
也許是覺得一面已經問了很多了,這面又答得比較不錯,20分鐘就結束了,30分鐘出了結果。

三面聊人生

leader人very nice,給了一些建議,可能是覺得技術差不多,這面基本沒怎麼問技術,主要是職業發展、IBM的實習內容之類,我想大家可能也都有自己的想法,18分鐘。

hr面聊成長經歷:聊了一下對B2B的認識和自己的技術成長曆程。

###################################################################################

點贊關注我:私信回覆“資料”獲取往期Java高級架構資料、源碼、筆記、視頻

Dubbo、Redis、設計模式、Netty、zookeeper、Spring cloud、分佈式、

高併發等架構技術

1.Java基礎

ArrayList,HashMap等集合框架類,重要基礎類String等的處理。HashMap的底層存儲結構等。

(也可以順帶考察下對接口,繼承,重載重寫的基本理解;以及異常處理的注意事項)。

  1. 數據結構與算法

常見的查找算法及時間複雜度。

常見的排序算法及時間複雜度。

比較重要的數據結構,如鏈表,隊列,棧的基本理解及大致實現。

  1. 多線程問題

1)線程安全問題。 HashMap 是否線程安全,爲何不安全。 ConcurrentHashMap,線程安全,爲何安全。底層實現是怎麼樣的。

2)J.U.C下的常見類的使用。 ThreadPool的深入考察; BlockingQueue的使用。(take,poll的區別,put,offer的區別);原子類的實現。

3)各種常見鎖使用

如果上面這些掌握很好,還可以看看更深一點的 False Sharing,Cache Line,可見性與原子性等;

  1. JVM

Java內存分代模型,GC算法,JVM常見的啓動參數; CMS算法的過程。

這塊回答較好,也可以只是看畢玄的Java分佈式開發或網上文章的學習, 可以結合JVM啓動參數常見配置,jstat等命令,看下動手能力,意願;以及實際線上問題排查。

5.Linux使用與問題分析排查

1). grep,awk,sed; 是否自己寫過shell腳本;

2). 常見的cpu load過高,us過高,一般是什麼問題。引申出是否用過top,jstat,jstack等。

常見的內存問題一般有哪些。 引申出是否用過free,top, jmap等。

  1. 框架使用

spring aop的底層實驗原理。 aop與cglib,與asm的關係。

spriong ioc的生命週期,(init-method,intilizingbean接口方法afterPropertiesSet的先後順序)等。

Hibernate對一二級緩存的使用,Lazy-Load的理解;

  1. 數據庫相關:

  2. mysql存儲引擎中索引的實現機制;

2.數據庫事務的幾種粒度;

3.行鎖,表鎖;樂觀鎖,悲觀鎖

8.網絡協議:

HTTP協議;

HTTPS協議,SSL協議及完整交互過程;

  1. redis

redis,memcache底層客戶端使用一致性Hash,看是否瞭解;

redis的事件驅動多路複用底層實現;引申到NIO編程, 看對Netty,或mina是否瞭解。

如果候選者同時用過memcache,redis,看下是否瞭解兩者在使用場景上的區別。以考察使用深度,以及是否有好奇精神。

  1. 設計模式與重構

常見設計模式,如singlen,factory,abstract factory,strategy,chain,adaptor,decorator,composite,template,absever等。

重構:重構書籍

  1. 學習與進取心

最近上過上哪些技術站點; 最近在看哪些書。

  1. 抗壓能力及抗壓意願

瞭解加班情況,瞭解是否願意在一段時間996等;

13 穩定性考察

瞭解家庭婚姻狀況, 瞭解購房及居住地,籍貫情況,瞭解目前薪資,評估穩定性;

=======

1.進程和線程的區別
2.什麼叫線程安全?舉例說明
3.OSI七層模型,包括TCP,IP的一些基本知識
4.數據庫的鎖
5.DFS,BFS算法
6.還有一些諸如collection framework的Java基礎
7、http中,get post的區別
其他的面試,感覺問的很有代表性:

第一面(只記得這麼多了)

1、筆試題第四題實現又口述了下
2、有個每秒鐘5k個請求,查詢手機號所屬地的筆試題(記得不完整,沒列出),如何設計算法?請求再多,比如5w,如何設計整個系統?
3、比較熟悉什麼技術?我說jvm和oracle,就讓我畫jvm的體系結構,畫了之後說各個部分的職責,並扯到運行期優化。
第二面(沒有技術細節,都是泛泛的,但是我回答的比較保守,只覺得能滔滔不絕的說上半小時纔敢說看過或瞭解)

1、是否願意去杭州
2、熟悉各種技術框架麼?源碼讀過麼?
3、數據庫瞭解什麼?mysql瞭解麼
4、前臺技術,看我用的ExtJS,就問是否瞭解JQuery
5、進現在的公司,覺得對技術是否有提升?
第三面,此面沒有技術問題

第四面HR(感覺這面問題回答的有點扯,畢竟是這麼幾年來首次面HR,之前面過2、3個公司,要麼很早就掛了,要麼感覺流程太長,自己不願意面下去)

1、願意去杭州發展麼?我說要考慮,hr就問主要考慮什麼問題2、從技術角度來說,你覺得你跟你同學比怎麼樣3、你的父母怎麼看待你的1、jvm性能調優都做了什麼

2、高併發情況下,我們系統是如何支撐大量的請求的

3、集羣如何同步會話狀態

4、負載均衡的原理

5、數據庫事務屬性

6、二叉樹的遍歷算法

7、hashtable和hashmap的區別

8、併發、同步的接口或方法

9、string、stringbuilder、stringbuffer區別

10、https處理的一個過程,對稱加密和非對稱加密

11、線程的幾種狀態

12、瞭解手機開發麼

13、個人優勢

14、與同事溝通的時候,如果遇到衝突瞭如何解決

15、工作中覺得哪方面欠缺?

16、有問題要問麼?

17、期望薪水

18、爲什麼要離開現在的公司 struts1.2和webwork的區別 hibernate和ibatis的區別 spring工作機制,IOC容器 servlet的一些相關問題 webservice相關 java基礎:jvm,HashSet等等* 考察學習新技術的能力

其他:

  1. 店鋪相關的業務特點決定,有前後端知識是加分項。 如果候選者熟悉javascript。

可以考察:

1) 前後端優化的基本常識,比如js放在後面不阻塞等;原生js的理解,正則,時間冒泡等。

2)firebug,fiddle等調試工具;

3)如果是基本使用,看下ext框架,jquery等熟悉程度。jquery插件機制,sizzle選擇器。

如果以上都不錯,可以再深入考察

1)作用域鏈, 閉包的理解。

2)看下是否瞭解最新的技術。 augularJS, nodejs,cmd規範,amd規範等。

阿里HR面相關問題分享如下:

1、爲什麼選擇該部門?因爲在校招個人信息的開放問題中,有一個問題是:你最期望在阿里巴巴實習的部門或項目是什麼?請介紹下你對該部門的瞭解和希望實習的原因?而我只是寫了個部門名稱,並未展開說明,所以hr纔有此一問。
2、之前有參加過其他公司的招聘嗎?爲什麼沒有通過?
3、阿里實習招聘被拒的原因?什麼問題沒有回答好?對該問題下來自己有無總結?
4、對阿里的印象或者同學中的評價?
5、參與的課外活動?社團?除了學習,有其他的活動嗎?
6、爲什麼選擇讀研?讀研和本科的不同?讀研後最大的不同是?
7、問有沒有實習經歷或者工作經驗 怎麼看待?可否提前去實習?
8、最近有沒有自己感覺沮喪的事情?談一談。最近遇到最困難的事情是?
9、爲什麼選擇去杭州工作?
10、本週結束內推流程,8月15號前出結果通知。最後,是否有啥想問的?整體上感覺hr態度還是很不錯的,相互交流的還挺輕鬆。
主要用到的技術棧總結:

掃描下方二維碼:或者搜索Q羣號:739486042

點擊鏈接加入羣聊【java架構學習羣】:https://jq.qq.com/?_wv=1027&k=5G1eNmB

30W年薪阿里P7面試經歷JAVA總結,技術面,HR面
架構師築基專題:
30W年薪阿里P7面試經歷JAVA總結,技術面,HR面
開源框架解析專題:
30W年薪阿里P7面試經歷JAVA總結,技術面,HR面

高性能架構專題:
30W年薪阿里P7面試經歷JAVA總結,技術面,HR面

微服務架構專題:

30W年薪阿里P7面試經歷JAVA總結,技術面,HR面
團隊協作開發專題:
30W年薪阿里P7面試經歷JAVA總結,技術面,HR面

B2C項目實戰:
30W年薪阿里P7面試經歷JAVA總結,技術面,HR面

併發編程專題:

30W年薪阿里P7面試經歷JAVA總結,技術面,HR面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章