寫給廣大非科班iOS開發(fā)者的一篇面試總結,先是程序員,然后才是iOS程序員

這篇面試總結很短,也沒有面試題的答案,只是寫給像我一樣的非科班iOS開發(fā)者的一些話。

昨天進行了人生第一次視頻面試,一共三個小時的技術面,還沒見到人事,應該是掛了。

不過整個過程下來感觸還是蠻多的,除了感受到面試官的牛X之外,也知道自己平時在學習中的不足。

先介紹一下面試中覺得比較吃力的問題:

1.如果讓你實現(xiàn)屬性的weak,如何實現(xiàn)的?

2.如果讓你來實現(xiàn)屬性的atomic,如何實現(xiàn)?

3.KVO為什么要創(chuàng)建一個子類來實現(xiàn)?

4.類結構體的組成,isa指針指向了什么?(這里應該將元類和根元類也說一下)

5.RunLoop有幾種事件源?有幾種模式?

6.方法列表的數(shù)據(jù)結構是什么?

7.分類是如何實現(xiàn)的?它為什么會覆蓋掉原來的方法?

另外值得一提的就是問了我自己寫的博客里的東西(JSONModel的解析,EOC的筆記)等等。。

這次面試讓我深刻意識到了兩點:

1.對于每個設計,不能只停留在“會用”而已,應該理解它的實現(xiàn)機制,而且?guī)缀趺總€設計都是與數(shù)據(jù)結構息息相關的,理解了數(shù)據(jù)結構和指針會有助于理解這些設計。

2.了解設計的原理之后,還要知其所以然:為什么這么設計?最好還要知道這個設計存在什么缺陷,這個缺陷是哪個解決類似問題的設計所沒有的?

第一點是“how”的問題,第二點是“why”的問題,然而我相信有不少人只停留在“what”和“using”上。

在面試的時候,我強烈感受到了面試官的功力之深:給我的感覺,對他而言,幾乎所有的設計都可以用某種數(shù)據(jù)結構解釋出來(有的時候也會結合指針),對知識點理解得非常透徹:即便是很簡單知識點,也能說出很多深層次的東西來。而我自己只是剛開始學數(shù)據(jù)結構不久,在面對提到數(shù)據(jù)結構的問題幾乎是沒有思路的。

我想說的:

所以我覺得對于廣大非科班的iOS開發(fā)來說,如果想在iOS開發(fā)上走遠,就必須盡快補充數(shù)據(jù)結構,算法,指針等計算機基礎知識,不然會對知識的理解形成很大的阻力。因為只有知道了這些基礎知識,才能更深入得理解每一個技術點,而且以后如果學習其他的語言,也會更高效一些。

簡單來說就一句話:先是程序員,然后才是iOS程序員。只有這樣思考,路才能越走越寬,越走越快,越走越遠。

現(xiàn)在iOS開發(fā)形勢這么不好,市場要過濾掉那些計算機基礎知識薄弱的人也是情有可原的。

所謂的現(xiàn)在的“不好”,只是相對于之前“不正常的好”的不好?,F(xiàn)在這個行業(yè)變得“不好”,其實是因為這個行業(yè)正在變得好,應該值得我們高興才是。

所以對于我們這群人(非科班的iOS開發(fā)者),應該提高憂患意識,未雨綢繆,更何況,雨已經(jīng)來過了。

最后,給大家推薦一個iOS進階內(nèi)推交流群679884541,不管你在地球哪個方位,不管你參加工作幾年都歡迎你的入駐?。ㄈ簝?nèi)會免費提供一些群主收藏的免費學習書籍資料以及整理好的幾百道面試題和答案文檔?。?/p>

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

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

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