本命年與找工作?
若不是同事提醒,怕是忘記今年真是我本命年,本命狗年,非常狗,最愛狗了。
前記
大概這段時(shí)間也需要分享一個面經(jīng)出來,今天周末,面試也算告一段落,將前兩星期的面試經(jīng)歷先記錄下來,后續(xù)再在這篇文章上繼續(xù)更新。
說來很神奇,Boss直聘上,我聯(lián)系了26個職位,投出7份簡歷,收到4個面試邀請,其中3個都是自己找上我的。
為什么離開同花順
同花順幫助我從學(xué)校人成長為了社會人,也算養(yǎng)活了我一年,還是抱有感恩之心。也非常感謝鮑哥和代哥,在工作生活給予了很多幫助,代哥還請了應(yīng)屆生的大家一起吃飯,最后談話代哥還說你走了是我們部門我們公司的一大損失啊。言重了,言重了。鮑哥和我談了很久,比如可以內(nèi)部轉(zhuǎn)崗之類都可以幫忙等等,我說我正在面螞蟻和有贊,鮑哥最后也表示理解,也同意說放我走,去更大的平臺也是一種提升,鮑哥是非常nice的老板了。聽說有一些老板是會把下一家拖黃了才會放人的。
為什么離開同花順,主要還是因?yàn)楣緦ξ业陌l(fā)展需求和個人的職業(yè)規(guī)劃不符合。假如繼續(xù)在當(dāng)前部門工作,我以后的發(fā)展可能就是單獨(dú)帶一個項(xiàng)目。但是B2B部門框架成熟,有公版可以參考。個人的技術(shù)水平的提升可能會傾向于項(xiàng)目管理等方面的成長。而我更希望自己從技術(shù)深度、廣度等方面以一個比較快的方式成長,不僅僅成為一個項(xiàng)目的負(fù)責(zé)人,而是成為一個高級開發(fā)工程師,甚至資深工程師、技術(shù)專家。
1. 有贊
因?yàn)橛匈澋拿嬖嚱?jīng)歷更具有普適性,有贊的面試會比較詳盡地表達(dá)一下。
1.1 有贊一面
3月7日周三,本來約了Daily2fun的一面,于是前一天晚上就向公司請了假。但奈何螞蟻大佬來約我周三二面,我左思右想,覺得把握機(jī)會,于是放了Daily2fun鴿子,專心等螞蟻二面(電面)。
當(dāng)天晚上,我正在要死要活等面試(要面螞蟻太緊張昨晚3點(diǎn)睡7點(diǎn)起),帶著睡眠不足快要猝死的感覺,我的電話來了!心中一凜,午時(shí)已到!
面試官一開口就說是boss直聘找來的,我心想,沒毛病,我和螞蟻大佬約的就是在boss直聘,來吧!讓暴風(fēng)雨來得更猛烈些吧!( 這時(shí)候我還不知道這是有贊一面)
有贊一面面試題如下(順序我大概也忘記了,大致列一下):
ps. 開頭先問了一句我大概擅長哪些方面,我說java基礎(chǔ)和jvm,所以大多問的這兩個方面。
- jvm內(nèi)存管理(方法區(qū)、堆、棧等)
- GC是否有了解過(了解過,不知道從哪里開始講,面試官說都講一下,于是我說了新生代老年代分區(qū),Eden之類,講了下Minor GC、Full GC流程,追問了老年代要是滿了會怎么樣。最后還講了下GC算法 意猶未盡,我感覺我還能講,但我已經(jīng)講了很久的樣子,所以沒有繼續(xù)追問,接下一個知識點(diǎn))
- Sychronized參數(shù)是實(shí)例對象和class對象時(shí)候的區(qū)別(對象鎖 類鎖),二者區(qū)別,使用類鎖的具體作用
- volatile的作用,i++用volatile是否能線程安全?為什么?
-
HashMap的原理(看過源碼,寫過博客,手到擒來),追問ConcurrentHashMap,這個也看過源碼,知道里面是分拆鎖的使用。不過最后和面試官討論了一下,分拆鎖是鎖桶,但是忘記具體是鎖的叫什么了(就是忘記是EntrySet還是啥了 面試官說難道不是segment?我也沒聽來,代碼具體確實(shí)是忘記了)。講到這里就涉及了原子操作,就問我都有哪些原子操作,還有原子操作的三個原則(CAS是明白的,但三個原則真是一下子沒記住,沒答上來,就說到等價(jià)并修改,
,這里是我菜了)
這里講到了原子操作,追問:原子操作是否能解決ABA問題,答不能,反正不影響體驗(yàn)。追問什么方法解決ABA問題,我想了想忘記了不知道,他說用你的方法呢?想了下回答用個標(biāo)志唄,改一次標(biāo)識加1.他說差不多是這么回事
補(bǔ)充:對BAT、TMD 這類公司而言,1-3 年的工程師在技術(shù)面時(shí)面試官最看重的有哪些?
這其中的一個回答:面試官不是來聽我們講不知道的,有時(shí)候不妨把自己的想法思路講一下,讓面試官知道我們的解決問題的思路
問到這里可能覺得我擅長的方面問的夠多了,就說,問問你的Android基礎(chǔ)吧
- Activity的luanchMode,大致解釋一下(追問ABC三個Activity,SingleTask模式的A,A-B-C-A的運(yùn)行過程)
- Window View Activity的關(guān)系,追問Acitivty如何和Window關(guān)聯(lián)(講了下window就是個抽象的對象,實(shí)際顯示是View,沒怎么答出來,這里也是我菜了,其實(shí)開發(fā)藝術(shù)探索里面有的)
- 卡頓優(yōu)化的經(jīng)驗(yàn)(我簡歷提到過,用的的TraceView)
- glide的圖片三級緩存
- RxJava的flatMap和Map的作用(在同花順太久沒用,確實(shí)忘記了,只記得flatMap是降低層級用的)
- MVC MVP MVVM的理解,DataBinding的作用,ObservableFloat等DataBinding相關(guān)類型的具體使用,還有xml比如綁定點(diǎn)擊的click(還是很久沒用,確實(shí)忘記了)
- 忘記怎么就講到了retrofit的動態(tài)代理了,問動態(tài)代理的java具體用法,問動態(tài)代理有什么作用
差不多就是這些,后續(xù)我要是能記起來,再補(bǔ)充。
面試官和我聊了一會兒天,比如問我為何離開同花順。非常不湊巧,恰好我有來電,嘟嘟響。把自己傻哭的我居然問了面試官一句:誒?怎么會有嘟嘟聲?面試官只好說,那今天先這樣,面試約在明天,問我是否可以,我說非常可以。
電話掛后不久,面試官再次來電告知二面約在第二天也就是3-8下午3點(diǎn)。我問了地點(diǎn),是不是在黃龍?是的,黃龍國際中心。我想,穩(wěn)了,螞蟻金服確實(shí)在黃龍,美滋滋。(這時(shí)候還不知道這是有贊一面)
1.2 有贊二面
3-8這天,既然約了有贊二面,手里也沒有個offer,所以還是必須去搞定一下。下午快2點(diǎn),打印簡歷(事實(shí)證明,有贊面試官抱著mac,根本不需要自帶簡歷),打車出發(fā)去面試。
14:40多分到了黃龍,大樓挺氣派的,假裝我是見過世面的人,同花順大樓其實(shí)也是非常有排面,哈哈。就這樣上了18樓,出電梯,看見就是有贊前臺,環(huán)境確實(shí)還是不錯的,我還多環(huán)顧了幾眼,邊上就是臺球桌。
到前臺說面試,問我誰約我的,這時(shí)候我才想起來,我不知道。好吧,把電面的電話號碼告訴了她。她讓我邊上坐著等一會兒,ok,我乖乖地去傻傻地等著了。
為什么是傻傻的呢?后來來了個中國計(jì)量的應(yīng)屆生學(xué)弟,面前端,和我聊了起來。聊完他去面試了,我還在等。當(dāng)我等到15:10分左右的時(shí)候,接到了一個電話:約了面試,你來了嗎?(來了來了 在前臺,手動滑稽,嗯?前臺小姐姐居然沒有幫我叫人?)
面試官看我沒有水,去前臺給我拿了一瓶水。然后進(jìn)入小房間面試。
二面大多也是問的基礎(chǔ)的知識,但是相比一面更注重技術(shù)的廣度,這方面我就沒有什么優(yōu)勢了。糟 二面問的啥?
- Activity的launchMode繼續(xù)問了一遍,ABCA的SingleTask繼續(xù)問了一遍。(我差點(diǎn)進(jìn)行了搶答,感受到了面試官隱藏的詫異 手動笑哭)
- GC分代,追問新生代區(qū)為什么分成Eden區(qū)和Survival From、Survival To
- 圖片緩存也再問了一遍
- 對象是否已死的GC標(biāo)記算法(還以為會多問一點(diǎn)比如什么可以作為GC Root,并沒問)
- 自定義View的具體過程,我提到過的仿寫即刻點(diǎn)贊里面具體是如何仿寫的,追問動畫分哪幾類(這里感謝扔物線大佬的HenCoder免費(fèi)教程,讓我入門自定義view)
- onMeasure的具體過程,先measure子view還是自己
- onDraw的具體過程,先draw子view還是自己(這兩個記得都不是很清楚了,沒具體鞏固這塊的記憶,所以其實(shí)開發(fā)藝術(shù)探索是非常重要的一本書)
- http 和 https的區(qū)別 https協(xié)議傳輸數(shù)據(jù)的具體流程(我對這一塊比較菜,直接說了不是特別清楚)
- mvc mvp mvvm再問了一次,加上DataBinding
- 熱門的第三方框架之類
- 熱修復(fù)(繼續(xù)不會 雖然關(guān)注這個技術(shù)很久了,但我的jvm才學(xué)完呢)
- 模塊化(繼續(xù)不會 說了同花順里面沒這個,后來就不繼續(xù)問了)
- 問平時(shí)要是提的需求不合理會怎么辦?(據(jù)理力爭)問有沒有爭贏的情況?(忘記了 笑哭)
- 簡歷寫了設(shè)計(jì)模式,問都會哪些,我說常用的,那常用都哪些呢?我說了單例、裝飾者模式、模版方法模式,都具體講了例子(因?yàn)橹v了例子,所以說起來還挺有那么幾分鐘,所以沒有問更多)
- (補(bǔ)充) 平時(shí)自己如何學(xué)習(xí)
- (補(bǔ)充)打包流程,build后的流程
最后我問了假如能進(jìn)會做什么,了解到會是有贊零售部門的開發(fā),面試官和我講了項(xiàng)目組的人員構(gòu)成等。我問了我的面試后續(xù)可能什么時(shí)候,說今天三八婦女節(jié),一些hr放假了,所以得等幾天,可能明天。最后問我是不是回去上班,讓我?guī)ё吡艘婚_始拿給我的礦泉水,我們樂呵呵揮揮手告別。
有贊是一個年輕的公司,全員標(biāo)配最新款mac air/pro,知乎上看到已經(jīng)租下了黃龍大樓7層,現(xiàn)在不知道是幾層了,給的起薪也比較高,是一家很吸引人的公司,希望有贊越做越好。
(補(bǔ)充)最后很遺憾有贊被拒了,表示職位需求和我個人狀況不太符合。想想其實(shí)還是表現(xiàn)不好,面試中的知識點(diǎn)也還有很多沒有去準(zhǔn)備導(dǎo)致面試情況不太理想。
2. 螞蟻金服全局架構(gòu)部
3-2那天,螞蟻大佬以名為開發(fā)專家的職位向我發(fā)起聊天。
收到這條消息的時(shí)候,我的心情是復(fù)雜的。本科一年經(jīng)驗(yàn)小菜鳥完全無法駕馭這份工作啊,開發(fā)專家。但是既然機(jī)會來了,硬著頭皮上!
于是回復(fù)了大佬,并發(fā)送了簡歷。
...
3-6日晚,19點(diǎn)多,正在公司偷發(fā)育,接到了來自北京的電話。該電話在我手機(jī)上顯示已經(jīng)被130+人備注為詐騙電話,心想難不成是騙子?想了想,萬一不是呢?于是還是接了下來,對方一開口就說,我是支付寶...聽到這里,我想:糟!真是騙子...
當(dāng)然其實(shí)是面試官,后來說了是來面試的。抱著happy與緊張的心情,我左找右找,最后走到了樓梯里面進(jìn)行電面。畢竟樓梯人少,大家都比較喜歡用電梯。
一面面試題如下:
- Activity的launchMode
- View的繪制流程 measure layout等都是干嘛的
- SharedPreference跨進(jìn)程使用會怎么樣?如何保證跨進(jìn)程使用安全?(跨進(jìn)程不安全我知道,但是如何安全我倒是真不知道。后續(xù)了解了一下才想起來,ContentProvider底層不就可以用SP來實(shí)現(xiàn))
- 如何收集anr信息(也沒想過)
- 因?yàn)槭敲娴穆顸c(diǎn)相關(guān)的職位,所以還問了有沒有做過埋點(diǎn)相關(guān)工作,問有沒有用過growingIO這個軟件等等
- 講了下項(xiàng)目中卡頓優(yōu)化的過程
- 多圖加載機(jī)制(三級緩存,還提到了同花順框架中使用弱引用持有bitmap對象的操作,但是后來了解到Android2.3之后,弱引用不可靠起來,已經(jīng)不再使用了)追問了LruCache底層實(shí)現(xiàn),只回答了個LinkedHashMap
- service的onCreate是異步的還是同步的(這個真的沒有考慮過,后來想了想按猜測覺得是異步的,因?yàn)閎indService方法也不是同步執(zhí)行完的,connected的時(shí)候是異步回調(diào)回來的)
最后我問了一下我面的部門的工作內(nèi)容,面試官很有耐心地為我進(jìn)行了解答。
一面面完,一會兒就通知我下周一進(jìn)行二面,地址是黃龍那邊。我搜了一下地址,需要打個車過去,30分鐘。
螞蟻的后續(xù)會等這邊的offer審批流程走完之后,我得到最終結(jié)果再來更新。其實(shí)參考價(jià)值不是很大,因?yàn)闄C(jī)緣巧合,面的技術(shù)不是很多。估計(jì)是按p5的等級來面。
螞蟻這邊的后續(xù)結(jié)果出來了,很開心收到了offer。
- 3-2. 投遞簡歷
- 3-6. 技術(shù)一面
- 3-7. 技術(shù)二面
- 3-10. 技術(shù)終面
- 3-15. hr面,boss加面算法
- 3-27.收到口頭offer
- 3-30.體檢(今天)
參考價(jià)值不是很大,后續(xù)再把一些建議寫一下。
螞蟻二面
因?yàn)橐詾橛匈澮幻媸俏浵伓妫瑢?dǎo)致二面電話來的時(shí)候,還在詫異?嗯?剛剛不是面過嗎?面的還挺好的,聊了四十多分鐘!
螞蟻大佬boss聽說了之后也很詫異,問我是哪里的,我說是支付寶的呀。。。
互相詫異了一會兒,于是boss進(jìn)入正題。問我哪些方面比較強(qiáng)。我是jvm和java基礎(chǔ)比較強(qiáng)。于是就問了兩個問題:
- CMS了解嗎?
了解了解,一款專注于吞吐量的垃圾收集器,用于老年代的垃圾回收。可能是大佬的氣場鎮(zhèn)壓了我,我一時(shí)頭腦空白。應(yīng)該把垃圾回收四個過程也描述一下的。看我語塞,boss說,好我了解了。 - 那你說說jvm的內(nèi)存分區(qū)
這個簡單,報(bào)一下:分線程共享的,還有線程不共享的。線程不共享的包括內(nèi)存java虛擬機(jī)棧,包含局部變量表等等、本地方法棧、程序計(jì)數(shù)器這樣,然后不共享的有堆、方法區(qū)這樣。這里打斷,方法區(qū)里面類信息太多了怎么辦?我一時(shí)卡住了,這個我真沒想過。但是依稀記得有垃圾回收的機(jī)制,就傻傻答了應(yīng)該要靠方法區(qū)的垃圾回收機(jī)制了,這個也over。后來再次了解,方法區(qū)可以通過自定義類加載器手動卸載類達(dá)到回收類信息的目的,不知道是否切題。
閑聊之中,boss大概了解了我的技術(shù)實(shí)力。 - boss問我過往業(yè)績、比別人的優(yōu)點(diǎn)、平時(shí)如何學(xué)習(xí)等等。猜測可能是考察潛力。
敲黑板!重點(diǎn)來了!!!
通過詢問另外一個阿里的大佬以及這次面試的二面三面hr面,深刻體會阿里注重優(yōu)秀這個品質(zhì)。(我當(dāng)然是很菜的)
二面 三面 都側(cè)重于發(fā)現(xiàn)我的個人潛力,我個人覺得。因?yàn)閱柕募夹g(shù)不多,so 覺得技術(shù)上參考意義基本沒有。
二三面和hr面都差不多考察了以下方面:
- 上一公司主要負(fù)責(zé)的內(nèi)容,難點(diǎn)、貢獻(xiàn),假如是自己主動去實(shí)現(xiàn)、優(yōu)化的部分,有具體業(yè)績、領(lǐng)導(dǎo)認(rèn)可贊賞等等的具現(xiàn)化表現(xiàn)更佳
- 平時(shí)學(xué)習(xí)什么?為什么學(xué)這些東西?拿來做過什么?緊接著就可能是以后的職業(yè)規(guī)劃是什么?朝哪個方向發(fā)展等等
- 平時(shí)如何學(xué)習(xí),展現(xiàn)自學(xué)能力
- hr那一面印象比較深刻的是:hr問我有沒有炒股,用不用自己做的產(chǎn)品。我說我不炒股,他說,你自己做的不去用一下嗎?不是很可惜?聽到這里,頓時(shí)腦海很多東西浮現(xiàn)出來,覺得自己確實(shí)沒有工匠精神。
hr面我表現(xiàn)得比較差,因?yàn)橛X得到hr面了,差不多了,完全沒有好好準(zhǔn)備,居然什么問題也沒有問,最后得知我的hr面面得非常差!
so 小伙伴們一定要多多關(guān)注一下hr面該如何表現(xiàn),去找一些真大神的帖子攻讀一下,多多準(zhǔn)備!hr面也很重要!
(純手機(jī)打,排版將就看看,不好意思,只有這一點(diǎn)點(diǎn)水貨了)