1 客户端安全性处理方式?

1> 网络数据传输(敏感数据[账号\密码\消费数据\银行卡账号], 不能明文发送)

2> 协议的问题(自定义协议, 游戏代练)

3> 本地文件存储(游戏的存档)

4> 源代码

  1. sip是什么?

1> SIP(Session Initiation Protocol),会话发起协议

2> SIP是建立VOIP连接的 IETF 标准,IETF是全球互联网最具权威的技术标准化组织

3> 所谓VOIP,就是网络电话,直接用互联网打电话,不用耗手机话费

  1. 有些图片加载的比较慢怎么处理?你是怎么优化程序的性能的?

1> 图片下载放在异步线程

2> 图片下载过程中使用占位图片

3> 如果图片较大,可以考虑多线程断点下载

  1. 你实现过一个框架或者库以供别人使用么?如果有,请谈一谈构建框架或者库时候的经验;如果没有,请设想和设计框架的public的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易地使用你的框架。

1> 提供给外界的接口功能是否实用、够用

2> 别人使用我的框架时,能不能根据类名、方法名就猜出接口的具体作用

3> 别人调用接口时,提供的参数是否够用、调用起来是否简单

4> 别人使用我的框架时,要不要再导入依赖其他的框架

  1. App需要加载超大量的数据,给服务器发送请求,但是服务器卡住了如何解决?

1> 设置请求超时

2> 给用户提示请求超时

3> 根据用户操作再次请求数据

  1. 地图导航不能用了怎么办

提示用户打开导航定位功能

  1. SDWebImage具体如何实现

1> 利用NSOperationQueue和NSOperation下载图片, 还使用了GCD的一些函数(解码GIF图片)

2> 利用URL作为key,NSOperation作为value

3> 利用URL作为key,UIImage作为value

  1. AFN 与 ASI 有什么区别

1> AFN基于NSURL,ASI基于底层的CFNetwork框架,因此ASI的性能优于AFN

2> AFN采取block的方式处理请求,ASI最初采取delegate的方式处理请求,后面也增加了block的方式

3> AFN只封装了一些常用功能,满足基本需求,直接忽略了很多扩展功能,比如没有封装同步请求;ASI提供的功能较多,预留了各种接口和工具供开发者自行扩展

4> AFN直接解析服务器返回的JSON、XML等数据,而ASI比较原始,返回的是NSData二进制数据

  1. 你在实际开发中,有哪些手机架构与性能调试经验

1> 刚接手公司的旧项目时,模块特别多,而且几乎所有的代码都写在控制器里面,比如UI控件代码、网络请求代码、数据存储代码

2> 接下来采取MVC模式进行封装、重构

l 自定义UI控件封装内部的业务逻辑

l 封装网络请求工具类

l 封装数据存储工具类

  1. runloop定时源和输入源

1> 你创建的程序不需要显示的创建run loop;每个线程,包括程序的主线程(main thread)都有与之相应的run loop对象, 主线程会自行创建并运行run loop

2> Run loop处理的输入事件有两种不同的来源:输入源(input source)和定时源(timer source)

3> 输入源传递异步消息,通常来自于其他线程或者程序。定时源则传递同步消息,在特定时间或者一定的时间间隔发生

  1. 你们项目中都用了哪些框架, 及何种开发工具,具体到是哪个版本,这个版本的特性有哪些???(比如xcode的版本)

1> AFN、SDWebImage、MBProgressHUD等 (搜索: 网易新闻 第三方库)

2> Xcode 5.0

  1. 自己怎么实现原子锁

iOS中一般用nonaotomic

  1. 即时通讯中的大数据处理

用put上传到文件服务器,然后发带url的自定义格式的给对方,对方接收到之后下载

  1. json解析的具体实现

1> SBJson

2> JSONKit

3> NSJSONSerialization

  1. 如果在网络数据处理过程中,发现一处比较卡,一般怎么解决

1> 检查网络请求操作是否被放在主线程了

2> 看看异步请求的数量是否太多了(子线程数量)

3> 数据量是否太大?如果太大,先清除一些不必要的对象(看不见的数据、图片)

4> 手机CPU使用率和内存问题

  1. 怎么介绍一个项目

1> 项目的价值(可以加些“老板”关键字)

2> 项目的模块

3> 我做的是哪个模块

  1. 怎么解决sqlite锁定的问题

1> 设置数据库锁定的处理函数

int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);

2> 设定锁定时的等待时间

int sqlite3_busy_timeout(sqlite3*, 60); :

iOS技术面试08:其他的更多相关文章

  1. iOS技术面试01:多线程与网络

    1. 多线程的底层实现? 1> 首先搞清楚什么是线程.什么是多线程.多线程的使用场合(线程有时被称为轻量级进程,是程序执行流的最小单元.多线程是指软件或者硬件实现多个线程并发执行的技术.多线程的 ...

  2. iOS技术面试07:第三方框架

    1ios框架分为:cocoa Touch:UIKit.Foundation.附属框架 Media:OpenGL ES.EAGL.Quartz.Core Animation.Core Audio.    ...

  3. iOS技术面试06:应用程序

    1.NSRunLoop的实现机制,及在多线程中如何使用 NSRunLoop是IOS消息机制的处理模式 >1.NSRunLoop的主要作用:控制NSRunLoop里面线程的执行和休眠,在有事情做的 ...

  4. iOS技术面试03:Foundation

    是否可以把比较耗时的操作放在NSNotificationCenter中 如果在异步线程发的通知,那么可以执行比较耗时的操作: 如果在主线程发的通知,那么就不可以执行比较耗时的操作 3.Foundati ...

  5. iOS搜索框UISearchBar 分类: ios技术 2015-04-03 08:55 82人阅读 评论(0) 收藏

    当你在seachBar中输入字母之前的时候,只是用鼠标选中searchBar的时候,如图 终端输出截图如下:(这个时候调用先shouldBeginEditing,之后调用didBeginEditing ...

  6. 网络请求工具--AFNetworking 分类: ios技术 2015-02-03 08:17 76人阅读 评论(0) 收藏

    在我们开发过程中,网络请求是必不可少的,对于网络框架,现在主流的大概只有三类:ASI框架: HTTP终结者(已经停止更新了),MKNetworkKit ,AFN.今天我就来浅谈一下这个AFN AFNe ...

  7. iOS技术面试05:UI控件

    怎么解决缓存池满的问题 1> 优先移除使用次数比较少的对象 2> 优先移除缓存时间最长的对象(让年轻的活下来) 3> 优先移除占用内存比较大的对象 CAAnimation的层级结构 ...

  8. iOS技术面试04:数据存储

    如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢? 编写SQL语句来操作原来表中的字段 1> 增加表字段 ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 ...

  9. iOS技术面试02:内存管理

    怎么保证多人开发进行内存泄露的检查. 如何定位内存泄露? 1> 使用Analyze进行代码的静态分析(检测有无潜在的内存泄露) 2> 通过leak检查在程序运行过程中有无内存泄露 3> ...

随机推荐

  1. 分布式系统:CAP理论

    无论你是一个系统架构师,还是一个普通开发,当你开发或者设计一个分布式系统的时候,CAP理论是无论如何也绕不过去的.本文就来介绍一下到底什么是CAP理论,如何证明CAP理论,以及CAP的权衡问题. CA ...

  2. CSS display详解

    1.解释一下display的几个常用的属性值,inline , block, inline-block inline(行内元素): 使元素变成行内元素,拥有行内元素的特性,即可以与其他行内元素共享一行 ...

  3. oom killer 详解

    一.oom killer理解和日志分析:知识储备 oom killer日志分析,这是前篇,准备一些基础知识 带着问题看: 1.什么是oom killer 是Linux内核设计的一种机制,在内存不足的时 ...

  4. P4556 雨天的尾巴 线段树合并

    使用线段树合并,每个节点维护一棵权值线段树,下标为救济粮种类,区间维护数量最多的救济粮编号(下标).所以每个节点答案即为\(tre[rot[x]]\). 然后运用树上点的差分思想,对于分发路径\(u, ...

  5. 1101: [POI2007]Zap(莫比乌斯反演)

    1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定 ...

  6. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory'

    spring整合mybatis的时候,传统dao模式test报错 发现是在pojo类user对应的user.xml中配置路径写错了 org.springframework.beans.factory. ...

  7. CF1188B Count Pairs

    [题目描述] 给定一个质数 \(p\) , 一个长度为 \(n\)n 的序列 \(a = \{ a_1,a_2,\cdots,a_n\}\)一个整数 \(k\). 求所有数对 \((i, j)\) ( ...

  8. Jenkins 获取 Git 的提交记录(Change Log)

    工作中用 Jenkins 做 iOS 和 Android 的持续集成,之前实现的是当 git 有新代码提交的时候,就会自动编译并上传安装包到蒲公英,然后自动发送QQ群通知或者讨论组通知给相关小伙伴,方 ...

  9. OpenFOAM中的热传导?【翻译】

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam/70758-conductive-heat-transfer-openfoa ...

  10. Solr 集成ikanalyzer

    Solr 不能对中文进行分词,ikanalyzer可以. ikanalyzer下载链接 1.下载 jar形式 2.放到D:\soft\solr-8.1.0\server\solr-webapp\web ...