給iOS中高級面試官的一份招聘要求

金秋九月,互聯(lián)網(wǎng)招聘高潮已經(jīng)來臨!相信作為面試官的你,估計(jì)開始準(zhǔn)備招聘要求或者已經(jīng)在招聘了!這一篇文章主要想和各位面試官交流一下:我們應(yīng)該制定一份什么樣的招聘要求,才是比較合適的?(* ̄︶ ̄)

iOS面試需要注意

1:面試態(tài)度


我們在招聘的時(shí)候,面試官經(jīng)常會犯一個(gè)問題:各種碾壓求職者!

我不知道你招聘這一天發(fā)生了什么事情,心情好不好?但是我希望當(dāng)你去面試的求職者的時(shí)候,保持愉悅,給予面試者應(yīng)該的 -- 善意!

你面試代表你的公司,你的言行舉止都直接影響外界對貴公司的感受

同時(shí)作為一個(gè)管理者的你,成功和愉悅的面試過程也應(yīng)該是你此刻最希望的!

可能現(xiàn)在他還只是求職者,但是興許過段時(shí)間就是你工位旁邊的同事!此刻的善意對你后面愉悅的工作的環(huán)境大有裨益!

如果他無法成為你的同事,大可不必為此糾結(jié),茫茫人海,你此刻的善意,未來在某一刻必定能夠兌換!

當(dāng)然也會有讓你不高興的求職者,那么就讓他去吧!茫茫人海,江湖再見,興許還能微笑而過!

2:面試題注意事項(xiàng)


我們很多iOS面試官在招聘的時(shí)候,很多都是直接在網(wǎng)上找一份iOS面試題就開始面試了?。??偷懶??)而我覺得這是一個(gè)很錯(cuò)誤的做法。網(wǎng)上很多面試題的確不錯(cuò),但是這樣招聘過來的iOS開發(fā)人員不一定是非常優(yōu)秀的,可能是背的面試題,也可能是貴公司的面試題泄漏,導(dǎo)致iOS求職者表現(xiàn)非常好!

1:面試題可以網(wǎng)上獲取,但是我希望面試官認(rèn)真對待,希望能夠結(jié)合你們的公司實(shí)際開發(fā),落地到面試題 (這樣也就避免人家吐槽,面試造??,開發(fā)擰??)

2:面試題可以適當(dāng)變動。根據(jù)求職者的簡歷情況,來變動面試題!有的簡歷不錯(cuò)的,可以適當(dāng)調(diào)難一些。剛好在你的招聘及格線的求職者可以適當(dāng)降低要求(畢竟要去不一樣,后面薪資以及培養(yǎng)方向也會不一樣)

3:根據(jù)貴公司的狀況也考慮:要不要筆試!筆試無好壞,只是一輪刷選,能夠幫你適當(dāng)刷掉一部分不符合你要求的iOS開發(fā)人員!但是貴公司招聘情況很不理想,我覺得可以反思:是不是筆試太難,筆試題目過多...

3:面試流程


我個(gè)人比較反感的是:招聘崗位很少,卻叫去很多面試者面試!這個(gè)是一種比較嚴(yán)重不尊重求職的一種行為!其實(shí)也是對你的一種損失聯(lián)系過多面試者來面試,這樣的做法你既浪費(fèi)了求職者的時(shí)間,同時(shí)也會造成面試成本飆升

希望面試官拿到簡歷,請你快速刷選出你合適中意的簡歷,然后分批安排面試!對你中意的iOS 高級求職者!我希望能夠多幾次面試流程。一個(gè)真正的iOS高級開發(fā)對于公司來說非常重要,希望通過幾個(gè)流程由不同的崗位leader寫出評分,綜合考慮, 切記盲目同時(shí)這樣正規(guī)的流程也能讓求職者感受到貴公司的重視,以及入職以后的對于工作的重視!

iOS 高級面試內(nèi)容

可能眾多面試官還是比較關(guān)心面試內(nèi)容,我這里從

iOS基礎(chǔ)


Runtime相關(guān)

網(wǎng)絡(luò)&多線程

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

架構(gòu)設(shè)計(jì)

性能優(yōu)化

等這些方面,給各位面試官準(zhǔn)備了一些題,希望能夠幫助到你

iOS基礎(chǔ)

1:講講你對atomic&nonatomic的理解

2:被weak修飾的對象在被釋放的時(shí)候會發(fā)生什么?是如何實(shí)現(xiàn)的?知道sideTable么?里面的結(jié)構(gòu)可以畫出來么?

3:block用什么修飾?strong可以?

4:block為什么能夠捕獲外界變量?__block做了什么事?

5:談?wù)勀銓κ录膫鬟f鏈和響應(yīng)鏈的理解 (這個(gè)面試題,如果求職者能夠回答一些實(shí)際開發(fā)相關(guān)的處理,不只是簡單的概念,予以加分)

6:談?wù)?KVC 以及 KVO 的理解?

7:RunLoop的作用是什么?它的內(nèi)部工作機(jī)制了解么?

8:蘋果是如何實(shí)現(xiàn)autoreleasepool的?

9:談?wù)勀銓RP (函數(shù)響應(yīng)式)的理解,延伸一下RxSwift或者RAC!

10:平時(shí)開發(fā)有沒有玩過Instrument?

分析:這里的內(nèi)容非常有意思,對于一個(gè)iOS高級開發(fā)人員,我覺得還有很有必要掌握的!尤其開發(fā)3-5年,如果沒有掌握這些內(nèi)容我覺得是不合格的

在一些合適的地方可以進(jìn)行延伸!

第二題,第一問是關(guān)于weak這個(gè)面試是非常經(jīng)典的,只要是個(gè)iOS開發(fā)都能回答一點(diǎn)。但是后面部分就需要他的學(xué)習(xí)能力了!

第三題和第四題,側(cè)擊一下MRC一個(gè)資深4-5年開發(fā)經(jīng)驗(yàn)或多或少都應(yīng)該要知道一些MRC相關(guān)的知識!順便可以摸摸求職者的探索能力

第五題和第六題:我覺得如果求職者回答了一些實(shí)際開發(fā)相關(guān)以及文檔能力的應(yīng)該予以加分

第七題、第八題、第九題以及第十題都是可以拓展更多的內(nèi)容!

Runtime


1:什么是 isa,isa 的作用是什么?

2:一個(gè)實(shí)例對象的isa指向什么?類對象指向什么?元類isa 指向什么?

3:objc中類方法和實(shí)例方法有什么本質(zhì)區(qū)別和聯(lián)系?

4:load和initialize的去唄?

5:_objc_msgForward函數(shù)是做什么的?直接調(diào)用會發(fā)生什么問題?

6:簡述下Objective-C中調(diào)用方法的過程

7:能否想向編譯后得到的類中增加實(shí)例變量?能否向運(yùn)行時(shí)創(chuàng)建的類中添加實(shí)例變量?為什么?

8:談?wù)勀銓η忻婢幊痰睦斫?/p>

分析:Runtime這個(gè)模塊iOS面試無論初中高都會面試。我覺得這個(gè)模塊不光只是僅僅問問關(guān)于知識點(diǎn)內(nèi)容,我更新想要聽到求職者在這里面的爬坑探索辛歷路程!

網(wǎng)絡(luò)&多線程


1:HTTP的缺陷是什么?

2:談?wù)勅挝帐?,四次揮手!為什么是三次握手,四次揮手?

3:socket連接和Http連接的區(qū)別

4:什么時(shí)候POP網(wǎng)路,有了Alamofire封裝網(wǎng)絡(luò)URLSession為什么還要用Moya?

5:如何實(shí)現(xiàn)dispatch_once

6:能否寫一個(gè)讀寫鎖?談?wù)劸唧w的分析

7:什么時(shí)候會出現(xiàn)死鎖?如何避免?

8:有哪幾種鎖?各自的原理?它們之間的區(qū)別是什么?最好可以結(jié)合使用場景來說

分析:這個(gè)模塊可能是一般開發(fā)人員的盲區(qū)。因?yàn)橐话汩_發(fā)真心沒必要去操心這么多!面試官你們可以挑去拷問就OK,面試過程中不能對答如流也是正常!當(dāng)然如果能夠回答上來應(yīng)該加分!

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


1.數(shù)據(jù)結(jié)構(gòu)的存儲一般常用的有幾種?各有什么特點(diǎn)?

2.集合結(jié)構(gòu) 線性結(jié)構(gòu) 樹形結(jié)構(gòu) 圖形結(jié)構(gòu)

3.單向鏈表 雙向鏈表 循環(huán)鏈表

4.數(shù)組和鏈表區(qū)別

5.堆、棧和隊(duì)列

6.輸入一棵二叉樹的根結(jié)點(diǎn),求該樹的深度?

7.輸入一課二叉樹的根結(jié)點(diǎn),判斷該樹是不是平衡二叉樹?

算法


1.時(shí)間復(fù)雜度

2.空間復(fù)雜度

3.常用的排序算法

4.字符串反轉(zhuǎn)

5.鏈表反轉(zhuǎn)(頭差法)

6.有序數(shù)組合并

7.查找第一個(gè)只出現(xiàn)一次的字符(Hash查找)

8.查找兩個(gè)子視圖的共同父視圖

9.無序數(shù)組中的中位數(shù)(快排思想)

10.給定一個(gè)整數(shù)數(shù)組和一個(gè)目標(biāo)值,找出數(shù)組中和為目標(biāo)值的兩個(gè)數(shù)。

分析:這個(gè)模塊是絕大部分開發(fā)人員的軟肋!這個(gè)模塊是最能測試求職者思維能力的!但是我不建議面試官直接讓求職者手寫在那樣的面試緊張環(huán)境,手寫數(shù)據(jù)結(jié)構(gòu)或者一些算法代碼,是非常有挑戰(zhàn)的!思維到我覺得差不多!

架構(gòu)設(shè)計(jì)

1:設(shè)計(jì)模式是為了解決什么問題的?

2:看過哪些第三方框架的源碼,它們是怎么設(shè)計(jì)的?

3:可以說幾個(gè)重構(gòu)的技巧么?你覺得重構(gòu)適合什么時(shí)候來做?

4:開發(fā)中常用架構(gòu)設(shè)計(jì)模式你怎么選型?

5:你是如何組件化解耦的?

分析:架構(gòu)設(shè)計(jì)這一層對于一個(gè)iOS中高級開發(fā)人員來說。這一塊那是他必須要去思考和感受總結(jié)的!如果這位求職者開發(fā)4-5年了,一直都在做應(yīng)用層界面開發(fā),那么想必他未來的職業(yè)晉升是已經(jīng)落后了的!面試官不妨在這一個(gè)模塊單獨(dú)設(shè)計(jì)成一面,就和求職者一起交流討論。畢竟這些思維的設(shè)計(jì),也許能夠給面試官帶來一些不一樣的東西!??

性能優(yōu)化


1:tableView有什么好的性能優(yōu)化方案?

2: 界面卡頓和檢測你都是怎么處理?

3:談?wù)勀銓﹄x屏渲染的理解?

4:如何降低APP包的大小

5:日常如何檢查內(nèi)存泄露?

6:APP啟動時(shí)間應(yīng)從哪些方面優(yōu)化?

分析:現(xiàn)在APP性能優(yōu)化以及成為iOS中高級開發(fā)人員必須要去關(guān)系的東西!這一塊我個(gè)人建議結(jié)合實(shí)際開發(fā)去和求職者交流。而不是僅僅停留在知識點(diǎn)問答,因?yàn)闆]有實(shí)際開發(fā)能力的性能優(yōu)化都只是紙上談兵!

總結(jié)

一個(gè)優(yōu)秀的iOS中高級開發(fā) = iOS技術(shù) + 學(xué)習(xí)能力 + 態(tài)度其中態(tài)度和學(xué)習(xí)能力也是我在面試別人過程中非??粗氐?!哪怕你技術(shù)目前很差,但是你有謙虛誠懇的態(tài)度,優(yōu)秀的學(xué)習(xí)能力。我也愿意帶你!

非常感謝你閱讀到了這里!前面都是本人的建議,具體你的實(shí)施還是需要你根據(jù)情況調(diào)整!預(yù)祝你收獲一個(gè)優(yōu)秀的同事!

**PS:可以關(guān)注筆者,后面會更新本篇相關(guān)iOS面試題的答案! **


作者:Cooci

鏈接:https://juejin.cn/post/6844903951171584008

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

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

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