一些問題

1.以下情況的打印結(jié)果

    NSArray *arr = [NSString stringWithFormat:@"abc"];
    NSLog(@"%@", arr);
    NSString *str = arr;
    NSLog(@"%@",str);
2016-08-26 10:23:45.364 SomeThing[45895:1817616] abc
2016-08-26 10:23:45.365 SomeThing[45895:1817616] abc

2.OC是強類型還是弱類型語言?

強類型:為所有變量指定數(shù)據(jù)類型稱為“強類型”。
強/弱類型是指類型檢查的嚴格程度的。語言有無類型,弱類型和強類型三種。無類型的不檢查,甚至不區(qū)分指令和數(shù)據(jù)。弱類型的檢查很弱,僅能嚴格的區(qū)分指令和數(shù)據(jù)。強類型的則嚴格的在編譯期進行檢查。
強類型語言在沒有強制類型轉(zhuǎn)化前,不允許兩種不同類型的變量相互操作。Java、C# 、Apex和 Python 等都是強類型語言。

3.寫一個冒泡排序,時間復雜度

- (void)bubSort:(NSMutableArray *)arr{
    for (int i = 0; i < arr.count; i++) {
        for (int j = 0; j < arr.count - i - 1; j++) {
            if ([arr[j+1] integerValue] < [arr[j] integerValue]) {
                NSInteger temp = [arr[j+1] integerValue];
                arr[j+1] = arr[j];
                arr[j] = [NSNumber numberWithInteger:temp];
            }
        }
    }   
}

時間復雜度為log(n^2)

4.寫一個折半查找,時間復雜度

- (NSInteger)binSearch:(NSArray *)arr number:(NSInteger)num{
    
    NSInteger low = 0;
    NSInteger high = arr.count - 1;
    
    while (low <= high) {
        NSInteger mid = (low + high)/2;
        
        if (num < [arr[mid] integerValue]) {
            high = mid - 1;
        }else if (num >= [arr[mid] integerValue]){
            low = mid + 1;
        }else{
            return mid;
        }
    }
    
    return -1;
}

時間復雜度為O(n^2)

5.分類和繼承的區(qū)別
分類:可以擴展類方法,不能定義新成員,可以訪問私有成員
繼承:可以通過覆蓋和定義新方法擴展父類,可以新增成員,但是不能訪問父類私有成員

分類會覆蓋原同名方法,將不同的方法寫入不同的文件中,更適合團隊開發(fā),而且分類更小巧靈活

6.iOS沙盒的目錄結(jié)構(gòu)
Documents iTunes:會同步該目錄,適合存放重要數(shù)據(jù)
Library/Caches: iTunes不會同步此文件夾,適合存儲體積大,不需要備份的非重要數(shù)據(jù)。
Library/Preferences: iTunes同步該應(yīng)用時會同步此文件夾中的內(nèi)容,通常保存應(yīng)用的設(shè)置信息。
tmp: iTunes不會同步此文件夾,系統(tǒng)可能在應(yīng)用沒運行時就刪除該目錄下的文件,所以此目錄適合保存應(yīng)用中的一些臨時文件,用完就刪除。

7.get和post的區(qū)別

  • GET使用URL或Cookie傳參。而POST將數(shù)據(jù)放在BODY中。
  • GET的URL會有長度上的限制,則POST的數(shù)據(jù)則可以非常大。
  • POST比GET安全,因為數(shù)據(jù)在地址欄上不可見

8.如何開啟一個常駐線程

9.深拷貝和淺拷貝

  • 深拷貝:對象拷貝
  • 淺拷貝:地址拷貝
  • 在非集合類對象中:對****immutable****對象進行****copy****操作,是指針復制,****mutableCopy****操作時內(nèi)容復制;對****mutable****對象進行****copy****和****mutableCopy****都是內(nèi)容復制。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容