iOS面試題之人在面試都是套路(十四)***聽公司iOS面試題

很遺憾我學藝不精,這還是一家不錯的公司,雖然和我前司做的是一個領域,產品比我前司的好看多了,總結經驗,吸取教訓,good good study~~~~

XXXXiOS面試題

1、代碼實現,將句子中每個單詞的首字母大寫后輸出:“This is a basic test”.

#include 
void main(){
char x[100];
int i;
printf("請輸入英語句子\n");
gets(x);
x[0]=x[0]-32;
for (i=1;x[i]!='\0';i++){
if (x[i-1]==' '){
x[i]=x[i]-32;
    }
}
for (i=0;x[i]!='\0';i++){
     printf("%c",x[i]);
   }
     printf("\n");
}


2、代碼實現刪除字符串中的連續相同字符,只保留一個字符:實例:“aaaaaaaabbbbcccccc”處理后輸出:“abc”

#include <stdio.h>
void fun(char *s){
    int i,j;
    for(i=0;s[i]>='a' && s[i]<='z' || s[i]>='A' && s[i]<='Z' || s[i]>='0' && s[i]<='9';i++);
    for(s[j=0]=s[i++];s[i];i++)
        if(!(s[i]>='a' && s[i]<='z' || s[i]>='A' && s[i]<='Z' || s[i]>='0' && s[i]<='9') && s[i]-s[j])
            s[++j]=s[i];
    s[j+1]='\0';
}
int main(int argc,char *argv[]){
    char s[81];
    printf("Input a string...\ns=");
    fgets(s,81,stdin);
    fun(s);
    printf("%s",s);
    return 0;
}

3、UIViewController的完整生命周期

-[ViewController initWithNibName:bundle:];
-[ViewController init];
-[ViewController loadView];
-[ViewController viewDidLoad];
-[ViewController viewWillAppear:];
-[ViewController viewWillLayoutSubviews:];
-[ViewController viewDidLayoutSubviews:];
-[ViewController viewDidAppear:];
-[ViewController viewWillDisappear:];
-[ViewController viewDidDisappear:];
-[ViewController viewWillUnload:];
-[ViewController viewDidUnload:];

4、泛型實現一個main函數。返回兩個元素較小的元素


5、map,filter,reduce的作用

Map,Filter和Reduce三個函數能為函數式編程提供便利。

6、map與flatmap的區別

flatMap 與 map 不同之處是
flatMap返回后的數組中不存在 nil 同時它會把Optional解包;
flatMap 還能把數組中存有數組的數組 一同打開變成一個新的數組 ;
flatMap也能把兩個不同的數組合并成一個數組 這個合并的數組元素個數是前面兩個數組元素個數的乘積

7、String 與 NSString 的關系與區別

Swift 的String類型與 Foundation NSString類進行了無縫橋接。他們最大的區別就是:String是值類型,而NSString是引用類型。
其他方面的差異就體現在各自api 上的差異。

8、聲明只有一個參數沒有返回值的閉包

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容