网易2014实习生面经分享-iOS面试之杭州(1)

杭州网易行 周三接到网易电话,说上次电话面试通过了,让我周末过去杭州总部面试,于是周末就去了趟杭州。这篇文章是关于网易这次面试的相关内容和自己面试后的感想,写出来和大家分享一下。 面试过程 电话面试
lz大致还原一下当时的情景,下面直接进入正题。
HR(以下以Q代替):你学习iOS多长时间了?

lz(下面以A代替):十个月的样子。

Q:你了解MRC和ARC吗?

A:对他们都有一定的了解,但用的更多的是ARC,当然也知道MRC的规则及用法,也有做过相关Demo,由于开始学习iOS的时候ARC已经成为一种趋势,所以用的更多的是ARC。

Q:好的。你熟悉autorelease吗?谈谈它和ARC的区别是什么?

A:autorelease是将对象添加到NSAutoReleasePool里面,然后在调用[pool drain]方法后,所有在释放池里面的对象均被release。而ARC看起来的效果是一样的,但是实质是不一样的,ARC是系统在适当时候来释放一个对象的。

Q:嗯。你了解NSObject和NSObject Protocol吗?他们有什么区别,为什么要有NSobject Protocol?

A:NSObject几乎是iOS开发过程中所有类的根类,NSObject协议是为了方便一些并没有继承自NSObject的自定义类,来实现NSObject的一些方法,因为二者的方法大部分是一样的。

Q:那你知道哪些类是不继承自NSObject的?以及这样做的原因是什么?

A:据我目前见到的情况来看,貌似没有,但肯定有这种类。至于这样做的原因我不太清楚。(面试完后google了一下,大概了解了相关情况)

Q:你了解运行时吗?

A:了解一点点。

Q:嗯,没事,那你说说你了解的。

A:运行时就是在运行时来进行判断,比如内省。像respondeToXXX这些方法应该都是运行时才执行的。我知道的大概也就这么多了。

Q:你用过哪些开源库?

A:暑假做一个游戏客户端的时候用过CocoaAsyncSocket。

Q:你有仔细看过它的源码吗?你认为它的哪些方面可以优化呢?

A:当时项目比较紧,所以直接拿过来就用了,就看了一些自己需要用到的方法的实现。优化的话,暂时还没有想过。

Q:那如果你现在再去看这个开源库的时候你觉得你会学到哪些东西?

A:这个库是分TCP和UDP的,当时我们用的是TCP,这次如果再去看的话,应该对UDP也会有一定的了解和学习,同时也可以考虑一些可以优化的地方。

Q:对于其他的比较经典的关于网络方面的开源库还用过哪些?

A:AFNetwork,ASIHttp。

Q:嗯,其他的开源库呢?

A:用过那个在ios5,6下实现ios7扁平风格的控件的库,其他的都不记得名字了。

Q:你了解越狱吗?该怎么判断设备是否越狱?

A:了解一点点。您说的是只用代码判断吗?代码的话我不太清楚。(面试后google了一下,大致思想是检测是否多出越狱的文件目录,网上现成的代码也有,随便一搜就能搞定)

Q:了解copy和mutableCopy吗?谈谈二者的区别

A:了解。copy只是指针的复制,属于浅拷贝,mutableCopy是深拷贝。(之后他举了个例子,忘记了,反正就是NSString和NSMutableString的一些东西。如果你有疑问,可以看看我之前的文章—>OC内存管理学习)

Q:怎么判断一个类是否遵循某个协议?

A:可以用respondTo协议里的某个方法来实现。

Q:还有没有其他的方法呢?

A:其他的应该有但是我不知道。因为我最常用的就是上面的这个方法。

Q:假如我有一个对象不想实现系统默认的方法,我能够做到吗?

A:可以用分类(categrey)吧,(迟疑片刻后想想不对),应该不行。(面试之后,自己再想了下应该可以复写其父类方法就行,不知道对不对)

Q:你用过GCD和NSOperation吗?它们常用的场景是什么?谈谈你的看法。

A:都用过。NSOperation是对GCD的封装,属于类级别的,GCD是底层的属于C级别的。GCD的效率可能会更高,因为基本上全是执行block。

Q:你平时用哪种方式呢?

A:一般图片加载用的是GCD,而其他下载任务用的是NSOperation。

Q:GCD能够随时停止吗?NSOperation呢?如果能的话又是调用什么方法呢?

A:GCD由于调用的是block,所以它一旦开始在执行完之前是不能停止或取消的。而Operation是可以的,通过KVO即可。当然如果要取消的话,我记得有个方法,名字貌似是close?(面完后查了下是cancel)

(未完待续)

个人资料
onemore
等级:8
文章:133篇
访问:11.8w
排名: 4
上一篇: 网易游戏:2014校招面试,为何惨败!!(附题目)
下一篇:网易2014实习生面经分享-iOS面试之杭州(2)
猜你感兴趣的圈子:
笔试面试心得
标签: nsobject、arc、gcd、nsoperation、面试、面试题
隐藏