成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

記一次慘烈的阿里面試經(jīng)歷

Eastboat / 846人閱讀

摘要:當(dāng)我們的需求出現(xiàn)變動時,工廠模式會需要進(jìn)行相應(yīng)的變化??偨Y(jié)來說,要想成功進(jìn)行一次阿里巴巴的面試,你需要了解甚至掌握以下內(nèi)容語言,尤其是線程原理數(shù)據(jù)庫事務(wù),加鎖,重點(diǎn)分布式設(shè)計(jì)模式可以說是涉及范圍非常廣了。

前言

今天本是一個陽光明媚,鳥語花香的日子。于是我決定在逛街中感受春日的陽光~結(jié)果晚上七點(diǎn)的時候,螞蟻金服后端大佬來了電話,要進(jìn)行一輪的技術(shù)面試。我一臉黑人問號???現(xiàn)在的面試都流行突襲嗎?

于是我的第一次面試之旅,就此壯烈的展開。

自我介紹

首先呢,大佬讓我用兩分鐘自我介紹。我本以為自己能滔滔不絕,將對方視作相親對象般全方位介紹自己。結(jié)果不到半分鐘,我就介紹完了==。

五秒鐘的沉默后,大佬嗯了一聲。

感覺自己的臉上堆滿了尷尬而不失禮貌的微笑。

最近的項(xiàng)目經(jīng)歷

這時大佬問我最近從事了什么項(xiàng)目,研究生階段都進(jìn)行了什么樣的工作。

那必須吹一吹!從JAVA的起源到Spring的發(fā)展再到j(luò)enkin的使用順便提一嘴dva+antd,結(jié)果半分鐘一到,又說不下去了==

大佬很有耐心的聽我說了一堆語無倫次的話,開始進(jìn)入正題。

Spring

大佬:我看你用過這個Spring啊,你來聊聊為什么我們要使用Spring呢?

我:(因?yàn)榇蠹叶颊f好?。┦紫饶?,spring是一個龐大的框架,它封裝了很多成熟的功能能夠讓我們無需重復(fù)造輪子。其次呢,它使用IOC進(jìn)行依賴管理,我們就不用自己初始化實(shí)例啦。

大佬:(我就知道你會說IOC啦)那你解釋一下IOC吧

我:IOC就是依賴控制轉(zhuǎn)化,利用JAVA的反射機(jī)制,將實(shí)例的初始化交給Spring。Spring可以通過配置文件管理實(shí)例。

大佬:那我們可以直接使用工廠模式呀。工廠模式也可以管理實(shí)例的初始化呀,為什么一定要使用Spring呢?

我:啊........因?yàn)?......方便?(仿佛看到大佬凝固的表情,為了不那么尷尬,我決定轉(zhuǎn)移話題)。而且spring的IOC是單例模式呢。

大佬:默認(rèn)的是實(shí)現(xiàn)是單例模式嗎?

我:對的。

這里查了一下為什么不用工廠模式而使用IOC。其實(shí)本質(zhì)上還是因?yàn)镮OC是通過反射機(jī)制來實(shí)現(xiàn)的。當(dāng)我們的需求出現(xiàn)變動時,工廠模式會需要進(jìn)行相應(yīng)的變化。但是IOC的反射機(jī)制允許我們不重新編譯代碼,因?yàn)樗膶ο蠖际莿討B(tài)生成的。

數(shù)據(jù)庫

大佬:你使用過哪些數(shù)據(jù)庫呀?

我:mysql還有sqlight。(被遺忘的mongodb在角落里無聲哭泣)

大佬:那你使用的ORM框架除了hibernate還有哪些,比如IBatis?

我:我用過MyBatis

大佬:哦,那你能講一下你對兩個框架使用后的感受嗎?

我:當(dāng)時使用Mybaits的時候,也有去社區(qū)了解了一下兩個框架的口碑,發(fā)現(xiàn)大家的戰(zhàn)隊(duì)都堅(jiān)定而對立。對Hibernate的不滿通常是因?yàn)樗趶?fù)雜關(guān)聯(lián)中往往會帶來嚴(yán)重的性能問題,也就是N+1的問題。但是它是面向?qū)ο笾С值淖詈玫目蚣芰?。而Mybatis則相對而言比較易于使用,只需要會SQL語句就行了。但是也意味著會破壞一些面向?qū)ο蟮囊?guī)則。

大佬:(似乎有點(diǎn)認(rèn)可)那你了解數(shù)據(jù)庫的事務(wù)嗎?能講一下數(shù)據(jù)庫的事務(wù)級別嗎?

我:(忘得一干二凈)emmm不好意思我記不太清楚了。

大佬:那你還記得數(shù)據(jù)庫的加鎖嗎?比如樂觀鎖,悲觀鎖?

我:(求您別問了T T)

大佬:(鍥而不舍)那我現(xiàn)在假設(shè)有一張用戶表,你也知道,正常的表只能存放大概一千萬或是兩千萬左右的數(shù)據(jù)。但是阿里巴巴有上億的用戶?你會怎么存儲呢?

我:可以縱向分割與橫向分割。

大佬:那你覺得這里應(yīng)該縱向還是橫向呢?

我:縱向(載入史冊的嘴瓢)

大佬:(很有耐心)可是這樣我的數(shù)據(jù)庫還是放不下啊

我:(仿佛突然睡醒)應(yīng)該是橫向分割,把表拆分成多個表然后分布式存儲

大佬:那你覺得我們怎樣分割比較合適呢?

我:(還能再問?)可以根據(jù)地域,但是根據(jù)用戶分布的情況來說,還是會有某些地域訪問稠密而有些地域比較稀疏的問題。難道按照用戶等級?

大佬:不,用戶等級會變動,不合適。你這個階段暫時沒有考慮這個問題

我:(謝謝您的臺階啊?。?/p>

Linux

大佬:你們服務(wù)器用的是什么操作系統(tǒng)???

我:(呀,送命題)我們用的是阿里云上的centos系統(tǒng)

大佬:那你對linux熟練嗎?

我:不是很熟悉,僅僅是入門,能夠敲一點(diǎn)指令。

大佬:好,那你知道庫函數(shù)和內(nèi)核調(diào)用嗎?

我:內(nèi)核調(diào)用是指進(jìn)入內(nèi)核態(tài)然后執(zhí)行指令然后再回到用戶態(tài)嗎?

大佬:對

我:我知道的大概就這么多了,只了解一些概念上的內(nèi)容。(涼涼送給自己)

大佬:那你知道如何查看進(jìn)程嗎?

我:啊...記不得了,我一般都查一下指令

(于是大佬果斷放棄了其它linux問題)

JVM

大佬:你了解JAVA虛擬機(jī)嗎?能解釋一下底層的模塊嗎?

我:(如果你通知我明天面試,我就了解了><)不好意思,這一塊知識我不熟悉,但是我很愿意去了解(趕緊表忠心?。。?/p>

線程

大佬:你知道什么是線程安全嗎?

我:(烏魯烏魯說了一堆)就是比如如果同時有兩個線程訪問同一個變量,那么它們對變量造成的修改所帶來的結(jié)果可能是不確定的。群:650385180,想要全面了解面試經(jīng)驗(yàn)的,可以加入進(jìn)來。

大佬:那你知道JAVA有什么方法來實(shí)現(xiàn)線程安全嗎?

我:(前幾天還翻譯了博客,但是一問起來忘得比啥都快)首先是synchronized修飾詞,然后JAVA還自己實(shí)現(xiàn)了一些封裝好的類比如LatchDown,Atomic系列(????????后來一查是CountDownLatch!還有大明湖畔的final關(guān)鍵字呢?還有小明湖畔的Lock呢?還有那些實(shí)現(xiàn)線程的collections比如ConcurrentHashMap呢?)

(大佬果然開啟了下一個問題)

分布式

大佬:你有寫過分布式的業(yè)務(wù)嗎?

我:我寫過一個基于HDFS分布式存儲的KVStore,上層使用Hadoop的API實(shí)現(xiàn)。

大佬:那個是分布式存儲,我想了解一下分布式業(yè)務(wù)?

我:(趕緊糾正)那dubbo算嗎?(于是介紹了一下自己了解的dubbo)

大佬:ok。那你覺得分布式的話會遇到什么問題呢?

我:那就是經(jīng)典的CAP問題了。沒有數(shù)據(jù)庫能夠同時滿足這三個問題

大佬:那你能具體解釋一下CAP代表什么嗎?

我:(緊張到一片空白)Consistency?Atomic?P...Persistency???

大佬:.......

CAP: 是指Consistency一致性,Availability可用性,Partition Tolerance分區(qū)容忍性

設(shè)計(jì)模式

大佬:你了解過設(shè)計(jì)模式嗎?

我:了解了解

大佬:那你了解過哪些設(shè)計(jì)模式呢?

我:blablabla

大佬:那你解釋一下指令模式吧

我:這個有點(diǎn)像函數(shù)式編程的思想。指令模式就是指將各個操作封裝為統(tǒng)一的接口,并且提供各個操作的實(shí)現(xiàn)類。這樣我們只需要面向command接口編程,解除了調(diào)用類和指令之間的強(qiáng)耦合。

總結(jié)

最后當(dāng)然和大佬話一話家常,進(jìn)行最后的掙扎??偨Y(jié)來說,要想成功進(jìn)行一次阿里巴巴的面試,你需要了解甚至掌握以下內(nèi)容:

· JAVA語言,尤其是線程

· JVM原理

· 數(shù)據(jù)庫(事務(wù),加鎖,ORM)

· Linux

· Spring(重點(diǎn)?。?/p>

· 分布式

· 設(shè)計(jì)模式

可以說是涉及范圍非常廣了。不過其實(shí)要想成為一名優(yōu)秀的后端開發(fā),是需要這些知識面的,只能說自己還是太菜了。要繼續(xù)深入學(xué)習(xí)!如果你也想深入學(xué)習(xí)的話,可以加入進(jìn)來,里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務(wù)架構(gòu)的原理,JVM性能優(yōu)化這些成為架構(gòu)師必備的知識體系。還能領(lǐng)取免費(fèi)的學(xué)習(xí)資源,目前受益良多,以下的知識體系圖也是在里面獲取的。

推薦知識體系:

一、性能調(diào)優(yōu)

二、源碼解讀

三、分布式

四、微服務(wù)

五、工程化

六:雙十一項(xiàng)目實(shí)戰(zhàn)

以上就是我要說的內(nèi)容,希望以上的內(nèi)容可以幫助到正在默默艱辛,遇到瓶疾且不知道怎么辦的Java程序員們,我能幫你的只有這么多了,面試題已經(jīng)總結(jié)完了,我能幫的,也只有這么多了,希望大家在往后的工作與面試中,一切順利。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69027.html

相關(guān)文章

  • 前端最強(qiáng)面經(jīng)匯總

    摘要:獲取的對象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對象即使沒有代碼,也會把默認(rèn)的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點(diǎn)個贊,點(diǎn)個star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項(xiàng)目地址 https:...

    wangjuntytl 評論0 收藏0
  • 一次“失利后”經(jīng)過半年準(zhǔn)備通過阿里社招經(jīng)歷與感悟

    摘要:寫在最前本次分享一下在作者上一次失利即拿到畢業(yè)證第二天突然收到阿里社招面試通知失敗之后,通過分析自己的定位與實(shí)際情況,做出的未來一到兩年的規(guī)劃。在博客有一定曝光度的積累中,陸續(xù)收到了一些面試邀請,基本上是阿里的但是我知道我菜。。 寫在最前 本次分享一下在作者上一次失利即拿到畢業(yè)證第二天突然收到阿里社招面試通知失敗之后,通過分析自己的定位與實(shí)際情況,做出的未來一到兩年的規(guī)劃。以及本次社招...

    malakashi 評論0 收藏0
  • 一次慘痛面試經(jīng)歷

    摘要:把內(nèi)存分成兩種,一種叫做棧內(nèi)存,一種叫做堆內(nèi)存在函數(shù)中定義的一些基本類型的變量和對象的引用變量都是在函數(shù)的棧內(nèi)存中分配。堆內(nèi)存用于存放由創(chuàng)建的對象和數(shù)組。 一次慘痛的阿里技術(shù)面 就在昨天,有幸接到了阿里的面試通知,本來我以為自己的簡歷應(yīng)該不會的到面試的機(jī)會了,然而機(jī)會卻這么來了,我卻沒有做好準(zhǔn)備,被面試官大大一通血虐。因此,我想寫點(diǎn)東西紀(jì)念一下這次的經(jīng)歷,也當(dāng)一次教訓(xùn)了。其實(shí)面試官大大...

    CoorChice 評論0 收藏0
  • 【FAILED】一次Python后端開發(fā)面試經(jīng)歷

    摘要:正確的思路是等概率隨機(jī)只取出共個數(shù),每個數(shù)出現(xiàn)的概率也是相等的隨機(jī)輸出把一段代碼改成,并增加單元測試。代碼本身很簡單,即使沒學(xué)過也能看懂,改后的代碼如下但是對于單元測試則僅限于聽過的地步,需要用到,好像也有別的模塊。 在拉勾上投了十幾個公司,大部分都被標(biāo)記為不合適,有兩個給了面試機(jī)會,其中一個自己覺得肯定不會去的,也就沒有去面試,另一個經(jīng)歷了一輪電話面加一輪現(xiàn)場筆試和面試,在此記錄一下...

    kohoh_ 評論0 收藏0
  • 一次前端面試試水筆記

    摘要:浪費(fèi)青春話不多說,之前投的簡歷,有家公司忽然聯(lián)系說,想和我約個時間點(diǎn)電話面試。不了解自己的水平,永遠(yuǎn)都會止步于眼前的安逸。電話面試流程面試官簡單介紹一下來意,然后先了解工作經(jīng)驗(yàn),再問技術(shù)問題。 最近換了個項(xiàng)目,現(xiàn)階段處于項(xiàng)目啟動階段,沒有開發(fā)任務(wù),天天悠悠哉哉地都快把自己的本職忘了。浪費(fèi)青春?。?!話不多說,之前投的簡歷,有家公司HR忽然聯(lián)系說,想和我約個時間點(diǎn)電話面試。雖然這段時間一直...

    shleyZ 評論0 收藏0

發(fā)表評論

0條評論

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