幾回面試後,個人一些思考和總結

最近我去幾家公司面試,本意上只是去看一看本身的水平如何,到達了什麼水平,在下一階段我須要怎麼作,而後在和幾位面試官聊天的過程當中,思考了一些問題,這些問題也是下一階段我須要去注意的,但願看到文章的諸位,這些問題能夠給大家一點小的啓發。程序員


1. Swift和Objective-c語言的區別是什麼?

這個問題其實很說簡單其實很簡單,可是重點卻不是這個問題自己,而是那位面試官的原話當你使用Swift編程的時候,你就不能使用Objective-C的思路去使用Swift了,你要知道Swift的特性是什麼,不僅僅是針對OC的特性,而是這門語言自己的特性, 確實,在聽完這個回答以後,其實我很是的震撼,由於我之前確實都是在用使用Objective-C的方式去使用它,而忽略了這門語言本身獨有的特性!!!面試

我從官網Swift的介紹中截取了它的幾點特性:算法

- Closures unified with function pointers
- Tuples and multiple return values
- Generics
- Fast and concise iteration over a range or collection
- Structs that support methods, extensions, and protocols
- Functional programming patterns, e.g., map and filter
- Native error handling using try / catch / throw
複製代碼

其實在使用swift的使用,若是真的想去使用好,就得去在使用的過程當中去思考Swift的特性有哪些,你有沒有用到這些特色,若是你沒有使用,那麼你和使OC有區別嗎?這是我須要考慮的事情,但願看到我文章的你也能夠考慮考慮~編程

我的感受能夠從兩個地方出發去充分使用Swift的特性:首先是它的語法特性(如上所寫:閉包;元組;快速的迭代;支持方法,擴展,協議的結構體;函數式編程;原生的錯誤處理);而後呢,就是編程思想的使用了,Swift的核心的編程思想,我以爲有兩個一個是函數式編程思想,一個就是面向協議的編程思想,固然還有一種思想是AOP(面向切面編程) ,固然還有不少其餘的思想,可是我所知的這三者應該是最多見的,但願我,也但願你們,在使用Swift的時候,去思考思考本身使用了這些Swift特性沒有?使用了這些編程思想沒有?若是沒有考慮這些東西,就要去自我審查一下了~swift

2.在每個方案的時候,必定要去考慮考慮你的算法是最優的嗎?還有更好的解決方案嗎?

確實,不少時候,在考慮方案的時候,甚至是基本的業務邏輯,同一個問題,是必定會有更好的方案的!可是在如今我卻並無去思考比較好的算法去解決問題,而是大多數狀況下采用的是很是基本的面向過程的編程思惟,這是不可取的也是不正確的方式。bash

那我在下階段可能就去要去花費時間去仔細的鑽研鑽研算法這一塊了,算法自己不就是程序員所必須掌握的基礎技能嗎?markdown

3. 談到組件化的方式,你提到了有經過路由的方式,協議的方式,以及Target-Action的方式等,來實現iOS項目的組件化的思想,聊聊他們?

固然這個問題是我抽象出來處理的問題,實際上呢,面試官的原話是什麼呢?閉包

你說你知道這三種方式,你以爲Target-Action的方式最好,那麼其他的兩種方式呢?你使用過嗎?他們的創建必定是爲了解決某些問題,若是沒有足夠的瞭解的話,你又如何知道在具體狀況下使用哪一種方案呢?
複製代碼

猶如醍醐灌頂,每一種方式都有它自己所擁有的好處,並非說某一種方式就是最優的,那基於這個問題,其實還能夠衍生不少知識點,但願你們都對架構這一塊去研究研究吧,寫出低耦合高內聚的代碼。架構

4. 關於項目的構架MVP,MVVM,MVC,它們各自是什麼,它們的優勢分別是什麼?

不一樣的軟件的構架是針對於不一樣的項目的,沒有一種構架是完美的,當咱們使用習慣了MVVM的構架以後,它就必定是最好的嗎?你使用它的目的是什麼?你有沒有充分利用了MVVM,仍是說你只是使用了簡單的文件夾層次的劃分?MVC當然有壞處,那是你真的充分的理解了MVC的構架嗎?框架

5. 知其然而知其因此然,SDWebImage庫,你有沒有閱讀源碼,當你去使用它的時候,它的流程你能夠說出來,可是每個異步下載圖片的框架都是這個流程啊,它的優勢在哪裏?相比於其餘的框架,它具有什麼特色呢?

哎,不問不知道,一問就感受本身很是的菜了,在使用第三方庫的過程當中根本就沒有去仔細的思考這些問題,那麼本身如何能夠提升呢?看來使用第三方庫的時候,去看看源碼也是一個很是值得作的事情啊!

6. 你回去等消息吧!

這也是一個很深沉的話題,若是展開的話,其實還有挺多要講的...

相關文章
相關標籤/搜索