色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ios開發(fā)現(xiàn)在行情如何

錢衛(wèi)國2年前10瀏覽0評論

ios開發(fā)現(xiàn)在行情如何?

北上廣深iOS開發(fā)者薪資曝光,想炒老板的務(wù)必收好這份面試題!

作為一名ios開發(fā)者,你可以在XCode中使用Swift編寫應(yīng)用程序。當(dāng)然,你也可以用Object-C,不過現(xiàn)在大部分開發(fā)者都已經(jīng)全面轉(zhuǎn)變?yōu)槭褂肧wift編程了,畢竟這是蘋果官方大力支持的編程語言。那么,作為一名ios開發(fā)人員,大概薪資是多少呢?

如果你加入了王者榮耀的開發(fā)團隊,那可以直接忽略本文了,畢竟你們已經(jīng)走向人生巔峰,如果只是一般公司的iOS開發(fā)者,根據(jù)2017年年初發(fā)布的薪資調(diào)查報告顯示,大部分人的基本薪資在5k以上,包括1年經(jīng)驗都不到的畢業(yè)生。

拿到這些薪資的第一步就是成功通過面試,以下這些是iOS開發(fā)人員面試中的常見問題,你會多少呢?

1、“autorelease” 嵌套, 系統(tǒng)是怎么處理的?

2、解釋如何在Xcode項目中添加框架?

在Xcode項目中添加框架:

從項目導(dǎo)航器的窗口左側(cè)選擇項目文件

在項目設(shè)置中選擇要添加框架的目標(biāo)

選擇“Build Phases”選項卡,然后選擇“Link Binary With Libraries”旁邊的小三角,以查看應(yīng)用程序中的所有框架

要添加框架,請單擊框架列表下方的“+”號

要選擇多個框架,請在選擇框架時按住 command鍵

3、WebView突然彈出廣告或者垃圾信息?是什么原因造成的?如何解決?

WebView突然彈出廣告肯定是H的錯!當(dāng)然可以進行避免,通過WebView的delegate進行URL截取,然后拿關(guān)鍵詞與常出現(xiàn)的廣告注入標(biāo)識庫進行匹配,從而達到攔截的作用。

4、bound和frame有什么區(qū)別?

frame:視圖的frame是矩形的,表示為與其包含的視圖對應(yīng)的位置(X,Y)和大?。▽挾?,高度)

Bound:視圖的Bound也是矩形的,表示為與其自己的坐標(biāo)系(0,0)、相對應(yīng)的位置(X,Y)和大?。▽挾?,高度)

5、ASI和AFNetWorking區(qū)別?核心實現(xiàn)上有什么不同?

ASI是基于底層CSNetworking框架進行開發(fā),注重于網(wǎng)絡(luò)數(shù)據(jù)的緩存,ASI太重,已經(jīng)無人維護。AFNetworking是基于NSURLConnection框架進行開發(fā)的,注重于網(wǎng)絡(luò)數(shù)據(jù)的處理,快速請求的過程,使用很方便。

6、ARC 原理是什么?

ARC (Automatic Reference Counting), 在對象被創(chuàng)建時,ARC會保存一大堆關(guān)于該對象的信息:對象類型,所有的屬性等等,當(dāng)我們不再需要該對象的時候,ARC會幫助我們銷毀該對象。

當(dāng)我們`alloc``init`一個對象實例時,編譯器會在該實例使用完后插入`objc_release`去銷毀該對象。如果我們是在使用properties的時候,該property的getter會被寫成:

```objective-c

- (Test *)test {

return objc_retainAutoreleaseReturnValue(_test);

}

```

可以看到,所有properties都被retain/autorelease了, 當(dāng)引用properties時,編譯器還會將caller改寫為:`objc_retainAutoreleaseReturnValue([self test])`. 這里出現(xiàn)了兩次的retain/autorelease,而編譯器會優(yōu)化的只使用一次。

7、請簡單說明多線程技術(shù)的優(yōu)點和缺點?

8、Xcode中PO命令的用法是什么?

PO命令在調(diào)試期間很有用。在正常情況下,要打印變量的值,必須將鼠標(biāo)指針移到那里,然后選擇打印輸出打印值。使用PO命令,只需在輸出窗口中輸入“PO變量名稱”即可打印數(shù)值,然后按下Enter鍵。

9、Xcode中兩個不同的smart groups是什么?

smart groups大致分為兩類:

簡單過濾smart groups:它基于shell中使用的文件名“globbing”匹配文件

簡單表達smart groups:它使用正則表達式匹配文件

10、解釋如何刪除在Xcode中創(chuàng)建的smart groups?

無法單獨刪除smart groups,因此可以通過以下兩種方式刪除Xcode中的smart groups:

刪除保存在單個項目中的所有smart groups

或刪除項目中可用的所有全局smart groups

11、__block和__weak修飾符的區(qū)別是什么?

12、iOS本地數(shù)據(jù)存儲都有哪幾種方式?iOS如何實現(xiàn)復(fù)雜對象的存儲?

13、在Xcode中打開“Code Snippet Library”的捷徑是什么?

(CMD + OPT + Cntrl + 2)是在Xcode中打開“Code Snippet Library”的捷徑。

14、怎樣實現(xiàn)一個singleton?

15、提到Xcode中可用的構(gòu)建階段有什么?

Xcode中有三個構(gòu)建階段,默認情況下是可用的:

編譯源代碼

鏈接二進制庫

復(fù)制包資源

16、簡述應(yīng)用程序按Home鍵進入后臺時的生命周期,以及從后臺回到前臺時的生命周期?

進入后臺生命周期走:

- (void)applicationWillResignActive:(UIApplication*)application;

- (void)applicationDidEnterBackground:(UIApplication*)application;

回到前臺生命周期走:

- (void)applicationWillEnterForeground:(UIApplication*)application;

- (void)applicationDidBecomActive:(UIApplication*)application;

17、為什么寫代理的屬性都是assign而不是retain?請舉例說明。

防止循環(huán)引用:

18、超出父視圖部分無法響應(yīng)事件的解決方案?

原因:從下往上依次傳遞遇到其中一個無法傳遞,那么便跳過它,傳遞給下一個能傳遞的或者能響應(yīng)的

解決:重寫方法

19、dispatch_group_async的使用?

dispatch_group_async可以實現(xiàn)監(jiān)聽一組任務(wù)是否完成,完成后得到通知執(zhí)行其他的操作。這個方法很有用,比如你執(zhí)行三個下載任務(wù),當(dāng)三個任務(wù)都下載完成后你才通知界面說完成的了。下面是一段例子代碼:

20、描述一個你遇到過的retain cycle例子

繪制矩形java,ios開發(fā)現(xiàn)在行情如何