中高級IOS開發者要思考的幾點

1 先說OC部分

  • 既然作了兩年了,對Objective-C足夠了解嗎?OC是如何基於C來進行的封裝?解釋一下這兩行代碼啥意思?設計模式

typedef __attribute__((NSObject)) CGGradientRef GradientObject;@property (nonatomic, strong) GradientObject storedGradient;
  • protocol、category這樣的東西應該要手到擒來纔是?多線程部分的知識點掌握是否紮實?runtime這種黑魔法研究過沒?代碼足夠優雅、後續維護容易嗎?各類設計模式也得會吧?緩存

2 再說UI部分

  • 既然寫了兩年的view,那麼能快速仿造市面上這些主流App的UI嗎?使用Reveal分析過微信、豆瓣、網易新聞、知乎、QQ、蘇寧、淘寶、支付寶的UI嗎?使用Charles去抓過他們的接口嗎?安全

  • UI研究稍微深一點,好比側滑菜單這種要怎麼實現?若是你要作實現應該要了解UIView和UIViewController,UIViewController和UINavigationController的關係了吧?我嘞個草,UIView一堆方法,UIViewController一堆方法,到底都是幹嗎的啊?你難道很差奇?這塊知識點一直是你的盲區,你能忍?我忍不了!性能優化

  • UIView再往深了看,下面還有CALayer,你研究過沒?爲何修改CALayer的某些property默認會有個動畫產生呢?
    那麼Animation、UIKit Dynamics、Drawing、Graphics這些隨便拎出來一個,夠你研究一陣了吧?你看看好比網易新聞,在新聞詳情頁面上拉,回到新聞列表頁面的這個動畫作的出來嗎?你看看QQ在電話通訊頁面,點擊右下角縮放圖標,縮放成一個頭像的這種動畫,你會作不?服務器

3 還有這些大的功能點

  • 既然用了兩年第三方類庫,那麼好比圖片緩存這類,看過源碼實現沒?若是本身來實現的話,有哪些Caching Algorithms?該怎麼取捨?各類經常使用的第三方類庫你研究過原理沒?微信

  • 你的App在和服務器交流數據的過程當中安全性怎麼樣?你是否是要研究一下加解密?HTTP理解的夠清楚嗎?想沒想過本身來寫接口?或者更甚至一些本身來寫個簡易的HTTP服務器?接口部分甚至用CGI來實現也能夠啊!網絡

  • 要寫服務器,那應該要了解一下網絡部分吧?TCP/IP 協議得熟悉吧?而後Wireshark各類抓包得會吧?多線程

  • 網絡這塊順帶過來以後,即時聊天類的App採用的什麼技術?選 xmpp 仍是 mqtt 仍是本身寫?正好能夠順勢瞭解一下吧!性能

  • iOS SDK裏面的各類API你掌握到了什麼程度?這些功能模塊排除地圖、通信錄這種,說些高級的好比CloudKit、Extensions、TextKit、AirDrop、PassKit?以爲這些模塊在自家公司的項目中壓根沒用過?但是看看你手邊的App!單元測試

4 其它專業化的方向

  • 視音頻處理作過嗎?此類諸如豆瓣FM、蝦米音樂、喜馬拉雅、QPlayer這類的App你去研究過他們嗎?還有VoIP這類的,我實習的時候作過這種╮(╯_╰)╭

  • 遊戲開發方向有沒有興趣?本身有沒有去研究過呢?(反正這個我是真沒有╮(╯_╰)╭)

5 項目安全優化等

  • 項目中寫單元測試嗎?UI Automation 自動化測試作的怎麼樣?持續集成平臺諸如Jenkins等會用嗎?

  • App的各類性能優化、Crash的統計分析等等你作了沒?

  • App本地數據儲存夠安全嗎?你對逆向瞭解多少?敏感部分是否作了代碼混淆?

6 知識體系要持續更新

  • 官方的文檔、國外的相關書籍採用的語言都是Swift,難道你不許備學學?除了native的,如今的HTML5也很火啊,難道不許備學?

  • 英文練習的怎麼樣了?官方全部的開發者文檔以及歷年的WWDC視頻看完了?這麼多書,這麼多大牛的博客,你難道從中一無所得?

7 Swift 部分

    Swift比oc有哪些優點?高效、現代、安全體如今那些地方?爲何Swift增加這麼快?如今排名好像是11名。你用oc實現的功能能用Swift實現嗎?若是能實現,它比oc的優點體如今哪些地方?

相關文章
相關標籤/搜索