美文网首页
iOS高频面试题(持续更新)

iOS高频面试题(持续更新)

作者: 小小旭 | 来源:发表于2018-09-26 15:14 被阅读0次

    1、ARC和MRC管理内存有什么不同,iOS中内存管理的原理

    2、assign和weak的区别,解释一下strong、copy关键词的作用

    3、简述一下retain cycle的例子以及如何避免引用循环,顺便设计一下可避免引用循环的timer

    4、列举一下iOS中加锁方式,他们的区别是什么

    5、在iOS中实现多线程有几种方式?并解释每种方式的优缺点

    6、什么是KVC、KVO?KVO实现的原理是什么?

    7、如何优化UITableView?列举一下UITableView的优化点。

    8、一次完整的http请求都经过哪些环节?并简述https的工作流程

    9、你使用过哪些第三方类库?是做什么的?

    10、举例说明CocoaTouch中使用过的设计模式?

    11、#define DOUBLE(x) x+x      int i = 5 * DOUBLE(5)  i是多少?

    12、layoutSubviews、layoutIfNeeded、setNeedsLayout、setNeedsDisplay、drawRect、sizeThatFits、sizeToFit这些方法的调用时机

    13、Category、block底层原理

    14、autorelease原理及时机

    15、runtime、runloop(这两个居然忘写了😓)

    16、gcd全家桶

    17、今天看block的内容学习,突然想到一个问题,如下:

    ```

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

            Person *p = [[Person alloc] init];

            __weak Person *weakP = p;       

          dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{ NSLog(@"1-------%@", p);                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{ NSLog(@"2-------%@", weakP); });

            });       

            NSLog(@"touchesBegan:withEvent:");

    }

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

            Person *p = [[Person alloc] init]; __weak Person *weakP = p;        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{ NSLog(@"1-------%@", weakP);                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{ NSLog(@"2-------%@", p); });

            });       

            NSLog(@"touchesBegan:withEvent:");

    }

    ```

    猜一猜输出结果是什么样的,想想原因

    18、今天(20181029)想到一个问题,int i=10;  i++ + i++ + ++i=?这个等于多少呢?不同的编译器会不会不同?想一想

    相关文章

      网友评论

          本文标题:iOS高频面试题(持续更新)

          本文链接:https://www.haomeiwen.com/subject/vbqjuftx.html