《iOS開發(fā)~仰望天空楔敌,腳踏實地啤挎!》

2020年本應(yīng)該是一個 "愛你、愛你"的年份卵凑!卻因為 黑天鵝 給我們帶來非常大的影響!

一庆聘、2020年iOS招聘數(shù)據(jù)分析

這里是 2020年3月份BOSS直聘 北京iOS招聘前幾頁數(shù)據(jù)

薪資待遇 崗位個數(shù) 年限要求 公司規(guī)模
15K左右 35份 1-3年 20-99
20K左右 78份 3-5年 100-499
30K左右 63份 3-5年 100-499-1000以上
30K以上 66份 5年以上 499-1000以上

下面是2019年10月份我統(tǒng)計的數(shù)據(jù)

薪資待遇 崗位個數(shù) 年限要求 公司規(guī)模
15K左右 40份 1-3年 20-99
20K左右 63份 3-5年 100-499
30K左右 93份 3-5年 100-499-1000以上
30K以上 33份 3-5-以上 499-1000以上

我做了一個圖標以供大家參考(查看直觀)

  • 15K左右 開發(fā)崗位的確有所下降;
  • 但是 20K左右 崗位卻上升了不上勺卢;
  • 黑天鵝 影響 30K左右 下降了不少伙判;
  • 30K以上 這個崗位有所上升,這里數(shù)據(jù)不準確黑忱,因為我是知道的宴抚,在BOSS上面為提供知名度,肯定會有所假數(shù)據(jù)的甫煞,這一點我相信大家也心知肚明菇曲!
  • 畢竟行業(yè)在進步,以及物價在上升抚吠,大家工作也是必然要上漲的常潮!
  • 底層原理毫無疑問還是iOS開發(fā)現(xiàn)在必備能力。
    • 對象底層原理
    • 指針與內(nèi)存的一些相關(guān)面試
    • weak 弱引用
    • block 的原理
    • AutoreleasePool 原理
    • Runloop 的原理
    • Runtime相關(guān)楷力、消息轉(zhuǎn)發(fā)
    • ....
  • 性能優(yōu)化以及架構(gòu)能力相對比之前要求越來越多!

    • ①性能優(yōu)化方面:tableView的優(yōu)化 -> 界面卡頓原理 -> app 性能分析 -> 項目優(yōu)化
    • ②架構(gòu)方面: 設(shè)計模式喊式、解耦手段、組件化....
  • 多線程萧朝、網(wǎng)絡(luò)能力也是占有一個非常大的比例 岔留!

    • 多線程的原理
    • 線程池
    • GCD
    • 鎖相關(guān)原理
    • 線程生命周期
    • 網(wǎng)絡(luò)設(shè)計
    • 網(wǎng)絡(luò)框架的一些理解
    • 開發(fā)過程中一些需求結(jié)合多線程或者網(wǎng)絡(luò)設(shè)計!
  • 數(shù)據(jù)結(jié)構(gòu)算法能力占比也比較大剪勿。通常一般大公司都會有一些筆試:雖然不在核心崗位對于數(shù)據(jù)結(jié)構(gòu)算法要求不是非常嚴格贸诚,但是也會有一些常規(guī)的數(shù)據(jù)結(jié)構(gòu)和算法的題

    • 排序
    • 數(shù)據(jù)結(jié)構(gòu)設(shè)計
    • 復(fù)雜度討論
    • 一些腦經(jīng)急轉(zhuǎn)彎的算法題
    • .....
  • 跨平臺能力要求多了!比如騰訊很明顯就要求 Flutter 開發(fā)能力 (畢竟2019年 Flutter 太火了2藜)

估計大家看到這里酱固,也是內(nèi)心OA: 面試是造航母啊头朱!哈哈哈...

二运悲、現(xiàn)在iOS都在問什么

下面我總結(jié)2020某些大廠以及小公司的面試題!

2.1项钮、iOS 基礎(chǔ)題

1班眯,分類和擴展有什么區(qū)別希停?可以分別用來做什么?分類有哪些局限性署隘?分類的結(jié)構(gòu)體里面有哪些成員宠能?

2,講一下atomic的實現(xiàn)機制磁餐;為什么不能保證絕對的線程安全(最好可以結(jié)合場景來說)违崇?

3,被weak修飾的對象在被釋放的時候會發(fā)生什么诊霹?是如何實現(xiàn)的羞延?知道sideTable么?里面的結(jié)構(gòu)可以畫出來么脾还?

4伴箩,Autoreleasepool 所使用的數(shù)據(jù)結(jié)構(gòu)是什么? AutoreleasePoolPage 結(jié)構(gòu)體了解么鄙漏?

5嗤谚,講一下對象,類對象泥张,元類呵恢,跟元類結(jié)構(gòu)體的組成以及他們是如何相關(guān)聯(lián)的?為什么對象方法沒有保存的對象結(jié)構(gòu)體里媚创,而是保存在類對象的結(jié)構(gòu)體里?

6彤恶,iOS 中內(nèi)省的幾個方法钞钙? class 方法和 objc_getClass 方法有什么區(qū)別?

7,RunLoop的作用是什么声离?它的內(nèi)部工作機制了解么芒炼?(最好結(jié)合線程和內(nèi)存管理來說)

8,哪些場景可以觸發(fā)離屏渲染术徊?(知道多少說多少)

2.2本刽、iOS 實戰(zhàn)題

1,有哪些場景是NSOperation比GCD更容易實現(xiàn)的赠涮?(或是NSOperation優(yōu)于GCD的幾點子寓,知道多少說多少)

2,App 啟動優(yōu)化策略笋除?最好結(jié)合啟動流程來說(main()函數(shù)的執(zhí)行前后都分別說一下斜友,知道多少說多少)

3,App 無痕埋點的思路了解么垃它?你認為理想的無痕埋點系統(tǒng)應(yīng)該具備哪些特點鲜屏?(知道多少說多少)

4烹看,你知道有哪些情況會導(dǎo)致app崩潰,分別可以用什么方法攔截并化解洛史?(知道多少說多少)

5惯殊,你知道有哪些情況會導(dǎo)致app卡頓,分別可以用什么方法來避免也殖?(知道多少說多少)

2.3土思、網(wǎng)絡(luò)題

1,App 網(wǎng)絡(luò)層有哪些優(yōu)化策略毕源?

2浪漠,TCP為什么要三次握手,四次揮手霎褐?

3址愿,HTTPS的握手流程?為什么密鑰的傳遞需要使用非對稱加密冻璃?雙向認證了解么响谓?

4,HTTPS是如何實現(xiàn)驗證身份和驗證完整性的省艳?

5娘纷,如何用Charles抓HTTPS的包?其中原理和流程是什么跋炕?

2.4赖晶、計算機系統(tǒng)題

1,了解編譯的過程么辐烂?分為哪幾個步驟遏插?

2,靜態(tài)鏈接了解么纠修?靜態(tài)庫和動態(tài)庫的區(qū)別胳嘲?

3,static和const有什么區(qū)別扣草?

4了牛,什么時候會出現(xiàn)死鎖?如何避免辰妙?

5鹰祸,有哪幾種鎖?各自的原理上岗?它們之間的區(qū)別是什么福荸?最好可以結(jié)合使用場景來說

2.5、設(shè)計模式題

1肴掷,除了單例敬锐,觀察者設(shè)計模式以外背传,還知道哪些設(shè)計模式?分別介紹一下

2台夺,iOS SDK 里面有哪些設(shè)計模式的實踐径玖?

3,設(shè)計模式的成員構(gòu)成以及工作機制是什么颤介?

2.6梳星、架構(gòu) & 設(shè)計題

1,MVC和MVVM的區(qū)別滚朵?MVVM和MVP的區(qū)別冤灾?

2,面向?qū)ο蟮膸讉€設(shè)計原則了解么辕近?最好可以結(jié)合場景來說韵吨。

3,可以說幾個重構(gòu)的技巧么移宅?你覺得重構(gòu)適合什么時候來做归粉?

4,你覺得框架和設(shè)計模式的區(qū)別是什么漏峰?

5糠悼,看過哪些第三方框架的源碼,它們是怎么設(shè)計的浅乔?設(shè)計好的地方在哪里倔喂,不好的地方在哪里,如何改進靖苇?(這道題的后三個問題的難度已經(jīng)很高了滴劲,如果不是太N的公司不建議深究)

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

1顾复,鏈表和數(shù)組的區(qū)別是什么?插入和查詢的時間復(fù)雜度分別是多少鲁捏?

2芯砸,哈希表是如何實現(xiàn)的?如何解決地址沖突给梅?

3假丧,排序題:冒泡排序,選擇排序动羽,插入排序包帚,快速排序(二路,三路)能寫出那些运吓?

4渴邦,鏈表題:如何檢測鏈表中是否有環(huán)疯趟?如何刪除鏈表中等于某個值的所有節(jié)點?

5谋梭,數(shù)組題:如何在有序數(shù)組中找出和等于給定值的兩個元素信峻?如何合并兩個有序的數(shù)組之后保持有序?

6瓮床,二叉樹題:如何反轉(zhuǎn)二叉樹盹舞?如何驗證兩個二叉樹是完全相等的?

三隘庄、iOS開發(fā)者我們該如何破冰踢步!

 ??此時此刻丑掺,我只想強調(diào)一件事:??
 
多年的應(yīng)用層開發(fā)經(jīng)驗不足以應(yīng)付現(xiàn)在的iOS市場获印!

多年的應(yīng)用層開發(fā)經(jīng)驗不足以應(yīng)付現(xiàn)在的iOS市場!

多年的應(yīng)用層開發(fā)經(jīng)驗不足以應(yīng)付現(xiàn)在的iOS市場吼鱼!

3.1 iOS的囧狀

在本人看來蓬豁,現(xiàn)在最尷尬的就是iOS開發(fā) 3-5年 甚至5年以上的開發(fā)人員,比上不足菇肃,比下有余地粪!

  • 開發(fā)這么多年經(jīng)驗了,薪資要求肯定不能滿足現(xiàn)狀琐谤,我相信大家都是極度渴望突破:20K 甚至 30K 坎~
  • 想去大廠蟆技,發(fā)現(xiàn)不光學(xué)歷不行,就連最拿得出手的技術(shù)也只能屢屢受挫斗忌!
  • 自己平時工作质礼,家庭都很忙,學(xué)習(xí)成了自己內(nèi)心一閃而過的念頭织阳!
  • 開始學(xué)習(xí)眶蕉,發(fā)現(xiàn)自己方向不夠清晰,不知道自己應(yīng)該學(xué)習(xí)什么唧躲!
  • 好不容易找到了方向造挽,發(fā)現(xiàn)自己能難堅持下來!
  • 就算堅持了一段時間弄痹,發(fā)現(xiàn)好多問題無法攻克饭入!
  • 終于學(xué)習(xí)了一段時間,發(fā)現(xiàn)還是面試被打擊肛真!
  • ??????

3.2 學(xué)習(xí)的必要性

希望保持初心谐丢,繼續(xù)往前面走!畢竟我們所從事的行業(yè):IT行業(yè).技術(shù)與行業(yè)必然是不斷更新變化!雖然IT行業(yè)高薪乾忱,但是你也要看到這個行業(yè)內(nèi)的淘汰率也是不容小覷的讥珍!

換句話說:人家面試題一天比一天難,難道你的技術(shù)要保持原地饭耳?

3.3 學(xué)習(xí)的方法

學(xué)習(xí)的方法千萬條串述,進步第一條

  • 博客學(xué)習(xí) : 我覺得這應(yīng)該是我們最喜歡的方式!建議大家平時上班下班路上休閑時間就可以看看大牛的博客寞肖,文章纲酗!畢竟這些都是來自人家的總結(jié)探索分享,很具學(xué)習(xí)性新蟆!同時如果有條件的觅赊,不妨針對你學(xué)習(xí)的東西都能有所學(xué)習(xí)總結(jié)
  • 講座-分享會:這個也是比較好的!能夠第一時間吸取的技術(shù)的新潮流琼稻!
  • 看書:我個人也是比較喜歡看書的吮螺,雖然有點慢,但是每天書本的輸入也成我現(xiàn)在汲取養(yǎng)分的一個重要渠道
  • 公司帕翻、團隊分享會:能夠滿足現(xiàn)在公司業(yè)務(wù)技術(shù)拓展鸠补,還能看到自己周邊人的學(xué)習(xí)狀態(tài)龙誊!
  • 知識付費:現(xiàn)在信息爆炸寝衫,知識付費學(xué)習(xí)是目前最為潮流的方式,學(xué)習(xí)方式簡單吝镣,成效快睬塌,知識比較系統(tǒng)泉蝌!可能很多人都知道我本人比較喜歡得到,在得到平臺經(jīng)常吸取一些自己技術(shù)乃至職業(yè)方面的知識揩晴!

3.4 推薦學(xué)習(xí)方向

3.4.1:底層探索能力

很多人會諷刺:面試造航母勋陪,上班擰螺絲! 其實不然硫兰,面試的高要求對于一家優(yōu)秀的iOS需求單位來說是必須的诅愚!

  • iOS開發(fā)實現(xiàn)的確有很多的方式,但是一個真正懂得原理的開發(fā)人員在日后的開發(fā)工作中是非常重要劫映。我見過一些開發(fā)人員:遇到BUG都是直接面向百度呻粹,不知道為什么直接 command + c/command + V OK,解決了,打版走人苏研,下次又遇到了還是要面向百度,其中浪費的時間和小伙伴之間的溝通成本可想而知腮郊!

  • 底層原理只是你在工作開發(fā)中偷懶而逃避選擇使用而已(或者全然不太了解)

  • 技術(shù)不斷更新摹蘑,底層原理是永恒根基

  • 底層原理是非常重要的,只有真正掌握原理才能迎接未來無限可能轧飞。

下面是我推薦大家學(xué)習(xí)的內(nèi)容:

OC 底層探索篇也是大家熟悉而又陌生的地方衅鹿,平時處處用撒踪,就是不知道為什么!

3.4.2:性能優(yōu)化以及架構(gòu)能力

只要你面試要求 20-30K 必然要求性能優(yōu)化能力大渤!

  • 怎么優(yōu)化啟動速度制妄,應(yīng)用包的瘦身!

  • 界面優(yōu)化(卡頓檢測以及分析解決)

  • 內(nèi)存管理方面也是面試以及平時開發(fā)的重災(zāi)區(qū)泵三!

  • 架構(gòu)并不屬于性能優(yōu)化耕捞,但是我要求每一個 3年以上開發(fā) 都要有一定的架構(gòu)思維!

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

數(shù)據(jù)結(jié)構(gòu)算法應(yīng)該是每一個程序員必備的根據(jù)烫幕。我記得我的導(dǎo)師跟我說過:一個程序員需要兩樣?xùn)|西:智商和勤奮

  • 英文能力體現(xiàn)你的勤奮度

  • 數(shù)據(jù)結(jié)構(gòu)算法反饋你的智商等級

數(shù)據(jù)結(jié)構(gòu)與算法并不只是抽象的概念俺抽,掌握好的話可以寫出更高效、運行得更快的代碼较曼,這對于如今盛行的網(wǎng)頁和移動應(yīng)用開發(fā)來說尤為重要磷斧。如果你最近一次使用算法是在大學(xué)課堂上或求職面試時,那你應(yīng)該還沒見識到它的真正威力捷犹!

這個主題的大多數(shù)資料都有一種通病——晦澀難懂弛饭。滿紙的數(shù)學(xué)術(shù)語,我覺得一種有趣的學(xué)習(xí)方式也是非常重要的萍歉!

3.4.4:跨平臺能力

跨平臺的方案有很多:

如上表所示侣颂,RNWeex采用的技術(shù)方案大體相同翠桦,它們都使用JavaScript作為編程語言横蜒,然后通過中間層轉(zhuǎn)換為原生的組件后再利用Native 渲染引擎執(zhí)行渲染操作。而 Flutter 直接使用 skia 來渲染視圖销凑,而Flutter Widget則使用現(xiàn)代響應(yīng)式框架來構(gòu)建丛晌,和平臺沒有直接的關(guān)系。

從性能方面來說斗幼,Flutter 的性能理論上是最好的澎蛛,RNWeex次之,并且都好于傳統(tǒng)的 WebView方案

而從社群和社區(qū)的活躍來看蜕窿,RN和Flutter無疑是最活躍的

總結(jié):我個人針對現(xiàn)在的行情比較推薦大家學(xué)習(xí):Flutter

  • 同時現(xiàn)在很多人也開始著手學(xué)習(xí)了

  • 如何存托你的優(yōu)勢谋逻,我個人還要推薦在平時入門到項目的過程,不妨花點時間探索了一下背后的原理:渲染的流程桐经,Flutter和原生的共存通訊優(yōu)化

  • 下面這張思維導(dǎo)圖大家可以參考學(xué)習(xí)

3.4.5:技術(shù)儲備以及加分項

現(xiàn)在的iOS開發(fā)為什么會遇到瓶頸是因為:前面儲備過少毁兆,坐吃山空! 技術(shù)不斷更新的時代阴挣,我希望你沉下心來與時俱進气堕,不斷儲備技能為自己加分

這里我推薦學(xué)習(xí):視覺方向! 無論直播還是小視頻,圖形圖像處理成為必然的技能茎芭,未來5G時代的來臨揖膜,這一塊技術(shù)必將成為你與其他開發(fā)人員差距的賽點!

同時也推薦大家學(xué)習(xí):應(yīng)用安全攻防方向 逆向安全這些年越來越被我們熟知并且需要梅桩!一個高質(zhì)量安全的應(yīng)用程序必將是你薪酬翻番的談資壹粟!

四、總結(jié)

沒有無緣無故的幸運宿百;
沒有與生俱來的才華趁仙;
眼眸仰望天空;
身心腳踏實地犀呼;
不需90度的狂妄幸撕;
不要0度的閉塞;
45度仰望天空外臂;
和諧學(xué)習(xí)坐儿,不急不躁;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宋光,一起剝皮案震驚了整個濱河市貌矿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罪佳,老刑警劉巖逛漫,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赘艳,居然都是意外死亡酌毡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門蕾管,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枷踏,“玉大人,你說我怎么就攤上這事掰曾⌒袢洌” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵旷坦,是天一觀的道長掏熬。 經(jīng)常有香客問我,道長秒梅,這世上最難降的妖魔是什么旗芬? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮捆蜀,結(jié)果婚禮上岗屏,老公的妹妹穿的比我還像新娘辆琅。我一直安慰自己,他們只是感情好这刷,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娩井,像睡著了一般暇屋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洞辣,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天咐刨,我揣著相機與錄音,去河邊找鬼扬霜。 笑死定鸟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的著瓶。 我是一名探鬼主播联予,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼材原!你這毒婦竟也來了沸久?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤余蟹,失蹤者是張志新(化名)和其女友劉穎卷胯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體威酒,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡窑睁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了葵孤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片担钮。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖佛呻,靈堂內(nèi)的尸體忽然破棺而出裳朋,到底是詐尸還是另有隱情,我是刑警寧澤吓著,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布鲤嫡,位于F島的核電站,受9級特大地震影響绑莺,放射性物質(zhì)發(fā)生泄漏暖眼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一纺裁、第九天 我趴在偏房一處隱蔽的房頂上張望诫肠。 院中可真熱鬧司澎,春花似錦、人聲如沸栋豫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丧鸯。三九已至蛤铜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丛肢,已是汗流浹背围肥。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜂怎,地道東北人穆刻。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像杠步,于是被迫代替她去往敵國和親氢伟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

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