国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

又被面試官問設計模式了,我真的是

不知名網友 / 1877人閱讀

摘要:面試官要不你來手寫下單例模式唄候選者單例模式一般會有好幾種寫法候選者餓漢式簡單懶漢式在方法聲明時加鎖雙重檢驗加鎖進階懶漢式靜態內部類優雅懶漢式枚舉候選者所謂餓漢式指的就是還沒被用到,就直接初始化了對象。

面試官我看你的簡歷寫著熟悉常見的設計模式,要不你來簡單聊聊你熟悉哪幾個吧?

候選者:常見的工廠模式、代理模式、模板方法模式、責任鏈模式、單例模式、包裝設計模式、策略模式等都是有所了解的

候選者:項目手寫代碼用得比較多的,一般就模板方法模式、責任鏈模式、策略模式、單例模式吧

候選者:像工廠模式、代理模式這種,手寫倒是不多,但畢竟Java后端一般環境下都用Spring嘛,所以還是比較熟悉的。

面試官要不你來手寫下單例模式唄?

候選者:單例模式一般會有好幾種寫法

候選者:餓漢式、簡單懶漢式(在方法聲明時加鎖)、DCL雙重檢驗加鎖(進階懶漢式)、靜態內部類(優雅懶漢式)、枚舉

候選者:所謂「餓漢式」指的就是還沒被用到,就直接初始化了對象。所謂「懶漢式」指的就是等用到的時候,才進行初始化

候選者:那我就都寫寫吧,反正就那些代碼

面試官:那你們用的哪種比較多?

候選者:一般我們項目里用靜態內部類的方式實現單例會比較多(如果沒有Spring的環境下),代碼簡潔易讀

候選者:如果有Spring環境,那還是直接交由Spring容器管理會比較方便(Spring默認就是單例的)

候選者:枚舉一般我們就用它來做「標識」吧,而DCL這種方式也有同學會在項目里寫(在一些源碼里也能看到其身影),但總體太不利于閱讀和理解(:

候選者:總的來說,用哪一種都可以的,關鍵我覺得要看團隊的代碼風格吧(保持一致就行),即便都用「餓漢式」也沒啥大的問題(現在內存也沒那么稀缺,我認為可讀性比較重要)

面試官:嗯...

面試官我看你在DCL的單例代碼上,寫了volatile修飾嘛?為什么呢?

候選者:你不記得我們曾經聊過volatile的了嘛?指令是有可能亂序執行的(編譯器優化導致亂序、CPU緩存架構導致亂序、CPU原生重排導致亂序)

候選者:在代碼new Object的時候,不是一條原子的指令,它會由幾個步驟組成,在這過程中,就可能會發生指令重排的問題,而volatile這個關鍵字就可以避免指令重排的發生。

面試官那你說下你在項目里用到的設計模式吧?

候選者:嗯,比如說,我這邊在處理請求的時候,會用到責任鏈模式進行處理(減免if else 并且讓項目結構更加清晰)

候選者:在處理公共邏輯時,會使用模板方法模式進行抽象,具體不同的邏輯會由不同的實現類處理(每種消息發送前都需要經過文案校驗,所以可以把文案校驗的邏輯寫在抽象類上)

候選者:代理模式手寫的機會比較少(因為項目一般有Spring環境,直接用Spring 的AOP代理就好了)

候選者:我之前使用過AOP把「監控客戶端」封裝以「注解」的方式進行使用(不用以硬編碼的方式來進行監控,只要有注解就行了)

面試官那你能聊聊Spring常見的設計模式嘛?

候選者:比如,Spring IOC容器可以理解為應用了「工廠模式」(通過ApplicationContext或者BeanFactory去獲取對象)

候選者:Spring的對象默認都是單例的,所以肯定是用了「單例模式」(源碼里對單例的實現是用的DCL來實現單例)

候選者:Spring AOP的底層原理就是用了「代理模式」,實現可能是JDK 動態代理,也可能是CGLIB動態代理

候選者:Spring有很多地方都用了「模板方法模式」,比如事務管理器(AbstractPlatformTransactionManager),getTransaction定義了框架,其中很多都由子類實現

候選者:Spring的事件驅動模型用了「觀察者模式」,具體實現就是ApplicationContextEvent、ApplicationListener

面試官:嗯,了解...

歡迎關注我的微信公眾號【Java3y】來聊聊Java面試,對線面試官系列持續更新中!

【對線面試官-移動端】系列 一周兩篇持續更新中!

【對線面試官-電腦端】系列 一周兩篇持續更新中!

原創不易!!求三連!!

更多的文章可往:文章的目錄導航

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/125108.html

相關文章

  • 經常被面官問到的JavaScript數據類型知識你真的懂嗎?

    摘要:中的強制轉換規則面試官中強制類型轉換是一個非常易出現的點,知道強制轉換時候的規則嗎注規則最好配合下面什么時候發生轉換使用這些規則看效果更佳。調用方法用來把對象轉換成原始類型的值數值字符串和布爾值。 前言 showImg(https://segmentfault.com/img/bVbu4Fb?w=940&h=400);之前面試了幾個開發者,他們確實做過不少項目,能力也是不錯的,但是發現...

    codergarden 評論0 收藏0
  • 簡歷上的項目經歷怎么寫 ?這 3 條原則不可忽視 !

    摘要:正因為如此,現在很多簡歷上的項目經歷的質量都是參差不齊,同時有的項目經歷又非常相似,面試官一眼就能知道你的項目到底是真是假。雖然以上三點原則不能包治百病,但是對很多同學來說應該是蠻有益處的。閱讀本文大概需要 5 分鐘。作者:黃小斜showImg(https://user-gold-cdn.xitu.io/2019/3/30/169cdb4bd2cac24c);?作為一個程序員,想必大家曾經都...

    fobnn 評論0 收藏0
  • 一個 1年工作經驗的 PHP 程序員如何被面試官虐的?

    摘要:準備不充分第一輪不過第一家,廣州琶洲一家環境超級好,福利也不錯,主營美顏的公司,這也是我最感遺憾的一次面試機會。主要是第一輪面試第一個問題的種數據類型,只答了一個。 前言 首先需要說明的一點,本人只是一個畢業一年,只有一年工作經驗的普通PHPer,能力有限,這篇文章只是將我這幾周來的感受和體驗分享出來,希望能給許多像我一樣,或者互聯網行業的新手帶來一些收獲,當然哪里說的不對或不足還是希...

    pcChao 評論0 收藏0
  • 朋友去大廠面試Python開發工程師,看完準備過程傻眼

    摘要:要面試大廠,自己的知識儲備一定要非常豐富,若缺胳膊少腿,別說在實際工作當中,光是面試這一關就過不了。 金九銀十剛過去,有一部分朋友在這期間肯定經歷了一番大廠面試的洗...

    felix0913 評論0 收藏0

發表評論

0條評論

不知名網友

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<