iOS程序員已拿offer面試經(jīng)歷和市場(chǎng)感觸

開(kāi)篇啰嗦

在上家公司呆了兩年半,2018年春節(jié)后開(kāi)始面試,驚奇地發(fā)現(xiàn),世界變化好快!和兩年前的面試感覺(jué)完全不同,整體來(lái)說(shuō)是要求高了,底層原理、手寫算法、性能優(yōu)化等等是主要面試點(diǎn)。?

但同時(shí)不得不吐槽,一些所謂的大公司,面試方法有問(wèn)題,面試體驗(yàn)很不好。?

以下是對(duì)面試的總結(jié),以及對(duì)將要換工作的小伙伴的一些建議。

作為一個(gè)開(kāi)發(fā)者,有一個(gè)學(xué)習(xí)的氛圍跟一個(gè)交流圈子特別重要這是一個(gè)我的iOS交流二群:131915142(一群已滿),不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經(jīng)驗(yàn),討論技術(shù), 大家一起交流學(xué)習(xí)成長(zhǎng)!

考點(diǎn)分類

iOS基礎(chǔ)

不管是剛畢業(yè),還是有幾年的開(kāi)發(fā)經(jīng)驗(yàn),常用的基礎(chǔ)性知識(shí),必須掌握到位。這個(gè)其實(shí)并不難。一下列幾項(xiàng):?

- 屬性的關(guān)鍵字,默認(rèn)關(guān)鍵字;?

- 代理和Block的區(qū)別;?

- 循環(huán)引用;?

- 講一下MVC和MVVM,MVP;?

- 為什么說(shuō)Objective-C是一門動(dòng)態(tài)的語(yǔ)言;?

- 數(shù)據(jù)持久化的幾個(gè)方案。

等等,這些都是在平時(shí)開(kāi)發(fā)中用到的,沒(méi)什么難度。如果講述不精確或者不全,建議自己多去查漏補(bǔ)缺。

手寫算法

關(guān)于手寫算法,其實(shí)內(nèi)心是抵觸的。一張紙,一支筆,要求寫出來(lái)可以運(yùn)行的算法代碼。?

被考過(guò)的算法有:?

1. 快速排序;?

2. 尋找二叉樹(shù)中兩個(gè)子節(jié)點(diǎn)的最低共同父節(jié)點(diǎn);?

3. 就地反序單向鏈表。?

沒(méi)有被考過(guò)的,我列上幾個(gè)吧:?

1. 不用中間變量,用兩種方法交換A和B的值;?

2. 求最大公約數(shù);?

3. 模擬棧操作;

這些算法,咋一看好像也不難。但我我不知道有多少人能直接寫出來(lái),或者說(shuō)出思路。?

反正我是面試被虐之后,回家才惡補(bǔ)了一些。?

手寫算法這事,也是一直被大家吐槽的梗。我是抵觸的,但我不多做評(píng)論。平時(shí)沒(méi)事在LeetCode上刷刷算法題也是挺有趣的。

iOS底層原理

RunLoop,RunTime,Timer,KVO,Block,AutoreleasePool,內(nèi)存管理,一些有名第三方庫(kù)的源碼。這些更底層的問(wèn)題越來(lái)越受面試官的青睞,這確實(shí)是考察一個(gè)程序員知識(shí)深度和自主鉆研能力的基本手段。雖然大多數(shù)程序員在開(kāi)發(fā)過(guò)程中,這些知識(shí)點(diǎn)用的并不多,但是掌握這些知識(shí),會(huì)幫助你寫出更優(yōu)秀的代碼,避免一些“莫名其妙”的坑。想成為一名真正優(yōu)秀的工程師,確實(shí)應(yīng)該在相應(yīng)的領(lǐng)域不斷深挖,才能到達(dá)大多數(shù)到不了的高度。

我的情況是,做了三年的iOS開(kāi)發(fā),2017年初由于業(yè)務(wù)需要,開(kāi)始做ReactNative開(kāi)發(fā),原生基本擱置了一年,再加上之前對(duì)這些知識(shí)點(diǎn)沒(méi)有做深入研究。所以導(dǎo)致在最近剛開(kāi)始的面試中被問(wèn)到時(shí)挺懵的,能說(shuō)出個(gè)大概,說(shuō)不出具體原理,這當(dāng)然達(dá)不到面試要求。之后邊面試邊補(bǔ)充這些知識(shí)點(diǎn),后面就順利多了。后續(xù)我會(huì)把這些知識(shí)點(diǎn)整理成博客。

所以,平時(shí)需要多積累,不能只忙于業(yè)務(wù),忽略了這些更深入的東西。

多線程

這基本是面試必考,平時(shí)開(kāi)發(fā)中或多或少會(huì)用到。

GCD和NSOperation是最常用的庫(kù),最好能知道iOS底層的PThread,以及最基本的NSThread。

被問(wèn)到兩次的一個(gè)問(wèn)題是:有多個(gè)任務(wù)同時(shí)執(zhí)行,要等到這些任務(wù)全部完成之后,再進(jìn)行下一個(gè)動(dòng)作,這個(gè)改怎么實(shí)現(xiàn)。這個(gè)問(wèn)題我是知道的,在面試中提出了兩種方案。想了解的自行搜索和研究。

性能優(yōu)化

這個(gè)問(wèn)題一般出現(xiàn)在二面,這是很好的一個(gè)問(wèn)題。考察參與項(xiàng)目的深入度,以及之前的項(xiàng)目水平。面試之前最好把之前的項(xiàng)目梳理一下,整理一些重點(diǎn)難點(diǎn)和亮點(diǎn)。可以從UI優(yōu)化說(shuō)起,然后到內(nèi)存優(yōu)化、APP啟動(dòng)優(yōu)化、包體量?jī)?yōu)化、網(wǎng)絡(luò)請(qǐng)求優(yōu)化等等。

如果你在之前的團(tuán)隊(duì)中,僅僅是負(fù)責(zé)最簡(jiǎn)單的功能開(kāi)發(fā),沒(méi)有較深的積累,這個(gè)問(wèn)題肯定是答不好的。所以,平時(shí)工作中,除了要積累基礎(chǔ)知識(shí)外,還要爭(zhēng)取參與到項(xiàng)目中的核心模塊,積極參與到一些研發(fā)性工作中去。

自我規(guī)劃

這個(gè)問(wèn)題一般出現(xiàn)在最后一面。這是用人單位考察一個(gè)人職業(yè)定位和發(fā)展愿景的普遍問(wèn)題。從回答能看出你對(duì)技術(shù)的追求和對(duì)職業(yè)的熱愛(ài)程度。

回答時(shí)分兩個(gè)方面:?

- 對(duì)自己當(dāng)前情況的定位,當(dāng)前自己處于什么水平,哪里做的好,哪里還需要提高;?

- 對(duì)自己未來(lái)的規(guī)劃,想往哪個(gè)方向發(fā)展?技術(shù)深度鉆研?培養(yǎng)項(xiàng)目大局觀,往技術(shù)經(jīng)理方向發(fā)展?未來(lái)想轉(zhuǎn)產(chǎn)品經(jīng)理?

總的來(lái)說(shuō),不管你是真有想法還是只是口才好,這個(gè)時(shí)候一定要表現(xiàn)出你的熱情和潛力。?

來(lái)點(diǎn)雞湯:拋開(kāi)面試不說(shuō),這個(gè)問(wèn)題值得我們每個(gè)人去認(rèn)真思考。不管身處哪個(gè)行業(yè),對(duì)自己的定位和對(duì)未來(lái)的規(guī)劃,都是很重要的,否則我們就失去了方向。

面試方法分類

從概念和“基礎(chǔ)”問(wèn)起的機(jī)械化流程

這種面試方法,常見(jiàn)于大的公司,由于面試的人太多,這樣有助于公司降低面試成本。但這樣有很大的一個(gè)弊端,尤其是那種不太把面試者當(dāng)回事的公司,面試體驗(yàn)很差,而且考察不全面。

我經(jīng)歷過(guò)兩家這樣的公司,一面派來(lái)個(gè)小兵,他自身技術(shù)深度就不太夠,然后就是對(duì)著電腦從題庫(kù)里挑幾個(gè)問(wèn)題劈頭蓋臉的開(kāi)問(wèn)。這樣會(huì)出現(xiàn)這么幾種情況:?

- 問(wèn)的這三四個(gè)問(wèn)題,面試者剛好不知道或者項(xiàng)目中沒(méi)涉及到,然后直接掛掉,大老遠(yuǎn)跑來(lái)面試,幾分鐘結(jié)束。?

- 面試官提問(wèn)方式有問(wèn)題(不客氣地說(shuō)就是表達(dá)能力不行),想考察一個(gè)知識(shí)點(diǎn),他繞著彎子問(wèn),讓面試者搞不清楚具體問(wèn)題。他可能是想從實(shí)際問(wèn)題切入一個(gè)知識(shí)點(diǎn),結(jié)果事與愿違。?

- 由于面試官技術(shù)理解的局限性,對(duì)面試者的回答只和標(biāo)準(zhǔn)答案對(duì)比。有一次我回答了一個(gè)問(wèn)題,那小哥說(shuō)不對(duì),然后他表達(dá)了一番,實(shí)際和我說(shuō)的一樣。

請(qǐng)?jiān)徫业耐虏郏坏貌怀姓J(rèn),另一方面也是由于自身水平有限,面試準(zhǔn)備不充分,才導(dǎo)致這兩次一面就掛的結(jié)果。

從項(xiàng)目問(wèn)起,然后深入知識(shí)點(diǎn)的人性化面試

相比上面的那種機(jī)械化流程,這種從項(xiàng)目問(wèn)起,然后逐步深入的面試方法,才能真正考察出面試者的真是水平。這種情況一面的時(shí)候面試官是一位技術(shù)全面且有深度組長(zhǎng)或者技術(shù)經(jīng)理。他會(huì)從知識(shí)點(diǎn)或者項(xiàng)目中一步一步,從基礎(chǔ)到深層次的原理進(jìn)行提問(wèn),直到面試者答不上來(lái)為止,然后進(jìn)行下一個(gè)問(wèn)題。這樣就能清楚的看出面試者水平和深度,而不是背書的能力。

總結(jié)

經(jīng)過(guò)幾次面試,收獲良多。每次面試都是一次有意義的交流,自信地去表達(dá),虛心地去學(xué)習(xí),面試一次就有一次收獲。對(duì)于自己不了解的知識(shí),回來(lái)及時(shí)補(bǔ)漏,然后總結(jié)。

實(shí)際上,在平時(shí)的開(kāi)發(fā)中,涉及到的知識(shí)面是有限的。由于項(xiàng)目時(shí)間節(jié)點(diǎn)的限制,也不可能留大量的時(shí)間讓你去專門深入調(diào)研某一個(gè)點(diǎn)。所以這些知識(shí)面的擴(kuò)展和知識(shí)點(diǎn)的深入研究,還得靠自己業(yè)余時(shí)間去鉆研。不要去當(dāng)一個(gè)“碼農(nóng)”,要對(duì)技術(shù)有追求。不管以后是當(dāng)技術(shù)經(jīng)理,還是轉(zhuǎn)產(chǎn)品,或者是轉(zhuǎn)行,但目前身處軟件開(kāi)發(fā)這個(gè)職業(yè),你就應(yīng)該不斷地學(xué)習(xí),讓自己有競(jìng)爭(zhēng)力,提高自身價(jià)值。

自省和建議

基礎(chǔ)知識(shí)要扎實(shí)

這個(gè)不用多說(shuō),作為開(kāi)發(fā)者,如果不能夯實(shí)基礎(chǔ),以后的發(fā)展空間肯定是有限的。

別只奔命于業(yè)務(wù),深入鉆研,以自我為本

還是那句話,以自身為本。從項(xiàng)目中學(xué)習(xí),在開(kāi)發(fā)中一定要有收獲,盡可能地深入研究。雖然這個(gè)行業(yè)很忙碌,一期期的需求迭代壓得大家喘不過(guò)氣。但是,同樣是加班做需求解bug,但是每個(gè)人的收獲是不同的。還有就是,業(yè)余時(shí)間,利用起來(lái)。

去螞蟻金服面試那次,由于我做過(guò)RN,面試官第一句就問(wèn)我,看過(guò)RN源碼沒(méi)。雖然沒(méi)面過(guò),那個(gè)面試官很友好,給我了很多建議,最重要的一條建議是,做技術(shù)就要深入。舉了他自己的一個(gè)例子,大家常用的SDWebImage和FastImage,他仔細(xì)研究過(guò)源碼,對(duì)比了這兩套框架的優(yōu)缺點(diǎn),然后自己寫了一套更全面的框架。不得不服啊。

定期出去面試,見(jiàn)見(jiàn)外面的世界

現(xiàn)在如愿以償?shù)啬玫搅宋宜蛲墓镜膐ffer。回顧最近面試的經(jīng)歷,突然萌生了一個(gè)想法。就是,不管你有沒(méi)有跳槽的想法,可以每年集中時(shí)間去面試幾次,一是看看現(xiàn)在市場(chǎng)的需求,而是檢驗(yàn)一下自己水平。聽(tīng)起來(lái)有點(diǎn)不厚道,但我覺(jué)得無(wú)傷大雅,你說(shuō)呢?

作為一個(gè)開(kāi)發(fā)者,有一個(gè)學(xué)習(xí)的氛圍跟一個(gè)交流圈子特別重要這是一個(gè)我的iOS交流二群:131915142(一群已滿),不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經(jīng)驗(yàn),討論技術(shù), 大家一起交流學(xué)習(xí)成長(zhǎng)!

文章出處:https://blog.csdn.net/gang544043963/article/details/79610300

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,401評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 176,069評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 62,873評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,635評(píng)論 6 408
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 55,128評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 42,365評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,881評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,733評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,935評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,172評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 34,582評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 35,821評(píng)論 1 282
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,595評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,908評(píng)論 2 372

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,618評(píng)論 25 708
  • 指定代碼的壓縮級(jí)別 -optimizationpasses 5 是否使用大小寫混合 -dontusemixedca...
    浮名虛譽(yù)架構(gòu)師閱讀 203評(píng)論 0 0
  • 多圖預(yù)警,自己拍的四月照片隨筆分享 四月照片隨筆 完
    四季5390閱讀 296評(píng)論 0 1
  • 1.早晨6:30我起床,要收拾我出差和小七去外婆家的東西,時(shí)間緊,怕丟東西我有些有壓力的感覺(jué),努力保持自己的清醒,...
    熊大大啊閱讀 200評(píng)論 0 0
  • 幸福是很簡(jiǎn)單的東西,越簡(jiǎn)單的東西,越不容易得到,以至于幸福有種大道至簡(jiǎn)的意味。幸福若按層次、指數(shù)分,不知有多少種。...
    笑笑的羊羊閱讀 221評(píng)論 0 0