作者:loststarrs
鏈接:https://www.nowcoder.com/discuss/80783?type=2&order=0&pos=2&page=1
來(lái)源:虐獬椋客網(wǎng)
獻(xiàn)給春招中所有孤獨(dú)的iOSer
怕是不知道要在藕撼祝客翻多少頁(yè)才能找到iOSer的面經(jīng)艾帐,至少我4月份還在看著去年秋招的面經(jīng)...
我想現(xiàn)在在知乎上關(guān)于iOS開發(fā)問(wèn)的最多的問(wèn)題一定是「iOS開發(fā)是否已經(jīng)飽和谊迄,沒(méi)必要再學(xué)?」和「入門iOS痰驱,學(xué)OC還是Swift?」(有沒(méi)有總結(jié)得很到位!
這畢竟是春招總結(jié)区丑,關(guān)于方向上的事講太多就跑題了,但還是簡(jiǎn)單地兩句話總結(jié)下我個(gè)人的看法吧:?開發(fā)上修陡,如果不是特別有興趣如今就不要再選iOS方向了刊苍,若是非常有興趣,并不用擔(dān)心飽和的問(wèn)題濒析。至于OC和Swift,可以并且推薦先學(xué)Swift入門啥纸,但OC是之后必須要學(xué)的号杏。
在整個(gè)春招過(guò)程中,我結(jié)識(shí)了不少像我一樣的iOSer斯棒,也讓我感覺(jué)到正走在這條路上的不止我一個(gè)人盾致。
我的春招從二月底真正開始準(zhǔn)備,到大概五一結(jié)束吧荣暮,總共兩個(gè)多月的時(shí)間庭惜。校招真的是一段勞累,佛系的歷程穗酥。我將這一路的體會(huì)與心得分享給大家护赊,希望能給大家?guī)?lái)一點(diǎn)微小的幫助惠遏。
預(yù)警
(可能有點(diǎn)長(zhǎng) :) 同時(shí)個(gè)人喜歡打省略號(hào),已經(jīng)在克制了...不喜勿噴...
一骏啰、前言
首先我的面試經(jīng)歷并不算豐富节吮,總共其實(shí)只面試了五家公司,肯定比不上各路面霸判耕,但是過(guò)程還是非常跌宕起伏的透绩。先簡(jiǎn)要概括下個(gè)人面試經(jīng)歷(詳細(xì)面試過(guò)程附后,這里可以直接跳過(guò)~)
整體時(shí)間線
4.9 螞蟻金服一面壁熄,頭條一二面
4.12 頭條三面
4.13 頭條HR電話面
4.15 網(wǎng)易現(xiàn)場(chǎng)一面
4.16 京東現(xiàn)場(chǎng)一二面帚豪,螞蟻金服二面
4.17 頭條offer
4.18 京東HR電話面
4.20 螞蟻金服三面
4.27 騰訊WXG一面
4.28 京東offer
5.7 騰訊CDG一面
to be continued?
筆試掛
美團(tuán):美團(tuán)是我投的第一家公司,同時(shí)美團(tuán)的筆試算我人生中第一場(chǎng)筆試吧(不算上大二SAP的話…)草丧,一句話總結(jié)就是吃經(jīng)驗(yàn)狸臣,交學(xué)費(fèi)。當(dāng)時(shí)并沒(méi)有學(xué)會(huì)筆試的套路方仿,之前一直在看的是面試的編程題….
頭條:投的第二家公司固棚,我對(duì)頭條是很有好感的,因?yàn)轭^條做產(chǎn)品比較厲害仙蚜,對(duì)iOS需求大此洲。而且當(dāng)時(shí)內(nèi)心OS也許只有頭條能有比較大的機(jī)會(huì)寫Swift吧(想多了騷年,老老實(shí)實(shí)寫OC去)委粉。然而當(dāng)晚頭條的筆試簡(jiǎn)直是勸退…5道編程題呜师,我沒(méi)有一題AC,徹徹底底地被上了一課贾节。之后我認(rèn)真總結(jié)了每一道題汁汗,摸清了筆試的套路,之后所有企業(yè)的筆試都過(guò)了栗涂。
筆試或簡(jiǎn)歷過(guò)知牌,但放棄面試
攜程:廣撒網(wǎng)嘛..其實(shí)攜程挺好的,而且是來(lái)南京現(xiàn)場(chǎng)面… 其實(shí)放棄的主要原因并不是當(dāng)時(shí)已拿到了頭條offer...好像是因?yàn)榈诙煲荚嚱锍蹋腩A(yù)習(xí)下...
華為:其實(shí)我一個(gè)iOSer不該去華為的角寸,因?yàn)榉N種原因投了吧..最后放棄面試也是很正常的...
知乎:知乎呀知乎….知乎春招應(yīng)該沒(méi)有公開招人。我是三月份找學(xué)長(zhǎng)直接把簡(jiǎn)歷推到了iOS組忿墅,過(guò)了一個(gè)多月收到郵件選面試時(shí)間扁藕。然后…哎不提了..
最終參加面試
螞蟻金服(三輪電話技術(shù)面后進(jìn)池子了):最一開始我是想晚點(diǎn)內(nèi)推阿里的,因?yàn)槁犝f(shuō)阿里發(fā)起面試特別快疚脐。在美團(tuán)頭條連著筆試跪亿柑,騰訊提前批了無(wú)音訊后,等不到一個(gè)面試機(jī)會(huì)的我心態(tài)炸裂棍弄,直接內(nèi)推望薄。
從現(xiàn)在來(lái)看疟游,三次面試的間隔讓我感覺(jué)我是天選之子,怎么這么快式矫,這不是我所認(rèn)知的阿里..甚至前兩次面試都是面試官提前預(yù)約的乡摹。
三面面試官和我說(shuō)是終面,從那之后采转,到現(xiàn)在已經(jīng)過(guò)了二十多天…..五一收假后聪廉,螞蟻發(fā)完了最后一波offer,而我還是面試中故慈,大概就這樣了吧...
阿里的面試板熊,至少我這三輪不算難,但因?yàn)镠C少察绷,肯定要發(fā)揮得比較完美才能進(jìn)吧干签。
頭條(三輪視頻技術(shù)面+HR電話面 offer):是的..我筆試掛了,之后在挪鸷常客翻到一個(gè)帖子直推部門容劳,我問(wèn)了下筆試掛了能推嗎,得到肯定回復(fù)后我就隨手一發(fā)簡(jiǎn)歷闸度,第二天就接到HR電話約清明節(jié)后電話面試竭贩。
在面試之前我對(duì)頭條的高效率已有所耳聞,做好了面一晚上的準(zhǔn)備莺禁。過(guò)了二面后留量,HR打電話和我說(shuō)三面面試官時(shí)間不合適,約到了三天后哟冬,心中有些忐忑楼熄,因?yàn)?1號(hào)至15號(hào)要去紹興參加Robocup….
頭條的面試算是比較難的,但因?yàn)榻衲闔C多浩峡,估計(jì)進(jìn)頭條的難度不算高可岂。
網(wǎng)易(現(xiàn)場(chǎng)一面掛):網(wǎng)易我投的是網(wǎng)易云音樂(lè),網(wǎng)易的筆試篩得應(yīng)該比較嚴(yán)翰灾,畢竟報(bào)銷路費(fèi)缕粹。我是14號(hào)晚上從紹興坐高鐵到了杭州,11點(diǎn)才到酒店预侯,第二天早上10點(diǎn)面試,emmm峰锁,然后一面就掛了萎馅,詳細(xì)后面說(shuō)。印象比較深刻的是虹蒋,午餐我吃了兩人份….
京東(現(xiàn)場(chǎng)兩輪技術(shù)面+HR電話面 offer):投的是上海的京東商城糜芳,其實(shí)我想投的是北京的..但官網(wǎng)面試地點(diǎn)我選了上海..然后就投去上海了飒货。
京東的筆試因?yàn)榕c頭條面試撞了所以沒(méi)參加,然而我還是收到了面試邀請(qǐng)….佛系峭竣。網(wǎng)易掛了之后塘辅,我直接從杭州坐高鐵到了上海,第二天下午兩點(diǎn)面試皆撩。結(jié)識(shí)了南大小哥扣墩,同樣是iOSer,同樣是前天上午在杭州面網(wǎng)易…同樣是一面掛...同樣是今天來(lái)上海面京東..
騰訊(提前批未被發(fā)起面試扛吞,正式批WXG電話一面掛呻惕,CDG電話一面過(guò)):騰訊提前批我沒(méi)有寫意向事業(yè)群,不知道這是不是我沒(méi)被發(fā)起面試的原因滥比,因?yàn)閺闹蟮拿嬖嚱?jīng)歷看亚脆,我的簡(jiǎn)歷應(yīng)該算有些競(jìng)爭(zhēng)力的。
可能是真的與騰訊無(wú)緣吧…等到正式批WXG電話面試時(shí)盲泛,我已經(jīng)脫離面試狀態(tài)大概一周了濒持,也沒(méi)有準(zhǔn)備,加上面試官emmm寺滚。掛了之后過(guò)了幾天接到CDG電話說(shuō)在簡(jiǎn)歷池看到我簡(jiǎn)歷柑营,把我撈起來(lái)面試。周一一面過(guò)了玛迄,官網(wǎng)顯示復(fù)試中由境,還沒(méi)有約二面時(shí)間,不過(guò)其實(shí)..也不在意了...
今年雖然騰訊HC增多..但可能是真的無(wú)緣吧..
未投的公司
滴滴:我..是..真的..沒(méi)找到滴滴的校園招聘網(wǎng)站...
百度:其實(shí)百度投得很早蓖议,但等到筆試時(shí)虏杰,已經(jīng)拿到了兩個(gè)offer..就
二、面試過(guò)程
其實(shí)前期的面試我都有總結(jié)自己的回答勒虾,這里就不貼了纺阔,有疑問(wèn)的可以和我討論交流~
這里對(duì)于每個(gè)公司的面試,貼上真實(shí)感受以及對(duì)自己的面試表現(xiàn)復(fù)盤后的自評(píng)修然。
螞蟻金服
電話一面笛钝,25min
1.直入主題,自我介紹
2.問(wèn)重點(diǎn)提到的項(xiàng)目開發(fā)細(xì)節(jié)
3.問(wèn)我怎么維護(hù)登錄狀態(tài)的愕宋?
4.uuid是什么時(shí)候創(chuàng)建玻靡,什么時(shí)候給用戶的?有沒(méi)有過(guò)期設(shè)置中贝?
5.uuid放在header里面不會(huì)被冒用身份嗎囤捻?HTTPS是怎么保證安全性的?
6.HTTP和TCP邻寿、UDP的關(guān)系
7.TCP寫過(guò)什么東西嗎
8.Socket是什么蝎土,在TCP里具體怎么使用的
9.有沒(méi)有HTTPS抓包經(jīng)歷视哑,用過(guò)什么工具
10.進(jìn)程與線程的關(guān)系
11.進(jìn)程、線程通信方式
12.Swift寫得多誊涯,那對(duì)OC了解嗎
13.問(wèn)StoryBoard的其他缺點(diǎn)(我說(shuō)最先項(xiàng)目時(shí)提到了用StoryBoard寫的)
14.SnapKit是swift的Masonry挡毅,是對(duì)Autolayout的封裝吧,那Autolayout相比以前的布局有什么優(yōu)缺點(diǎn)暴构?
15.Autolayout有遇到性能問(wèn)題嗎跪呈?
16.你提到OC的runtime,runtime有哪些應(yīng)用
電話二面丹壕,18min
上來(lái)就說(shuō)聊個(gè)十幾分鐘...
1.聊一下京東面試面得怎么樣
2.自我介紹
3.聊聊項(xiàng)目輪播圖庆械,細(xì)節(jié)
pageControl怎么實(shí)現(xiàn)聯(lián)動(dòng)?
怎么實(shí)現(xiàn)動(dòng)態(tài)增加輪播圖片菌赖?
Model同時(shí)在讀和寫怎么辦
像支付寶的輪播圖pageControl的漸變效果
4.有沒(méi)有繼承UIView的經(jīng)歷
5.線程同步有哪些方式
6.用過(guò)NSOperationQueue嗎
7.你有什么要問(wèn)我的
電話三面缭乘,16min
因?yàn)橹皟擅娑际怯蓄A(yù)約,而這次是突擊琉用,所以我沒(méi)怎么準(zhǔn)備堕绩,不過(guò)他說(shuō)是HR忘預(yù)約了
1.為什么學(xué)iOS
2.影響最大的項(xiàng)目
3.所遇到的坑
4.未來(lái)學(xué)習(xí)計(jì)劃
5.自身技能樹,為什么你覺(jué)得你iOS比較精一點(diǎn)
6.你覺(jué)得移動(dòng)端邑时,app開發(fā)本質(zhì)是涉及哪些內(nèi)容
7.有沒(méi)有做過(guò)一些技術(shù)分享
8.10張圖奴紧,屏幕上,怎樣讓兩列的高度差最小(內(nèi)推的編程題...)
小結(jié)
整體體驗(yàn)是非常不錯(cuò)的晶丘,面試官都很和藹黍氮,而且相隔時(shí)間不長(zhǎng),因?yàn)橹虚g還有兩次預(yù)約面試的電話浅浮。但面試時(shí)間都很短沫浆,可能是面試官比較忙吧。
至于三面滚秩,我感覺(jué)他不是做iOS的专执,問(wèn)的問(wèn)題也比較偏潛力或者說(shuō)發(fā)展,我覺(jué)得我回答得挺好的郁油,但是最后的場(chǎng)景算法題沒(méi)答好本股,其實(shí)很簡(jiǎn)單一道DP題...
..唉...我個(gè)人感覺(jué)所有面試中,螞蟻金服應(yīng)該算我發(fā)揮最好的了桐腌,只有二面一兩點(diǎn)沒(méi)深入下去拄显,還有三面這道場(chǎng)景題,可能被刷就刷在這吧案站。
今日頭條
視頻一面躬审,1.2h左右
巨長(zhǎng)….最長(zhǎng)的一次面試
1.自我介紹
2.MVC和MVVM詳細(xì)優(yōu)缺點(diǎn)
3.函數(shù)式編程是什么,對(duì)應(yīng)另一種編程思維是什么
4.輪播圖項(xiàng)目實(shí)現(xiàn)細(xì)節(jié),CollectionView細(xì)節(jié)盒件,有幾種移動(dòng)的方式?
5.ScrollView有哪些回調(diào)舱禽,滑動(dòng)時(shí)有哪些在改變炒刁?
6.觸發(fā)的timer在滑動(dòng)時(shí)會(huì)暫停回調(diào)誊稚,為什么翔始?
7.那runloop有哪幾種mode
8.詳細(xì)說(shuō)說(shuō)runloop是什么?整個(gè)app里只有一個(gè)runloop嗎
9.runloop中的source是什么里伯?
10.那autoreleasePool是什么城瞎?
11.項(xiàng)目里提到cocoapods,那它怎么工作的疾瓮?pod install具體過(guò)程脖镀;你看過(guò)下載下來(lái)的第三方庫(kù)什么樣子嗎?
12.GCD細(xì)節(jié)狼电,串行/并行隊(duì)列蜒灰,同步/異步,任務(wù)能不能取消肩碟,怎么實(shí)現(xiàn)依賴强窖?
13.除了GCD還有哪些多線程方式,他們有什么區(qū)別削祈?
14.你為什么不用NSOperationQueue而用GCD翅溺,用過(guò)嗎
15.怎么保證線程安全?
16.除了加鎖呢?
17.話題一轉(zhuǎn)髓抑,考基礎(chǔ)咙崎,有哪些排序算法,哪些是穩(wěn)定的启昧,哪些是不穩(wěn)定
18.快排為什么不穩(wěn)定叙凡?
19.單鏈表反轉(zhuǎn)鏈表需要幾個(gè)指針,怎么找到鏈表的環(huán)密末,那怎么求得鏈表環(huán)的長(zhǎng)度握爷?無(wú)編碼,說(shuō)思路
20.Views的DFS(遞歸和非遞歸)严里、BFS新啼,要求編碼
視頻二面,1h左右
一面面試官和我說(shuō)讓我等一下二面刹碾,我上了個(gè)廁所回來(lái)過(guò)了一會(huì)兒就接著面了…
二面有一點(diǎn)點(diǎn)壓力面的意味燥撞,上來(lái)有一點(diǎn)點(diǎn)"懟"我,但其實(shí)是也是很親和的,問(wèn)的一些問(wèn)題和一面一樣物舒,但深度更深
1.再介紹下第一個(gè)項(xiàng)目的細(xì)節(jié)
2.你之后用MVVM色洞,為什么不再用MVC了,哪里不好冠胯?
3.發(fā)網(wǎng)絡(luò)請(qǐng)求比如說(shuō)用Alamofire是屬于MVC哪一層火诸?
4.MVVM哪里好了,除了能剝離出網(wǎng)絡(luò)請(qǐng)求部分荠察,還能怎么樣置蜀,網(wǎng)絡(luò)請(qǐng)求能占多少行?
5.響應(yīng)式UI是什么?
6.Swift Int? 和 Int能否比較悉盆,unwrap Optional有幾種方式盯荤,很隱晦地考了重載
7.考了值類型和寫時(shí)復(fù)制相關(guān)
8.考GCD串行并行隊(duì)列 同步異步,面試官在出題過(guò)程中也問(wèn)了概念焕盟。問(wèn)題是一段代碼會(huì)輸出什么秋秤。有死鎖的陷阱,我就不曬題了..
9.算法題脚翘,無(wú)序不重復(fù)整數(shù)序列航缀,找出極小值的index
視頻三面,30min
之前有所準(zhǔn)備堰怨,頭條三面應(yīng)該是leader面芥玉,面試官很親和,聲音很好聽
其實(shí)吧..三面面完我就感覺(jué)offer穩(wěn)了
1.什么時(shí)候開始學(xué)iOS的
2.簡(jiǎn)歷中項(xiàng)目的服務(wù)端架構(gòu)备图,有哪些坑(我說(shuō)我踩坑了)
3.朋友圈怎么實(shí)現(xiàn)的灿巧?
4.你有沒(méi)有對(duì)比過(guò)你的和微信的朋友圈(覺(jué)得我的答案沒(méi)到點(diǎn)上)
5.那影響朋友圈滑動(dòng)流暢度有哪些因素?
6.你覺(jué)得你iOS哪方面比較強(qiáng)
7.你覺(jué)得一個(gè)優(yōu)秀的高級(jí)iOS開發(fā)工程師應(yīng)該是什么樣的揽涮,應(yīng)該具備什么
8.那說(shuō)說(shuō)runtime的消息機(jī)制吧吧
9.那消息轉(zhuǎn)發(fā)這三步有什么用呢抠藕?
10.那runtime,runloop有哪些實(shí)際在項(xiàng)目里幫到你呢蒋困?或者說(shuō)應(yīng)用
11.讓你設(shè)計(jì)一個(gè)圖片庫(kù)怎么設(shè)計(jì)?
12.怎么協(xié)調(diào)硬盤緩存和內(nèi)存緩存?
13.你剛才說(shuō)LRU盾似,怎么實(shí)現(xiàn)的
14.大學(xué)里你最有成就感的一件事
15.你期望的工作環(huán)境是什么樣的?
16.你有什么想問(wèn)我的雪标?
HR電話面零院,15min
當(dāng)時(shí)是下午5點(diǎn)吧,Robocup小組賽第二場(chǎng)剛結(jié)束…正累著村刨,嗓子都啞了…
1.面試感覺(jué)怎么樣
2.什么時(shí)候開始學(xué)習(xí)iOS的告抄,為什么要學(xué)iOS,具體舉例(我說(shuō)在過(guò)程中總結(jié)不足)
3.工作還是讀研
4.對(duì)于加入頭條所希望得到什么
6.大學(xué)里最有成就感的一件事
7.什么時(shí)候可以開始實(shí)習(xí)嵌牺,可以實(shí)習(xí)多久
8.你有什么要問(wèn)我的打洼?
小結(jié)
整體面試體驗(yàn)非常好龄糊,頭條是對(duì)iOS的基礎(chǔ)細(xì)節(jié)問(wèn)得最細(xì)的一家,同時(shí)也具有深度募疮,而且二面面試官連著出Swift的題讓我有些意外...
更意外的是炫惩,全程沒(méi)有直接問(wèn)計(jì)算機(jī)基礎(chǔ)的問(wèn)題(網(wǎng)絡(luò),OS),我想可能是這些基礎(chǔ)已經(jīng)通過(guò)一些問(wèn)題考察到了阿浓,比如GCD诡必,緩存等等。
頭條手撕算法大家都知道了..做好準(zhǔn)備吧…我應(yīng)該算運(yùn)氣比較好的...
我的個(gè)人表現(xiàn)嘛搔扁,其實(shí)面試后自行復(fù)盤時(shí),發(fā)現(xiàn)有蠻多錯(cuò)誤的蟋字,加上第一天面試還是視頻面稿蹲,確實(shí)比較緊張。非常感謝面試官的耐心鹊奖,一二面算是茍過(guò)了吧…三面的發(fā)揮是比較不錯(cuò)的苛聘,整體來(lái)說(shuō)漸入佳境吧。
同時(shí)忠聚,三面完之后设哗,我就很想去這個(gè)組了...
網(wǎng)易云音樂(lè)
現(xiàn)場(chǎng)一面掛 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具體什么時(shí)候添加retain赂毯、release語(yǔ)句的(答編譯期不行)
9.響應(yīng)鏈战虏,怎么獲取觸屏事件
10.TableViewCell的復(fù)用機(jī)制,有幾個(gè)Cell復(fù)用
11.HTTPS党涕,安全層除了SSL還有烦感,最新的? 參數(shù)握手時(shí)首先客戶端要發(fā)什么額外參數(shù)
12.抓包工具膛堤,CDN是什么
13.include和import的區(qū)別
14.線程怎么調(diào)用寄存器的
15.Swizzle原理
16.load和initialize
17.你有什么要問(wèn)我的
小結(jié)
面網(wǎng)易我是很隨緣的…前面也提到了手趣,前三天一直在比賽,而且面完頭條后心里已經(jīng)有底了肥荔,可能有些放飛自我绿渣。
豬廠當(dāng)時(shí)面試的會(huì)場(chǎng)iOS一共就兩個(gè)面試官..而前端有八個(gè)...
自我介紹之后面試官讓我展示項(xiàng)目的確是我沒(méi)想到的…最后我只展示了一個(gè)正在寫的項(xiàng)目。
面試下來(lái)我感覺(jué)我答得一般般燕耿,但面試體驗(yàn)一般怯晕,因?yàn)槊嬖嚬僬f(shuō)話斷斷續(xù)續(xù),我甚至感覺(jué)他有些緊張..可能是我的錯(cuò)覺(jué)….
之后復(fù)盤總結(jié)時(shí)缸棵,問(wèn)題整體上質(zhì)量是比較高的舟茶,是自己有所不足。
面完出來(lái)過(guò)了5分鐘問(wèn)HR小哥哥面試結(jié)果,他很尷尬地和我說(shuō)"很遺憾吧凉,沒(méi)有通過(guò)面試隧出,不過(guò)你可以去那邊吃午餐"
可我內(nèi)心毫無(wú)波動(dòng),吃了雙人份午餐就去上海了阀捅。
京東
現(xiàn)場(chǎng)一面 40min
1.自我介紹
2.Swift的結(jié)構(gòu)類胀瞪、枚舉類型相比于其他語(yǔ)言的不同
3.說(shuō)一下MVC與MVVM
4.GCD,輸出什么饲鄙,面試官寫的是OC
1
2
3
4
5
print("1")
Dispatch.main.async{
????print("2")
}
print("3")
5.具體說(shuō)說(shuō)runtime
6.算法題凄诞,重復(fù)字符串去重,不能修改原順序忍级。說(shuō)思路
7.Runloop與線程的關(guān)系
8.進(jìn)程與線程的關(guān)系
9.項(xiàng)目輪播圖的實(shí)現(xiàn)原理
現(xiàn)場(chǎng)二面(leader) 30min
唯一的一次只考察計(jì)算機(jī)基礎(chǔ)的面試帆谍,leader的意思是重基礎(chǔ),iOS不會(huì)進(jìn)來(lái)學(xué)都可以轴咱,從他的口中感覺(jué)京東比較缺人
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ī)號(hào)全為1代表什么
6.進(jìn)程與線程的關(guān)系
7.管道窖剑,具體的三種
8.SPOOLing
9.Linux下查看目錄下多少文件,Linux下查看文件有多少行
10.OS戈稿、計(jì)網(wǎng)課做過(guò)什么實(shí)驗(yàn)
11.手寫算法(白紙)西土,findFirstCommonNode
HR電話面 5分鐘
1.自我介紹
2.為什么學(xué)iOS
3.之前寫Swift還是OC
4.實(shí)習(xí)多久 什么時(shí)候開始實(shí)習(xí)
5.有在面其他公司嗎,拿offer了嗎
6.那怎么選擇(我說(shuō)拿到了頭條offer)
7.你有什么要問(wèn)我的
小結(jié)
其實(shí)面京東也是隨緣的鞍盗。一面問(wèn)題比較常規(guī)翠储,我的發(fā)揮是比較好的,二面一開始被連著問(wèn)計(jì)網(wǎng)橡疼,TCP還好援所,IP協(xié)議相關(guān)的答得不好。
白紙手寫算法應(yīng)該是我運(yùn)氣比較好欣除,這道題我可能寫過(guò)不下五遍了住拭,他review一遍過(guò),可能這里加分比較多历帚。
整體體驗(yàn)也很好滔岳,二面面試官當(dāng)場(chǎng)和我說(shuō)我過(guò)了,所以其實(shí)offer是有底的挽牢。offer郵件是28號(hào)凌晨收到的谱煤,應(yīng)該是京東的第一批offer。
騰訊
WXG電話一面掛 30min
1.自我介紹
2.筆試題的問(wèn)題禽拔,Swift的訪問(wèn)控制概念判斷
3.Swift的模板和C++模板區(qū)別
4.tableView必須要實(shí)現(xiàn)的方法
5.numberOfSection刘离,numberOfRowInSection室叉,cellForRow,高度這4個(gè)方法調(diào)用的先后順序硫惕,為什么
6.問(wèn)項(xiàng)目吧(你太菜)
7.筆試題1G的數(shù)據(jù)茧痕,100MB內(nèi)存,怎么排序
8.看看你的Github代碼...
9.你有什么要問(wèn)我的
小結(jié)
3月中旬投的騰訊恼除,過(guò)了一個(gè)多月才接到面試踪旷,這時(shí)候我早已放飛自我了...
4月23號(hào)南大小哥收到了現(xiàn)場(chǎng)面試的短信,應(yīng)該是手Q的豁辉。我當(dāng)時(shí)表面發(fā)說(shuō)說(shuō)"騰訊連面試機(jī)會(huì)都不給我"令野,實(shí)際上我感覺(jué)應(yīng)該是被其他組鎖了,心里也想過(guò)可能是WXG…沒(méi)想到還真的是
面試當(dāng)天看到是廣州的電話我心里就有逼數(shù)了..
這次面試是我發(fā)揮最差的一次徽级,基本都問(wèn)到了我的不足處...也是唯一一個(gè)在線看我github代碼气破,并且clone下來(lái)運(yùn)行的面試官...
面試結(jié)尾時(shí),我直接和他說(shuō)"我知道我掛了灰追,非常感謝您能面我,我等騰訊面試已經(jīng)很久了"
過(guò)了兩天吧狗超,我看到我的項(xiàng)目收到一個(gè)star弹澎,看了下應(yīng)該是他,可能是安慰吧….
恩..面試官一定是廣東人..然后他其實(shí)是做前端的努咐,應(yīng)該是有在做react native的東西苦蒿,最近有在看Swift...
以上是我從他的Github推斷出來(lái)的..
CDG電話一面 28min
1.自我介紹
2.MVC的弊端(我提到),MVVM怎么能解決,兩者的區(qū)別
3.雙向綁定怎么實(shí)現(xiàn)的,引著問(wèn)KVO怎么實(shí)現(xiàn)的
4._ivar 和 self. 區(qū)別渗稍,_ivar能觸發(fā)KVO嗎佩迟?
5.單向鏈表找環(huán),兩個(gè)單向鏈表找相交結(jié)點(diǎn)竿屹,說(shuō)思路
6.講講HTTP报强,說(shuō)說(shuō)狀態(tài)碼
7.常見的排序算法,以及時(shí)間復(fù)雜度
8.對(duì)于職位未來(lái)的期望
9.所遇到的坑拱燃,一個(gè)tableView多個(gè)網(wǎng)絡(luò)請(qǐng)求秉溉,怎么優(yōu)化(我提到)
10.GCD說(shuō)一下
11.被WXG怎么掛的
12.有什么要問(wèn)我的
小結(jié)
五一放假回來(lái)接到電話說(shuō)在簡(jiǎn)歷池看到我簡(jiǎn)歷,問(wèn)我還找不找實(shí)習(xí)碗誉。畢竟是騰訊召嘶,能有機(jī)會(huì)面還是要面滴。
好在問(wèn)題比較常規(guī)哮缺,就過(guò)了∨現(xiàn)在官網(wǎng)顯示的是復(fù)試中,但是過(guò)了快五個(gè)工作日還未預(yù)約下次面試尝苇。其實(shí)已經(jīng)拖到這么晚了铛只,我并沒(méi)報(bào)有什么期望埠胖。
三、一點(diǎn)體會(huì)
經(jīng)歷了春招格仲,我直觀感受是押袍,對(duì)于絕大多數(shù)人
offer = 20%心態(tài) + 50%實(shí)力 + 10%面試技巧 + 20%緣分運(yùn)氣
我以自己的經(jīng)歷分析下吧:
心態(tài)
心態(tài)很重要,我投出第一份簡(jiǎn)歷是在3月中旬凯肋,在遭到美團(tuán)頭條筆試連環(huán)掛谊惭,騰訊阿里內(nèi)推短時(shí)間內(nèi)了無(wú)音訊后,我心態(tài)的確有些炸裂侮东。直到內(nèi)推了頭條我才接到第一次面試的邀請(qǐng)圈盔,而第一次面試已經(jīng)是4月9日了。不能放棄悄雅,一定要堅(jiān)持驱敲。
要保持一個(gè)好的心態(tài),需要對(duì)自己的實(shí)力有一定的自信宽闲,更重要的是對(duì)自己的實(shí)力有清楚的定位众眨。
建議廣撒網(wǎng)但要有階段性地撒,這個(gè)根據(jù)個(gè)人情況決定容诬。準(zhǔn)備好了就投簡(jiǎn)歷娩梨,越早越好。多關(guān)注內(nèi)推尤其是直推部門的信息览徒,我覺(jué)得很多人往往是缺一個(gè)面試的機(jī)會(huì)狈定。
同時(shí)建議能找到一起參加春招,能交流的伙伴习蓬。研究生的話一般一個(gè)實(shí)驗(yàn)室的會(huì)有交流纽什,本科生就..找嘛…。有能一起吐槽躲叼,同時(shí)分享企業(yè)招聘內(nèi)推信息的伙伴很重要芦缰,也建議可以加多個(gè)公司的內(nèi)推群實(shí)習(xí)群,這都是解壓枫慷,調(diào)整心態(tài)的方式饺藤。(雖然若別人都收到offer了,就自己還0offer可能心態(tài)會(huì)更崩2333)
一般第一次面試肯定會(huì)緊張…這個(gè)我也什么好的經(jīng)驗(yàn)流礁。一般自我介紹后涕俗,我回答了一兩個(gè)問(wèn)題就進(jìn)入狀態(tài)了。在面完頭條之后的面試我基本都不緊張神帅。
還有只有當(dāng)拿到所期望的公司offer以后再姑,才能放松下來(lái)。
實(shí)力
當(dāng)然啦找御,實(shí)力越強(qiáng)元镀,所占的比重肯定越大绍填,不止50%。
實(shí)力主要分為三部分(資料附后)
1.計(jì)算機(jī)基礎(chǔ)
操作系統(tǒng)栖疑,計(jì)算機(jī)網(wǎng)絡(luò)讨永,數(shù)據(jù)庫(kù)。一般根據(jù)方向會(huì)有不同的偏重遇革,比如iOS問(wèn)到的偏OS和計(jì)網(wǎng)卿闹。
這方面我其實(shí)沒(méi)有做很多準(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ǔ)的,但我還是單拎了出來(lái)奄容。算法主要分為筆試題和面試題冰更。
筆試題因?yàn)闀r(shí)間充足,所以問(wèn)題難度會(huì)較大一些昂勒,但都是有套路的…比如BFS的題是出現(xiàn)率最高的..關(guān)鍵在于不斷地總結(jié)與反思蜀细。
面試題根據(jù)情況,有的是在線編程叁怪,有的是說(shuō)思路审葬,有的是白紙手寫深滚。因?yàn)闀r(shí)間限制奕谭,一般代碼量不高,考察數(shù)據(jù)結(jié)構(gòu)的幾率較大痴荐,尤其是鏈表血柳。
這方面我是大概過(guò)了下《算法導(dǎo)論》,跳著看各個(gè)章節(jié)生兆,刷完了《劍指offer》难捌,leetcode刷得不多...
算法是可以突擊的,比如寒假開始刷鸦难,是ok的根吁,并不一定需要平日的積累。當(dāng)然..科班學(xué)生平日是肯定有積累的..
ACM大佬手下留情...
3.iOS基礎(chǔ)知識(shí)+項(xiàng)目經(jīng)歷
iOS基礎(chǔ)知識(shí)也包括OC和Swift相關(guān)合蔽。我是Swift選手击敌,2月份開始看OC語(yǔ)法,2月底正式開始刷面試題拴事,同時(shí)也是補(bǔ)iOS基礎(chǔ)沃斤。
主要是看官方文檔+博客來(lái)重點(diǎn)學(xué)習(xí)各個(gè)小方向圣蝎,刷面試題以輔助。
項(xiàng)目經(jīng)歷是沒(méi)辦法突擊的衡瓶,我經(jīng)歷應(yīng)該還行吧徘公。這個(gè)就看自己平時(shí)積累了。
iOS基礎(chǔ)知識(shí)老實(shí)說(shuō)是可以突擊的哮针,比如各種iOS,OC的面試題等等关面,但是有了一定的項(xiàng)目經(jīng)歷,突擊起來(lái)才更有效诚撵,提升更大缭裆。
面試技巧
首先,一般來(lái)說(shuō)面試官都是很忙的..然后基本是有題庫(kù)的寿烟。
自我介紹其實(shí)是給面試官看你簡(jiǎn)歷澈驼,也是給面試官"找問(wèn)題問(wèn)"的時(shí)間。
我的自我介紹都是名字+學(xué)校+專業(yè)筛武,然后就闡述iOS自學(xué)之路缝其,會(huì)簡(jiǎn)單的說(shuō)下做過(guò)的iOS相關(guān)項(xiàng)目,重點(diǎn)基本都是為了突出學(xué)MVC到MVVM徘六,StoryBoard到代碼布局内边,因?yàn)槲覀€(gè)人在app架構(gòu)這一塊有些小心得。所以如果看問(wèn)我的面試題待锈,絕大多數(shù)面試官一開始都問(wèn)的我MVC漠其,MVVM。我的意思是:
引導(dǎo)面試官問(wèn)你問(wèn)題
這并不是很trick的做法竿音,而是理所應(yīng)當(dāng)?shù)暮褪骸C嬖嚲湍敲炊虝r(shí)間,最好就是要在有限的時(shí)間內(nèi)展現(xiàn)你所有的優(yōu)勢(shì)春瞬。而若完全靠面試官的題庫(kù)去問(wèn)柴信,呃...
那么遇到不會(huì)的問(wèn)題怎么辦呢?
完全不會(huì)就直說(shuō)不會(huì)宽气,但如果是這樣的情況随常,你可以再引導(dǎo)一波,舉個(gè)例子
頭條一面我被問(wèn)到"Runloop的Source是什么萄涯?"绪氛。我當(dāng)時(shí)對(duì)于Source只記得是事件產(chǎn)生的地方,而我多說(shuō)了一句知道RunLoop的Observer涝影,以及幫助實(shí)現(xiàn)AutoreleasePool枣察,接著面試官就問(wèn)我AutoreleasePool是什么?
面試嘛袄琳,就是一個(gè)面試官對(duì)面試者的知識(shí)庫(kù)做DFS的過(guò)程询件。至于深度有多深看面試官興趣了...
絕大多數(shù)面試燃乍,比如我所經(jīng)歷的螞蟻一面,JD一面宛琅,CDG一面都是比較常規(guī)的面試刻蟹,對(duì)著你的自我介紹或者項(xiàng)目找要點(diǎn)問(wèn),深度擴(kuò)展一下嘿辟,再考察一下iOS基礎(chǔ)舆瘪,再考察一下計(jì)算機(jī)基礎(chǔ),再考察一下算法基礎(chǔ)红伦。聊得開心再多聊幾句...
緣分運(yùn)氣
可能20%好像給多了..其實(shí)不然...
比如內(nèi)推頭條英古,我真的就是隨便在牛客看到個(gè)帖子就投了昙读,沒(méi)什么期望召调,真沒(méi)想到第二天就能收到面試邀請(qǐng)。
面試真的看緣分蛮浑,因?yàn)槊嬖嚥⒉皇菃畏矫娴氖拢?b>有時(shí)候面試就像相親唠叛,match很重要。
也看運(yùn)氣沮稚,有句話說(shuō)得有一定道理艺沼,"面試過(guò)了,是問(wèn)的題你剛好會(huì)"
而當(dāng)然啦蕴掏,我們要做的就是不斷地?cái)U(kuò)展我們所會(huì)的問(wèn)題域
所以障般,我覺(jué)得如果實(shí)力不斷增加,緣分運(yùn)氣占的比例會(huì)逐漸下降盛杰。
佛系佛系挽荡。
四、書籍及資料
主要是推薦一下我所看的書籍和資料吧
計(jì)算機(jī)基礎(chǔ)
因?yàn)槲疫@方面看的不多..所以.
先首推技術(shù)面試需要掌握的基礎(chǔ)知識(shí)整理饶唤,這個(gè)應(yīng)該也不用我推薦了徐伐,良心整理贯钩,我在github看到時(shí)還只有4000satrs募狂,現(xiàn)在已經(jīng)2w了...
推薦在面試前過(guò)一遍,查缺補(bǔ)漏角雷,對(duì)不會(huì)的知識(shí)點(diǎn)可以再單方面深入看祸穷。
同時(shí)也很適合在等待面試的前xx分鐘看。
《HTTP權(quán)威指南》我是沒(méi)看完..大概看完基礎(chǔ)的幾章勺三,然后重點(diǎn)看了HTTPS
《TCP/IP詳解》我也是挑著看的...
《操作系統(tǒng)概念》這也是教材...我只是復(fù)習(xí)了一遍自己的課堂筆記雷滚。
如果時(shí)間充裕,HTTP吗坚,TCP/IP能多熟就多熟祈远,能多深就多深吧呆万,基本功...
算法與數(shù)據(jù)結(jié)構(gòu)
《劍指offer》不多說(shuō)了,必刷
Leetcode车份,時(shí)間充足則能多刷就多刷
關(guān)于數(shù)據(jù)結(jié)構(gòu)谋减,我是把常見的數(shù)據(jù)結(jié)構(gòu)跟著《算法導(dǎo)論》再實(shí)現(xiàn)了一遍(大二實(shí)現(xiàn)過(guò))
iOS基礎(chǔ)
先首推iOS面試題集錦,如果已有基礎(chǔ)扫沼,可以復(fù)習(xí)初始時(shí)過(guò)一遍出爹,對(duì)著不會(huì)的逐個(gè)擊破。也適合查缺補(bǔ)漏缎除。同樣的還有MrPeak的iOS面試題
OC《Effective Objective-C 2.0》《Objective-C高級(jí)編程 iOS與OS X多線程和內(nèi)存管理》
Swift問(wèn)Swift問(wèn)的比較少严就,基本上過(guò)了guide就還好,推薦看《Advanced Swift》
RuntimeObjective-C Runtime Programming Guide
RunLoop深入理解RunLoop
多線程GCD精講,Swift3&4iOS多線程保證線程安全的方式不再安全的OSSpinLock
app架構(gòu)iOS 架構(gòu)模式 - 簡(jiǎn)述 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這個(gè)網(wǎng)站也很好器罐,我記得以前在這看過(guò)IGList的教程
博客及網(wǎng)站
NSHipster這個(gè)不用多說(shuō)吧梢为,只要是這里有的且我想看的都看了一遍
YY大神的博客上面很多篇都是他的博客,但他已經(jīng)很久沒(méi)更了
王巍大神的博客今天還更新了關(guān)于app架構(gòu)的一篇文章
其實(shí)還有很多大神的博客轰坊,但讀的還不多..so
其他面經(jīng)
主要是我所看的面經(jīng)
為我學(xué)長(zhǎng)打Call我復(fù)習(xí)一開始是對(duì)著他整理的知識(shí)點(diǎn)過(guò)的抖誉,也感謝學(xué)長(zhǎng)在我iOS自學(xué)之路上所給予的幫助
五袒炉、結(jié)語(yǔ)
其實(shí)如此長(zhǎng)篇的整理
是對(duì)自己的總結(jié),畢竟兩個(gè)多月忙著同一件事樊零,終于結(jié)束之時(shí)還是有所感慨我磁。
是一種回饋,在春招路上驻襟,我得到了很多同學(xué)的幫助夺艰,也看了很多面經(jīng),如今將自己的心得分享給大家沉衣,是促進(jìn)良性的循環(huán)郁副。
同時(shí)也是希望讓更多的iOSer看到,這孤獨(dú)的路上豌习,真的不止你一人存谎。
希望大家都能得到滿意的結(jié)果。