《面試總結(jié)系列一》阿里螞蟻金服一面點(diǎn)評

感謝小明同學(xué)友情提供面試分享署拟,今天我們一起對面試進(jìn)行點(diǎn)評一下

首先進(jìn)行了自我介紹婉宰,幾乎每次面試的時候都會進(jìn)行自我介紹,面試的小伙伴也可以提前準(zhǔn)備一下推穷。主要從幾個方面介紹自己:

  • 教育經(jīng)歷
  • 工作經(jīng)歷心包,任職的公司,負(fù)責(zé)的項(xiàng)目馒铃,擔(dān)任的職責(zé)
  • 自己的技術(shù)棧 (最好能包含技術(shù)點(diǎn)蟹腾,對于技術(shù)人員特別敏感的詞,引導(dǎo)面試官發(fā)問)

問題一 :介紹下感覺比較有成就感的項(xiàng)目

回答:

首先介紹了下項(xiàng)目背景(很明顯区宇,面試官并不感興趣)然后直接讓介紹在這個項(xiàng)目中最有成就感的三點(diǎn)

  • 壓力很大的情況下完成了任務(wù)(感覺沒啥實(shí)質(zhì)的好處)
  • 做了相關(guān)的輔助工具(感覺不是面試官關(guān)注的東西)
  • 配置了完善的策略保證上線的安全

面試官沒有很好的反饋(這三點(diǎn)確實(shí)沒有突出的地方娃殖,實(shí)在不應(yīng)該這么總結(jié),應(yīng)該把性能议谷,框架改造炉爆,和解決的難題說一下)

點(diǎn)評:

首先這個問題對于社招是所有的面試中必問,也是最重要的一個環(huán)節(jié)柿隙。答好了就會對面試起到好的效果叶洞,答的不好差不多有30%的概率在面試官那已經(jīng)有了定論。所以這個環(huán)節(jié)在面試之前一定要好好的準(zhǔn)備禀崖。小明同學(xué)的回答很明顯是沒有準(zhǔn)備的衩辟。提到的三點(diǎn)幾乎完全和技術(shù)不掛鉤。面試官更想聽到的是難點(diǎn)-解決-亮點(diǎn)-技術(shù)詞匯波附。任何一個點(diǎn)出現(xiàn)艺晴,面試官都可以深入詢問來了解面試者的情況。小茗同學(xué)在這個問題上相當(dāng)于把天聊死了掸屡。
可能會有很多人說工作天天寫業(yè)務(wù)也有什么亮點(diǎn)封寞,這里我統(tǒng)一回復(fù)一下:為什么別人的項(xiàng)目有亮點(diǎn)你沒有?和項(xiàng)目無關(guān)仅财,關(guān)鍵是人自己狈究,不要讓自己的工作現(xiàn)狀成為自己不思考不總結(jié)的借口

問題二:Object的方法有哪些

回答:

hashcode盏求,equals抖锥,toString,wait碎罚,notify磅废,finalize,getClass荆烈,clone(沒說出來)

點(diǎn)評:

題目雖然簡單拯勉,漏掉幾個也沒有什么問題。不要為了回答問題而回答問題」停回答完Object有哪些方法后岔帽,需要對各個方法進(jìn)行解釋,例如為什么這幾個方法會在Object斗遏,其中分成了幾類山卦,第一類是做什么的鞋邑,第二類是做什么的诵次,以此類推。通過這個這道題目可以引申的知識點(diǎn):

  • 可以根據(jù)hashcode枚碗,equals方法引申出Map逾一,Set的實(shí)現(xiàn),equals與==的區(qū)別
  • 通過wait, notify可以引申出同步等待的知識點(diǎn)肮雨,synchronized關(guān)鍵字遵堵,volatile,lock怨规,aqs陌宿,線程安全類等一系列知識點(diǎn)的展開。如果能夠進(jìn)一步結(jié)合到自己的項(xiàng)目中會更好波丰,例如項(xiàng)目中哪里為了解決什么問題使用了CountDownLatch等等壳坪。
  • getClass 可以引申出Class類,進(jìn)而引出ClassLoader掰烟,整個類加載器的知識框架都可以聊爽蝴。

面對面試者的回答,面試官在自己的節(jié)奏中纫骑,一步步提問

追問:finalize方法是做什么的蝎亚?
回答:

沒有實(shí)質(zhì)的說出來finalize的用途是做什么的,我大致描述了finalize的特點(diǎn):在對象被Gc之前先馆,必然會調(diào)用finalize方法发框,使用finalize方法可以有一次拯救自己的機(jī)會,可以對該對象重新引用

點(diǎn)評:

中規(guī)中矩的回答煤墙,幾乎和書上寫的是一樣的梅惯。針對這種回答,應(yīng)該直接說明番捂,這只是Java為了對等C++的析構(gòu)函數(shù)的方法个唧,雖然可以做一些回收的工作,但是不建議使用设预。不要給面試官再次問的機(jī)會徙歼。這一塊,引出了GC居然沒有問,尷尬

追問:

見過finalize這么做的嗎魄梯?

回答:

沒有桨螺,實(shí)際項(xiàng)目中基本不會對finalize重寫,也不建議重寫(這塊對finalize的使用場景不太清楚)

追問:

equals方法和hashcode方法為什么需要同時重寫

回答:

hashMap和hashSet的數(shù)據(jù)結(jié)構(gòu)中酿秸,會先對對象進(jìn)行hashCode碼的判斷灭翔,然后在根據(jù)equals方法的判斷是否是相同對象

追問:

hashcode一樣,equals相等嗎辣苏?

回答:

不一定

追問:

equals相等肝箱,hashcode相同嗎?

回答:

相同

點(diǎn)評:

最后兩個問題稀蟋,感覺意義不大煌张,兩個方法而已,hashcode本身就是為了不碰撞退客,即便碰撞上了骏融,equals相等與否無所謂;equals相等萌狂,hashcode一定相同嗎档玻?一類個放在list中,為了判斷相等一般只會重寫equals方法茫藏,而不會重寫hashcode方法误趴。我認(rèn)為這兩個問題的場景如果是在Map中這樣的回答是正確的。

問題三:說下db中的樂觀鎖和悲觀鎖

回答:

反問了下刷允,沒太明白題目的意思(蒙了冤留,db中的樂觀鎖和悲觀鎖?這個是要問隔離級別嗎树灶?)

追問:

那說下什么是樂觀鎖纤怒,什么是悲觀鎖

回答:

樂觀鎖:在使用之前認(rèn)為該值時不會被改動的,業(yè)務(wù)執(zhí)行之后修改值的時候進(jìn)行比對
悲觀鎖:在使用之前認(rèn)為該值會被改動天通,使用之前先對其進(jìn)行加鎖

點(diǎn)評:

回答要抓重點(diǎn)泊窘,首先講什么是悲觀鎖,什么是樂觀鎖像寒,各自使用的場景是什么烘豹,結(jié)合自己的理解提出哪些地方使用了樂觀鎖,哪些地方使用了悲觀鎖诺祸。

  • 樂觀鎖:認(rèn)為發(fā)生沖突的概率是非常小的携悯,所以在每次更新的時候都需要判斷原值是否發(fā)生了變化。主要應(yīng)用于數(shù)據(jù)競爭沖突小的情況筷笨。例如AQS中的CAS操作使用的就是樂觀鎖原理
  • 悲觀鎖:認(rèn)為沖突發(fā)生的概率是非常大的憔鬼,如果沖突一直在發(fā)生龟劲,樂觀鎖中有的線程就會陷入饑餓狀態(tài),一直修改數(shù)據(jù)不成功轴或。針對這種情況昌跌,在出現(xiàn)競爭的地方設(shè)置鎖,每次只能有一個線程進(jìn)行操作照雁。在JAVA中synchronized蚕愤,Lock的實(shí)現(xiàn)即為悲觀鎖原理。

這樣回答中如果有面試者非常熟悉的知識點(diǎn)饺蚊,面試官就會被你的思路帶走萍诱。

追問:

說下怎么在db中使用樂觀鎖和悲觀鎖,假設(shè)db中有個庫存的列卸勺,需要進(jìn)行扣減砂沛,分別使用樂觀鎖和悲觀鎖實(shí)現(xiàn)一下

回答:

這塊我大腦蒙了烫扼,沒說出來

面試后自己回顧:

樂觀鎖實(shí)現(xiàn):在db中增加version字段曙求,讀數(shù)據(jù)把version讀出來,修改后對比version是否相同映企,相同情況下對庫存修改悟狱,并對version加1
悲觀鎖實(shí)現(xiàn):這塊可以設(shè)置新字段標(biāo)識行鎖,先更新行鎖鎖住該行堰氓,然后在讀出數(shù)據(jù)修改數(shù)值挤渐,把行鎖解除掉(感覺會引申出如果宕機(jī)了鎖沒有清掉產(chǎn)生的一直被鎖的問題)

點(diǎn)評:

這個回答也是不太好

  • 樂觀鎖的實(shí)現(xiàn),version可以實(shí)現(xiàn)双絮,也可以解決樂觀鎖的ABA問題浴麻,但是在庫存這種場景下ABA問題不影響業(yè)務(wù)。首選查詢庫存為x囤攀,現(xiàn)在庫存要-1软免,直接更新庫存就可以了,只不過要在where語句中添加stock=x,整體語句為:update xxx set stock = x-1 where stock=x and id=xxxx
  • 悲觀鎖焚挠,這里的思想是在數(shù)據(jù)庫中使用一個字段進(jìn)行標(biāo)志膏萧,先更新標(biāo)記位,誰更新成功誰獲取鎖蝌衔。但是這是有嚴(yán)重問題的:1是線程加鎖成功后死掉了怎么辦榛泛,該條記錄永遠(yuǎn)不能解鎖,其他線程死等噩斟?2是其他線程完全可以通過操作修改鎖狀態(tài)也就是釋放鎖曹锨,釋放鎖的線程與加鎖的線程可以不一致,這個只能通過代碼邏輯控制剃允。其實(shí)mysql中提供在在查詢的時候加 for update來加鎖沛简,保證查詢的數(shù)據(jù)不會被修改硼身,這就是db的悲觀鎖。

問題四:算法題覆享,兩個有序數(shù)組佳遂,合并

回答:

歸并,嘴說代碼

點(diǎn)評:

算法題撒顿,講對思想丑罪,分析好時間空間復(fù)雜度就可以了。如果有更好的改進(jìn)策略那就更好了凤壁。例如存在的問題:

  • 遞歸吩屹,如何改成非遞歸(不會不要說,說了就是給自己挖坑)
  • 歸并浪費(fèi)空間 拧抖,兩個空間需要來回導(dǎo)數(shù)據(jù)煤搜,如何避免

總結(jié)

面試本身就是面試者與面試官的交流,面試者應(yīng)該盡可能的引申出更深層次以及自己掌握度較好的知識點(diǎn)唧席,引導(dǎo)者面試官的思路進(jìn)行交流擦盾。單單一個知識領(lǐng)域(例如jvm,線程安全等等)就可以占據(jù)整個面試80%的時間淌哟,面試效果也會非常的好迹卢。反之,如果交流不暢徒仓,被面試官牽著鼻子走腐碱,問的都是自己不擅長的領(lǐng)域,那么面試基本是失敗的掉弛。大家面試也要多多總結(jié)症见,一塊學(xué)習(xí),一塊進(jìn)步殃饿。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谋作,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子壁晒,更是在濱河造成了極大的恐慌瓷们,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秒咐,死亡現(xiàn)場離奇詭異谬晕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)携取,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門攒钳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雷滋,你說我怎么就攤上這事不撑∥木ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵焕檬,是天一觀的道長姆坚。 經(jīng)常有香客問我,道長实愚,這世上最難降的妖魔是什么兼呵? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮腊敲,結(jié)果婚禮上击喂,老公的妹妹穿的比我還像新娘。我一直安慰自己碰辅,他們只是感情好懂昂,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著没宾,像睡著了一般凌彬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榕吼,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天饿序,我揣著相機(jī)與錄音,去河邊找鬼羹蚣。 笑死,一個胖子當(dāng)著我的面吹牛乱凿,可吹牛的內(nèi)容都是我干的顽素。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼徒蟆,長吁一口氣:“原來是場噩夢啊……” “哼胁出!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起段审,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤全蝶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后寺枉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抑淫,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年姥闪,在試婚紗的時候發(fā)現(xiàn)自己被綠了始苇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡筐喳,死狀恐怖催式,靈堂內(nèi)的尸體忽然破棺而出函喉,到底是詐尸還是另有隱情,我是刑警寧澤荣月,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布管呵,位于F島的核電站,受9級特大地震影響哺窄,放射性物質(zhì)發(fā)生泄漏撇寞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一堂氯、第九天 我趴在偏房一處隱蔽的房頂上張望蔑担。 院中可真熱鬧,春花似錦咽白、人聲如沸啤握。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽排抬。三九已至,卻和暖如春授段,著一層夾襖步出監(jiān)牢的瞬間蹲蒲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工侵贵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留届搁,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓窍育,卻偏偏與公主長得像卡睦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子漱抓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 本系列出于AWeiLoveAndroid的分享表锻,在此感謝,再結(jié)合自身經(jīng)驗(yàn)查漏補(bǔ)缺乞娄,完善答案瞬逊。以成系統(tǒng)。 Java基...
    濟(jì)公大將閱讀 1,524評論 1 6
  • 接口/抽象類意義規(guī)范仪或、擴(kuò)展确镊、回調(diào)為其子類提供一個公共的類型 封裝子類中得重復(fù)內(nèi)容 定義抽象方法,子類雖然有不同的實(shí)...
    MigrationUK閱讀 2,156評論 1 28
  • 所有知識點(diǎn)已整理成app app下載地址 J2EE 部分: 1.Switch能否用string做參數(shù)溶其? 在 Jav...
    侯蛋蛋_閱讀 2,410評論 1 4
  • 相關(guān)概念 面向?qū)ο蟮娜齻€特征 封裝,繼承,多態(tài).這個應(yīng)該是人人皆知.有時候也會加上抽象. 多態(tài)的好處 允許不同類對...
    東經(jīng)315度閱讀 1,925評論 0 8
  • 1.菜鳥教程 2. 泊學(xué)--一個全棧工程師的自學(xué)網(wǎng)站 3. 斯坦福大學(xué) iOS9 YouTube 4. Swift...
    柚子CHA閱讀 200評論 0 0