百度/

作者:loststarrs

鏈接:https://www.nowcoder.com/discuss/80783?type=2&order=0&pos=2&page=1

來源:??途W(wǎng)

獻(xiàn)給春招中所有孤獨(dú)的iOSer

知乎文章

Blog

怕是不知道要在??头嗌夙摬拍苷业絠OSer的面經(jīng),至少我4月份還在看著去年秋招的面經(jīng)...

我想現(xiàn)在在知乎上關(guān)于iOS開發(fā)問的最多的問題一定是「iOS開發(fā)是否已經(jīng)飽和,沒必要再學(xué)?」和「入門iOS,學(xué)OC還是Swift?」(有沒有總結(jié)得很到位!

這畢竟是春招總結(jié),關(guān)于方向上的事講太多就跑題了,但還是簡單地兩句話總結(jié)下我個人的看法吧:?開發(fā)上,如果不是特別有興趣如今就不要再選iOS方向了,若是非常有興趣,并不用擔(dān)心飽和的問題。至于OC和Swift,可以并且推薦先學(xué)Swift入門,但OC是之后必須要學(xué)的。

在整個春招過程中,我結(jié)識了不少像我一樣的iOSer,也讓我感覺到正走在這條路上的不止我一個人。

我的春招從二月底真正開始準(zhǔn)備,到大概五一結(jié)束吧,總共兩個多月的時間。校招真的是一段勞累,佛系的歷程。我將這一路的體會與心得分享給大家,希望能給大家?guī)硪稽c(diǎn)微小的幫助。

預(yù)警

(可能有點(diǎn)長 :) 同時個人喜歡打省略號,已經(jīng)在克制了...不喜勿噴...

一、前言

首先我的面試經(jīng)歷并不算豐富,總共其實(shí)只面試了五家公司,肯定比不上各路面霸,但是過程還是非常跌宕起伏的。先簡要概括下個人面試經(jīng)歷(詳細(xì)面試過程附后,這里可以直接跳過~)

整體時間線

4.9 螞蟻金服一面,頭條一二面

4.12 頭條三面

4.13 頭條HR電話面

4.15 網(wǎng)易現(xiàn)場一面

4.16 京東現(xiàn)場一二面,螞蟻金服二面

4.17 頭條offer

4.18 京東HR電話面

4.20 螞蟻金服三面

4.27 騰訊WXG一面

4.28 京東offer

5.7 騰訊CDG一面

to be continued?

筆試掛

美團(tuán):美團(tuán)是我投的第一家公司,同時美團(tuán)的筆試算我人生中第一場筆試吧(不算上大二SAP的話…),一句話總結(jié)就是吃經(jīng)驗(yàn),交學(xué)費(fèi)。當(dāng)時并沒有學(xué)會筆試的套路,之前一直在看的是面試的編程題….

頭條:投的第二家公司,我對頭條是很有好感的,因?yàn)轭^條做產(chǎn)品比較厲害,對iOS需求大。而且當(dāng)時內(nèi)心OS也許只有頭條能有比較大的機(jī)會寫Swift吧(想多了騷年,老老實(shí)實(shí)寫OC去)。然而當(dāng)晚頭條的筆試簡直是勸退…5道編程題,我沒有一題AC,徹徹底底地被上了一課。之后我認(rèn)真總結(jié)了每一道題,摸清了筆試的套路,之后所有企業(yè)的筆試都過了。

筆試或簡歷過,但放棄面試

攜程:廣撒網(wǎng)嘛..其實(shí)攜程挺好的,而且是來南京現(xiàn)場面… 其實(shí)放棄的主要原因并不是當(dāng)時已拿到了頭條offer...好像是因?yàn)榈诙煲荚嚕腩A(yù)習(xí)下...

華為:其實(shí)我一個iOSer不該去華為的,因?yàn)榉N種原因投了吧..最后放棄面試也是很正常的...

知乎:知乎呀知乎….知乎春招應(yīng)該沒有公開招人。我是三月份找學(xué)長直接把簡歷推到了iOS組,過了一個多月收到郵件選面試時間。然后…哎不提了..

最終參加面試

螞蟻金服(三輪電話技術(shù)面后進(jìn)池子了):最一開始我是想晚點(diǎn)內(nèi)推阿里的,因?yàn)槁犝f阿里發(fā)起面試特別快。在美團(tuán)頭條連著筆試跪,騰訊提前批了無音訊后,等不到一個面試機(jī)會的我心態(tài)炸裂,直接內(nèi)推。

從現(xiàn)在來看,三次面試的間隔讓我感覺我是天選之子,怎么這么快,這不是我所認(rèn)知的阿里..甚至前兩次面試都是面試官提前預(yù)約的。

三面面試官和我說是終面,從那之后,到現(xiàn)在已經(jīng)過了二十多天…..五一收假后,螞蟻發(fā)完了最后一波offer,而我還是面試中,大概就這樣了吧...

阿里的面試,至少我這三輪不算難,但因?yàn)镠C少,肯定要發(fā)揮得比較完美才能進(jìn)吧。

頭條(三輪視頻技術(shù)面+HR電話面 offer):是的..我筆試掛了,之后在??头揭粋€帖子直推部門,我問了下筆試掛了能推嗎,得到肯定回復(fù)后我就隨手一發(fā)簡歷,第二天就接到HR電話約清明節(jié)后電話面試。

在面試之前我對頭條的高效率已有所耳聞,做好了面一晚上的準(zhǔn)備。過了二面后,HR打電話和我說三面面試官時間不合適,約到了三天后,心中有些忐忑,因?yàn)?1號至15號要去紹興參加Robocup….

頭條的面試算是比較難的,但因?yàn)榻衲闔C多,估計(jì)進(jìn)頭條的難度不算高。

網(wǎng)易(現(xiàn)場一面掛):網(wǎng)易我投的是網(wǎng)易云音樂,網(wǎng)易的筆試篩得應(yīng)該比較嚴(yán),畢竟報(bào)銷路費(fèi)。我是14號晚上從紹興坐高鐵到了杭州,11點(diǎn)才到酒店,第二天早上10點(diǎn)面試,emmm,然后一面就掛了,詳細(xì)后面說。印象比較深刻的是,午餐我吃了兩人份….

京東(現(xiàn)場兩輪技術(shù)面+HR電話面 offer):投的是上海的京東商城,其實(shí)我想投的是北京的..但官網(wǎng)面試地點(diǎn)我選了上海..然后就投去上海了。

京東的筆試因?yàn)榕c頭條面試撞了所以沒參加,然而我還是收到了面試邀請….佛系。網(wǎng)易掛了之后,我直接從杭州坐高鐵到了上海,第二天下午兩點(diǎn)面試。結(jié)識了南大小哥,同樣是iOSer,同樣是前天上午在杭州面網(wǎng)易…同樣是一面掛...同樣是今天來上海面京東..

騰訊(提前批未被發(fā)起面試,正式批WXG電話一面掛,CDG電話一面過):騰訊提前批我沒有寫意向事業(yè)群,不知道這是不是我沒被發(fā)起面試的原因,因?yàn)閺闹蟮拿嬖嚱?jīng)歷看,我的簡歷應(yīng)該算有些競爭力的。

可能是真的與騰訊無緣吧…等到正式批WXG電話面試時,我已經(jīng)脫離面試狀態(tài)大概一周了,也沒有準(zhǔn)備,加上面試官emmm。掛了之后過了幾天接到CDG電話說在簡歷池看到我簡歷,把我撈起來面試。周一一面過了,官網(wǎng)顯示復(fù)試中,還沒有約二面時間,不過其實(shí)..也不在意了...

今年雖然騰訊HC增多..但可能是真的無緣吧..

未投的公司

滴滴:我..是..真的..沒找到滴滴的校園招聘網(wǎng)站...

百度:其實(shí)百度投得很早,但等到筆試時,已經(jīng)拿到了兩個offer..就

二、面試過程

其實(shí)前期的面試我都有總結(jié)自己的回答,這里就不貼了,有疑問的可以和我討論交流~

這里對于每個公司的面試,貼上真實(shí)感受以及對自己的面試表現(xiàn)復(fù)盤后的自評。

螞蟻金服

電話一面,25min

1.直入主題,自我介紹

2.問重點(diǎn)提到的項(xiàng)目開發(fā)細(xì)節(jié)

3.問我怎么維護(hù)登錄狀態(tài)的?

4.uuid是什么時候創(chuàng)建,什么時候給用戶的?有沒有過期設(shè)置?

5.uuid放在header里面不會被冒用身份嗎?HTTPS是怎么保證安全性的?

6.HTTP和TCP、UDP的關(guān)系

7.TCP寫過什么東西嗎

8.Socket是什么,在TCP里具體怎么使用的

9.有沒有HTTPS抓包經(jīng)歷,用過什么工具

10.進(jìn)程與線程的關(guān)系

11.進(jìn)程、線程通信方式

12.Swift寫得多,那對OC了解嗎

13.問StoryBoard的其他缺點(diǎn)(我說最先項(xiàng)目時提到了用StoryBoard寫的)

14.SnapKit是swift的Masonry,是對Autolayout的封裝吧,那Autolayout相比以前的布局有什么優(yōu)缺點(diǎn)?

15.Autolayout有遇到性能問題嗎?

16.你提到OC的runtime,runtime有哪些應(yīng)用

電話二面,18min

上來就說聊個十幾分鐘...

1.聊一下京東面試面得怎么樣

2.自我介紹

3.聊聊項(xiàng)目輪播圖,細(xì)節(jié)

pageControl怎么實(shí)現(xiàn)聯(lián)動?

怎么實(shí)現(xiàn)動態(tài)增加輪播圖片?

Model同時在讀和寫怎么辦

像支付寶的輪播圖pageControl的漸變效果

4.有沒有繼承UIView的經(jīng)歷

5.線程同步有哪些方式

6.用過NSOperationQueue嗎

7.你有什么要問我的

電話三面,16min

因?yàn)橹皟擅娑际怯蓄A(yù)約,而這次是突擊,所以我沒怎么準(zhǔn)備,不過他說是HR忘預(yù)約了

1.為什么學(xué)iOS

2.影響最大的項(xiàng)目

3.所遇到的坑

4.未來學(xué)習(xí)計(jì)劃

5.自身技能樹,為什么你覺得你iOS比較精一點(diǎn)

6.你覺得移動端,app開發(fā)本質(zhì)是涉及哪些內(nèi)容

7.有沒有做過一些技術(shù)分享

8.10張圖,屏幕上,怎樣讓兩列的高度差最小(內(nèi)推的編程題...)

小結(jié)

整體體驗(yàn)是非常不錯的,面試官都很和藹,而且相隔時間不長,因?yàn)橹虚g還有兩次預(yù)約面試的電話。但面試時間都很短,可能是面試官比較忙吧。

至于三面,我感覺他不是做iOS的,問的問題也比較偏潛力或者說發(fā)展,我覺得我回答得挺好的,但是最后的場景算法題沒答好,其實(shí)很簡單一道DP題...

..唉...我個人感覺所有面試中,螞蟻金服應(yīng)該算我發(fā)揮最好的了,只有二面一兩點(diǎn)沒深入下去,還有三面這道場景題,可能被刷就刷在這吧。

今日頭條

視頻一面,1.2h左右

巨長….最長的一次面試

1.自我介紹

2.MVC和MVVM詳細(xì)優(yōu)缺點(diǎn)

3.函數(shù)式編程是什么,對應(yīng)另一種編程思維是什么

4.輪播圖項(xiàng)目實(shí)現(xiàn)細(xì)節(jié),CollectionView細(xì)節(jié),有幾種移動的方式?

5.ScrollView有哪些回調(diào),滑動時有哪些在改變?

6.觸發(fā)的timer在滑動時會暫?;卣{(diào),為什么?

7.那runloop有哪幾種mode

8.詳細(xì)說說runloop是什么?整個app里只有一個runloop嗎

9.runloop中的source是什么?

10.那autoreleasePool是什么?

11.項(xiàng)目里提到cocoapods,那它怎么工作的?pod install具體過程;你看過下載下來的第三方庫什么樣子嗎?

12.GCD細(xì)節(jié),串行/并行隊(duì)列,同步/異步,任務(wù)能不能取消,怎么實(shí)現(xiàn)依賴?

13.除了GCD還有哪些多線程方式,他們有什么區(qū)別?

14.你為什么不用NSOperationQueue而用GCD,用過嗎

15.怎么保證線程安全?

16.除了加鎖呢?

17.話題一轉(zhuǎn),考基礎(chǔ),有哪些排序算法,哪些是穩(wěn)定的,哪些是不穩(wěn)定

18.快排為什么不穩(wěn)定?

19.單鏈表反轉(zhuǎn)鏈表需要幾個指針,怎么找到鏈表的環(huán),那怎么求得鏈表環(huán)的長度?無編碼,說思路

20.Views的DFS(遞歸和非遞歸)、BFS,要求編碼

視頻二面,1h左右

一面面試官和我說讓我等一下二面,我上了個廁所回來過了一會兒就接著面了…

二面有一點(diǎn)點(diǎn)壓力面的意味,上來有一點(diǎn)點(diǎn)"懟"我,但其實(shí)是也是很親和的,問的一些問題和一面一樣,但深度更深

1.再介紹下第一個項(xiàng)目的細(xì)節(jié)

2.你之后用MVVM,為什么不再用MVC了,哪里不好?

3.發(fā)網(wǎng)絡(luò)請求比如說用Alamofire是屬于MVC哪一層?

4.MVVM哪里好了,除了能剝離出網(wǎng)絡(luò)請求部分,還能怎么樣,網(wǎng)絡(luò)請求能占多少行?

5.響應(yīng)式UI是什么?

6.Swift Int? 和 Int能否比較,unwrap Optional有幾種方式,很隱晦地考了重載

7.考了值類型和寫時復(fù)制相關(guān)

8.考GCD串行并行隊(duì)列 同步異步,面試官在出題過程中也問了概念。問題是一段代碼會輸出什么。有死鎖的陷阱,我就不曬題了..

9.算法題,無序不重復(fù)整數(shù)序列,找出極小值的index

視頻三面,30min

之前有所準(zhǔn)備,頭條三面應(yīng)該是leader面,面試官很親和,聲音很好聽

其實(shí)吧..三面面完我就感覺offer穩(wěn)了

1.什么時候開始學(xué)iOS的

2.簡歷中項(xiàng)目的服務(wù)端架構(gòu),有哪些坑(我說我踩坑了)

3.朋友圈怎么實(shí)現(xiàn)的?

4.你有沒有對比過你的和微信的朋友圈(覺得我的答案沒到點(diǎn)上)

5.那影響朋友圈滑動流暢度有哪些因素?

6.你覺得你iOS哪方面比較強(qiáng)

7.你覺得一個優(yōu)秀的高級iOS開發(fā)工程師應(yīng)該是什么樣的,應(yīng)該具備什么

8.那說說runtime的消息機(jī)制吧吧

9.那消息轉(zhuǎn)發(fā)這三步有什么用呢?

10.那runtime,runloop有哪些實(shí)際在項(xiàng)目里幫到你呢?或者說應(yīng)用

11.讓你設(shè)計(jì)一個圖片庫怎么設(shè)計(jì)?

12.怎么協(xié)調(diào)硬盤緩存和內(nèi)存緩存?

13.你剛才說LRU,怎么實(shí)現(xiàn)的

14.大學(xué)里你最有成就感的一件事

15.你期望的工作環(huán)境是什么樣的?

16.你有什么想問我的?

HR電話面,15min

當(dāng)時是下午5點(diǎn)吧,Robocup小組賽第二場剛結(jié)束…正累著,嗓子都啞了…

1.面試感覺怎么樣

2.什么時候開始學(xué)習(xí)iOS的,為什么要學(xué)iOS,具體舉例(我說在過程中總結(jié)不足)

3.工作還是讀研

4.對于加入頭條所希望得到什么

6.大學(xué)里最有成就感的一件事

7.什么時候可以開始實(shí)習(xí),可以實(shí)習(xí)多久

8.你有什么要問我的?

小結(jié)

整體面試體驗(yàn)非常好,頭條是對iOS的基礎(chǔ)細(xì)節(jié)問得最細(xì)的一家,同時也具有深度,而且二面面試官連著出Swift的題讓我有些意外...

更意外的是,全程沒有直接問計(jì)算機(jī)基礎(chǔ)的問題(網(wǎng)絡(luò),OS),我想可能是這些基礎(chǔ)已經(jīng)通過一些問題考察到了,比如GCD,緩存等等。

頭條手撕算法大家都知道了..做好準(zhǔn)備吧…我應(yīng)該算運(yùn)氣比較好的...

我的個人表現(xiàn)嘛,其實(shí)面試后自行復(fù)盤時,發(fā)現(xiàn)有蠻多錯誤的,加上第一天面試還是視頻面,確實(shí)比較緊張。非常感謝面試官的耐心,一二面算是茍過了吧…三面的發(fā)揮是比較不錯的,整體來說漸入佳境吧。

同時,三面完之后,我就很想去這個組了...

網(wǎng)易云音樂

現(xiàn)場一面掛 40min

1.自我介紹

2.展示下你的項(xiàng)目

3.Swift印象深的特性,閉包是什么,Block的內(nèi)存結(jié)構(gòu)?

4.guard與if let的區(qū)別

5.服務(wù)端怎么發(fā)推送消息的

6.開發(fā)iOS的體驗(yàn)

7.weak,weak怎么實(shí)現(xiàn)MRC的

8.ARC具體什么時候添加retain、release語句的(答編譯期不行)

9.響應(yīng)鏈,怎么獲取觸屏事件

10.TableViewCell的復(fù)用機(jī)制,有幾個Cell復(fù)用

11.HTTPS,安全層除了SSL還有,最新的? 參數(shù)握手時首先客戶端要發(fā)什么額外參數(shù)

12.抓包工具,CDN是什么

13.include和import的區(qū)別

14.線程怎么調(diào)用寄存器的

15.Swizzle原理

16.load和initialize

17.你有什么要問我的

小結(jié)

面網(wǎng)易我是很隨緣的…前面也提到了,前三天一直在比賽,而且面完頭條后心里已經(jīng)有底了,可能有些放飛自我。

豬廠當(dāng)時面試的會場iOS一共就兩個面試官..而前端有八個...

自我介紹之后面試官讓我展示項(xiàng)目的確是我沒想到的…最后我只展示了一個正在寫的項(xiàng)目。

面試下來我感覺我答得一般般,但面試體驗(yàn)一般,因?yàn)槊嬖嚬僬f話斷斷續(xù)續(xù),我甚至感覺他有些緊張..可能是我的錯覺….

之后復(fù)盤總結(jié)時,問題整體上質(zhì)量是比較高的,是自己有所不足。

面完出來過了5分鐘問HR小哥哥面試結(jié)果,他很尷尬地和我說"很遺憾,沒有通過面試,不過你可以去那邊吃午餐"

可我內(nèi)心毫無波動,吃了雙人份午餐就去上海了。

京東

現(xiàn)場一面 40min

1.自我介紹

2.Swift的結(jié)構(gòu)類、枚舉類型相比于其他語言的不同

3.說一下MVC與MVVM

4.GCD,輸出什么,面試官寫的是OC

1

2

3

4

5

print("1")

Dispatch.main.async{

????print("2")

}

print("3")

5.具體說說runtime

6.算法題,重復(fù)字符串去重,不能修改原順序。說思路

7.Runloop與線程的關(guān)系

8.進(jìn)程與線程的關(guān)系

9.項(xiàng)目輪播圖的實(shí)現(xiàn)原理

現(xiàn)場二面(leader) 30min

唯一的一次只考察計(jì)算機(jī)基礎(chǔ)的面試,leader的意思是重基礎(chǔ),iOS不會進(jìn)來學(xué)都可以,從他的口中感覺京東比較缺人

1.計(jì)算機(jī)網(wǎng)絡(luò)七層哪七層

2.TCP細(xì)節(jié),三次握手細(xì)節(jié),ACK與ack的區(qū)別

3.廣播風(fēng)暴,廣播怎么產(chǎn)生的

4.ICMP知道嗎

5.IP地址主機(jī)號全為1代表什么

6.進(jìn)程與線程的關(guān)系

7.管道,具體的三種

8.SPOOLing

9.Linux下查看目錄下多少文件,Linux下查看文件有多少行

10.OS、計(jì)網(wǎng)課做過什么實(shí)驗(yàn)

11.手寫算法(白紙),findFirstCommonNode

HR電話面 5分鐘

1.自我介紹

2.為什么學(xué)iOS

3.之前寫Swift還是OC

4.實(shí)習(xí)多久 什么時候開始實(shí)習(xí)

5.有在面其他公司嗎,拿offer了嗎

6.那怎么選擇(我說拿到了頭條offer)

7.你有什么要問我的

小結(jié)

其實(shí)面京東也是隨緣的。一面問題比較常規(guī),我的發(fā)揮是比較好的,二面一開始被連著問計(jì)網(wǎng),TCP還好,IP協(xié)議相關(guān)的答得不好。

白紙手寫算法應(yīng)該是我運(yùn)氣比較好,這道題我可能寫過不下五遍了,他review一遍過,可能這里加分比較多。

整體體驗(yàn)也很好,二面面試官當(dāng)場和我說我過了,所以其實(shí)offer是有底的。offer郵件是28號凌晨收到的,應(yīng)該是京東的第一批offer。

騰訊

WXG電話一面掛 30min

1.自我介紹

2.筆試題的問題,Swift的訪問控制概念判斷

3.Swift的模板和C++模板區(qū)別

4.tableView必須要實(shí)現(xiàn)的方法

5.numberOfSection,numberOfRowInSection,cellForRow,高度這4個方法調(diào)用的先后順序,為什么

6.問項(xiàng)目吧(你太菜)

7.筆試題1G的數(shù)據(jù),100MB內(nèi)存,怎么排序

8.看看你的Github代碼...

9.你有什么要問我的

小結(jié)

3月中旬投的騰訊,過了一個多月才接到面試,這時候我早已放飛自我了...

4月23號南大小哥收到了現(xiàn)場面試的短信,應(yīng)該是手Q的。我當(dāng)時表面發(fā)說說"騰訊連面試機(jī)會都不給我",實(shí)際上我感覺應(yīng)該是被其他組鎖了,心里也想過可能是WXG…沒想到還真的是

面試當(dāng)天看到是廣州的電話我心里就有逼數(shù)了..

這次面試是我發(fā)揮最差的一次,基本都問到了我的不足處...也是唯一一個在線看我github代碼,并且clone下來運(yùn)行的面試官...

面試結(jié)尾時,我直接和他說"我知道我掛了,非常感謝您能面我,我等騰訊面試已經(jīng)很久了"

過了兩天吧,我看到我的項(xiàng)目收到一個star,看了下應(yīng)該是他,可能是安慰吧….

恩..面試官一定是廣東人..然后他其實(shí)是做前端的,應(yīng)該是有在做react native的東西,最近有在看Swift...

以上是我從他的Github推斷出來的..

CDG電話一面 28min

1.自我介紹

2.MVC的弊端(我提到),MVVM怎么能解決,兩者的區(qū)別

3.雙向綁定怎么實(shí)現(xiàn)的,引著問KVO怎么實(shí)現(xiàn)的

4._ivar 和 self. 區(qū)別,_ivar能觸發(fā)KVO嗎?

5.單向鏈表找環(huán),兩個單向鏈表找相交結(jié)點(diǎn),說思路

6.講講HTTP,說說狀態(tài)碼

7.常見的排序算法,以及時間復(fù)雜度

8.對于職位未來的期望

9.所遇到的坑,一個tableView多個網(wǎng)絡(luò)請求,怎么優(yōu)化(我提到)

10.GCD說一下

11.被WXG怎么掛的

12.有什么要問我的

小結(jié)

五一放假回來接到電話說在簡歷池看到我簡歷,問我還找不找實(shí)習(xí)。畢竟是騰訊,能有機(jī)會面還是要面滴。

好在問題比較常規(guī),就過了。現(xiàn)在官網(wǎng)顯示的是復(fù)試中,但是過了快五個工作日還未預(yù)約下次面試。其實(shí)已經(jīng)拖到這么晚了,我并沒報(bào)有什么期望。

三、一點(diǎn)體會

經(jīng)歷了春招,我直觀感受是,對于絕大多數(shù)人

offer = 20%心態(tài) + 50%實(shí)力 + 10%面試技巧 + 20%緣分運(yùn)氣

我以自己的經(jīng)歷分析下吧:

心態(tài)

心態(tài)很重要,我投出第一份簡歷是在3月中旬,在遭到美團(tuán)頭條筆試連環(huán)掛,騰訊阿里內(nèi)推短時間內(nèi)了無音訊后,我心態(tài)的確有些炸裂。直到內(nèi)推了頭條我才接到第一次面試的邀請,而第一次面試已經(jīng)是4月9日了。不能放棄,一定要堅(jiān)持。

要保持一個好的心態(tài),需要對自己的實(shí)力有一定的自信,更重要的是對自己的實(shí)力有清楚的定位。

建議廣撒網(wǎng)但要有階段性地撒,這個根據(jù)個人情況決定。準(zhǔn)備好了就投簡歷,越早越好。多關(guān)注內(nèi)推尤其是直推部門的信息,我覺得很多人往往是缺一個面試的機(jī)會。

同時建議能找到一起參加春招,能交流的伙伴。研究生的話一般一個實(shí)驗(yàn)室的會有交流,本科生就..找嘛…。有能一起吐槽,同時分享企業(yè)招聘內(nèi)推信息的伙伴很重要,也建議可以加多個公司的內(nèi)推群實(shí)習(xí)群,這都是解壓,調(diào)整心態(tài)的方式。(雖然若別人都收到offer了,就自己還0offer可能心態(tài)會更崩2333)

一般第一次面試肯定會緊張…這個我也什么好的經(jīng)驗(yàn)。一般自我介紹后,我回答了一兩個問題就進(jìn)入狀態(tài)了。在面完頭條之后的面試我基本都不緊張。

還有只有當(dāng)拿到所期望的公司offer以后,才能放松下來。

實(shí)力

當(dāng)然啦,實(shí)力越強(qiáng),所占的比重肯定越大,不止50%。

實(shí)力主要分為三部分(資料附后)

1.計(jì)算機(jī)基礎(chǔ)

操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫。一般根據(jù)方向會有不同的偏重,比如iOS問到的偏OS和計(jì)網(wǎng)。

這方面我其實(shí)沒有做很多準(zhǔn)備,基本是吃老本,拿課堂筆記復(fù)習(xí)了一下,書籍重點(diǎn)看了HTTP,HTTPS,還有TCP/IP,然后根據(jù)面經(jīng)查漏補(bǔ)缺吧...

2.算法與數(shù)據(jù)結(jié)構(gòu)

這應(yīng)該屬于計(jì)算機(jī)基礎(chǔ)的,但我還是單拎了出來。算法主要分為筆試題和面試題。

筆試題因?yàn)闀r間充足,所以問題難度會較大一些,但都是有套路的…比如BFS的題是出現(xiàn)率最高的..關(guān)鍵在于不斷地總結(jié)與反思。

面試題根據(jù)情況,有的是在線編程,有的是說思路,有的是白紙手寫。因?yàn)闀r間限制,一般代碼量不高,考察數(shù)據(jù)結(jié)構(gòu)的幾率較大,尤其是鏈表。

這方面我是大概過了下《算法導(dǎo)論》,跳著看各個章節(jié),刷完了《劍指offer》,leetcode刷得不多...

算法是可以突擊的,比如寒假開始刷,是ok的,并不一定需要平日的積累。當(dāng)然..科班學(xué)生平日是肯定有積累的..

ACM大佬手下留情...

3.iOS基礎(chǔ)知識+項(xiàng)目經(jīng)歷

iOS基礎(chǔ)知識也包括OC和Swift相關(guān)。我是Swift選手,2月份開始看OC語法,2月底正式開始刷面試題,同時也是補(bǔ)iOS基礎(chǔ)。

主要是看官方文檔+博客來重點(diǎn)學(xué)習(xí)各個小方向,刷面試題以輔助。

項(xiàng)目經(jīng)歷是沒辦法突擊的,我經(jīng)歷應(yīng)該還行吧。這個就看自己平時積累了。

iOS基礎(chǔ)知識老實(shí)說是可以突擊的,比如各種iOS,OC的面試題等等,但是有了一定的項(xiàng)目經(jīng)歷,突擊起來才更有效,提升更大。

面試技巧

首先,一般來說面試官都是很忙的..然后基本是有題庫的。

自我介紹其實(shí)是給面試官看你簡歷,也是給面試官"找問題問"的時間。

我的自我介紹都是名字+學(xué)校+專業(yè),然后就闡述iOS自學(xué)之路,會簡單的說下做過的iOS相關(guān)項(xiàng)目,重點(diǎn)基本都是為了突出學(xué)MVC到MVVM,StoryBoard到代碼布局,因?yàn)槲覀€人在app架構(gòu)這一塊有些小心得。所以如果看問我的面試題,絕大多數(shù)面試官一開始都問的我MVC,MVVM。我的意思是:

引導(dǎo)面試官問你問題

這并不是很trick的做法,而是理所應(yīng)當(dāng)?shù)?。面試就那么短時間,最好就是要在有限的時間內(nèi)展現(xiàn)你所有的優(yōu)勢。而若完全靠面試官的題庫去問,呃...

那么遇到不會的問題怎么辦呢?

完全不會就直說不會,但如果是這樣的情況,你可以再引導(dǎo)一波,舉個例子

頭條一面我被問到"Runloop的Source是什么?"。我當(dāng)時對于Source只記得是事件產(chǎn)生的地方,而我多說了一句知道RunLoop的Observer,以及幫助實(shí)現(xiàn)AutoreleasePool,接著面試官就問我AutoreleasePool是什么?

面試嘛,就是一個面試官對面試者的知識庫做DFS的過程。至于深度有多深看面試官興趣了...

絕大多數(shù)面試,比如我所經(jīng)歷的螞蟻一面,JD一面,CDG一面都是比較常規(guī)的面試,對著你的自我介紹或者項(xiàng)目找要點(diǎn)問,深度擴(kuò)展一下,再考察一下iOS基礎(chǔ),再考察一下計(jì)算機(jī)基礎(chǔ),再考察一下算法基礎(chǔ)。聊得開心再多聊幾句...

緣分運(yùn)氣

可能20%好像給多了..其實(shí)不然...

比如內(nèi)推頭條,我真的就是隨便在??涂吹絺€帖子就投了,沒什么期望,真沒想到第二天就能收到面試邀請。

面試真的看緣分,因?yàn)槊嬖嚥⒉皇菃畏矫娴氖拢?b>有時候面試就像相親,match很重要。

也看運(yùn)氣,有句話說得有一定道理,"面試過了,是問的題你剛好會"

而當(dāng)然啦,我們要做的就是不斷地?cái)U(kuò)展我們所會的問題域

所以,我覺得如果實(shí)力不斷增加,緣分運(yùn)氣占的比例會逐漸下降。

佛系佛系。

四、書籍及資料

主要是推薦一下我所看的書籍和資料吧

計(jì)算機(jī)基礎(chǔ)

因?yàn)槲疫@方面看的不多..所以.

先首推技術(shù)面試需要掌握的基礎(chǔ)知識整理,這個應(yīng)該也不用我推薦了,良心整理,我在github看到時還只有4000satrs,現(xiàn)在已經(jīng)2w了...

推薦在面試前過一遍,查缺補(bǔ)漏,對不會的知識點(diǎn)可以再單方面深入看。

同時也很適合在等待面試的前xx分鐘看。

《HTTP權(quán)威指南》我是沒看完..大概看完基礎(chǔ)的幾章,然后重點(diǎn)看了HTTPS

《TCP/IP詳解》我也是挑著看的...

《操作系統(tǒng)概念》這也是教材...我只是復(fù)習(xí)了一遍自己的課堂筆記。

如果時間充裕,HTTP,TCP/IP能多熟就多熟,能多深就多深吧,基本功...

算法與數(shù)據(jù)結(jié)構(gòu)

《劍指offer》不多說了,必刷

Leetcode,時間充足則能多刷就多刷

關(guān)于數(shù)據(jù)結(jié)構(gòu),我是把常見的數(shù)據(jù)結(jié)構(gòu)跟著《算法導(dǎo)論》再實(shí)現(xiàn)了一遍(大二實(shí)現(xiàn)過)

iOS基礎(chǔ)

先首推iOS面試題集錦,如果已有基礎(chǔ),可以復(fù)習(xí)初始時過一遍,對著不會的逐個擊破。也適合查缺補(bǔ)漏。同樣的還有MrPeak的iOS面試題

OC《Effective Objective-C 2.0》《Objective-C高級編程 iOS與OS X多線程和內(nèi)存管理》

Swift問Swift問的比較少,基本上過了guide就還好,推薦看《Advanced Swift》

RuntimeObjective-C Runtime Programming Guide

RunLoop深入理解RunLoop

多線程GCD精講,Swift3&4iOS多線程保證線程安全的方式不再安全的OSSpinLock

app架構(gòu)iOS 架構(gòu)模式 - 簡述 MVC, MVP, MVVM 和 VIPERSwift選手去學(xué)學(xué)RxSwift吧~

LifeCycleiOS程序執(zhí)行順序和UIViewController 的生命周期

Blockobjc 中的 block

性能優(yōu)化深入剖析 iOS 性能優(yōu)化

設(shè)計(jì)模式Design Patterns on iOS using Swift這個網(wǎng)站也很好,我記得以前在這看過IGList的教程

博客及網(wǎng)站

NSHipster這個不用多說吧,只要是這里有的且我想看的都看了一遍

Swift 必備 tips

YY大神的博客上面很多篇都是他的博客,但他已經(jīng)很久沒更了

王巍大神的博客今天還更新了關(guān)于app架構(gòu)的一篇文章

其實(shí)還有很多大神的博客,但讀的還不多..so

其他面經(jīng)

主要是我所看的面經(jīng)

為我學(xué)長打Call我復(fù)習(xí)一開始是對著他整理的知識點(diǎn)過的,也感謝學(xué)長在我iOS自學(xué)之路上所給予的幫助

在一個iOS交流群看到的

牛客上搜到的,去年的...

五、結(jié)語

其實(shí)如此長篇的整理

是對自己的總結(jié),畢竟兩個多月忙著同一件事,終于結(jié)束之時還是有所感慨。

是一種回饋,在春招路上,我得到了很多同學(xué)的幫助,也看了很多面經(jīng),如今將自己的心得分享給大家,是促進(jìn)良性的循環(huán)。

同時也是希望讓更多的iOSer看到,這孤獨(dú)的路上,真的不止你一人。

希望大家都能得到滿意的結(jié)果。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容