iOS 面试题
@福者
曾研究银行技术部,奇虎360,字节跳动......等工作。研究技术已经是生活中不可缺少快乐,
展开
-
iOS 面试题集合~[有答案]
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄 1.#import和#include的区别 @class? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import 而#import比起#include的转载 2017-06-01 15:24:00 · 761 阅读 · 0 评论 -
iOS KVO核心原理
//联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄一、概念KVO是基于KVC的KVC简称KeyValueCoding,是一个基于NSKeyValueCoding非正式协议的机制,就是直接通过key值对对象的属性进行存取操作注:NSObject是定义了KVC的,所以继承NSObject的对象都支持KVC,基原创 2017-10-08 08:12:54 · 910 阅读 · 0 评论 -
iOS 面试题~用@property声明NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念经常使用copy关键字原因:1、因为父类指针可以指向子类对象,使用copy的目的是为了让本对象的属性不受外界影响,使用copy无论给我传入是一个可变对象还是不可对象,我本身持有的就是一个不可变的副本.如果改用strong关键字,可能造成什么问题?原创 2017-11-01 10:02:18 · 1419 阅读 · 0 评论 -
iOS 面试题~类方法load和initialize的区别
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、+load:1/方法当类或分类添加到object-c runtime时被调用2/子类的+load方法会在它所有父类的+load方法之后执行,3/而分类的+load方法会在它的主类的+load方法之后执行,4.+load方法,它不遵循那套继承规则。5.+lo原创 2017-10-31 13:51:47 · 381 阅读 · 0 评论 -
iOS 面试题~@private,@protected,@public,@package详解及使用
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念:@private私有的代表私有,也就是只有自己有,别人谁都不可用,不不可以继承的。@protected受保护的相较上边的private而言,就没有那么自私了,他自己可以用,自己的子类也是可以共享的,是可以继承的.@public原创 2017-11-01 11:15:49 · 900 阅读 · 0 评论 -
iOS 面试题~RunLoop和线程的关系?runloop的mode作用是什么?
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、RunLoop和线程的关系:1.RunLoop 的作用就是来管理线程的,当线程的 RunLoop开启后,线程就会在执行完任务后,处于休眠状态,随时等待接受新的任务,而不是退出。2.只有主线程的RunLoop是默认开启的,所以程序在开启后,会一直运行,不会退出。其他线程原创 2017-11-01 19:03:24 · 7199 阅读 · 0 评论 -
iOS 算法~写一个函数,返回数字1-N排列组成的字符串,数字之间通过空格分离.例如1-5.返回”1 2 3 4 5”
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄问题:1.写一个函数,返回数字1-N排列组成的字符串,数字之间通过空格分离.例如1-5.返回”1 2 3 4 5”一、效果图:图1:图2:二、功能实现:方法1:#include原创 2017-11-03 10:06:55 · 465 阅读 · 0 评论 -
iOS 面试题~避免循环引用~解决方法
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念: 循环引用:指的是多个对象相互引用时,使得引用形成一个环形,导致外部无法真正是否掉这块环形内存。其实有点类似死锁。 其实循环引用就是说我们的强引用形成了闭环,还会有很多自己写的代码中会出现,平时还是要注意写法。当然xcode的instruments也能帮助到大家原创 2017-12-22 09:55:00 · 2354 阅读 · 0 评论 -
iOS @property (copy) NSMutableArray *array;用copy、strong出现问题
一、概念 copy属性的作用,一个属性标记了copy,当你调用他的setter方法,他会建立一个索引计数为1的对象,然后释放旧对象。 strong性的作用,强指针二、代码测试1.错误方法一 @property (copy) NSMutableArray * arrayCopy;//声明 copy NSMut原创 2017-12-24 13:10:22 · 1119 阅读 · 0 评论 -
iOS 运行时和编译时区别
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念编译时 编译时:就是正在编译的时候.其实编译时就是简单的作一些翻译工作, 编译: 就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,C#中只有CLR能原创 2017-12-26 10:08:55 · 2515 阅读 · 0 评论 -
iOS 面试题~经验找代码错误
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.指出以下这段代码的问题 - (void)test{ CGRect frame = CGRectMake(20, 200, 200, 20); self.alert = [[UILabel alloc]initWithFr原创 2017-12-18 11:01:35 · 918 阅读 · 0 评论 -
iOS __nullable 和 __nonnull 区别
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念 两个新的类型修饰: __nullable 和 __nonnull 。从字面上我们可知, __nullable 表示对象可以是NULL 或 nil,而 __nonnull 表示对象不应该为空。 当我们不遵循这一规则时,编译器就会给出警告。在 Xcode 7 中,为了避免与第三方库原创 2017-12-27 12:01:40 · 7004 阅读 · 0 评论 -
iOS 重写方法中 super调用的前后顺序含义
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪 一、概念 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; //code... } 当重写的方法是加载或原创 2018-01-06 22:30:50 · 863 阅读 · 0 评论 -
iOS 开发常用的23种设计模式简介
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 一、概念 设计模式主要分三个类型:创建型、结构型和行为型。 二、创建型有: 1.单例模式(Singleton):保证一个类只有一个实例,并提供一个访问它的全局访问点 2.抽象工厂(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。...原创 2017-05-31 07:20:02 · 2005 阅读 · 4 评论 -
iOS 数组~arraywithcapacity方法
//联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄一、capacity概念 NSMutableArray *orderIds = [NSMutableArray arrayWithCapacity:self.dataArray.count] 初始化可变数组对象的长度,如果后面代码继续添加数组超过长度以后长度会自动扩充.原创 2017-10-03 10:31:40 · 1447 阅读 · 0 评论 -
iOS 返回UIViewController控制器是否刷新数据
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 QQ群:807236138 群称:iOS 技术交流学习群一、概念 * isKindOfClass(对象方法) * isMemberOfClass(对象方法) * isSubclassOfClass(类方法) 1.共同点: * isKindOfClass与isMem...原创 2018-06-26 10:19:46 · 2813 阅读 · 0 评论 -
iOS 算法面试题(冒泡排序、选择排序、链表逆序)~demo
//联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄 1、对以下一组数据进行降序排序(冒泡排序)。“24,17,85,13,9,54,76,45,5,63” int main(int argc, char *argv[]) { int array[10] = {24, 17, 85, 13, 9, 54, 76, 45, 5, 63};原创 2017-06-15 10:47:09 · 1614 阅读 · 1 评论 -
iOS 算法面试题(打印2-100之间的素数、求两个整数的最大公约数、查找字符串的位置)~demo
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、打印2-100之间的素数。 [cpp] view plain copy int main(int argc,const char * argv[]) { for (int i =2; i 100; i++) {原创 2017-08-13 15:46:06 · 2230 阅读 · 0 评论 -
iOS 最全的面试题~[有答案]
//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄 QQ群:807236138 群称:iOS 技术交流学习群一、面试题目/*多线程、特别是NSOperation和 GCD的内部原理。运行时机制的原理和运用场景。SDWebImage的原理。实现机制。如何解决TableView卡的问题。block和代理的...原创 2017-06-01 15:33:43 · 5839 阅读 · 2 评论 -
iOS 网络和多线程面试题02~[有答案]
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄 一.选择题1. 以下对堆和栈的描述正确的是( ABD)A.栈区[stack]由编译器自动分配并释放,一般存放函数的参数值,局部变量B.堆区[heap]由程序员分配和释放,如果程序员不释放,程序结束时,可能会由操作系统回收.C.栈的内存大小是由程序员分配,内存地址是从高地址向低地址存(先进后出的原则)原创 2017-06-17 21:07:33 · 1646 阅读 · 0 评论 -
iOS 网络和多线程面试题01~[有答案]
//联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄一.选择题(前三题是多选 ,后面为单选题)1. 以下对堆和栈的描述正确的是(多选ABD )A.栈区[stack]由编译器自动分配并释放,一般存放函数的参数值,局部变量B.堆区[heap]由程序员分配和释放,如果程序员不释放,程序结束时,可能会由操作系统回收.C.栈的内存大小是由程序员分配,内存原创 2017-06-17 20:50:57 · 5325 阅读 · 0 评论 -
iOS 面霸面试题总结~[有答案]
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄Day 0101-分类与继承的区别分类:增加方法,不能增加变量.但是可以访问类的变量继承:子类继承了父类所有的方法和变量继承能增加变量和方法,分类只能增加方法,不能增加变量.继承会产生一个新的类.分类不会产生新的类.同名的方法,分类里面优先调用原创 2017-06-08 15:23:27 · 660 阅读 · 1 评论 -
iOS 笔试题01~[有答案]
//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄1.#import 跟#include、@class有什么区别?#import1> #import和#include都能完整地包含某个文件的内容,#import能防止同一个文件被包含多次2> @class仅仅是声明一个类名,并不会包含类的完整声明;@class还能解决循环包含的问题3> #im原创 2017-06-10 22:56:56 · 3420 阅读 · 0 评论 -
iOS 笔试题02~[有答案]
警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!!//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄1.Difference between shallow copyand deep copy?1>浅拷贝:指针(地址)拷贝,不会产生新对象2>深拷贝:内容拷贝,会产生新对象2. What is advantage原创 2017-06-11 11:13:14 · 453 阅读 · 0 评论 -
iOS 笔试题03~[有答案]
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄1. When to use NSMutableArray andwhen to use NSArray? 1> 当数组元素需要动态地添加或者删除时,用NSMutableArray2> 当数组元素固定不变时,用NSArray 2. Give us example of what are d原创 2017-06-11 16:35:00 · 490 阅读 · 0 评论 -
iOS 笔试题04~[有答案]
//联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄1.Object-C有多继承吗?没有的话用什么代替? 1> OC是单继承,没有多继承2> 有时可以用分类和协议来代替多继承 2.Object-C有私有方法吗?私有变量呢? 1> OC没有类似@private的修饰词来修饰方法,只要写在.h文件中,就是公共方法2> 可以使用类扩展(原创 2017-06-11 16:35:54 · 461 阅读 · 0 评论 -
iOS NSSet和NSMutableSet 区别
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄 NSSet和NSMutableSet是无序的,但是它保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表,所以可以常数时间内查找一个数据。 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把原创 2017-06-12 23:35:01 · 432 阅读 · 1 评论 -
iOS 知名公司资讯汇集~招聘内推
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄360公司:1. 甄路路 010-56821734 15802256021 zhenlulu@360.cn2. 宋薇薇 010-56821915 15011550019 songweiwei@360.cn3. 王佳 wangjia-hr@360.cn4. 肖琳 kichi1转载 2017-06-25 09:15:32 · 13077 阅读 · 0 评论 -
iOS 笔试题~两个有序数组合并成一个有序数组
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄面试题: 怎样把两个有序数组合并成有序数组呢 逻辑步骤: 1.假设两个数组为A和B 2.A和B都是从小到大的顺序进行排列 ** 1.我们可以直接比较两个数组的首元素,哪个小就把这个小元素放入可变数组。 2.把小元素所在的数组中的这个元素删除。 3.继续比较两原创 2017-06-13 22:55:50 · 3099 阅读 · 1 评论 -
iOS 算法~动脑筋(逻辑思维)
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄1、河左边有:狼、羊、白菜,一个人过河,一次只能带走一件东西,怎么做能够保证三物都到河右边?规则(狼吃羊、羊吃白菜) 答:先把羊带到对面,然后把白菜带到对面,这个时候把羊带走,把狼带回对面,回去再把羊带回对面。 2、有一张圆形的桌子,两个人轮流往桌子上放硬币,假设两人有无限多的大小原创 2017-06-15 10:50:10 · 649 阅读 · 2 评论 -
iOS __block和__weak的区别
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄API Reference对__block变量修饰符有如下几处解释://A powerful feature of blocks is that they can modify variables in the same lexical scope. You signal that a block can m原创 2017-07-19 22:47:54 · 2081 阅读 · 0 评论 -
iOS 算法~二分法(好处、特点、思路)
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄使用二分法好处:可以加快寻找的效率。二分法的思路:它是通过与数组的中间值进行比较的步骤如下: 1.我们要查找的值为X 2.数组是从小到大排序的 ** 1.先取出数组中间的元素 2.把中间元素和X进行比较,如果中间元素大于X,那么X就位于第一个元素,和中间原创 2017-06-13 22:59:56 · 2520 阅读 · 0 评论 -
iOS 算法~十大算法基础总结
联系人:石虎 QQ:1224614774昵称:嗡嘛呢叭咪哄 QQ群:807236138群称:iOS 技术交流学习群算法一:快速排序算法:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明...原创 2017-06-14 08:22:19 · 8999 阅读 · 3 评论 -
iOS 算法面试题(字符串逆序输出、二叉树、归并排序)~demo
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、字符串逆序输出1、实现一个字符串“how are you”的逆序输出(编程语言不限)。如给定字符串为“hello world”,输出结果应当为“world hello”。 [cpp] view plain copy int spliterFu原创 2017-08-13 16:02:41 · 2708 阅读 · 0 评论 -
iOS unrecognized selector sent to instance出现的原因~解决方法
联系人:石虎 QQ:1224614774昵称:嗡嘛呢叭咪哄 QQ群:807236138群称:iOS 技术交流学习群一、概念 报unrecognized selector sent to instance是指针在,对象提前释放了二、可能原因: 1.团队开...原创 2018-09-09 16:49:27 · 7102 阅读 · 1 评论