iOS技术面试08:其他

  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); :

时间: 2024-12-09 18:38:18

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

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

1ios框架分为:cocoa Touch:UIKit.Foundation.附属框架 Media:OpenGL ES.EAGL.Quartz.Core Animation.Core Audio.                          Open Audio Library.Media Player Core Services:Address Book.Core Foundation Core OS:线程.文件.I/O.内存和网络 2iOS网络编程层次结构四意图: Cocoa层(NSUR

iOS技术面试04:数据存储

如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢? 编写SQL语句来操作原来表中的字段 1> 增加表字段 ALTER TABLE 表名 ADD COLUMN 字段名 字段类型; 2> 删除表字段 ALTER TABLE 表名 DROP COLUMN 字段名; 3> 修改表字段 ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名; SQLite数据存储是怎么用? 1> 添加SQLite动态库: 2> 导入主头文件:#impor

iOS技术面试02:内存管理

怎么保证多人开发进行内存泄露的检查. 如何定位内存泄露? 1> 使用Analyze进行代码的静态分析(检测有无潜在的内存泄露) 2> 通过leak检查在程序运行过程中有无内存泄露 3> 为避免不必要的麻烦, 多人开发时尽量使用ARC 2.非自动内存管理情况下怎么做单例模式. 创建单例设计模式的基本步骤 · >声明一个单件对象的静态实例,并初始化为nil. >创建一个类的类工厂方法,当且仅当这个类的实例为nil时生成一个该类的实例 >实现NScopying协议, 覆盖al

十大面试问题解惑,秒杀一切HR、技术面试。iOS程序员必读!

前言: 最能体现求职者能力的就是面试,能不能拿到Offer,取决于你面试时的表现,只有有准备才能在面试过程中游刃有余.小编收集了10个面试官最爱提的问题,虽然题目千变万化,但是万变不离其宗,只要掌握了答题的技巧,了解面试官的出题思路,再难的题目也会迎刃而解. 1. 请介绍一下你自己 这是面试官100%会问的问题,一般人回答这个问题过于平常,只说姓名.年龄.爱好.所学专业等,如果你用一分钟来重复你的简历,那么,你的印象加分没有了! 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的

iOS开发面试高频题

iOS开发面试高频题,面试不再懵逼 目录 前端技术2016年5月4日 对于要面试iOS开发的同学,可能已经看了很多的面试题.但是网上很多的面试题有些很全,但是没有重点,有些又太少.今天小编给大家整理了一些比较重要和经常问的面试题,总共20个,半小时之内就可以看完. 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;

新浪微博资深大牛全方位剖析 iOS 高级面试 高清无密

新浪微博资深大牛全方位剖析 iOS 高级面试 面试没底气?拿不到满意的offer?本课程从一线互联网企业的面试.笔试真题入手,以iOS技术体系为主线,深度剖析面试常用考点,让你面试有底气:同时会深入考点背后的技术原理.机制等高级知识,助你拿到满意的offer! 第1章 课程简介 本章对这门课程所讲述内容进行概要介绍,其中包括课程目标.适合人群,课程特色.课程收获.课程安排等.整个课程学习完结后,有机会获得电话模拟面试及内推. 1-1 课程导学 第2章 教你写份好简历(简历写的好,好机会更多) 本

浅谈C# .Net技术面试

1.引子 最近一直在负责.net(B/S方向)技术面试相关的工作,前前后后面试了不少人,但是通过率较低,大概只有20%左右:有颇多感慨. 最近也一直比较困惑,原因究竟是什么? 是我们要求太高,应聘者本身的问题,还是是面试的内容本身的问题? 2.我们的岗位要求 这是之前项目组整理的一个简单的岗位(.Net中高级职位)要求,贴一下: 必须技能: 有2~3年实际的项目经验(特别说明:工作经验不一定要进入实际的公司才能积累的) 思路比较清晰,有较强的独立解决问题的能力 熟悉b/s开发的各项基本知识(如c

收藏的iOS技术网站汇总(持续更新ing)

大牛博客 objc.io PS:经典,内容深而广 objc中国 NSHipster PS:很多小细节 NSHipster 中文版 唐巧的技术博客 PS:LZ是唐巧的脑残粉- OneV's Den 王巍 PS:喵神..不解释 Dev Talking PS:经常翻译国外技术博客 sunnyxx的技术博客 shinobicontrols-iOS8 PS:Day-By-Day 系列 超经典 shinobicontrols-iOS7 Kingiol Ding PS:翻译了Day-By-Day-iOS7系列

iOS 技术预览

iOS 技术预览 1. 关于iOS相关技术 iOS是运行在iPad,iPhone,iPod设备上的操作系统.iOS Software Development Kit(SDK)包含开发.安装.运行.测试App需要的工具和接口.App开发使用Objective-C和Apple提供的框架.帮助文档 :Xcode>Help>Documentation and API Reference 2. iOS分层体系结构 层次: -------------------- |  Cocoa Touch | ---