他的情況介紹,雙非一本,19年畢業,計算機專業,只過四級,剛剛一年經驗,他把他的支付寶外派面試經驗分享出來了,還有他的一些學習資料,也都整理出來發給我了,需要的朋友可以私信【電子書】即可!
一面是軟通技術面
跟HR溝通的時候我說算了算了,阿里的線上面試還是有難度的,畢業一年以我的能力怕是外派去不了的,然后她就一直一直要我簡歷,我一想,反正不花錢,試一試嘛,
(當時我還在公司上班,我是騎驢找馬型的,也沒提前約時間,就跑到樓梯間里去)
1、分布式
問的還是挺多的,SpringCloud 的框架都點了,還有阿里最新的一套,Nacos,Sentinel做服務熔斷限流降級持久化到資料庫,分布式事務(TC二階段提交),分布式事務的其他解決方案也沒有問,
2、JVM (問的最多)
類加載機制,沙箱安全,這些都問,然后問運行時資料區,我答漏了一個程式計數器,
他就接著提問程式計數器,真被自己蠢到了,
然后問可達性分析,什么樣的物件可以作為GcRoot、加載的時候把這些物件提前找好用的OopMap,
OOM,StackOverFlow,垃圾收集演算法,垃圾收集器(G1),記憶集,
新生代幾次物件幾次到老年代?(15)
有沒有可能直接把剛new出來的物件放在老年代?(第一次遇到這個問題,我就說覺得有可能,畢竟有些垃圾回收器會有一個空間分配擔保策略,)
后面我去查了一下資料,直接把物件new 在老年代的情況還是比較多的,我說的那個是其中一種,
3、多執行緒(問的也超級多)
volatile,CAS,總線嗅探,CPU快取一致性協議
ReentrantLock、ThreadLocal、Lock和Synchronized的區別,CountDownLatch,ABC三個執行緒怎么去保證順序執行?
(多執行緒我就是那種理論還行,實操渣渣的那種,畢竟業務系統,阿西吧,都是淚啊)
4、資料庫優化
剛巧就是前一天寫的博客,全問了,真就超級巧,B+樹,Hash索引,最左前綴,索引優化分析,一條龍服務,都問了一下,
5、Redis
一來就是分布式鎖,不逼逼的那種,然后別的就沒問了,可能也是覺得我回答的還行就跳過了,
6、基礎
沒想到我上面的回答的還可以,但是在基礎題上卻回答個稀爛
HashMap:我直接答錯了,他問擴容的觸發條件是什么,我說只是一個達到負載就擴容了,他告訴我是:負載和Hash沖突同時發生,這個我真不知道,
final 修飾一個變數String 怎么去改,我說改不了,他說用反射,我也不知道,
final 修飾一個物件Person,能不能去改物件的屬性 (問到這里我就猜到 final是僅僅不能改參考的地址,至于參考里面是什么,就可以隨便改了)然后他給我講了一下,
上面兩個基礎題答的稀爛,另外有幾個問了是真不知道:
死鎖怎么排查?
JVM調優什么做?
explain + sql 后面的串列都表示什么含義?(我是真的忘了,只記得檔案內排序和臨時表了)
面試官一般nice,不會的會給你提示(比如我答漏了一個程式計數器),也會給你講清楚,
電話面試,整個程序接近一個小時,
二面阿里技術官面
整個程序40分鐘,
場景題偏多,
1、自我介紹,直接技術堆疊
自我介紹很重要,圍繞四個點去說,(自報家門,專案經驗,技術堆疊,求職愿望)
因為你不知道這次面的是技識訓是HR,所以多帶一句類似這樣的話:
我一直在對照行業內普遍的招聘要求去學習,對分布式,jvm,redis.....比較了解
也一直很想去像你們XXX這樣的互聯網公司歷練自己,希望能加入你們的專案組,
(也不多,就10幾秒鐘就說完,不耽誤其他的表達)
2、HashMap & ConcurrentHashMap
這可以說是面試必問啦,抓住機會,把知道的多說一點,哈哈哈,
3、資料庫連接池
我真就只知道一點點皮毛,連接復用,用durid(阿里的 Druid 資料庫連接)倒是用的多,但是生成上引數怎么配的不知道,連接數不夠了怎么辦不知道......
4、Spring和SpringBoot的區別
基礎題,也是抓住機會,好不容易一個知道的,趕緊多說一點,
5、輸入一個網址之后發生了什么?
對于我這個網路渣渣只知道域名要去DNS決議,找到ip,然后才進到后臺埠服務,但是這個程序肯定要經歷各種代理和負載均衡的調度,之后就是查資料庫回傳,所以我答個稀爛,
6、資料庫查詢慢你怎么分析?
常規,把知道的說出來就行,慢查詢日志,找到sql,用explain分析,對照索引看看建的怎么樣,如果急用的話那就強制走一個,不急的話那就慢慢優化索引結構唄,
7、問了幾個索引題,
字串要寫單引號,字串查詢怎么增加查詢效率,字串索引太大了那就截取幾個做索引,叫前綴索引,怎么判斷一個索引欄位選的好不好,看不重復的和總數的比值,越大越好,
8、假如現在系統里面就是要模糊匹配怎么辦?
就是要做字串的搜索,怎么辦?我只想到一個ElasticSearch,
然后說了說ES可能不實時,因為要借助其他工具進行同步(logstash),然后問了幾個概念,
唉,也忘記掉了,沒答好,
9、大資料了解嗎?
只看過一點Handoop,把HDFS檔案系統做存盤,MapReduce做計算說了一下,
后面那些就真不知道了,hasdoop的都快忘沒了,沒必要不懂裝懂,
阿里的面試,場景題很多,考察的也是知識的廣度,面對問題的解決方案和思路,但是只要問到一些點上面,面試官就知道你是什么水平了,回答的不好也會說沒關系的下一個,面完我的感覺就是沒了,然后打算好好補充一下基礎知識,
HR面
直接就說阿里那邊的面試通過了,我也知道那肯定是有了,外包只要面過了就只希望你去就好了,
問我期望薪資,我就說16K,很爽快的就同意了,然后問我有什么想問的,
其實沒什么了啊,我覺得我這樣的情況,畢業一年,16K,差不多可能已經到頭了吧,不比現在拿6K多點好么?
當時其實不是很激動,楞了一下,她說:別的不了解一下么?
......
其實大家都懂的,外派大廠,吃住自理,五險一金交的也不是很高,年終可能就看心情給,晉升那就看自己表現了,或者就沒有晉升好吧,大多數情況下,外包去大廠那就是就是作為一個跳板吧,環境氛圍會驅使自己學更多的東西,那下一次跳槽,就比較理想了吧,
乙方......
實習的時候在銀行的時候是乙方,畢業了去煙草行業也是去做煙草的乙方......
那去嗎?
大概率是會去,看看我這1年經驗的條件,再看看18年后畢業勿擾的崗位要求,去!
面試總結
這是我自己整理的一些技術板塊在面試中常問的面試題,現在把自己的經驗分享給大家,需要的可點擊這份《Java面試BAT通關手冊》即可!
自己這幾個月面了好多家吧,整理下來最容易問的知識點:
一、Java基礎
面向物件,final,HashCode,HashMap,ConcurrentHashMap,集合框架,
二、Spring社區
IOC思想,創建程序,Bean生命周期,三級快取搞定回圈依賴,AOP倒是問的少
SpringMVC流程(經典面試題了)
三、分布式微服務
路由,網關,呼叫,負載,配置,熔斷限流降級
阿里最新的組件也常問,Nacos,Sentinel,Seata
(Seata是一種二階段提交解分布式事務的辦法,還有很多,常用的還有補償,盡最大努力通知)
那么分布式鎖也要準備一下了(Redis,Zookeeper)
雪花演算法 分布式唯一ID 生成器
四、Redis
我覺得它就是一個萬金油,使用場景也是常問的,
快取,分布式鎖,快取雪崩擊穿穿透這三兄弟,以及對于的解決辦法,資料型別,持久化策略,高可用策略,主從,哨兵
再深入的話就把資料結構看了
五、資料庫
Mysql高可用,索引,B+樹,哈希索引,聚集索引,聯合索引,前綴索引,三星索引,索引失效
資料表水平垂直拆分,拆分之后怎么做查詢,慢查詢分析,索引失效的情況,回表是什么意思,隨機IO和順序IO,explain的輸出列是什么意思
六、多執行緒
volatile問的最多,synchronized反而不是很多
AQS和聚合了這個同步器的鎖,
公平鎖,非公平鎖,偏向鎖,分段鎖,可重入鎖......
七、JVM
推薦看兩遍《深入理解Java虛擬機》周志明的最新版,看完就基本能回答面試的提問了
八、網路
我這個計算機網路渣渣只能說起碼 三次握手和四次揮手要知道吧
還有就是一些場景題,多去看b站上面的面經,看看別人是怎么問這些問題的,該怎么回答,
資料結構和演算法,多練,
貪多嚼不爛,慢慢積累消化,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/591.html
標籤:其他
下一篇:程式員應該如何找作業呢?
