2019 iOS面试题总结(题目及答案已上传Githup)

Objective_C语言特性

一、分类
二、扩展
三、代理(Delegate)
四、通知(NSNotification)
五、KVO (Key-value observing)
六、KVC(Key-value coding)
七、属性关键字

runloop

一、RunLoop概念
二、RunLoop的数据结构
三、RunLoop的Mode
四、RunLoop的实现机制
五、RunLoop与NSTimer
六、RunLoop和线程

runtime

  • objc在向一个对象发送消息时,发生了什么?
  • objc中向一个nil对象发送消息将会发生什么?
  • objc中向一个对象发送消息[obj foo]和objc_msgSend()函数之间有什么关系?
  • 什么时候会报unrecognized selector的异常?
  • 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?
  • 给类添加一个属性后,在类结构体里哪些元素会发生变化?
  • 一个objc对象的isa的指针指向什么?有什么作用?
  • [self class] 与 [super class]
  • runtime如何通过selector找到对应的IMP地址?
  • _objc_msgForward函数是做什么的,直接调用它将会发生什么?
  • runtime如何实现weak变量的自动置nil?知道SideTable吗?
  • isKindOfClass 与 isMemberOfClass
  • 使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么?
  • 什么是method swizzling(俗称黑魔法)
  • Compile Error / Runtime Crash / NSLog…?
  • 代码题(一)
  • 代码题(二)

####UI相关

一、UIView与CALayer
二、事件传递与视图响应链
三、图像显示原理
四、UI卡顿掉帧原因
五、滑动优化方案
六、UI绘制原理
七、离屏渲染

Block相关面试题

一、什么是Block?
二、Block变量截获
三、Block的几种形式

多线程

一、 进程
二、 线程
三、 进程和线程的关系
四、 多进程
五、 多线程
六、任务
七、队列
八、iOS中的多线程
九、GCD---队列
十、死锁
十一、GCD任务执行顺序
十二、dispatch_barrier_async
十三、dispatch_group_async
十四、Dispatch Semaphore
十五、延时函数(dispatch_after)
十六、使用dispatch_once实现单例
十七、NSOperationQueue的优点
十八、NSOperation和NSOperationQueue
十九、NSThread+runloop实现常驻线程
二十、自旋锁与互斥锁

内存管理

一、内存布局
二、内存管理方案
三、MRC(手动引用计数)和ARC(自动引用计数)
四、循环引用

算法面试题

1、不用中间变量,用两种方法交换A和B的值
2、求最大公约数
3、模拟栈操作
4、排序算法
5、折半查找(二分查找)
6、集合结构 线性结构 树形结构 图形结构
7、数据结构的存储
8、单向链表\双向链表\循环链表
9、二叉树/平衡二叉树
10、过河经典问题,超详细解析
11、字符串反转
12、有序数组合并
13、HASH算法
14、查找两个子视图的共同父视图
15、求无序数组中的中位数

网络相关

一、请求报文和响应报文
二、HTTP的请求方式
三、HTTP的特点
四、HTTPS和HTTP的区别
五、HTTPS的连接建立流程
六、对称加密和非对称加密
七、分别用C语言、python、GCDAsyncUdpSocket来实现UDP通信
八、利用python实现Udp通信demo
九、iOS端基于UDP的简易聊天demo

性能优化

1.基本概念
2.怎么检测离屏渲染:
3.怎么检测图层混合:
4.光栅化
5.入门级
6.中级
7.高级

75道程序员逻辑思维面试题

持续更新中,记得收藏关注哦!.....

原文地址:https://blog.51cto.com/14121524/2412956

时间: 2024-08-29 12:57:08

2019 iOS面试题总结(题目及答案已上传Githup)的相关文章

备战九十,iOS面试题菜单,持续更新(题目及答案已上传Github)

Objective_C语言特性 (戳这里跳转到Github) 分类 扩展 代理(Delegate) 通知(NSNotification) KVO (Key-value observing) KVC(Key-value coding) 属性关键字 runloop (戳这里跳转到Github) RunLoop概念 RunLoop的数据结构 RunLoop的Mode RunLoop的实现机制 RunLoop与NSTimer RunLoop和线程 讲一下 Observer ? autoreleasePo

ios APP 在 waiting for review时重新上传程序

点击details进入后在link点击binary details,进入之后点击右上角reject this binary,然后就可以重新上传了.ios APP 在 waiting for review时重新上传程序

iOS 使用AFN 进行单图和多图上传 摄像头/相册获取图片,压缩图片

图片上传时必要将图片进行压缩,不然会上传失败 首先是同系统相册选择图片和视频.iOS系统自带有UIImagePickerController,可以选择或拍摄图片视频,但是最大的问题是只支持单选,由于项目要求需要支持多选,只能自己自定义.获取系统图库的框架有两个,一个是ALAssetsLibrary,兼容iOS低版本,但是在iOS9中是不建议使用的:另一个是PHAsset,但最低要求iOS8以上.兼容到iOS7,可以选择了ALAssetsLibrary 现在我们先说选择一张图的情况 一.单图多图上

iOS开发之AFNetworking实现数据传输和文件上传

//传输数据 1 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 2 manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 3 manager.requestSerializer = [AFHTTPRequestSerializer serializer]; 4 5 //2.设置登录参数 6 NSDi

iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b

用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 相关资料和下载 首先是打包脚本的下载地址,这个是我找到的比较全的一个,里面有很多不同功能的shell脚本,亲测好用,传送门:https://github.com/heyuan110/BashShell?spm=5176.100239.blogcont5028.4.kFcLtR 还有关于fir指令的一

iOS学习:调用相机,选择图片上传,带预览功能

一.新建工程 <ignore_js_op> 二.拖控件,创建映射 <ignore_js_op> 三.在.h中加入delegate @interface ViewController : UIViewController 复制代码 四.实现按钮事件 -(IBAction)chooseImage:(id)sender { UIActionSheet *sheet; // 判断是否支持相机 if([UIImagePickerController isSourceTypeAvailable

[PHP 作为iOS后台Json格式HTTP通信及文件上传的实现]

1.数据库连接 configmysql.php <?php $q = mysql_connect("localhost:8889","root","root"); if(!$q) { die('Could not connect: ' . mysql_error()); } mysql_query("set names utf8"); //以utf8读取数据 //mysql_select_db("myDB&qu

iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上

如果移动端访问不佳,可以访问我的个人博客 用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 相关资料和下载 首先是打包脚本的下载地址,这个是我找到的比较全的一个,里面有很多不同功能的shell脚本,亲测好用,传送门 还有关于fir指令的一些介绍可以去这里查看,传送门 第一步安装fir-cil fir-cli 使用 Ruby 构建, 无需编译, 只要

iOS多线程与网络开发之小文件上传

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源代码传送:http://dwz.cn/Nret1 A.文件上传 思路: 发送文件数据给server 使用post请求 必须手动设置请求头: 内