⑥(数据结构篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来

348 阅读5分钟

iOS面试题 一共分为笔试题面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ③(界面篇) 共83题 已更新 ④(iOS篇) 共52题 已更新 ⑤(操作篇) 共68题 已更新 ⑥(数据结构篇) 共23题 已更新 ⑦(多线程篇) 共60题 已更新 ⑧(网络篇) 共22题 已更新 ⑨(多媒体篇) 共59题 已更新 ⑩(安全篇) 共27题 已更新 面试题 一共分为3个 总共400题 ⑪(面试篇 1/3) 共127题 已更新 ⑪(面试篇 2/3) 共137题 已更新 ⑪(面试篇 3/3) 共136题 已更新

请添加图片描述

@TOC

笔试题 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