iOS - 大厂面试题

一、多线程

二、网络

三、iOS基础

四、iOS

五、iOS底层

六、架构与设计

七、项目优化

八、第三方源码分析

九、算法

十、其他



每次面试都要重新找一下,太累了,在此专门开个专题,收集各大长iOS面试题。也希望大家有资源,也共享下,利人利己!


一、多线程

线程和进程的区别?

1、进程        

        1)进程是一个具有一定独立功能的程序关于某次数据集合的一次运行活动,它是操作系统分配资源的基本单元。                                                                                                                                                                                                                                                                      

        2)进程是指在系统中正在运行的一个应用程序,就是一段程序的执行过程,可以理解为手机上的一个app。

         3)每个进程之间是独立的,每个进程均运行在某专用且受保护的内存空间内,拥有独立运行所需的全部资源。

2、线程

        1)程序执行流的最小单元,线程是进程中的一个实体。        

        2)一个进程要想执行任务,必须至少有一条线程,应用程序启动的时候,系统会默认开启一条进程,也就是主线程。

3、进程和线程的关系        

        1)线程是进程的执行单元,进程的所有任务都在线程中执行。        

        2)线程是CPU分配资源和调度的最小单位      

        3)一个程序可以对应多个进程(多进程),一个进程中可有多个线程,但至少要有一条线程。       

主线程是相对于什么而言的

两个进程分别指向同一个地址空间并初始化一个值,分别输出是什么

如何保证线程安全

一个进程有哪些区

拥塞控制

进程间通信的方式,Binder机制

多线程

各种队列

线程锁

iOS中有哪些锁

1、NSLock

2、@synchronsized代码块

3、dispatch_semaphore_signal

4、NSCondition

5、NSRecursiveLock(递归锁)、NSDistributedLock(分布锁)、pthread_mutex_t:同步锁、

NSThread、GCD、NSOperation

线程同步的方式

自旋锁和互斥锁的区别

线程死锁的四个条件



未完待续!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了----------...
    Style_伟阅读 2,468评论 0 35
  • 最全的iOS面试题及答案 iOS面试小贴士 ———————————————回答好下面的足够了-----------...
    zweic阅读 2,730评论 0 73
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 2,045评论 0 12
  • 他叫竺万兴,不是有钱人,袋里却有点钱。喜欢找事情,总想得瑟。我最讨厌跟这种“熟人”碰面。像他这种皮皮虫的人,口味独...
    523aa44f6726阅读 358评论 0 1