iOS面试题收集

github上不错的一套题

swift面试题


美团

画一个原生和webview混合开发的框架,写出主要的方法

runtime 怎么把嵌套结构的数据赋值给模型,如何优化一下


    什么是响应链,它是怎么工作的?
    如何访问并修改一个类的私有属性?
    iOS Extension 是什么?能列举几个常用的 Extension 么?
    如何把一个包含自定义对象的数组序列化到磁盘?
    Apple Pay 是什么?它的大概工作流程是怎样的?
    iOS 的沙盒目录结构是怎样的? App Bundle 里面都有什么?
    iOS 的签名机制大概是怎样的?
    iOS 7的多任务添加了哪两个新的 API? 各自的使用场景是什么?
    Objective-C 的 class 是如何实现的?Selector 是如何被转化为 C 语言的函数调用的?
    UIScrollView 大概是如何实现的,它是如何捕捉、响应手势的?
    Objective-C 如何对已有的方法,添加自己的功能代码以实现类似记录日志这样的功能?
    +load 和 +initialize 的区别是什么?
    如何让 Category 支持属性?
    NSOperation 相比于 GCD 有哪些优势?
    strong / weak / unsafe_unretained 的区别?
    如何为 Class 定义一个对外只读对内可读写的属性?
    Objective-C 中,meta-class 指的是什么?
    UIView 和 CALayer 之间的关系?
    +[UIView animateWithDuration:animations:completion:] 内部大概是如何实现的?
    什么时候会发生「隐式动画」?
    如何处理异步的网络请求?
    frame 和 bounds 的区别是什么?
    如何把一张大图缩小为1/4大小的缩略图?
    一个 App 会处于哪些状态?
    Push Notification 是如何工作的?
    什么是 Runloop?
    Toll-Free Bridging 是什么?什么情况下会使用?
    当系统出现内存警告时会发生什么?
    什么是 Protocol,Delegate 一般是怎么用的?
    autorelease 对象在什么情况下会被释放?
    UIWebView 有哪些性能问题?有没有可替代的方案。
    为什么 NotificationCenter 要 removeObserver? 如何实现自动 remove?
    当 TableView 的 Cell 改变时,如何让这些改变以动画的形式呈现?
    什么是 Method Swizzle,什么情况下会使用?

1,下面代码在按钮点击后,在ARC下会发生什么,MRC下呢?为什么?
    @property(nonatomic, assign) void(^block)();
    - (void)viewDidLoad {
        [superviewDidLoad];
        int value = 10;
        void(^blockC)() = ^{
            NSLog(@"just a block === %d", value);
        };
        
        NSLog(@"%@", blockC);
        _block = blockC;
        
    }

    - (IBAction)action:(id)sender {
        NSLog(@"%@", _block);
    }

    2,在ARC环境下这段代码为什么不会崩溃?

    @property(nonatomic, weak) void(^block)();

    - (void)viewDidLoad {
        [super viewDidLoad];
        
        void(^ __weak blockA)() = ^{
            NSLog(@"just a block");
        };
        
        _block = blockA;
        
    }

    - (IBAction)action:(id)sender {
        _block();
    }

    3,下面是一个员工表,manager_id表示对应的boss的ID。通过一个SQL找出下表中比boss工资还高的人。。。。
    id  name    salary  manager_id
    1   Noah    70000   NULL
    2   西兰花 80000   1
    3   椰菜花 80000   NULL
    4   没钱花 80000   3

    输出格式为:

    name
    西兰花

    4,写一个函数,输入一个数如38,拆分 3 + 8 = 11,1 + 1 = 2,最后2无法拆分就返回(伪代码也行)

    5,通过runtime添加的“关联对象”和类的实例变量有什么区别?使用时要注意什么?

    6,用一个生活中的例子来说说同步和异步。

    7,线程间通信在OC中有几种方式?分别是?常用那种?

    8,使用快速枚举迭代一个可变数组时需要注意什么问题?怎么避免?

    9,什么是面向对象的多态性?

    10,UIViewController的presentViewController和UINavigationController的pushViewController方法分别多用于什么交互场景?

    11,NSOperation和GCD的区别是什么?前者多用于什么场景?

    12,面向接口编程指的是什么?为什么说面向实现编程是一种错误的编程方式?

    13,在iOS开发中遇到那些类族(Class Cluster) ?如NSNumber这种。为什么需要这种设计方式?

    14,javascript的原型链和OC的继承有什么区别?

    15,Hybrid开发的优势在哪里?目前有那些框架可以实现Hybrid开发?

    16,使用了ARC是不是就等于没有内存泄漏了?如果不是的话请举例。

    17,下面代码中为什么可以直接用self?
    [UIView animateWithDuration:1 animations:^{
        self.view.backgroundColor = [UIColor yellowColor];
    }];

    下面这段代码可以用self吗?为什么?
    - (void)doSomething {
        [BlockClass doSomethingUseBlock:^{
            NSLog(@"%@", self);
        }];
    }


    18,进程的内存布局是怎样的?

    19,在GCD中,那几种场景会出现死锁的现象?怎么避免?

    20,怎么用NSOperation封装一个异步请求?这个Operation需要放到NSOperationQueue里调度的。

    21,CoreFoundation和Foundation有什么区别?

    22,怎么判断两个链表是双交的?

    23,怎么判断一个链表存在环?

    24,当一个View的bounds原点不为0的时候会出现什么情况?

    25,OC的数组是怎么实现的?和C的数组区别在?简单说一下即可。

    26,weak和assign有什么区别?

    27,setNeedLayout的作用是什么?

    28,什么时候用NS_OPTIONS,NS_ENUM?


微博算法题

    1、64位操作系统,64位编译器  sizeof(int) sizeof(char)  sizeof(int *) sizeof(char *) 分别是多少
    2、64位操作系统,一个结构 struct aStruct{int a; char b; int c; char d}; 此时 sizeof(struct aStruct) 是多少? 如果是 struct aStruct{int a; char b; char d; int c};此时 sizeof(struct aStruct) 是多少?
    3、全局并发队列和自定义并发队列的区别,如果现在有两种任务需要并发处理,其中一种是:任务单位小,数量多  另一种是:任务单位大,数量少 分别应该使用哪种队列处理?为什么?
    4、为了防止循环引用,我们都知道使用weak(self); 但是程序中偶尔会见到strong(self); 这种用法,请问:strong(self)的应用场景是什么?
    5、为了防止循环引用,我们都知道使用weak(self),是不是所有的block 如果内部需要使用对象本身,都需要使用weakself?举例说明
    6、现有一个对象a,对象a 强持有了自定义对象b、c、d, 是不是可以说,当a的dealloc 只要执行了 我就可以认为内存没有泄漏了?如果不是的话,请举出例子让a对象完全释放
    7、类方法和对象方法的区别何在?类方法的生存周期? 相对与对象方法,哪类处理适合使用类方法?
    8、kvo监听是否一定是在主线程完成的?如果不是,请举例说明
    9、某同事开启了一个NSTimer,但是无论如何这个timer都跑不起来,作为他的老大,代码看起来没什么问题,以你10年ios的开发经验,第一反应是问题出在哪?
    10、多线程编程种,死锁产生的条件是什么?死锁是不是只在主线程发生?
    11、举出一个例子,说明dispatch_sync 的应用场景
    12、如何创建一个常驻线程?
    13、我们知道,多线程读写,只要有1个写,就有可能出现并发问题,解决方案可以用锁,但我们又知道锁的效率不高,并且破坏程序结构,加锁的代码通常并不易理清逻辑,那么,还有什么样的手段能实现这个目的?(考虑队列) 如何实现?
    14、基于13题的前提,假如现在有一个模型,写操作较少,但是读操作非常多,如何优化13题的模型?(考虑队列和dispatch_barrier函数族)
    15、dispatch_group函数组的应用场景是什么?假如现在让你使用信号量(dispatch_semphore)来模拟类似的功能,如何实现?
    16、原子操作atomic 修饰的变量本身是否可以认为是线程安全的? 如果不是,那什么类型的变量可以认为是安全的,又有什么样的变量是不安全的?举例说明即可
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容