日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS面试题--001

發布時間:2025/3/14 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS面试题--001 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、????????簡述OC中內存管理機制。與retain配對使用的方法是dealloc還是release,為什么?需要與alloc配對使用的方法是dealloc還是release,為什么?readwritereadonlyassignretaincopynonatomicatomicstrongweak屬性的作用?

?

Release -----,alloc 開辟空間 deaclloc銷毀空間 .手動調用dealloc的時候會強制將引用計數置為0

?

readwrite,可讀可寫,讓系統生成settergetter???readonly,只可讀,只生成getter

?

assign引用計數不會+1,適用于基本數據類型.常用于指向儲存于靜態區的變量以及delegate,直接賦值

?

retain引用計數+1,獲得對象的所有權

?

copy 復制一個對象,并且儲存在不同的內存區.原對象的引用計數不變.遵循NSCoping協議的可以深拷貝

?

Nonatomic非原子性的,不保證多線程下保護安全?atomic原子性,保證多線程下安全.有一個屬性需要多個線程同時訪問一個變量,使用atomic能夠自動加鎖解鎖.

?

Strong,用于ARC模式下,表明對象屬于強引用.類似于retain,但是比retain更加安全,只要對象存在擁有者,就可以引用,不會被釋放.只要對象失去了擁有者,立即被拋棄.不必再將已經指向已經釋放的對象的指針指向空.避免了野指針.

?

Weak類似assign,弱引用.應用計數不會增加.釋放指針自動置為nil;

?

?

?

2、????????類變量的@protected,@private,@public,@package,聲明各有什么含義?

通過->的方式訪問成員變量

@protected受保護的.該類和所有子類中的方法可以直接訪問這樣的變量。

@private 變量是私有的,該類的方法可以直接訪問變量。

@public 所有類都可以訪問

@package 表示框架內訪問,外部無法訪問

?

?

3、????????線程是什么?進程是什么?二者有什么區別和聯系?

線程,是進程的一個具體實例.程序運行的最小單位,是被系統獨立調度和CPU的基本運行單元.

進程是操作系統中可以并行工作的基本單元,

一個應用程序有一個進程,一個進程中至少有一個線程.

?

進程和線程的主要差別在于它們是不同的操作系統資源管理方式。進程有獨立的地址空間,一個進程崩潰后,在保護模式下不會對其它進程產生影響,而線程只是一個進程中的不同執行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間,一個線程死掉就等于整個進程死掉,所以多進程的程序要比多線程的程序健壯,但在進程切換時,耗費資源較大,效率要差一些。但對于一些要求同時進行并且又要共享某些變量的并發操作,只能用線程,不能用進程

?

?

4、????????談談你對多線程開發的理解?ios中有幾種實現多線程的方法?

在一個進程中有多個線程共同存在,每個線程執行各自的任務,相互之間不會干擾,一個線程可以創建或者撤銷其他的線程.讓一個進程可以同時執行很多任務.這就減少了等待時間,提高了進程的運行效率.但是多線程會耗費資源,并且由于一個線程死掉會造成整個進程死掉.多線程也容易造成安全性問題.

?

Thread

?

使用GCD

?

使用NSOperationQueue

?

POSX

?

異步方法

?

5、????????線程同步和異步的區別?IOS中如何實現多線程的同步?

線程同步是多個線程同時訪問同一資源,等待資源訪問結束,浪費時間,效率低?,串行執行任務??線程異步:訪問資源時在空閑等待時同時訪問其他資源,實現多線程機制,并行執行任務

?

使用GCD的主隊列.使用NSOperationQueue,把最大線程數設為1

GCD使用障礙

6、????????假設有一個字符串aabcad,請寫一段程序,去掉字符串中不相鄰的重復字符,即上述字符串處理之后的輸出結果為:aabcd

?

?

?

?

7、????????獲取一臺設備唯一標識的方法有哪些?

UDID

OPENUDID

廣告標識符

Vindor標識符

推送token+bundle_id

UUID

?

8、????????ios類是否可以多繼承?如果沒有,那可以用其他方法實現嗎?簡述實現過程。

沒有.通過協議可以調用.

?

?

?

9、????????堆和棧的區別?

:由編譯器自動分配釋放,存放函數的參數值,局部變量的值等

:一般由程序員分配釋放,若程序員不釋放,程序結束時可能由系統回收

?

10、???? ios本地數據存儲都有哪幾種方式?

plist

數據庫

歸檔和反歸檔

文件讀寫

?


轉載于:https://www.cnblogs.com/xukunhenwuliao/p/3576191.html

總結

以上是生活随笔為你收集整理的IOS面试题--001的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。