面试
蚂蚁金服面试
1:在KVO中,他是怎么知道监听的对象发生了变化?
2:字典的工作原理 ?怎100w个中是怎么快速去取value?
3:一个上线的项目,知道这个方法可能会出问题,在不破坏改方法前提下,怎么搞?
4:Block和函数指针的区别?
支付宝面试题:1.iOS多线程有哪些?他们之间各有什么区别,优劣性?2.UIView和NSObject这两个类,所有里面的方法和原理都需要了解一下。3.Runloop和线程的关系?4.Runloop的作用?RunloopMode的原理?
阿里p5二面(后续更新答案)
1. 怎么判断某个 cell 是否显示在屏幕上
2. 进程和线程的区别
3. TCP 与 UDP 区别
4. TCP 流量控制
5. 数组和链表的区别
6. UIView 生命周期
7. 如果页面 A 跳转到 页面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪个先调用?
8. block 循环引用问题
9. ARC 的本质
10. RunLoop 的基本概念,它是怎么休眠的?
11. Autoreleasepool 什么时候释放,在什么场景下使用?
12. 如何找到字符串中第一个不重复的字符
13. 哈希表如何处理冲突
搜狗iOS面试题:
1.iOS应用的文件目录都是什么?缓存文件存在哪个文件里?它的上一层是什么?
2.SDWebImage图片处理原理?
3.SDWebImage在iOS9 3dtouch下出现的问题?
4.NSArray和NSMutableArray在Copy和MutableCopy下的内存是怎样的?
5.用户下载一个图片,图片很大,需要分成很多份进行下载,使用GCD应该如何实现?使用什么队列?
6.现有两个人和一张桌子,两个人依次在桌子上放硬币,硬币不能叠放、立着,若一方找不到放的位置则失败。若你在玩这个游戏,设计一个算法必赢。
7.现有n个物品和一个体积为V的包,每件物品的体积是ci,价格是wi,现在请你往包中放,每件物品只能放一次,怎么放能让包的价格最大。
杭州-口碑-p6-7 面试题
1.Nsstring栈空间占了多少?
2.SD最大支持多少个下载数?
3.yykit如何异步渲染?
4.runtime动态创建一个类,需要注意什么?
5.runloop和线程有和关系?
6.你平时做过什么有技术难点的东西,然后解决难点
7.你是如何学习iOS,看什么网站,列举几个国外的学习网站?
8.技术架构如何搭建?
9.还有一个很长字符串,你用什么算法搜索到abc的位置?
10.字符串如何预处理?
11.https和ssl在握手方向有什么区别?
你们自己先尝试回答,能回答出来哪怕1个,可以私聊把答案给我!我给你们整理
饿了么面试题:
你了解哪些iOS底层知识
* automic一定是线程安全的吗
* iOS中的消息传递是怎么一步一步实现的
* category和extension有什么区别
* iOS中的私有属性如何设置
* 串行队列和同步锁两者在保护线程安全上的性能对比
* 并行队列是同时执行的吗
* iOS中有哪些锁,你了解多少
* iOS中UIKit框架的架构
* UIView和CALayer之间的关系
* UIView、CoreAnimation和CoreGraphics的关系
* 应该知道SegmentFault,这个在iOS中是什么错误,那StackOverFlow呢
* GCD、NSThread、NSOperation性能上有何区别
百度iOS面试题:
1.Delegate 、Notification和KVO比较各自的优缺点
2.在一个UI的正中间实现一个正方形的红色视图有几种方式?
3.手触碰到屏幕的时候,响应机制是怎样的?第一响应者是谁?追问 UIView和UIResponse的关系是什么?
4。UIViewController的生命周期是什么?追问 UIViewController 只alloc而没用到的时候,UIViewController 的view是否加载了?如果没有加载那什么时候加载?
5.直接用UILabel和自己用DrawRect画UILabel,哪个性能好?为什么?哪个占用的内存少?为什么?
6.AFNetworking是否支持ipv6?
7.项目采用64位,为什么要用64位?怎么修改成64位?i386是什么?他们有什么关系?
8.iOS的应用程序有几种状态?追问,退到后台代码是否可以执行?双击home键,代码是否可以执行?
9.一般使用的图标内存为多大?比如200×300的图片,内存应该占用多少比较合理?
10.说说你对内存泄漏的看法,追问,block为什么容易引起内存泄漏?
11.[object copy]是浅拷贝还是深拷贝?为什么是浅拷贝?copy是实现了哪个协议?
12.Images.xcassets和直接用图片有什么不一样?
1.Nsstring占用多少内存?
2.SD最大支持多少个下载数?
3.yykit如何异步渲染?
4.runtime动态创建一个类,需要注意什么?
5.runloop和线程有和关系?
6.你平时做过什么有技术难点的东西,然后解决难点
7.你是如何学习iOS,看什么网站,列举几个国外的学习网站?
8.技术架构如何搭建?
9.还有一个很长字符串,你用什么算法搜索到abc的位置?
10.字符串如何预处理?
11.https和ssl在握手方向有什么区别?
12.还有,你平时很忙,怎么学习和积累技术
13.怎么防止别人动态在你程序生成代码
14.怎么防止反编译
搜狗iOS面试题:
1.iOS应用的文件目录都是什么?缓存文件存在哪个文件里?它的上一层是什么?
2.SDWebImage图片处理原理?
3.SDWebImage在iOS9 3dtouch下出现的问题?
4.NSArray和NSMutableArray在Copy和MutableCopy下的内存是怎样的?
5.用户下载一个图片,图片很大,需要分成很多份进行下载,使用GCD应该如何实现?使用什么队列?
6.现有两个人和一张桌子,两个人依次在桌子上放硬币,硬币不能叠放、立着,若一方找不到放的位置则失败。若你在玩这个游戏,设计一个算法必赢。
7.现有n个物品和一个体积为V的包,每件物品的体积是ci,价格是wi,现在请你往包中放,每件物品只能放一次,怎么放能让包的价格最大。
app从点击 到展示到首页都做了什么
第二个 tableview 怎么优化
第三个 image绘制到页面上的时候 都是做了什么
load方法 appdelegate方法 main方法执行顺序
校验ip 用什么算法
输入一个url 到页面展示出来 底层都做了什么
sd底层代码 image编解码 怎么做的
阿里三面面试题:
1.dSYM你是如何分析的?
2.多线程有哪几种?你更倾向于哪一种?
3.单例弊端?
4.如何把异步线程转换成同步任务进行单元测试?
5.介绍下App启动的完成过程?
6.比如App启动过慢,你可能想到的因素有哪些?
7.0x8badf00d表示是什么?
8.怎么防止反编译?
9.说说你遇到到的技术难点?
10.说说你了解的第三方原理或底层知识?
1.MVC具有什么样的优势,各个模块之间怎么通信,比如点击 Button 后 怎么通知 Model?
2. 两个无限长度链表(也就是可能有环) 判断有没有交点
3. UITableView的相关优化
4. KVO、Notification、delegate各自的优缺点,效率还有使用场景
5. 如何手动通知KVO
6. Objective-C 中的copy方法
7. runtime 中,SEL和IMP的区别
8. autoreleasepool的使用场景和原理
9. RunLoop的实现原理和数据结构,什么时候会用到
10. block为什么会有循环引用
11. 使用GCD如何实现这个需求:A、B、C 三个任务并发,完成后执行任务 D。
12. NSOperation和GCD的区别
13. CoreData的使用,如何处理多线程问题
14. 如何设计图片缓存?
15. 有没有自己设计过网络控件?
p6-7 面试题
1.Nsstring占用多少内存?
2.SD最大支持多少个下载数?
3.yykit如何异步渲染?
4.runtime动态创建一个类,需要注意什么?
5.runloop和线程有和关系?
6.你平时做过什么有技术难点的东西,然后解决难点
7.你是如何学习iOS,看什么网站,列举几个国外的学习网站?
8.技术架构如何搭建?
9.还有一个很长字符串,你用什么算法搜索到abc的位置?
10.字符串如何预处理?
11.https和ssl在握手方向有什么区别?
12.还有,你平时很忙,怎么学习和积累技术
13.怎么防止别人动态在你程序生成代码
14.怎么防止反编译
搜狗面试题:1.AutoreleasePool 什么时候释放?讲讲原理?2.谈谈你对 MVC 的理解?3.用过 BlocksKit 吗?谈谈原理? 4.交互式转场动画的实现思路? 5.objc 对象和类的内部布局?6.weak 和 assign 的区别?weak 自动设置为 nil 怎么实现的?你在哪些场景使用过weak?7.NSstring *str = @“abc”;这句涉及到几块存储区域?8.block 的使用需要注意什么?MRC 下为什么要用 copy 修饰?谈谈你对 block 捕捉变量的理解?9.你平常通过什么方式学习 iOS?10.最近学习了哪些技术?