iOS笔试题(8月)
简单整理了一下最近遇到的iOS相关的笔试题,后续有的话还会继续添加,希望能对求职的朋友有所帮助.
2016.8.10
1.用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
2.@systhesize和@dynamic分别有什么作用?
3.objc中向一个nil对象发送消息将会发生什么?
4.iOS的沙盒目录结构是怎样的?App Bundle里面都有什么?
5.+load和+initialize的区别是什么?
2016.8.11
1.给定一个字符串,输出本字符串中只出现一次并且最靠前的那个字符的位置?比如:'abaccddeeef',则是b,输出 b 2
2.目前有一个textView,x现在要为它添加placeholder属性,请详细描述你的思路:(最好写代码)
3.请列举iPhone进行适配的方式,请详细描述.
4.请描述一下你常用的第三方库,最好可以描述一下实现过程或者基本的原理.
推送相关: 聊天相关: UI相关: 网络加载:
2016.8.18
1.(1)请描述进程和线程的区别?
(2)多线程程序有什么优点,缺点?多进程程序有什么优点,缺点?与多线程相比,有何区别?
2.observer设计模式一般用在什么场合?
3.HTTP协议标准定义有八个方法,具体是那些?
4.HTTP协议定义有5种错误,分别代表什么?
1XX 2XX 3XX 4XX 5XX
2016.8.24
1.请问您所用到的数据持久化存储方法有哪些?分别简要描述这些方法(至少写出类名).
2.请简单写出SQLite或FMDB表格的创建及增,删,改,查步骤,遗忘部分,写出关键词即可.
3.您所用到的项目框架有哪些,简要概述.(画示意图亦可).
4.简要叙述您所遇到的内存问题,怎么解决的?
5.之前是否做过有关视频,音频的项目,若做过,请写出获取视/音频时长的方法.
6.简要写出自己封装的网络请求类,写出关键句即可.
7.曾经写过什么工具类,请列出你比较常用的类.
8.图文混排有哪些方法?你用的有哪些?简要叙述(任意一种)原理.
9.有没有上线项目,上线过程中遇到过什么问题?简单列出至少三条.
10.对于视频类虚拟商品,用什么支付手段?怎么处理才能上AppStore?简要叙述必要事项.
2016.8.27
1.Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果延时执行代码,方法又是什么?
2.描述一下iOS SDK中如何实现MVC 的开发模式.
3.聊聊tableView的重用机制?
4.编程题:一层循环实现9*9乘法口诀的打印(可用C语言).
5.编程题:如何实现一个数组每个元素一次向右移动k位,(后头的往前面补),比如:[1,2,3,4,5]挪两位变成[4,5,1,2,3].
2016.8.30
1.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
2.#import跟#include有什么区别?@class又有什么作用?
3.简书字面量语法的优点,请举例一个字面量数组和一个字面量字典.
4.在一个对象的方法内部,以下两种赋值方式有什么不同?
方法一:self.name = value;
方法二:name = value;
5.简述readwrite,readonly,assign,retain,copy,nonatomic在属性修饰中的作用.
6.怎样自动生成属性的获取方法和设置方法?
7.为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?
8.什么时候用delegate,什么时候用Notification?
9.类别有什么作用?
10.协议是什么,有什么作用?
11.MVC设计模式是什么?你还熟悉什么设计模式?
12.你在开发项目中,用到了哪些数据存储方式;iOS中常见的方式有哪些,各有什么区别?