本文共 6119 字,大约阅读时间需要 20 分钟。
判断网络状态-----------
获取设备唯一标识,判断是否时在手机上第一次下载,用户是否是第一次使用-----------
沙盒存储-------------
NSCache缓存-------------
清除缓存------------------
网络请求图片SDWebImage------------
第三方登录时,判断是否装了第三方的客户端---------
自动布局-------Masory------ ---
模态UIPopPresentationController----------------
多线程GCD和NSOperation和NSThread------------
GCDSocket和socket----------------------
即时通讯环信和融云---------------
更改host重定向------------
打电话/发短信/发邮件-----------
设置返回按钮-------------
设置延长后台运行时间-----------
解决navigation盒scrollview上移的问题----------------
从appstore中获取app应用程序版本等信息---------------
IPV6域名转IP----------------
控制器界面之间的传值---------------
MBProgress的用法--------------
跳转到apostore更新和评价------------
加载的控制的几中方式---------------
常见的编译错误--------------
发布到appstore的流程和更新流程--------------
AFNnetworking用法---------------
原生网络请求NSURLSession和上传updateLoad和下载-dow nLoad和dataTask-------------
支付宝和微信集成------------
百度地图和苹果自身API------------
天气应用--------------
字典转模型和MJExtention----------
加载数据刷新和MJRefresh-----------
CALayer属性---------------
绘图------绘制图表曲线,趋势图--------
动画------------
UIDyNamic仿真动画--------------
视频和录像---------------
音频和录音------------
相册---------------
instrument检测分析----------
富文本NSAtrributedStirng/TextKit和CoreText--------------
CoreImage-------------
屏幕旋转-----------
strong weak assign copy修饰属性--------------
touch事件------------------------
状态栏设置--------------
corefoundation和foundation的桥接问题-----------------
黄色文件夹和绿色文件夹-------------
单利-------------------
代码性能测试测试运行时间-----------
内存分区和static---------------
scrollView ------------------
输出格式控制符-----------------
UIAlertViewController和UIAlertView--------------
collectionView和TableView-插入编辑删除-------------
openFire 和webdav 和 apache服务器-------------------
网络通信原理-OSI七层模型------------
cocoaPods-------------
git-------------
svn------------
手势------------
数据库存储sqlite和coreData和FMDB-------------
javascript和OC互相调用------------
UIWebView-------- WKWebview-------
reactiveCoaoa----响应式编程---------
UISearchBar和UISearchController-------------------
UIPickView和 UIDataPickView--------------
block中的循环应用问题-------------
响应者链条------------------------
消息循环原理------------------
静态库和动态库----------------
延迟执行的方法----------------
block-----------------
KVO-------------
KVC-------------
本地推送和与远程推送/极光推送---------------
内购------------
storyBoard-------------
UITabBarController-------------
控制器跳转------------
人脸识别-------------
语音识别--------------
通讯录------------
指纹识别--------------
传感器-------------
应用间跳转----------------
分享/友盟/sharedSDK/系统分享----------
登陆短信验证-------------
日历和日期-------------------
剪贴板UIPasteboard genaneralPasteboard-----------------
description 和descriptionWithLocale解决中文问题:
加密问题------------
定时器NSTime和CADisplayLink------------
屏幕截图----------------
图片渲染和图片拉伸-------------
二维码应用----------
蓝牙----------------
视屏截图和视屏压缩------------
通知的使用-------------
UIT extField/UITextView -------------
键盘的使用-----------------
UIApplication--------------
通用设置导航栏-----------------
控制器的生命周期-------------
物联网--------------
直播---------------
电商-----------------
runtime-----------
埋点统计------------
emoji--------
新特性--------------
XML解析/HTML解析-/Hpple/ElementParse-----------
钥匙串保存---------------
UISearchBarController/UISearchBar---------
AVFoundation自定义相机-----------------
蓝牙-------------
IPAD——————————
即时通讯---------
SOCKET————————
网络七层模型--------------
http,https,tcp,udp,-------------
=================================================================
记住密码------------
忘记密码------------
密码不对闪退,断网闪退-----------
==================================
swift
===============有用的第三方框架=======
YYKit---------符合性框架;
sdwebimage----------自动加载图片框架
masonry-------自动布局框架
MJRefresh--------刷新框架
MJEXTENSION---------字典转模型
//+++++++++++++++++++++面试题库
1.KVO的原理
2.KVC的原理:
3.AFN原理:
4.SDWEBIMAGE原理:
5.MJRefresh
6.fmdb
7.https
8.第三方授权登录原理
9.单利的原理和应用场景
10.coredata
11.mjextention
12.apn远程推送的原理,极光推送
13.消息循环原理
14.多线程
15.block循环引用的原因及解决方法
16.运行时runtime
17.深拷贝,浅拷贝,copy,weak,retain,assign
18.友盟分享
19.支付宝,微信
===============C语言中
corefoundation------
quartzCore--------绘图
coreGraphic--------图片处理
coreImage-------图片处理
CFNetWork----------网络通信
CoreAudio-----用来操作设备上的音频硬件
CoreText-------处理文本样式
React Native-------facebook的开发框架
weex--------基于vue的h5的开发框架
小程序---百度,阿里,微信,
公众号,
flutter-------google发布的android和iOS混合开发平台
*******************面试:
runloop---------
runtime---------
http------、、
tcp、udp、socket的基本实现,数据传输阻塞、并发、粘包问题-------------(UDP、TCP)-、、、、、(阻塞、粘包、问题)、
block内部原理----------------、
tableview优化、缓存池机制原理-------------------、
js与oc互相调用-----------------、
蓝牙相关---------------
相机录像、音视频、直播相关、二维码---------------、(视频播放)、、(视频播放)、(相机)、、(视频压缩)、(二维码)、
多线程GCD的原理和使用、信号量、调度组、NSOperation依赖--------------------、、
app抓包---、
防抓包----1.监测网络代理,有代理不允许请求 2.服务器要发送的公钥存在客户端本地,用于验证。3.token机制+RSA加密。
逆向、安全问题-、加密设计-------------
直播----------
视频编码、解码------
即时通信---------
PDF相关技术-------
app直播与硬件交互----------
KVC原理-------
sdwebimage实现原理----
让sdwebimage不缓存图片,每次都重新加载url:
本地缓存了图片,但是后台修改了图片,刷新时怎样处理:可以跟后台协商好,后台更新了图片,就把url的文件名也该了,这样url就改变了,本地查找不到就重新下载。
kvo------
自动登录的实现原理------
APP网络请求中token失效的处理方法一:--------网络请求返回中判断是否是token失效,在VC基类中设置一个通知(add注册通知),当token失效直接发送一个通知告诉VCtoken失效,然后做下一步的处理(这样做可能每一个继承基类VC的页面都能收到通知,在当前控制器销毁或者返回到上一个页面的时候移除通知)。
***token处理方法2,在AFN的回调中判断token是否过期,发送通知到tabBarcontroller,做一个token的标识,如果token失效且已经发送了通知设为0,同时其他的请求返回token失效后不发送通知。等到新的token返回后再把token的标识设置为非0。
//第一种方法.这里可以移除该控制器下的所有通知 // 移除当前所有通知 NSLog(@"移除了所有的通知"); [[NSNotificationCenter defaultCenter] removeObserver:self];
//第二种方法.这里可以移除该控制器下名称为tongzhi的通知 //移除名称为tongzhi的那个通知 NSLog(@"移除了名称为tongzhi的通知"); [[NSNotificationCenter defaultCenter] removeObserver:self name:@"tongzhi" object:nil]。
***把token配置到afn的config中:以后每次不用传token,方法:
NSURLSessionConfiguration
* configuration = [
NSURLSessionConfiguration
defaultSessionConfiguration];
configuration.HTTPAdditionalHeaders = @{@
"Authorization"
:[
NSString
stringWithFormat:@
"Bearer %@"
,token]};
self和super的区别-----
【self class】:返回当前类。
self 是类的隐藏的参数,指向当前当前调用方法的类,另一个隐藏参数是_cmd,代表当前类方法的selector。这里只关注这个self。super是个 啥?super并不是隐藏的参数,它只是一个“编译器指示符”,它和self指向的是相同的消息接收者,拿上面的代码为例,不论是用[self setName]还是[super setName],接收“setName”这个消息的接收者都是son这个对象。不同的是,super告诉编译器,当调用setName的方法时,要去调用父类的方法,而不是本类里的,super只是指示符的作用没有实际意义。
当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用super时,则从父类的方法列表中开始找。然后调用父类的这个方法。
响应者连、消息传递机制--------
转载地址:http://yzmgi.baihongyu.com/