很遺憾我學藝不精,這還是一家不錯的公司,雖然和我前司做的是一個領域,產品比我前司的好看多了,總結經驗,吸取教訓,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 上的差異。