一次阿里的面試

2021-09-11 15:10:15 字數 2298 閱讀 7338

你用過springcloud,你知道它的實現原理嗎?

我目前使用到的就是eureka做註冊中心,ribbon做負載均衡,feign做宣告式服務呼叫(原先是使用resttemplate,太過混亂)hystrix的熔斷機制機制還沒有使用,zuul做路由處理,比如一些token校驗,客戶端呼叫哪個服務都得經過該層。

springcloud和dubbo的區別和優缺點能講一下嗎?就是當時你為什麼不選擇dubbo而選擇springcloud?

當時我選用的時候分析過這兩個的區別,主要區別我覺得是springcloud使用的restful的http協議,dubbo使用的rpc進行通訊,雖然http協議比較重,但是使用起來會簡單很多,跨平台呼叫也比較輕鬆。其二就是看了很多人反饋dubbo的神坑是jar包依賴,對於當時剛接觸分布式的我來說肯定會選擇更為簡單的,容易上手,文件齊全的分布式框架來用,何況當時dubbo已經停止更新了。

springboot的引入第三方的starter有了解過嗎?能詳細講一下嗎?

這個我當時沒有答上來,雖然我一直在用,但是我不知道starter這個專業術語,所以當時是懵逼的。

springboot的啟動原理你可以講解一下嗎?比如如何載入上面說的starter?

@configuration其實就是乙個ioc容器的配置類,該註解宣告的類會被加到ioc容器中

@componentscan就是自動掃瞄並載入符合條件的元件(比如@component和@repository等)

@enableautoconfiguration這個最為重要,也是上面starter會被載入進來的原因,該註解中最為關鍵的就是@import(),借助該類@enableautoconfiguration可以幫助springboot應用將所有符合條件的@configuration配置都載入到ioc容器,本質是借助springfactoriesloader從指定的配置檔案meta-inf/spring.factories載入配置,通過反射例項化到ioc

複製**

後面我打算後面起一篇文章具體講講springboot的整個啟動過程。

資料庫表需要建立索引,乙個業務需要用到ac聯合索引,乙個業務需要用到abc聯合索引,你會怎麼建立索引?為什麼需要這麼建立?

我會建立acb索引,mysql的復合索引的建立以及最左字首原則,其實乙個索引存在平衡樹的節點上就相當於乙個存了乙個string,比如acb的內容分別為acb,儲存起來就像是a_c_b,當進來a_c,迴圈a_c_b只要前面不匹配就退出進行下乙個比迴圈完整個a_c_b的效能要好很多。

你知道mysql建立索引的原理嗎?

索引主要分為兩種索引,聚集索引和非聚集索引,聚集索引是以主鍵建立的索引,每個樹節點都是資料庫表的一行資料,就相當於一棵樹就是乙個表,非聚集索引是以其他字段建立的索引,儲存了該字段內容和主鍵之間的關係,查到這個字段內容之後再去聚集索引裡找資料。

為什麼mysql要選用b+樹做索引的資料結構,而不用其他樹?

第一b樹能減少樹的層數,這就減少了磁碟io查詢的次數。 第二b+樹相比於b樹,b+樹所有data域資料都是存在葉子節點上的, 但是b-樹的每個節點都有data域,這無疑增大了節點大小,也會增加了磁碟io次數。 mysql還對b+樹做了乙個優化,就是將所有葉子節點串起來,方便資料便利,畢竟遍歷樹拿到所有資料並不是那麼方便

能講講synchronized實現原理嗎?

看位元組碼檔案可以看到,被鎖住的**操作前後有乙個monitorenter和monitorexit包裹著 任何物件都有乙個monitor與之相關聯,當且乙個monitor被持有之後,他將處於鎖定狀態。執行緒執行到monitorenter指令時, 將會嘗試獲取物件所對應的monitor所有權,即嘗試獲取物件的鎖

jvm對synchronized做了哪些優化?

我只回答了自旋(其實還有適度自旋,控制自旋時間)

執行緒等待鎖的時候為什麼選擇自旋而不阻塞?

執行緒的阻塞和喚醒需要cpu從使用者態轉為核心態,這是乙個負擔很重的操作,物件鎖一般只會持續極短的時間,為了這段時間頻繁阻塞喚醒執行緒不值得

多執行緒死鎖是如何形成的?

同步中巢狀了其他的同步

排查死鎖時,jstack生成的dump檔案你是怎麼分析的?

用mat進行分析,還能分析記憶體溢位的情況

這次面試回答的並不是很好,以上部分答案是經過了後期優化防止誤人子弟。

阿里電話面試總結(人生第一次面試!!)

在圖書館看書的時候,突然接到乙個 一眼看去就是推銷房子的那種,可是地點顯示是杭州就接了。對面說他是阿里菜鳥網路的,我就知道是面試 了。我就說你等我三分鐘,我得從圖書館出去才能大聲說話。他很和藹,說不用掛 就這樣我就跑出去了。接下來直奔主題!1 你知道bio和nio嗎?答 心裡想 一上來就問這麼難的東...

一次難忘的面試

差不多一年半以前了,到乙個大公司面試。前面三輪都過了,到了最後乙個人來面是部門級的領導來面的。面試官面無表情,拿著我的簡歷反覆看,偶爾抬一下眼皮看看我,再看簡歷。他有三分鐘沒有說話,然後我有些不自在起來。他也沒要我做自我介紹,隨便聊了幾句後就告訴我 7500,我表示接受不了。下面他開始表演了 你現在...

一次「廢寢忘食」的面試

前言 面試每個人都會經歷,當然還有筆試。從大學畢業找工作開始,就注定了你要經歷無數次的面試。有時會千里迢迢跑過去參加乙個面試,等待n長時間後卻是你先回去等通知吧,那時你卻飢腸轆轆的。更多的面試後,會讓你回去等 通知吧。而且面試時間不會太長.而我最近經歷了一場長達3個小時的面試,到了廢寢忘食的地步,走...