iOS面试题 一共分为
笔试题
和面试题
两部分笔试题
一共分为10个 总共613题面试题
一共400题
笔试题 一个10个系列 分别为
①(语法篇) 共147题 已更新
②(常识篇) 共72题 已更新
③(界面篇) 共83题 已更新
④(iOS篇) 共52题 已更新
⑤(操作篇) 共68题 已更新
⑥(数据结构篇) 共23题 已更新
⑦(多线程篇) 共60题
⑧(网络篇) 共22题
⑨(多媒体篇) 共59题
⑩(安全篇) 共27题
⑪ (iOS面试题) 共400题 分3篇
iOS面试1000题以及答案-笔试题-⑥数据结构篇
- 笔试题 613题
- ⭐️⑥、笔试题-数据结构篇(23题)
- 1.`局部变量`是保存在`栈区`的,方法调用的`实参`也是保存在`栈区`的?:[判断题]
- 2.`栈`是向`低地址`扩展的数据结构,是一块`连续的内存的区域`?:[判断题]
- 3.`堆`是向`高地址`扩展的数据结构,是`不连续的内存区域`吗?:[判断题]
- 4.`栈`是由`系统自动分配`,速度较快,`不会产生内存碎片`?:[判断题]
- 5.`堆`是由`alloc`分配的内存,速度比较慢,而且`容易产生内存碎片`,不过用起来最方便?:[判断题]
- 6.int a;是指一个`整型数(An integer)`:[判断题]
- 7.int *a;是指一个`指向整型数的指针(A pointer to an integer) `?:[判断题]
- 8.int **a;是指一个`指向指针的指针`,它`指向的指针`是`指向一个整型数`?(A pointer to an integer to an integer) ?:[判断题]
- 9.int a[10],是指一个1有10个整型数的数组?:[判断题]
- 10.int *a[10],是指一个1有10个`指针的数组`,该指针是指向一个整型数的。(An array of 10 pointer to integers)?:[判断题]
- 11.int (*a)[10];是指一个指向有10个整型数数组的指针 (A pointer to an array of 10 integers)?:[判断题]
- 12.int (*a) (int) 一个`指向函数的指针`,该函数有一个整型参数并返回一个整型数(a point to a function that takes an integer as an argument and returns an integer)?:[判断题]
- 13.int (*a[10]) (int) 一个有10个`指针`的`数组`,该指针`指向一个函数`,该`函数有一个整型参数并返回一个整型数` (An array of ten Pointers to a function that takes an integer argument and returns an integer)?:[判断题]
- 14.`堆`和`栈`的区别正确的是?:[单选题]
- 15.下面四种内部排序算法中哪一种在`最差情况` `时间复杂度最高`?:[单选题]
- 16.下面的数据结构中不属于`线性结构`的是?:[单选题]
- 17.在一个二叉树上,`第5层`最多可以有多少个`节点`?:[单选题]
- 18.在长度为n的`线性表`上进行`顺序查找`,在`最糟糕`的情况下需要的`比较次数`是?:[单选题]
- 19.已知`二叉树``后序`遍历序列是dabec,`中序`遍历是debac,它的`前序`遍历序列是?:[单选题]
- 20.`多线程`中`栈`与`堆`是`公有`的还是`私有`的:[单选题]
- 21.求以下程序的输出int test(int x, int y){ x = x + y; return x * y;}int main(int argc, const char * argv[]){ @autoreleasepool { int x = 3, y = 10, z = test(x, y); NSLog(@"%d%d", x++, ++z); } return 0;} :[单选题]
- 22.求以下程序的输出 int func(int x) {int countx = 0;while (x) {countx++; x = x&(x-1);}return countx;}int main(int argc,const char * argv[]){@autoreleasepool {NSLog(@"func %d",func(19999)); } :[单选题]
- 23.main(){ int a[5] = {1,2,3,4,5}; int *prt=(int *)(&a+1); printf("%d,%d",*(a+1),*(prt-1))}的答案是 :[单选题]
笔试题 613题
⭐️⑥、笔试题-数据结构篇(23题)
1.局部变量
是保存在栈区
的,方法调用的实参
也是保存在栈区
的?:[判断题]
- A、正确
- B、错误
2.栈
是向低地址
扩展的数据结构,是一块连续的内存的区域
?:[判断题]
- A、正确
- B、错误
3.堆
是向高地址
扩展的数据结构,是不连续的内存区域
吗?:[判断题]
- A、正确
- B、错误
4.栈
是由系统自动分配
,速度较快,不会产生内存碎片
?:[判断题]
- A、正确
- B、错误
5.堆
是由alloc
分配的内存,速度比较慢,而且容易产生内存碎片
,不过用起来最方便?:[判断题]
- A、正确
- B、错误
6.int a;是指一个整型数(An integer)
:[判断题]
- A、正确
- B、错误
7.int *a;是指一个指向整型数的指针(A pointer to an integer)
?:[判断题]
- A、正确
- B、错误
8.int **a;是指一个指向指针的指针
,它指向的指针
是指向一个整型数
?(A pointer to an integer to an integer) ?:[判断题]
- A、正确
- B、错误
9.int a[10],是指一个1有10个整型数的数组?:[判断题]
- A、正确
- B、错误
10.int *a[10],是指一个1有10个指针的数组
,该指针是指向一个整型数的。(An array of 10 pointer to integers)?:[判断题]
- A、正确
- B、错误
11.int (*a)[10];是指一个指向有10个整型数数组的指针 (A pointer to an array of 10 integers)?:[判断题]
- A、正确
- B、错误
12.int (*a) (int) 一个指向函数的指针
,该函数有一个整型参数并返回一个整型数(a point to a function that takes an integer as an argument and returns an integer)?:[判断题]
- A、正确
- B、错误
13.int (*a[10]) (int) 一个有10个指针
的数组
,该指针指向一个函数
,该函数有一个整型参数并返回一个整型数
(An array of ten Pointers to a function that takes an integer argument and returns an integer)?:[判断题]
- A、正确
- B、错误
14.堆
和栈
的区别正确的是?:[单选题]
- A、对于栈来讲,我们需要手工控制,容易产生 memory leak
- B、对于堆来说。释放工作是由编译器自动管理,无需我们手动管理。
- C、在Windows下,栈是向高地址扩展的数据结构,是连续的内存区域,栈顶的地址和栈的醉倒容量是系统预先规定好的。
- D、对于堆来来将,频繁的new/delete势必会造成内存空间的不连续,从而造成大量的碎片。使程序效率降低。
15.下面四种内部排序算法中哪一种在最差情况
时间复杂度最高
?:[单选题]
- A、快速排序
- B、冒泡排序
- C、堆排序
- D、归并排序
16.下面的数据结构中不属于线性结构
的是?:[单选题]
- A、栈
- B、链表
- C、二叉树
- D、线性表
17.在一个二叉树上,第5层
最多可以有多少个节点
?:[单选题]
- A、2
- B、8
- C、16
- [ ] D、32
18.在长度为n的线性表
上进行顺序查找
,在最糟糕
的情况下需要的比较次数
是?:[单选题]
- A、n
- B、2n-1
- C、2n
- [ ] D、n^2
19.已知二叉树``后序
遍历序列是dabec,中序
遍历是debac,它的前序
遍历序列是?:[单选题]
- A、cebda
- B、acbed
- C、decab
- [ ] D、deabc
20.多线程
中栈
与堆
是公有
的还是私有
的:[单选题]
- A、栈公有,堆私有
- B、栈公有,堆公有
- C、栈私有,堆公有
- [ ] D、栈私有,堆私有
21.求以下程序的输出int test(int x, int y){ x = x + y; return x * y;}int main(int argc, const char * argv[]){ @autoreleasepool { int x = 3, y = 10, z = test(x, y); NSLog(@"%d%d", x++, ++z); } return 0;} :[单选题]
-
A、331
该题我在终端测试调试发现得到的答案已经为3131 可能会跟编译器的位数有关
- B、330
- C、431
- D、430
22.求以下程序的输出 int func(int x) {int countx = 0;while (x) {countx++; x = x&(x-1);}return countx;}int main(int argc,const char * argv[]){@autoreleasepool {NSLog(@“func %d”,func(19999)); } :[单选题]
- A、1
- B、5
- C、8
- D、9
23.main(){ int a[5] = {1,2,3,4,5}; int prt=(int )(&a+1); printf("%d,%d",(a+1),(prt-1))}的答案是 :[单选题]
- A、5,2
- B、2,5
- C、1,4
- D、4,1