- iOS程序員面試筆試真題與解析
- 猿媛之家組編 汪小發 蔣信厚 楚秦等編著
- 1959字
- 2021-08-20 11:03:32
面試技巧10 名企iOS工程師行業訪談錄
某知名互聯網公司研發工程師訪談錄(1)
1.當前市場對于iOS程序員的需求如何?待遇如何?
就筆者所在的互聯網公司來說,因為現在產品基本上是移動端先行,所以對iOS程序員的需求量還是挺大的,而iOS程序員的待遇基本與同級其他崗位(除算法崗外)無差別。
2.iOS程序員未來的發展方向如何?
對于發展方向而言,我的個人感覺還是要看iOS程序員個人的成長路線以及以后的發展目標,iOS這個行業的前景和市場需求目前還是一片光明的。
對于不同層次的iOS程序員成長路線和發展,我覺得可以分為以下幾個方面的內容:
(1)獨立App開發。
(2)業務能手,業務邏輯抽象。
(3)SDK功能組件開發。
(4)跨端技術Weex、React-Native等。
(5)底層研究,iOS匯編、性能、網絡、安全等研究。
(6)端上機器學習(Core ML),AR(ARKit)這些新技術也很有發展前景。
總之,iOS程序員并非要局限于iOS開發本身,條條大河終入海,iOS程序員要以iOS開發為入口,深入下去,不斷深扎根計算機領域,努力走在計算機科學技術發展的前端。
iOS的行業前景主要依賴于iOS、iPhone本身的發展以及App Store的生態圈,目前看起來,iOS的行業前景無須擔心,它們都還處于上升期。大公司的iOS研發其實一直缺人,但是滿足條件的開發者較少,由于現在行業上新產品的Web版可以考慮不做,但是移動端是一定要有的,所以市場對iOS程序員的需求量還是很大的。
3.iOS程序員有哪些可供選擇的職業發展道路?
我認為可以大概劃分為以下兩個路線:
(1)一個是UI線,在大業務中專門負責業務頁面搭建,沉淀UI組件。
(2)一個是基礎架構線,主要實現網絡、高可用、App架構等。
4.企業在招聘時,對iOS程序員通常有什么要求?iOS程序員的日常工作是什么?
企業在招聘時,主要還是考察求職者對iOS開發基礎知識的掌握情況,例如對Objective-C和Swfit語言的了解,對App運行機制的了解,對基礎Framework以及業界知名的第三方Framewok的了解等,還有一部分較為重要的就是求職者的軟素質,例如學習能力和溝通能力等。
iOS程序員的日常工作大概可以分為以下幾類:
(1)最主要的還是業務頁面的搭建,已有業務頁面的維護。
(2)基礎組件(網絡、UI等)的編寫維護,三方組件的接入和升級。
(3)iPhone機型以及iOS系統適配。
5.要想成為一名出色的iOS程序員,需要掌握哪些必備的知識?有哪些好的書籍或是網站可供推薦學習?
一名出色的iOS程序員的必備知識基本與招聘要求是一致的:
(1)Objective-C和Swift的基礎知識。
(2)UIKit和Foundation兩個庫的使用。
(3)iOS App以及iOS的運行機制。
對于學習書籍,由于我個人看的比較少,所以這里就不推薦了,而我主要是通過以下幾種方式來學習提升的。
(1)蘋果(https://developer.apple.com/documentation)和第三方庫的文檔。
(2)優秀開發者的博客,例如喵神:https://onevcat.com/。
(3)閱讀Github優秀開源項目的源碼。
某知名互聯網公司研發工程師訪談錄(2)
1.當前市場對于iOS程序員的需求如何?待遇如何?
因為iOS開發的入門門檻相對較低,雖然當前市場上入門級的iOS開發已經飽和了,但是對于iOS的中高端人才需求缺口仍然很大。而待遇方面的情況可以參考各類招聘網站的信息了,在此就不方便透露個人以及所在企業的薪酬體系了。
2.iOS程序員未來的發展方向如何?
手機現在是人們生活中必不可少的工具之一,所以iOS程序員的發展前景非常樂觀。現在互聯網公司的主要業務都依賴于App進行操作和發展。此外,移動互聯網已經深入到生活的方方面面,現在仍然有大量的公司業務只能在PC端辦理,非常不便,這也是手機端業務的機遇和挑戰。整體的市場需求對于移動開發是非常巨大的。
3.iOS程序員有哪些可供選擇的職業發展道路?
1)一直鉆研,成為在某一領域專精的優秀iOS專家。
2)工作幾年之后,由于經驗豐富并且熟悉業務,從而可能成為iOS項目經理,逐漸進入管理層。
3)自主創業,轉型去授課或提供知識服務,成為一名自由工作者,按需求提供咨詢服務等。
4.企業在招聘時,對iOS程序員通常有何要求?iOS程序員的日常工作是什么?
首先,iOS開發需要扎實的計算機基礎知識,包括基礎的算法和數據結構、常用設計模式、網絡通信協議、數據安全等;其次,要求iOS基礎扎實,熟練使用常用的UI組件和網絡組件,具有優秀的代碼設計能力,避免開發中犯一些低級錯誤;了解各個常用框架的實現原理、網絡性能、數據庫性能、H5加載調優、精通Hybrid開發,有App的架構設計能力。
程序員的日常工作主要是通過自己優秀的代碼設計能力,快速高效、高質量地完成業務開發,并能夠攻克遇到的一些棘手問題,提升自己的能力。
5.要想成為一名出色的iOS程序員,需要掌握哪些必備的知識?有哪些好的書籍或是網站可供推薦學習?
現在iOS開發呈現出大規模的集成化,除了App的整體架構設計的能力之外,網絡通信、數據庫、數據安全、消息同步、緩存設計、動態性Hybrid、webview調優、日志記錄、性能監控、數據埋點、crash上報、自動化測試、視頻處理、圖像處理等,都是App非常核心的功能,專精其中2~3項就已經是一名非常出色的iOS工程師了。
我對iOS的書籍關注較少,網站推薦Github 。
- ThinkPHP 5實戰
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- 潮流:UI設計必修課
- Software Testing using Visual Studio 2012
- JavaScript+jQuery開發實戰
- SQL語言從入門到精通
- Flash CS6中文版應用教程(第三版)
- Python高效開發實戰:Django、Tornado、Flask、Twisted(第3版)
- FLL+WRO樂高機器人競賽教程:機械、巡線與PID
- 數據結構案例教程(C/C++版)
- Kotlin開發教程(全2冊)
- 程序員的成長課
- INSTANT Apache Hive Essentials How-to
- Java網絡編程實用精解
- MonoTouch應用開發實踐指南:使用C#和.NET開發iOS應用