sunnyxx 直播面试题( 后附带 观看笔记)

sunnyxx的直播,边看边做笔记。个人觉得比较有用的一些部分内容记录了下来,感兴趣的同学可去阳神直播地址观看全部内容。

阳神直播地址:http://m.quzhiboapp.com/#!/intro/115

1、关于runtime

不要吹牛逼说runtime用的多么熟练,多么精通。要想吹牛请举个栗子:运用在ViewController上运用runtime进行一些埋点操作,在进入或出去的时候进行一些打点记录,利用AOP可以减少重写率

2、面试套路

  1. 最近工作经历中,做的什么App,拿出来耍一耍,询问面试者负责的哪部分[考察前一份工作的难度]

  2. 让面试者找个熟悉的业务,描述下大概的设计结构、UI层级、控件的使用、布局、交互效果等[考察几本业务能力、熟练程度、质量]

3)考察几个基础的问题,如内存管理、多线程,若答的不错,顺着引申几个深入的问题。

4)从简历中声称熟练或掌握的技术中找几个深聊下[考察对技术的深挖能力、探索能力和原理性的掌握]

5)若答的一般,让面试者找自己研究过的,或者有新的的东西,你会什么咱们问什么。

6)若前面回答的非常不错,考虑更考验深度的问题

7)顺带看看沟通是否顺畅

3、面试题

1)@property 能使用哪些关键字、作用是什么;下面这4种写法的区别?

@property (nonatomic, strong) NSArray *array0; 
@property (nonatomic, copy) NSArray *array1; 
@property (nonatomic, strong) NSMutableArray *array2; 
@property (nonatomic, copy) NSMutableArray *array3; 

2)下边对象分别都在什么时候释放

- (void)ARCProblem{

id obj0 = @"sunnyxx";

__weak id obj1 = obj0;

__strong id obj2 = [NSObject new];

__weak id obj3 = [NSObject new];

{

id obj4 = [NSObject new];

}

__autoreleasing id obj5 = [NSObject new];

__unsafe_unretained id obj6 = self;

}
  1. 如何解决下面代码的问题
- (void)blockRetainCycleProblem{

self.block = ^{
NSLog(@"%@",@[self]);
};
}

4)下面的 self 用不用weak,为什么

- (void)blockRetainCycleProblemExt{

[UIView animateWithDuration:1 animations:^{

self.view.frame = CGRectMake(1, 2, 3, 4);

}];

//那这个呢

[UIView animateWithDuration:1 delay:1000 options:0 animations:^{

self.view.frame = CGRectMake(4, 1, 2, 3);

} completion:nil];

}

5)对下列代码规范进行矫正

typedef enum {

UserSex_Man,

UserSex_Womain

}UserSex;

@interface UserModel : NSObject

@property(nonatomic, strong) NSString *name;

@property(assign, nonatomic) int age;

@property (nonatomic, assign) UserSex sex;

-(id)initUserModelWithUserName: (NSString*)name withAge:(int)age;

-(void)doLogIn;

@end

6、知识点扩展

1)对MVC和MVVM的理解真的到位么。为什么说MVVM并不是把VC中部分代码放到Model中,这样做只是拆代码并不是架构方面的变化,MVVM模式中 视图与ViewModel之间的绑定如何实现。

2)Stack 和Heap 分别的使用,如何管理?

3)ARC是如何实现的?

4)Autorelease对象何时释放

5)AutoreleasePool 是如何实现的?

6)理解Class 与 对象模型

7)理解RunLoop

8)深入理解消息机制

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,047评论 25 709
  • 自从《明日之子》开播后,在网上所引起的争议也可谓是不小了,除了来自二次元世界的选手荷兹,另外就要属巨星——毛不易了...
    Z0瑾年阅读 607评论 0 0
  • 不知道要从什么地方开始写,总之现在的我脑子一片混乱。6月离开学校,有不满,有不安,有不舍,没工作,不知道怎么...
    九月与猫迪迪阅读 265评论 0 1
  • 1、查看主机名 在Ubuntu系统中,快速查看主机名有多种方法: 其一,打开一个终端窗口,在命令提示符中可以看到主...
    西文Steven阅读 9,208评论 1 1
  • 认识崽子已经三年多了,虽然这种开头比较俗套,但是我很庆幸与崽子相识,如今在我生活里也成为了不可替代的一部分。【对...
    lawes阅读 281评论 0 1

友情链接更多精彩内容