200个iOS面试问题. 面试问题井井有条. 底层和技术亮点是公司在这里需要的.

电脑杂谈  发布时间:2020-05-21 15:25:14  来源:网络整理

ios多线程面试题_ios 线程 进程_ios 死锁 线程

109. Objective-C如何谈论内存管理ios多线程面试题,您的看法和解决方案是什么?

110. 原子属性和非原子属性有什么区别?

111. 看下面的程序,第一个NSLog将输出什么?此时,str的retainCount是多少?第二和第三?为什么?

112,内存管理的原理是什么?根据默认规则. 这些关键字生成的对象需要手动释放吗?结合属性如何有效避免内存泄漏?

113. 如何在iOS设备上执行性能测试?

114,设计模式

(1)mvc模式

(2)单例模式

(3)mvvm模式

(4)观察者模式

(5)出厂模式

(6)代理模式

(7)策略模式

(8)适配器模式

(9)模板模式

(10)外观模式

(11)创建模式

(12)MVP模式

115. MVVM模式的原理分析

116. 讨论几种常见的价值传递方法

117. 何时使用委托以及何时使用通知

118. 了解单例

119. 从设计模式的角度分析代理,通知和KVO之间的区别? ios SDK提供的框架中使用了哪些设计模式,为什么要使用它们?优点和缺点是什么?

120,KVO,NSNotification,委托和块差异

121. 运行时(runTime)

122,运行时/消息转发机制

(1)运行时

1.1. 什么是运行时

1.2. 运行时的使用情况,使用场景

(2)消息机制

2.1. 邮件转发的原理

2.2. 什么是SEL isa super cmd

(3)动态绑定

123. 用虫子进行崩溃分析

124,连续包装的肉片

125,KVO和KVC

(1)基本实现

(2)KVO概述

ios 线程 进程_ios多线程面试题_ios 死锁 线程

(3)KVC概述

126. 什么是KVO和KVC? KVO和KVC

(1)如何调用私有变量,如何修改系统的只读属性,KVC的搜索顺序

(2)什么是键值和什么是键路径

(3)kvo的实现机制

(4)KVO计算属性,设置相关键

(5)KVO集合属性

(6)Kvo使用场景

127,SDWebImage(SDWebImage实现机制)

(1)主要功能

(2)缓存

(3)内存缓存和磁盘缓存

128,框架SDWebimage的缓存机制

129. 网络安全密码的安全原理

130,多线程

(1)多线程的概念

(2)多线程的作用

(3)使用场景

131,NSOperationQueue和GCD有什么区别

132,GCD和NSThread之间的区别

133,进程与线程之间的区别和联系是什么?

134. 不要异步执行两个耗时的操作. 完成这两个耗时的操作后,返回到主线程以执行该操作. 使用队列组(dispatch_group_t)快速有效地实现上述要求

135. 您什么时候选择使用GCD和NSOperation?

136. 比较iOS中的多线程技术

137,多线程的优缺点

138,iOS中的操作延迟

139. 串行队列同步执行和异步主队列

140. 资源抢夺解决方案

141,dispatch_barrier_async的作用是什么?

142. 在多线程核心数据中,哪个NSC,MOC,NSObjectModel需要程中创建或传递?您使用什么策略来实现?

143,+(无效)加载和+(无效)initial之间的区别load和initialize方法之间的区别

144,http帖子及其区别和联系,在实践中如何选择它们?

145. 告诉我UDP / TCP之间的区别吗?

146,http和scoket通讯之间的区别?套接字连接相关的库,TCP,UDP连接方法,HTTP的几种常见方法?

147. HTTP请求常用的几种方法

148,阻止

(1)使用块时参考周期会发生什么,如何解决?

(2)如何在块内修改块的外部变量?

ios多线程面试题_ios 线程 进程_ios 死锁 线程

(3)块和MRC块

(4)什么是方块

(5)块实现的原理

(6)关于方块

(7)使用块和委托来完成委托模式有什么好处

(8)多线程和阻塞

(9)谈谈对Block的理解吗?并编写一个块来执行UIVew?

(10)编写上述代码块的定义(续上)

149,弱,强,复制,分配使用

(1)当使用弱关键字时,它与分配有什么不同?

(2)如何使用复制关键字?

(3)弱而强

(4)这是怎么回事: @property(副本)NSMutableArray *数组

(5)如何使我的班级使用copy修饰符?如何用copy关键字重写setter?

(6)@property的本质是什么? ivar,getter,setter的生成方式以及如何将其添加到此类中

(7)如何生成ivar,getter和setter并将其添加到此类?

(8)用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果您切换到strong关键字,可能是什么问题?

(9)如何在@protocol和类别中使用@property

(10)运行时如何通过选择器找到相应的IMP地址?

(11)保留和复制之间的区别

(12)使用复制性强吗?

(13)NSString和NSMutableString,前者是线程安全的,后者是不安全的.

(14)读写,只读ios多线程面试题,分配,保留,复制,弱,强,非原子属性的作用

150,OC和JS之间的交互(与iOS和H5混合)

TableView性能优化

UITableView核心思想

UITableView的优化主要从三个方面开始:

151. 为什么TableView卡住了?

152,UITableView

(1)UITableView的核心思想

(2)定义高度

(3)自定义高度的原理

(4)经常谈论的UITableView的性能优化

(5)像元高度的计算

(5.1)固定高度单元格和动态高度单元格

(6)TableView呈现

(7)减少观看次数

(8)减少多余的绘图操作

ios 线程 进程_ios多线程面试题_ios 死锁 线程

(9)不要将subView动态添加到单元格中

(10)异步用户界面,请勿阻止主线程

(11)滑动时根据需要加载相应的内容

(12)屏幕外渲染问题

(13)屏幕外渲染优化方案

153,使用环信SDK

154,蓝牙

155. 如何在iPhone应用程序中保存数据?

156. 什么是核心数据?

157. 什么是NSManagedObject模型?

158. 什么是NSManagedobjectContext?

159. iOS平台如何进行数据持久化?是否必须连接coredata和sqlite? coredata是关系吗?

160,CoreData和SQLite3

161,数据存储

(1)数据存储技术

(1.1)几种数据存储方式

(1.2)各自的特征(面试现场)

(1.3)首选项(面试网站)

(1.4)存档(面试网站)

(2)技术(SQLite和CoreData)

162,Objective-C堆和堆栈有什么区别?

163,内存泄漏和内存溢出

164,堆放并堆叠

(1)堆栈空​​间分配的差异

(2)堆栈缓存方法的差异

(3)堆栈数据结构的差异

165,内存管理

(1)内存区域

(1.1)堆和堆栈之间的区别

(1.2)iOS内存区域

(2)字符串内存管理

(3)如何优化内存管理

(4)循环引用

(5)使用自动发布

(5.1)为什么factory方法不释放对象

(5.2)使用ARC下自动释放的方案

(5.3)自动发布池的工作方式

(5.4)避免出现内存峰值

ios 线程 进程_ios 死锁 线程_ios多线程面试题

(5.5)ARC和MRC的混合使用

(5.6)NSTimer内存管理

(5.7)ARC的实现原理

166,Runloop

167,fmmpeg框架

168,fmdb框架

169、320帧

170,UIKit与CoreAnimation和CoreGraphics之间是什么关系?您在开发中使用过CoreAnimation和CoreGraphics吗?

171,变形

172,说话与图层和视图之间的区别

173,图层和视图

174. 平行的层次关系

175,图层的能力

176,使用图层

177,核心图纸

(1)视图和图层之间的区别

(2)new和alloc init之间的区别

178,

179,UICollectionView

(1)如何实现瀑布流和流水布局

(2)使用UITableView的区别

180,UIImage181,网络视图

182,描述九宫格算法

183,实现图片轮播图片

184,iOS网络框架

185,网络

(1)网络基础

(2)网络传输

(3)AFN

186,AFNetworking和ASIHttpRequest和MKNetWorking

(1)基本实现

(2)处理服务器返回的数据

(3)监视请求过程

(4)易于在文件下载和文件上传中使用

(5)网络监控

(6)ASI提供的其他实用功能

(7)MKNetworkKit

187,性能优化

188,算法

有一句话,三个人必须有我们的老师. 实际上,作为开发人员,拥有学习氛围和沟通圈尤为重要. iOS高级沟通小组: 458839238,无论您是小白还是丹尼尔,都欢迎您来定居. 每个人都可以交流学习,言语不粗糙,彼此学习,共同进步,共同欢呼.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-217867-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...