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题

⭐️⑦、口试题-多线程篇(60题)

1.上面办法中,哪个办法没有创立新的线程?:[单选题]

  • [ ] A、+(void)datechNewThreadSelector(SEL)selector,toTarget:(id)target withObject:(id)argument;
  • [ ] B、- (id)initWithTarger(id)target selector:(SEL)selector object:(id)argument;
  • [ ] C、- (void)preformSelectorInBackground(SEL)selector withObject:(id)arg;
  • [x] D、- (void)preformSelectorInOnMianThread(SEL)selector withObject:(id)arg waitUntilDone:(BOOL)wait;

2.Cocoa中的NSRunLoop类并不是线程平安的?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

3.Run Loop治理并不齐全是主动的:[判断题]

  • [x] A、正确
  • [ ] B、谬误

4.Run Loop同时也负责 autorelease pool创立开释?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

5.GCD Queue分为哪三种?:[多选题]

  • [x] A、The main queue 主队列
  • [x] B、Global queues 全局并发队列
  • [x] C、用函数 dispatch_queue_create创立的用户队列
  • [ ] D、Default queues 默认队列

6.死锁有哪些必要条件?:[多选题]

  • [x] A、互斥
  • [x] B、申请放弃
  • [x] C、不可剥夺
  • [x] D、环路

7.以下哪种办法能够解决死锁:[多选题]

  • [x] A、鸵鸟策略
  • [x] B、预防策略
  • [x] C、防止策略
  • [x] D、检测与解除死锁

8.下列技术不属于多线程的是:[单选题]

  • [x] A、Block
  • [ ] B、Thread
  • [ ] C、Operation
  • [ ] D、GCD

9.线程过程的区别不正确的是:[单选题]

  • [x] A、过程和线程都是由操作系统所领会的程序运行的根本单元
  • [ ] B、线程之间有独自的地址空间
  • [ ] C、过程和线程的次要差异在于它们是不同的操作系统资源管理形式
  • [ ] D、线程有本人的堆栈和局部变量

10.对于runloop的了解不正确的是:[单选题]

  • [ ] A、每一个线程都有其对应的RunLoop
  • [ ] B、默认非主线程的RunLoop是没有运行的
  • [x] C、在一个独自的线程中没必要去启用RunLoop
  • [ ] D、能够将NSTimer增加到RunLoop中

11.以下多线程对int型变量x的操作,哪个不须要进行同步:[单选题]

  • [ ] A、x=y
  • [ ] B、x++
  • [ ] C、++x
  • [x] D、x=1

12.多线程私有的还是公有的:[单选题]

  • [ ] A、栈私有,堆公有
  • [ ] B、栈私有,堆私有
  • [x] C、栈公有,堆私有
  • [ ] D、栈公有,堆公有

13.上面对于线程治理谬误的是:[单选题]

  • [ ] A、GCD所用的开销要比NSTread大
  • [x] B、能够在子线程中批改UI元素
  • [ ] C、NSOperationQueue是比NSThread更高层的封装
  • [ ] D、GCD能够依据不同优先级调配线程

14.Object C的线程上面形容不正确的是:[单选题]

  • [ ] A、应用NSThread创立、应用GCD的dispatch
  • [x] B、间接应用NSOPeration,而后将其退出NSOPerationQueue
  • [ ] C、在主线程执行代码,办法是performSelectorOnMainThread,
  • [ ] D、如果想延时执行代码能够用performSelector:OnThread:withObject:waitUnitlDone;

15.对NSOperationQueue了解不正确的是:[单选题]

  • [ ] A、寄存NSOperation的汇合类
  • [ ] B、能够设置最大并发数
  • [ ] C、放进去的线程会主动执行
  • [x] D、用户须要治理放进去的线程执行程序

16.以下对于iOS开发多线程概念,形容正确的是:[多选题]

  • [x] A、Multthreadng多线程是指从软件或硬件上,试下多个线程并发执行的技术。
  • [x] B、具备多线程能力的硬件,因为有硬件的反对。所以可能在同一时间内执行多于一个的线程,进而晋升应用程序的整体解决性能。
  • [x] C、多线程可能同步实现多项工作,不是为了进步运行效率,而是为了进步资源应用效率,从而进步应用程序的效率。
  • [x] D、过程启动之后,一个最次要的线程被称为主线程,主线程会创立和管理应用程序中所有的UI元素

17.每个线程不仅仅在创立的过程中须要消耗工夫,同时它也会占用肯定内核的内存空间应用程序的内存空间。:[判断题]

  • [x] A、正确
  • [ ] B、谬误

18.在iOS中,主线程栈空间大小为:[单选题]

  • [x] A、1MB
  • [ ] B、4MB
  • [ ] C、8MB
  • [ ] D、32MB

19.在iOS中,主线程栈空间大小是能够批改的?:[判断题]

  • [ ] A、正确
  • [x] B、谬误

20.在iOS中,应用程序子线程默认栈空间大小为?:[单选题]

  • [ ] A、256 KB
  • [x] B、512 KB
  • [ ] C、1 MB
  • [ ] D、4 MB

21.iOS应用程序子线程的栈空间大小,会在线程应用过程 逐步减少?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

22.iOS子线程运行调配的最小栈空间是?:[单选题]

  • [ ] A、4 KB
  • [ ] B、8 KB
  • [x] C、16 MB
  • [ ] D、32 MB

23.子线程运行调配的栈空间大小,必须为4KB的整数倍?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

24.线程优先级属于threadPriority是一个0.0~1.0之间的浮点数,那么1.0示意 最高的优先级?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

25.线程的默认的优先级0.5?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

26.优先级较高的线程,肯定优先级较低的线程先执行?:[判断题]

  • [ ] A、正确
  • x] B、谬误

27.在线程 借鉴沦亡的整个生命周期中蕴含多个状态,各状态的程序是?:[单选题]

  • [ ] A、创立状态、就绪状态、阻塞状态、运行状态、沦亡状态
  • [x] B、创立状态、就绪状态、运行状态、阻塞状态、沦亡状态
  • [ ] C、就绪状态、创立状态、运行状态、阻塞状态、沦亡状态
  • [ ] D、就绪状态、创立状态、阻塞状态、运行状态、沦亡状态

28.iOS应用程序的每条线程,都有惟一的RunLoop对象与之对应?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

29.子线程RunLoop须要手动创立?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

30.主线程RunLoop主动创立并启动的?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

31.子线程RunLoop,当须要手动创立,调用以下哪个办法来启动:[单选题]

  • [ ] A、start()
  • [ ] B、fire()
  • [ ] C、new()
  • [x] D、run()

32.currentRunLoop提早加载的,只创立一次?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

33.应用Thread创立的线程,将共享同一应用程序的局部内存空间,它们领有对数据雷同的拜访权限?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

34.为了协调多个线程对同一数据的拜访,通常的做法是拜访之前加锁.加锁会导致肯定的性能开销吗?:[判断题]

  • [ ] A、不会
  • [x] B、会

35.Thread的创立分为显式隐式两种类型,其中显式形式有哪两种:[多选题]

  • [x] A、Thread.detachNewThreadSelector(selector:toTarger:with:)
  • [ ] B、object.performSelector(inBackground:with:)
  • [ ] C、object.performSelector(inBackground:afterDelay with:)
  • [x] D、Thread.init(targer:selector:object:)

36.当一个Lock对象胜利调用lock办法后,在其调用unlock办法之前,任何线程都不能对此Lock对象加锁:[判断题]

  • [x] A、正确
  • [ ] B、谬误

37.iOS提供了哪些类型线程锁:[多选题]

  • [x] A、Lock
  • [x] B、RecursiveLock
  • [x] C、ConditionLock
  • [ ] D、UnLock

38.ConditionLock是一种带条件的锁,能够依据条件对多线程进行加锁?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

39.也就是说一个线程能够对一个Recursive对象屡次调用lock,只有解锁时调用雷同的unlock办法便可。以上是RecursiveLock的特色吗?:[判断题]

  • [ ] A、不是
  • [x] B、是

40.因为线程耗费系统资源的,所以须要控制线程的并发数,以防止零碎变慢?:[判断题]

  • [x] A、是
  • [ ] B、不是

41.Cocoa operation 相干的类有哪些:[多选题]

  • [x] A、Operation
  • [x] B、NSLock
  • [x] C、OperationQueue
  • [x] D、NSThread

42.为了在同一个工夫点内只执行一个线程,且以后一个线程完结后才执行第二个线程,须要将队列的maxConcurrentOperationCount设置为:[单选题]

  • [ ] A、0
  • [x] B、1
  • [ ] C、2
  • [ ] D、10

43.Grand Central Dispatch(GCD)是由Apple公司在哪个iOS版本时,推出的一个多核编程的解决方案:[单选题]

  • [x] A、iOS 4.0
  • [ ] B、iOS 5.0
  • [ ] C、iOS 6.0
  • [ ] D、iOS 7.0

44.GCDAPI很大水平上是和以下哪种技术配合应用的:[单选题]

  • [ ] A、delegate
  • [x] B、block
  • [ ] C、kvo
  • [ ] D、kvc

45.因为GCD基于工作单元而非像Thread那样基于运算,所以GCD能够管制 注入期待工作完结监督文件描述符周期执行代码以工作挂起等工作?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

46.GCDdispatch queue 调度队列能够是并发的,也能够是串行的?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

47.以下对于并发串行同步异步形容正确的是:[多选题]

  • [x] A、并发:多个工作同时执行
  • [x] B、串行:一个工作执行实现后,再执行下一个工作
  • [x] C、 同步:在以后线程中执行工作,不会开启新线程
  • [x] D、 异步:在新的线程执行工作

48.GCDdispatch queue调度队列有以下哪三种类型?:[多选题]

  • [x] A、The main queues 串行队列
  • [x] B、Global queues 全局队列
  • [x] C、 用户线程队列
  • [ ] D、 子线程队列

49.Global queues 全局队列并发队列,它蕴含哪些优先级?:[多选题]

  • [x] A、高
  • [x] B、中
  • [x] C、 低
  • [x] D、 后盾

50.Thead 多线程技术是基于什么来实现多线程的?:[单选题]

  • [x] A、Thead线程
  • [ ] B、Queue队列
  • [ ] C、 Block闭包
  • [ ] D、Task工作

51.Operation 多线程技术是基于什么来实现多线程的?:[单选题]

  • [ ] A、Thead线程
  • [x] B、Queue队列
  • [ ] C、 Block闭包
  • [ ] D、Task工作

52.Grand Cental Dispatch 多线程技术是基于什么来实现多线程的?:[单选题]

  • [ ] A、Thead线程
  • [ ] B、Queue队列
  • [ ] C、 Block闭包
  • [x] D、Task工作

53.Timer 定时器有哪两种性能?:[多选题]

  • [x] A、在指定的工夫执行指定的工作。
  • [x] B、在指定的工夫范畴内执行指定的工作。
  • [ ] C、 能够实现推送告诉的工作。
  • [x] D、每隔一段时间执行指定的工作。

54.以下放弃线程同步的形式有哪些?:[多选题]

  • [x] A、@synchronized
  • [x] B、NSLock
  • [x] C、NSCondition
  • [x] D、pthread_mutex

55.dispatch_semaphoreGCD用来同步一种形式吗?:[判断题]

  • [x] A、是
  • [x] B、不是

56.NSRecursiveLock是一个递归锁,这个锁能够被同一个线程屡次申请,而不会引起死锁吗?:[判断题]

  • [x] A、是
  • [ ] B、不是

57.OSSpinLock是一种自旋锁,它有哪三种办法?:[多选题]

  • [x] A、加锁
  • [x] B、尝试加锁
  • [ ] C、尝试解锁
  • [x] D、解锁

58.OSSpinLock 申请加锁失败的话,OSSpinLock会始终轮询,期待时会耗费大量CPU资源,所以OSSpinLock不适宜较长时间的工作?:[判断题]

  • [x] A、是
  • [ ] B、不是

59.NSLock 申请加锁失败的话,会先轮询,但一秒过后便会使线程进入 waiting状态期待唤醒。以上说法正确吗?:[判断题]

  • [x] A、正确
  • [ ] B、谬误

60.pthread_mutex 是基于OC语言多线程 加互斥锁的形式吗?:[判断题]

  • [ ] A、是
  • [x] B、不是