美文网首页
17年面试总结

17年面试总结

作者: 文刂丽 | 来源:发表于2017-03-16 14:24 被阅读102次

    1.生命周期(VC,对象);

    2.友盟分享跳转失败的原因有哪些?;

    3.Xcode怎么连接mysql数据库?需要配置哪些东西?

    4.内存管理机制(ARC,MRC),简单说下MRC如何进行内存管理的。单例模式的对象是什么时候回收的?

    http://bbs.itheima.com/thread-303920-1-1.html

    5.做项目中遇到的问题?

    6.之前项目中是如何加载图片的?如果禁用了sd,如何实现一个缓存中间件?

           这段文字请忽略(先在缓存中查找有无该图片,如果缓存中没有,再通过path查找本地中是否有该图片,如果本地没有,通过云端重新下载该图片并将其缓存到缓存中。)

    7.数据持久化(NSUserDefault,CoreData,Sqlite3,keychains。)

    8.NSUserDefault存储形式:键值对;

    NSUserDefault存储机制:

           通过setValueForKey存储的信息最开始是存储在缓存区域里面的,过一段时间后才会存储在本地。所以使用这种方法做数据持久化,如果存完马上就要用,还需要调用一个同步方法,将缓存中的信息存到本地之后再读取信息。

    9.keychains:(这个面试我的老大跟我说的是      不同的app可以共享,传递数据。)

    keychain入门:

    http://www.cnblogs.com/wws19125/p/5211551.html

    http://m.w2bc.com/article/105653

    http://m.blog.csdn.net/article/details?id=18707387

    10.AFNetworking底层实现,原理;如果禁用AF,听过iOS原生的网络请求怎么实现?iOS原生的网络请求有哪些?

    http://www.cocoachina.com/cms/wap.php?action=article&id=18277

    11.列表(UITableview,UICollectionview)如何保证数据唯一性?

    (或者这样说,列表在快速刷新的时候,是否遇见过数据重复问题?你是怎么解决的?)

    12.GCD,NSOperationQueue等多线程问题;

    13.多线程的概念?主要作用?多线程的实现方式有哪几种?如何创建一个线程池?如果线程有优先级又该如何处理?

    iOS线程池:

    http://m.blog.csdn.net/article/details?id=8000581

    iOS多线程:

    http://m.blog.csdn.net/article/details?id=44152605

    这些是我面试了几家公司遇见的问题,总结来说就是基础不够扎实,扩展能力弱。记录在这里,给自己一个反思,同时也提醒下在找工作的iOS程序猿,不要一年的经验用几年,丰富下自己的阅历,你值得更好的舞台。

    后面还会有更新。。

    14.iOS优化    http://m.blog.csdn.net/article/details?id=17241043

    15.iOS调用c库

    16.iOS定时向服务器发送心跳包处理方法:

    http://blog.csdn.net/zj510/article/details/8935683

    可以在网上找一下AsyncSocket这个第三方库,创建socket连接之后启动NSTimer,定时发送心跳包就行。

    17.调用支付接口超时怎么处理?

    http://m.blog.csdn.net/article/details?id=54578528

    http://www.cnblogs.com/mancong/p/5422192.html

    用户支付后,支付宝通过HTTP协议通知网站该订单交易结果。说白了就是支付宝悄悄地告诉网站“这个订单已经已经付款啦”

    值得注意的是,异步通知有重发机制,支付宝需要得到响应为"success"才认为该通知成功被接收,否则会间隔一段时间重发,依次间隔2m,10m,10m,1h,2h,6h,15h,最多8次通知,由notify_id说明是同一个通知 。8次通知都接收失败怎么办?额orz...文档没说,用那个支付宝订单号登录支付宝去查账吧。

    18.在block中可以修改局部变量的值吗?怎么解决的?为什么?

    不可以,在代码块中改变局部变量编译不通过;

    解决办法:在局部变量前面加上关键字:__block;

    __block相当于直接使用了指针,取该变量(&number)地址所指向的值。

    19.极光推送的原理是怎么样的

    20.常用的基本数据类型及应用到的场景

    21.array 特点,自带的排序以及如何完成自定义的排序需要完成的事情?

    NSArray特点:有序、定长、不可变、不可重复

    利用NSArray实现自定义的排序需要实现的类:NSSortDescriptor

    //自定义排序描述符举例    

     NSArray *originalArray = @[                                                    @{@"page_no":@"27",@"age":@24},                                 @{@"page_no":@"1", @"age":@23},                                @{@"page_no":@"1", @"age":@21},                                @{@"page_no":@"1", @"age":@25},                                @{@"page_no":@"1", @"age":@15},                                @{@"page_no":@"12",@"age":@19},                                @{@"page_no":@"23",@"age":@29},                                @{@"page_no":@"3", @"age":@22},                                @{@"page_no":@"2", @"age":@30},                                @{@"page_no":@"17",@"age":@33}                            ];    NSSortDescriptor *alphaNumSD = [NSSortDescriptor sortDescriptorWithKey:@"page_no" ascending:YES comparator:^NSComparisonResult(NSString *string1, NSString *string2) {        return [string1 compare:string2 options:NSNumericSearch];    }];    NSSortDescriptor *dataNumSD = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES comparator:^NSComparisonResult(id data1, id data2) {        return [data1 compare:data2];    }];    NSArray *sortedArray = [originalArray sortedArrayUsingDescriptors:@[alphaNumSD,dataNumSD]];    NSLog(@"%@",sortedArray);

    22.dictionary特点?

    23.json常用的解析方式(三方,oc中自带的)

    24.与js的交互,采用的是什么方式

    25.storyboard与纯代码之间的区别及各自的优缺点

    26.本地存储的几种方式?sqlite3中的缓存机制,除了列表,图片外哪些地方还用到了缓存?如何让本地数据库中的数据跟最新数据同步?

    27.常用的类库(不知道是问第三方库还是系统中的库)

    28.常用的设计模式,每个模式举个例子

    29.版本管理工具,印象最深的作用

    30.mvc与mvvm的区别,mvvm主要解决mvc中的什么问题

    31.NSMutableArray内部是怎么实现可变的?

    32.set特点

    33.storyBoard创建tabbar时设置image和selectImage之后,图片并未正常显示,怎么解决?

    34.iOS沙盒存储常用方法

    相关文章

      网友评论

          本文标题:17年面试总结

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