美文网首页
ios面试题

ios面试题

作者: 看谷秀 | 来源:发表于2021-04-19 10:15 被阅读0次
    初级面试题
    1 #import 跟#include、@class有什么区别?#import<> 跟 #import""又什么区别?
    
    2 属性关键字strong,weak,retain,assign,copy nomatic,readonly作用
    
    3 View 视图的生命周期
    
    4 static 关键字的作用
    
    5 ios数据存储 数据持久化方式有哪几种, 有什么区别?
    
    6 ios管理内存的机制是什么(聊ARC及引用计数)
    
    7 
    
    8 通知和代理的区别
    
    9 什么是KVC和KVO?
    
    10 深拷贝和浅拷贝的区别
    
    11 单例模式及实现过程
    
    12 关于多态的理解
    
    13 ios常用的多线程有几种,谈谈他们之间的区别和联系
    
    14 类别和类扩展的区别
    
    15 atomic作用是什么,怎么实现的
    
    16 对于语句NSString*obj = [[NSData alloc] init]; ,编译时和运行时obj分别是什么类型?
    
    17 ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是什么?
    
    18 什么是懒加载
    
    19 @property 的本质是什么?
    
    20 谈谈你是怎么屏幕适配的
    
    中级面试题
    1 UIView 和 CALayer 是什么关系?
    
    2 setNeedsDisplay 和 layoutIfNeeded 两者是什么关系?
    
    3 触摸事件传递,响应者链
    
    4 UITableViewCell的卡顿你是怎么优化的?
    
    5 atomic 修饰的属性是绝对安全的吗?为什么?
    
    6 [load和initialize的区别](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FRuntime.html%23_9-load%25E5%2592%258Cinitialize%25E7%259A%2584%25E5%258C%25BA%25E5%2588%25AB) 
    
    7 你认为开发中那些导致crash?
    
    8 BAD_ACCESS在什么情况下出现?
    
    9 组件化有什么好处?
    
    10 谈谈你在日常开发中的处理内存管理手段,场景.
    
    11 __weak及__block区别
    
    12 runloop和线程有什么关系?
    
    13 runloop的mode作用是什么?
    
    14不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vc的viewDidLoad中创建)
    
    15 使用block时什么情况会发生引用循环,如何解决? 注意点及怎么修改外部变量?
    
    16 使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?
    
    17 如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)
    
    18 实现一个轮播图
    
    高级面试题
    源码分析 
    
    1 DWebImage源码分析 
    
    2 AFNetWorking源码分析
    
    3 常用的刷新三方库 源码分析
    
    综合
    
    4介绍下App启动的完成过程?
    
    5 KVO底层实现原理?
    
    6 为什么一定要在主线程里面更新UI?——UIKit
    
    7 weak修饰的释放则自动被置为nil的实现原理
    
    8 autoreleasepool的原理和使用场景?
    
    9 categroy为什么不能添加属性?怎么实现添加?与Extension的区别?category覆盖原类方法?多个category调用顺序
    
    10 Block实现原理,开发注意事项?局部变量捕获流程
    
    11 单例模式的理解,优点及缺点
    
    **多线程**
    
    12 日常多线程使用场景
    
    13 日常怎么处理多线程线程安全的
    
    14 实现一个多读单写
    
    **Runtime  **
    
    15 [runtime具体应用](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FRuntime.html%23_6-runtime%25E5%2585%25B7%25E4%25BD%2593%25E5%25BA%2594%25E7%2594%25A8)
    
    16 [isa指针的理解,对象的isa指针指向哪里?isa指针有哪两种类型?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FRuntime.html%23_2-isa%25E6%258C%2587%25E9%2592%2588%25E7%259A%2584%25E7%2590%2586%25E8%25A7%25A3%25EF%25BC%258C%25E5%25AF%25B9%25E8%25B1%25A1%25E7%259A%2584isa%25E6%258C%2587%25E9%2592%2588%25E6%258C%2587%25E5%2590%2591%25E5%2593%25AA%25E9%2587%258C%25EF%25BC%259Fisa%25E6%258C%2587%25E9%2592%2588%25E6%259C%2589%25E5%2593%25AA%25E4%25B8%25A4%25E7%25A7%258D%25E7%25B1%25BB%25E5%259E%258B%25EF%25BC%259F)
    
    17 [runtime如何通过selector找到对应的IMP地址?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FRuntime.html%23_7-runtime%25E5%25A6%2582%25E4%25BD%2595%25E9%2580%259A%25E8%25BF%2587selector%25E6%2589%25BE%25E5%2588%25B0%25E5%25AF%25B9%25E5%25BA%2594%25E7%259A%2584imp%25E5%259C%25B0%25E5%259D%2580%25EF%25BC%259F)
    
    1[8.简述下Objective-C中调用方法的过程](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FRuntime.html%23_8-%25E7%25AE%2580%25E8%25BF%25B0%25E4%25B8%258Bobjective-c%25E4%25B8%25AD%25E8%25B0%2583%25E7%2594%25A8%25E6%2596%25B9%25E6%25B3%2595%25E7%259A%2584%25E8%25BF%2587%25E7%25A8%258B)(转发)
    
    [19.怎么理解Objective-C是动态运行时语言。](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FRuntime.html%23_9-load%25E5%2592%258Cinitialize%25E7%259A%2584%25E5%258C%25BA%25E5%2588%25AB)
    
    **runloop的理解**
    
    20 谈谈Runloop的理解及日常应用?
    
    **性能优化**
    
    2[1.造成tableView卡顿的原因有哪些?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FPerformance-optimization.html%23_1-%25E9%2580%25A0%25E6%2588%2590tableview%25E5%258D%25A1%25E9%25A1%25BF%25E7%259A%2584%25E5%258E%259F%25E5%259B%25A0%25E6%259C%2589%25E5%2593%25AA%25E4%25BA%259B%25EF%25BC%259F)
    
    2[2.如何提升 tableview 的流畅度?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FPerformance-optimization.html%23_2-%25E5%25A6%2582%25E4%25BD%2595%25E6%258F%2590%25E5%258D%2587-tableview-%25E7%259A%2584%25E6%25B5%2581%25E7%2595%2585%25E5%25BA%25A6%25EF%25BC%259F)
    
    2[3.APP启动时间应从哪些方面优化?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FPerformance-optimization.html%23_3-app%25E5%2590%25AF%25E5%258A%25A8%25E6%2597%25B6%25E9%2597%25B4%25E5%25BA%2594%25E4%25BB%258E%25E5%2593%25AA%25E4%25BA%259B%25E6%2596%25B9%25E9%259D%25A2%25E4%25BC%2598%25E5%258C%2596%25EF%25BC%259F)
    
    2[4.如何降低APP包的大小](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FPerformance-optimization.html%23_4-%25E5%25A6%2582%25E4%25BD%2595%25E9%2599%258D%25E4%25BD%258Eapp%25E5%258C%2585%25E7%259A%2584%25E5%25A4%25A7%25E5%25B0%258F)
    
    2[5.如何检测离屏渲染与优化](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FPerformance-optimization.html%23_5-%25E5%25A6%2582%25E4%25BD%2595%25E6%25A3%2580%25E6%25B5%258B%25E7%25A6%25BB%25E5%25B1%258F%25E6%25B8%25B2%25E6%259F%2593%25E4%25B8%258E%25E4%25BC%2598%25E5%258C%2596)
    
    2[6.日常如何检查内存泄露?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FPerformance-optimization.html%23_6-%25E6%2597%25A5%25E5%25B8%25B8%25E5%25A6%2582%25E4%25BD%2595%25E6%25A3%2580%25E6%259F%25A5%25E5%2586%2585%25E5%25AD%2598%25E6%25B3%2584%25E9%259C%25B2%25EF%25BC%259F)
    
    **调试技巧**
    
    27常用的调试手段是什么
    
    28[常见的崩溃类型有哪些?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FDebug-tips.html%23_3-ios-%25E5%25B8%25B8%25E8%25A7%2581%25E7%259A%2584%25E5%25B4%25A9%25E6%25BA%2583%25E7%25B1%25BB%25E5%259E%258B%25E6%259C%2589%25E5%2593%25AA%25E4%25BA%259B%25EF%25BC%259F)
    
    **网络**
    
    [29 .Http 和 Https 的区别?Https为什么更加安全?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FNetwork.html%23_2-http-%25E5%2592%258C-https-%25E7%259A%2584%25E5%258C%25BA%25E5%2588%25AB%25EF%25BC%259Fhttps%25E4%25B8%25BA%25E4%25BB%2580%25E4%25B9%2588%25E6%259B%25B4%25E5%258A%25A0%25E5%25AE%2589%25E5%2585%25A8%25EF%25BC%259F)
    
    30 [.解释一下 三次握手 和 四次挥手](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FNetwork.html%23_4-%25E8%25A7%25A3%25E9%2587%258A%25E4%25B8%2580%25E4%25B8%258B-%25E4%25B8%2589%25E6%25AC%25A1%25E6%258F%25A1%25E6%2589%258B-%25E5%2592%258C-%25E5%259B%259B%25E6%25AC%25A1%25E6%258C%25A5%25E6%2589%258B)
    
    31 [TCP 和 UDP的区别](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FNetwork.html%23_5-tcp-%25E5%2592%258C-udp%25E7%259A%2584%25E5%258C%25BA%25E5%2588%25AB)
    
    32 Scoket连接和HTTP连接的区别:
    
    33 [Cookie和Session](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FNetwork.html%23_6-cookie%25E5%2592%258Csession)
    
    **数据安全及加密 **
    
    34 [.对称加密和非对称加密的区别?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FData-encryption.html%23_1-%25E5%25AF%25B9%25E7%25A7%25B0%25E5%258A%25A0%25E5%25AF%2586%25E5%2592%258C%25E9%259D%259E%25E5%25AF%25B9%25E7%25A7%25B0%25E5%258A%25A0%25E5%25AF%2586%25E7%259A%2584%25E5%258C%25BA%25E5%2588%25AB%25EF%25BC%259F)
    
    35[.简述 SSL 加密的过程用了哪些加密方法,为何这么作?](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FData-encryption.html%23_2-%25E7%25AE%2580%25E8%25BF%25B0-ssl-%25E5%258A%25A0%25E5%25AF%2586%25E7%259A%2584%25E8%25BF%2587%25E7%25A8%258B%25E7%2594%25A8%25E4%25BA%2586%25E5%2593%25AA%25E4%25BA%259B%25E5%258A%25A0%25E5%25AF%2586%25E6%2596%25B9%25E6%25B3%2595%25EF%25BC%258C%25E4%25B8%25BA%25E4%25BD%2595%25E8%25BF%2599%25E4%25B9%2588%25E4%25BD%259C%25EF%25BC%259F)
    
    [36.iOS的签名机制是怎么样的](https://links.jianshu.com/go?to=https%3A%2F%2Fios.nobady.cn%2FData-encryption.html%23_3-ios%25E7%259A%2584%25E7%25AD%25BE%25E5%2590%258D%25E6%259C%25BA%25E5%2588%25B6%25E6%2598%25AF%25E6%2580%258E%25E4%25B9%2588%25E6%25A0%25B7%25E7%259A%2584)
    
    **项目架构**
    
    37 分别谈谈MVC、MVP、MVVM模式
    
    **后记**
    
    38 开发遇见的难点及解决方案
    
    swift篇
    1 对比oc及swift两种语言
    
    2 Swift 中struct、Class的区别 (final)
    
    3 举例说明Swift 里面有哪些类型是 OC 中没有的?
    
    4 Swift 中如何阻止方法, 属性 下标 被子类改写?
    
    5 什么叫 逃逸闭包? 如何让一个 自动闭包可以”逃逸”?
    
    6 OC与Swift混编,怎么互相调用
    

    相关文章

      网友评论

          本文标题:ios面试题

          本文链接:https://www.haomeiwen.com/subject/nqqilltx.html