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. Tornado之Session实现

    Tornado框架中,默认执行Handler的get/post等方法之前默认会执行 initialize方法,所以可以通过自定义的方式使得所有请求在处理前执行操作 import tornado.iol ...

  2. 2019-2020-1 20199312《Linux内核原理与分析》第一周作业

    实验一:linux系统简介 Linux 本身只是操作系统的内核.内核是使其它程序能够运行的基础.它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上.其中有些程序是必需 ...

  3. Max Tree

    Description Given an integer array with no duplicates. A max tree building on this array is defined ...

  4. springcloud系列

    1.使用Spring Cloud搭建服务注册中心2.使用Spring Cloud搭建高可用服务注册中心3.Spring Cloud中服务的发现与消费4.Eureka中的核心概念5.什么是客户端负载均衡 ...

  5. 简单js的介绍

    JavaScript 简介 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScrip ...

  6. hive on spark (spark2.0.0 hive2.3.3)

    hive on spark真的很折腾人啊!!!!!!! 一.软件准备阶段 maven3.3.9 spark2.0.0 hive2.3.3 hadoop2.7.6 二.下载源码spark2.0.0,编译 ...

  7. 利用webuploader实现超大文件分片上传、断点续传

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  8. 项目 java.lang.NoClassDefFoundError 异常。

    项目部署之后调用接口失败:异常信息: NoClassDefFoundError ClassNotFoundException 注意这两种是有区别的. 具体转 https://www.cnblogs.c ...

  9. Codeforces Round #597 (Div. 2)

    A - Good ol' Numbers Coloring 题意:有无穷个格子,给定 \(a,b\) ,按以下规则染色: \(0\) 号格子白色:当 \(i\) 为正整数, \(i\) 号格子当 \( ...

  10. [APIO2015]八邻旁之桥——非旋转treap

    题目链接: [APIO2015]八邻旁之桥 对于$k=1$的情况: 对于起点和终点在同侧的直接计入答案:对于不在同侧的,可以发现答案就是所有点坐标与桥坐标的差之和+起点与终点不在同一侧的人数. 将所有 ...