喜提offer,對於iOS開發看法和進階學習路線總結!

大家好,這是正在努力進階iOS的某程序員博客!目前目標30K,希望可以和大家一起進步和成功!

本文所有觀點,僅代表個人哦~
還是希望大家能耐心看完!
查漏補缺是作爲一個程序員應該具備的素質,這也是分享本篇文章的初衷!

什麼是iOS開發?

iOS開發的標準語言是objective-c。是c的一種超集, 它是對c的擴展,支持面向對象編程。像後來的一些高級語言java,c#等都借鑑了該語言的面向對象特性。 當然在iOS開發過程中,也支持c/c++語言與原生的objective-c混編。

容易上手,難以進階!這其實是大部分開發語言的通性,這也是導致入行人多,轉行人也多的重要原因,畢竟紅利風口,都想分到這杯羹!

瞎吹吹

個人認爲iOS開發這個職業,遠比目前從別人口中得知的更持久、而且堅固!
早在去年,庫克就已經將“蘋果倒閉”這幾個字眼解釋的很清楚,一個儲備資金2600億美元的公司可沒有想象中那麼脆弱!
至於每天把“要完了!”這幾個字掛在嘴邊的開發者,除了技術菜,也沒有更好的解釋了,畢竟堅持iOS開發的前輩大佬們都過的挺好的~

井底之蛙的輕易否定,只是來源於他們沒有見過彩色的世界而已!
(畢竟只是嘴嗨勸退別的開發者的人也不在少數)

所以,無視掉這種人這麼荒謬的觀點,那些真正有技術,懂得學習的iOS高級開發工程師,現在正在各大企業(騰訊百度阿里等),一句話,不要有比上不足比下有餘的態度.努力學習.

真正努力的人,即便到了完蛋的那一天,他也會有另一個吃飯的“手藝”!嘴嗨不是他們的特點~

怎麼學習!

攻克難關,是每個真正做研發的開發者所具備的品質,也是技術成長最快的方式!

信念:iOS本身就不是一個很難學習的技術,堅持下去就能勝利!

獨立:從別人口中得知的,永遠是別人腦子裏的東西,你的腦子裏裝了些什麼?

一直保持學習的心:當前互聯網技術更新迭代技術大家都有目共睹,也許睡醒之後就是下一個技術紅利期,怎樣讓自己領先於別的開發者,保持學習的習慣!

目標:目標和責任是支撐你走下去的重要支柱!實現你的目標也是你增加自信的根源!

模仿:取其精華,去其糟粕!這是縮短你學習時間,增加技術層面的重要動作!優秀的第三方或者APP往往傾注了作者最優秀的代碼思想,所以嘗試把它裝到你的腦子裏吧~

你的職業規劃是什麼?

從iOS這個行業來說,找不到工作只能從自身找原因!
因爲簡歷寫的不好?因爲現在大部分公司不要iOS開發?因爲沒有學歷?
不,都是因爲你菜
iOS本身薪資待遇就優於其他大部分語言,不對你要求高,對誰要求高?

程序員本來就是一個需要努力,需要技術的行業!文憑和經驗技術,兩者分開哪個都可以給你帶來好的結果,文憑高是因爲別人前20年的努力,技術好事因爲別人後5-10年的努力,所以不需要抱怨!想要好的回報,就需要付出你的時間、精力和頭髮!

種一棵樹最好的時間,是十年前或者今天!
不管是想轉行還是堅持,現在就開始做吧!

外包&產品

其本質的區別就是,模式不一樣!
說明白點,搬運和創造!

先說外包公司的模式吧,一個好的外包公司,可能福利會好很多,階級鬥爭不是很明顯,大家就像打工的一樣,拿着工資和項目提成,項目比較緊,成熟的外包公司擁有統一化的管理,和優秀的代碼規範;

但如果是比較差的外包公司,那就不一樣了,整體項目以完成爲目的,不需要維護,往往只需要做出來一個雛形,不會到處崩潰,交貨之後,此app將再也沒有關係,如果需要維護,就再交錢。不論好與壞的外包公司,他的盈利模式就像是流水線,只需要出貨量,不要求質量。這對於剛剛步入程序員行列的人會很不利,會養成不用維護,不用注重用戶體驗,不用做流暢度,耗電量,併發量的測試的壞習慣,得過且過。

總之不用考慮太多。這也是市面上大公司有些會看你之前的工作經歷的原因,如果是外包,對不起,我們不要。

產品公司的模式,就是升職加薪,幹得越久福利越好,萬一你比較幸運,有幸成爲未來幾年要火的產品的開發者,那就是offer不斷啊。產品公司往往分爲有成品項目和創業兩種。

成品項目人員變動一般較少,階級鬥爭比較嚴重,爲了職位更上一層樓,勾心鬥角。不過在開發團隊還是比較罕見的,大家大部分都是想跳槽的。

創業公司往往需要人才,全面性的人才,就單單說iOS,一個創業公司可能會要求你會 直播,支付,藍牙,聊天,這也都是老功能了,現在都是什麼 AR啊 人臉識別啊。你不學習新知識,註定被淘汰。外包公司也有一點好處就是,涉及的應用多,那功能也就自然而然比較多(如果全部接的那種簡單的應用當我沒說)。

iOS開發進階學習路線!

底層:

  • Runtime
    • 對象
    • 屬性
    • 方法
    • 協議
  • 應用加載流程
  • Clang&LLVM
  • KVC&KVO
  • 多線程
  • Block
  • AOP切面編程
  • 性能優化
  • Socket
  • 自動打包
  • 持續集成
  • 單元測試

算法:

  • 線性表
  • 隊列
  • 數組
  • 樹和二叉樹

目前來說,底層和算法基本是面試官最喜歡的方向,所以在下次面試前,打好基礎是必須要完成的路線!
至於更多的技術,比如目前很火的音視頻,視覺、flutter、swift這些!可以根據個人精力來學習,優先掌握本應該掌握的技術,再橫向發展是我目前在做的!

視覺方向:如果是爲了滿足部分招聘需求的話,建議OpenGL ES和metal都需要掌握,雖然metal是蘋果說要替代的框架!但是目前大部分公司還是優先於OpenGL的!

flutter方面:如果只是爲了讓自己面試或者簡歷中帶有亮點,入門完成項目就行,畢竟深入探索需要花費大量的人力和時間成本,把這花在更快捷的技術上比較好!

swift方向:除非是專門做swift的公司,不然OC與swift的項目分化還是比較清楚的,同樣,其實OC底層和swift底層有着比較大的相同原理,優先OC底層學習!畢竟這是你熟悉的語言!

至於其他的更多的技術內容,Python、JS等!根據個人精力來分配,在自己本職工作薪資待遇沒有達到自己的目標時,顯然吃飯更重要!

最後:

最近有從朋友那裏拿到一些iOS面試題總結的pdf文檔!因爲平臺不能發送文件,需要的朋友可以添加QQ羣:679884541,羣裏面都是iOS開發者,有什麼問題和牢騷大家一起交流吧!
喜提offer,對於iOS開發看法和進階學習路線總結!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章