p_iOS_常见面试

  • 理论篇:
    

1.网络(Http、TCP/UDP、XMPP、Socket等)
http://www.jianshu.com/p/ef5f0bb773c8
http://www.jianshu.com/p/3a4223d33fdf

2.iOS app性能优化
可以参考:
iOS最全性能优化(上)http://www.jianshu.com/p/9c450e512020
iOS最全性能优化(中)http://www.jianshu.com/p/ad90e90dce4f
iOS最全性能优化(下)[http://www.jianshu.com/p/25e2f1ae51d2]

Paste_Image.png

3.数据存储方式、情景(沙盒几种方式、point:FMDB(SQLite))

(1)沙盒结构:
1、Application:存放程序源文件,上架前经过数字签名,上架后不可修改
2、Documents: 保存应⽤运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录
3、tmp: 保存应⽤运行时所需的临时数据,使⽤完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时 不会备份该目录
4、Library/Caches: 保存应用运行时⽣成的需要持久化的数据,iTunes同步设备时不会备份该目录。⼀般存储体积大、不需要备份的非重要数据,比如网络数据缓存存储到Caches下
5、Library/Preference: 保存应用的所有偏好设置,如iOS的Settings(设置) 应⽤会在该目录中查找应⽤的设置信息。iTunes同步设备时会备份该目录

(2)存储方式:
1、plist属性列表存储(如NSUserDefaults)
2、文件存储(如二进制数据写入文件存储,通过NSFileManager来操作将下载起来的二进制数据写一篇文件中存储)
3、NSKeydeArchiver归档存储,常见的是自动化归档/解档处理,想要学习如何通过runtime实现自动化归档/解档,可以阅读文章:[学习通过runtime实现自动化归档/解档](http://www.huangyibiao.com/runtime-archive-unarchive-automaticly/)
4、数据库SQLite3存储(如FMDB、Core Data)

FMDB使用:http://www.jianshu.com/p/624e58eadc74

4.说说各种设计模式(观察者模式、代理模式、工厂模式、单例模式、MVC等)(Block、代理、通知、KVO/KVC:http://www.jianshu.com/p/229134db2c4b

5.RunTime、RunLoop
问题:RunLoop: RunLoop是什么,与主线程和子线程关系、4中mode作用、与NSTimer关系。
5.1.RunLoop是什么:
loop表示某种循环,和run放在一起就表示一直在运行着的循环。实际上,run loop和线程是紧密相连的,可以这样说run loop是为了线程而生,没有线程,它就没有存在的必要。Run loop是线程的基础架构部分, Cocoa 和 CoreFundation都提供了方便配置和管理线程的 run loop (以下都以 Cocoa 为例)。每个线程,包括程序的主线程都有与之相应的run loop。
5.2.与主线程和子线程关系:
主线程的run loop默认是启动的。
对非主线程来说,run loop默认是没有启动的,确切地说,当没有访问过非主线程的run loop时,run loop是不存在的,因为这是一种懒加载。如果你需要做更多的线程交互则可以手动配置和启动,如果线程只是去执行一个长时间的已确定的任务则不需要。
5.3、4中mode作用:


Paste_Image.png

6.多线程


Paste_Image.png
Paste_Image.png

8.各种关键字的使用

把属性分为四类:
1、原子性:nonatomic声明为非原子操作,atomic声明为原子操作。
2、读/写权限:readwrite(读写)、readonly (只读)
3、内存管理相关:assign、strong、 weak、unsafe_unretained、copy
4、方法名:getter= 、setter=set。getter=的样式:@property (nonatomic, getter=isOn) BOOL on;
5、不常用的:nonnull、null_resettable、nullable

ARC下默认关键字:
对于基本数据类型默认关键字是:atomic,readwrite,assign
对于普通的Objective-C对象:atomic,readwrite,strong

assign vs weak, __block vs __weak:
1、assign适用于基本数据类型,weak是适用于NSObject对象,并且是一个弱引用。 assign其实也可以用来修饰对象,那么我们为什么不用它呢?因为被assign修饰的对象在释放之后,指针的地址还是存在的,也就是说指针并没有被置为nil。如果在后续的内存分配中,刚好分到了这块地址,程序就会崩溃掉。 
2、而weak修饰的对象在释放之后,指针地址会被置为nil。所以现在一般弱引用就是用weak。 
3、首先__block是用来修饰一个变量,这个变量就可以在block中被修改(参考block实现原理) __block:使用__block修饰的变量在block代码快中会被retain(ARC下,MRC下不会retain) __weak:使用__weak修饰的变量不会在block代码块中被retain 同时,在ARC下,要避免block出现循环引用 __weak typedof(self)weakSelf = self;
Paste_Image.png

9.对常用框架的原理与使用(AFN、RAC、React Native等)

10.其他重要问题:
参考---标哥技术博客:http://www.huangyibiao.com/archives/348

  • 实践篇:
    

1.推送通知、即时通信、视频音频、分享与第三方登录、支付、动画效果、地图、蓝牙、
2.直播技术、与web前端交互、跨平台开发、RAC使用、
3.项目开发中遇到过什么印象深刻的坑,上架要注意的点

  • 重温篇:
    手生的时候,敲一个项目就好了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,387评论 25 707
  • Runloop 做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用A...
    GitHubPorter阅读 6,040评论 7 17
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,119评论 29 470
  • 农历八月十六,中秋次日,出发北马的进京列车一点点向北行驶,列车广播响起:下一站济南站,请下车的乘客准备好...脑海...
    songer007阅读 1,010评论 5 1
  • 因为爱,经得起等待,最后他们在一起了。 高中时期的恋爱就像咬了一口青苹果,虽然青涩,但也带着一丝侥幸的窃喜,起码你...
    愤愤愤小青阅读 721评论 2 2