前言
今天,沒有風(fēng)和日麗,沒有太陽高照夏夏苦逼的坐著公交車去面試了一把。無論結(jié)果如何,總要漲一波經(jīng)驗(yàn)的說于是乎夏夏決定復(fù)盤一下~!

過程復(fù)盤
首先呢,當(dāng)然是填表格啊什么的,如何是人事來問你一些問題(這都不是重點(diǎn)),接下來就是面試官問你的問題啦~
第一題是這樣的:
如何同時(shí)上傳多張圖片,保證到達(dá)服務(wù)器的順序?
我略微思考了下。。如果我用串行隊(duì)列去做的話,過程也是一張一張的啊接著問了下面試大大,是多張同時(shí)上傳嘛?得到了一個(gè)肯定的答復(fù)后,我繼續(xù)思考?。?!同時(shí)上傳(異步隊(duì)列開啟多個(gè)線程去上傳圖片),圖片上傳的過程是客戶端將圖片轉(zhuǎn)化為`NSData`類型再轉(zhuǎn)化`formdata`傳到服務(wù)器上的,于是乎我要保證它們是同時(shí)到達(dá)的,可是網(wǎng)速或者線程傳輸速度是不相同的,圖片的大小也是不相同的。并且我可以監(jiān)聽到圖片的上傳進(jìn)度!于是乎,我在想是不是可以在圖片上傳進(jìn)度到達(dá)99%的時(shí)候暫停下,然后按照順序去進(jìn)行最后一步(是不是我想多了想多了想多了?。。。?/p>
恩。。。。也有可能題目是這樣的,我批量上傳多張圖片,如何保證圖片到達(dá)的順序是按照我開始排練的順序呢?
于是乎,可以這樣做:
dispatch_queue_t lpQueue = dispatch_queue_create("slpQueue", DISPATCH_QUEUE_SERIAL);
for (int i = 0 ;i< 5; i++) {
dispatch_async(lpQueue, ^{
sleep(1);
NSLog(@"圖片上傳咯------圖片%d", i);
});
}
創(chuàng)建一個(gè)串行隊(duì)列,異步執(zhí)行圖片上傳操作~ 結(jié)果是這樣的:

很好很強(qiáng)大思密達(dá)~! 當(dāng)然,也有朋友說我是用AFN的,圖片上傳本來就是一個(gè)異步線程操作,如果這樣寫返回還是沒辦法確定的喲,這個(gè)時(shí)候你可以用
GCD的group信號(hào)量,用enterGroup和leaveGroup去控制,具體代碼可以看我之前的文章。
第二題是比較基礎(chǔ)的,問了下oc的@property屬性是啥意思,有什么常用的修飾詞。這個(gè)是比較常見的了,@property就是系統(tǒng)會(huì)自動(dòng)實(shí)現(xiàn)setter,getter和_var。
第三題就是strong和copy修飾的具體運(yùn)用,在NSString,NSArray等類之前的修飾,基本上都是copy啦,用strong會(huì)出問題的,具體不解釋了~
其他就是一些頁面的布局,flame布局或者約束自動(dòng)布局都是可以的。
問完了技術(shù),就是問了下你平時(shí)的寫代碼的時(shí)候遇到過什么比較困難的問題,是怎么解決的,然后就是為什么離開上一家公司(這些方面可以吹個(gè)牛什么的,不要太耿直)。
結(jié)束
現(xiàn)在iOS行情貌似不太好的樣子,不過還是要提高自己的技術(shù)水平,畢竟高技術(shù)的人才還是稀缺的,祝愿大家工作都順利吧~
面試方面的參考資料:https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/0101《招聘一個(gè)靠譜的iOS》面試題參考答案/《招聘一個(gè)靠譜的iOS》面試題參考答案(上).md
盡量多理解和運(yùn)用,畢竟學(xué)到的才是真的~