面試記錄
阿里面試一面(pass):
這次面試比較突如其來,我壓根沒準備,因為我本來就沒打算換作業
好了,進入正題
1.最近目前做的作業,負責哪些東西,(因人而異)
然后會根據你做的事展開,這一部分就是做一個初步的了解,會聊的比較寬泛,節奏基本把握在自己這邊,一定要說自己做的亮點,遇到的難點,怎么解決的,
我這里涉及到了資料庫,orm框架,微服務及相關中間件的問答,
2.基礎部分
2.1 并發
2.1.1執行緒池的設計思想,
我答的不太好,我還特地問了一下是要問那些引數的具體意思嗎?果然不是,我也過過2次阿里一面了,可能同一塊知識點,他問法會比較刁鉆,
我當時說了下執行緒池的作業原理,至于涉及思想我思前想后,可能就是很簡單的“執行緒復用,節省資源”,再結合執行緒池的作業原理,把關鍵引數的作用都說一下,
應該就差不多了,(不過當時面試官記錯了,他說是超過最大執行緒數才會丟到阻塞佇列中,其實是超過核心執行緒數就丟到阻塞佇列中,佇列滿了但是沒超過最大
執行緒數,會起新的執行緒,當時把我整懵了,我是今天起來整理的時候特地確認了一下)
2.1.2可重入鎖的實作原理
這里會涉及到公平鎖和非公平鎖2種實作,大家百度一下都能找到答案,我答的也一般,確實沒特地準備,一些基礎的知識點,容易忘,
因為不光光是知道aqs這個同步器是個什么東西,或者說知道由state屬性、cas原理就能說的好的,還是需要經常回顧知識點,捋一捋整個邏輯,才能說的比較好,
2.2 spring
2.2.1 很基礎的IOC流程
簡單概括一下先,因為不是重點,不論是xml形式還是注解的形式,都無非是收集專案中bean資訊封裝成beanDefinition物件,beanFactory的初始化預設值,之后會完成一些PostProsessor
的注冊和呼叫,并先實體化實作了BeanPostProcessor介面的bean,主要還是根據beanDefinition去創建bean物件的程序,根據bean資訊中的建構式,反射呼叫生成物件,
再依賴注入屬性(這里可以提一下autowired和resource的實作原理),甚至可以展開依賴注入的問題,為什么建構式不能依賴注入等等,之后就是實體化和ioc依賴注入完以后的呼叫
主要是對類中某些特殊方法的呼叫和一些特殊介面的呼叫,這里可能會生出代理實體,有個AOP入口,可能會引入到aop的話題,
2.2.2 果然,問AOP了
就讓我說說AOP,然后我就簡單說了下,這里就不具體說了,百度一下一大堆,我也點了一下對aop的鏈式呼叫印象特別深刻,至于AOP生成代理類的原理啊啥的,也沒啥好說的
大家自行查閱資料,
2.2.3 作業中有針對哪些場景是通過對spring介面的擴展而解決的
可能我記得不太準確了,反正意思就是,spring提供了那么多鉤子介面,用于給你做擴展,你在哪有用過哪些擴展介面,
不管是IOC程序,AOP程序,MVC程序等等,這個大家因人而異嗷,spring各個時機的擴展介面實在太多了,
2.3 分布式
2.3.1 繞不開的分布式事務
聊得不是很深,就問了下一些分布式事務的解決方案,我們專案是用開源的框架還是自己實作的,emmm..我們沒有自己做,就是用的lcn的tcc解決方案
然后并請教了一下阿里的seata的一些東西,后來還讓我暢享了一下分布式事務解決方案的未來,咳咳,我要是有這本事,那我起飛了,
說到這兒已經過去一個多小時了,后來就隨便聊了聊,確實我自己也沒準備好,可能他們確實缺人吧,覺得我挺好的,讓我準備下二面,
emmm...有點方,,去年就倒在了阿里二面,何況今年壓根就沒準備,最近作業比較忙,
害,隨便吧,反正也沒打算換作業,面上了就去,面不上拉倒,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/19143.html
標籤:其他
