注册 登录
主题 : 招人的事结了,放出面试题,分享一下吧
级别: 精灵王
UID: 164303
精华: 0
发帖: 3023
可可豆: 3353 CB
威望: 3331 点
在线时间: 4730(时)
注册时间: 2012-09-02
最后登录: 2017-10-15
0 楼:  发表于: 2017-04-13 17:56    发自: Web Page
来源于 一般提问 分类

招人的事结了,放出面试题,分享一下吧   

这套题估计会被不少人喷,这是必然的,共28道。面过不少人,其中一两个直接就不做了。一些说题目难,但其实都是基础题,这些甚至是科班出身的。
最后面的这人硬是给我做了大半,虽然也只是一年经验,iOS方面基础还算薄弱一点,但是非常自信的。基础比大部分所谓三年要好。
一个一年经验的科班生都能答出来大部分的题目,都来看看吧。



题目说了不是需要全部都做,能做多少就多少。反正就看看熟识的领域。






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?






[ 此帖被noah1985在2017-04-13 19:35重新编辑 ]

级别: 版主

状态: 连续签到 - [20天]
UID: 538332
精华: 0
发帖: 452
可可豆: 860 CB
威望: 801 点
在线时间: 828(时)
注册时间: 2016-01-13
最后登录: 2017-12-16
1 楼:  发表于: 2017-04-13 18:03    发自: Web Page
28道题,要我我也走了....
我面试的时候就问了三道题.剩下的就聊项目...
放出答案,让我们学习学习
级别: 侠客
UID: 443326
精华: 0
发帖: 128
可可豆: 191 CB
威望: 191 点
在线时间: 547(时)
注册时间: 2015-02-28
最后登录: 2017-12-07
2 楼:  发表于: 2017-04-13 18:05    发自: Web Page
嗯嗯,其实这里面的题,好多都是只要面试前看一下相关资料,就能答出来的
级别: 精灵王

状态: 连续签到 - [1天]
UID: 496724
精华: 0
发帖: 2100
可可豆: 2128 CB
威望: 2112 点
在线时间: 451(时)
注册时间: 2015-08-11
最后登录: 2017-12-15
3 楼:  发表于: 2017-04-13 18:05    发自: Web Page
第1、2、17题,现在还不会。还没研究过block,都是用的delegate和通知,以后学会了再来回答。
第3题,sql语句已经还给我的老师了
4,写一个函数,输入一个数如38,拆分 3 + 8 = 11,1 + 1 = 2,最后2无法拆分就返回(伪代码也行)

这个题之前回答过 = =
- (int)test:(int)num
{
    while (num >= 10) {
        num = num/10 + num%10;
    }
    return num;
}

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

关联对象用的还是比较少的,一般都是继承+重写,有时候会用拓展,只有在这些做不到的时候才会考虑关联对象
关联对象和实例变量的区别大概是没有正式的定义,注意内存管理的语句吧

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

。。。同步,异步:一遍煮饭,一遍炒菜;同步:切完菜再炒菜

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

不知道问的是不是NSThread、gcd、NSOperation;gcd

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

注意数组的长度,避免:长度改变的时候中止

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

子类指针指向父类

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

前者基本用完就干掉了,后者可能还会接着再去下一级的页面

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

没用过NSOperation,所以没法回答

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

NSArray、UIButton,UIView貌似也算

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

怎么可能呢。如循环引用,NSTimer

21,CoreFoundation和Foundation有什么区别?

CoreFoundation是C语言的接口,没有arc、autorelease的说法,需要用到CFRelease、CFRetain
两者之间的转换需要用到__bridge等关键字

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

26,weak和assign有什么区别?

weak必须用于oc对象,不会产生野指针

大部分都不会,等答案吧。
[ 此帖被不会取名怪我咯在2017-04-14 12:17重新编辑 ]

~
级别: 骑士
UID: 542160
精华: 0
发帖: 314
可可豆: 530 CB
威望: 525 点
在线时间: 902(时)
注册时间: 2016-02-03
最后登录: 2017-12-11
4 楼:  发表于: 2017-04-13 18:10    发自: Web Page
放出答案吧,此贴mark
级别: 骑士
状态: 连续签到 - [6天]
UID: 525253
精华: 0
发帖: 296
可可豆: 475 CB
威望: 473 点
在线时间: 1308(时)
注册时间: 2015-11-21
最后登录: 2017-12-04
5 楼:  发表于: 2017-04-13 18:11    发自: Web Page
恩,,,我就看看。一脸懵逼
级别: 圣骑士
UID: 485052
精华: 0
发帖: 512
可可豆: 530 CB
威望: 530 点
在线时间: 714(时)
注册时间: 2015-07-01
最后登录: 2017-12-14
6 楼:  发表于: 2017-04-13 18:11    发自: Web Page
28道题...我也是服...有请科班的回答吧...大半不知道的我
级别: 骑士
状态: 连续签到 - [6天]
UID: 525253
精华: 0
发帖: 296
可可豆: 475 CB
威望: 473 点
在线时间: 1308(时)
注册时间: 2015-11-21
最后登录: 2017-12-04
7 楼:  发表于: 2017-04-13 18:13    发自: Web Page
回 6楼(亲切啊) 的帖子
科班出来一年半的学渣表示并不会。。。     
级别: 新手上路

状态: 连续签到 - [72天]
UID: 559551
精华: 0
发帖: 35
可可豆: 484 CB
威望: 322 点
在线时间: 508(时)
注册时间: 2016-04-25
最后登录: 2017-12-15
8 楼:  发表于: 2017-04-13 18:14    发自: Web Page
搬凳子等答案...
级别: 版主

状态: 连续签到 - [20天]
UID: 538332
精华: 0
发帖: 452
可可豆: 860 CB
威望: 801 点
在线时间: 828(时)
注册时间: 2016-01-13
最后登录: 2017-12-16
9 楼:  发表于: 2017-04-13 18:14    发自: Web Page
回 4楼(清墨墨) 的帖子
我问下,我是真不知道.
你们说"此贴mark ".
是有收藏贴子这个功能按钮.
还是自己收藏...

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部