經典面試2

2021-08-17 05:37:11 字數 904 閱讀 6470

為什麼要放在一起寫?

因為alloc和init有可能返回不同的物件

層和uiview的區別是什麼?

圖層不會直接渲染到螢幕上, uiview更像是乙個calayer的管理器, 乙個uiview上可以有n個calayer, 每個layer顯示一種東西,增強uiview的展現能力

pch檔案的作用

.pch來自外部框架的標頭檔案列表, 減少在選擇build或build and go時編譯專案的時間

awakefromnib與viewdidload區別

awakefromnib當.nib檔案被載入的時候,會傳送乙個awakefromnib的訊息到.nib檔案中的每個物件,每個物件都可以自定義自己的awakefromnib函式來響應這個訊息. 也就是說通過nib檔案建立view物件執行awakefromnib

viwedidload當view物件被載入到記憶體就會執行viewdidload, 所以不管通過nib檔案還是**方式建立物件都會執行viewdidload

layoutsubviews何時被呼叫

1.初始化init方法不會觸發

2.滾動scrollview時會觸發

3.旋轉uiscreen時會觸發

4.frame前後值發生變化

5.改變uiview的大小

id宣告的物件有什麼特性

id宣告的物件具有執行時特性, 即可以指向任意型別的objective-c物件

nil與null的區別

nil表示物件的物件的引用為空

null表示指向基礎型別變數即c語言變數指標為空, 非arc可以互相, arc環境不能交換

bool與bool區別

bool是c語言c99標準中增加的變數型別

bool是obj-c獨有的布林型別, 有yes和no兩個值,分別1和0, 非0都是真值,0為假值

面試經典(2) 刪除特定字元

題目 輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.分析 我們考慮如何在字串中刪除乙個字元。由於字串的記憶體分配方式是連續分配的。我們從字串當中刪除乙個字元,需要把後面所有的...

python經典面試 python經典面試題

基礎部分 1.將列表按照下列規則排序,補全 1.整數在前,負數在後2.正數從小到大3.負數從大到小 lst 7,8,5,4,0,2,5 補全 sorted lst,key lambda x 答案 lst 7,8,5,4,0,2,5 lst sorted lst,key lambda x int x ...

面試經典演算法2之插入排序

插入排序 將待排序的資料元素與前面已經排好序的資料比較,將其插入到其中。每趟都是從待排序的資料元素開始掃瞄。典型的插入排序演算法有 1 簡單直接插入排序 2 希爾排序 簡單直接插入排序 bool insertsort int a,int n for int i 1 i 0 a j val,val插在...