面试扫盲篇

史上最全的iOS面试题及答案 - CSDN博客

问之前的项目经验,如果重新做,你会怎么做,有哪些改进

1.字符串逆转;


1. o c基本的语法,框架,还有算法

面试官先问面试题上的东西,在问一些简历上的经验,问的很细致。

面试官的问题:

runloop。

,问了些单例模式,为什么苹果推荐的写法,不用可以吗?问了些循环引用的问题。

      面试官问到的面试题。

      1.block和函数的区别 

       2:NSUserDefaults是否是线程安全的,不是的话,用NSMultbleDictionnary实现NSUserDefaults说说思路(这个主要考的是多线程的并发和上锁),我大概说了下思路,不过有个地方说错了,我说读操作的时候用synchronized,最后也意识到了自己的错误。

      3.问到了Run Loops的相关知识(这个我还是懂的少一些,不过我用到过在二维码扫描的时候,动画不起作用,把timer加入到runloops中就动画就可以运行了,不过这也是皮毛,我承认我是菜鸟)

   4.__block __weak __strong __unsafe_retain __brigde的含义

       这里就不再过多的泄露新浪的面试题了,最让我郁闷的是最后一个面试官问我的最后一个问题,问的我哭了,如题:

       当进入到一个controller里的时候发送网络请求,比如AFNetworking你怎么知道服务器有返回数据或是发送其他链接如sockets你怎么知道是哪一个请求,这个是http请求,那个是sockets请求

       小弟愚昧,只能说发送网络请求了,服务器会对应有数据返回,完了会走自己的回调。面试官说再往详细了说说,我说往底层说?面试官说也不是底层,给我一下整蒙了,后来我只能说不太清楚了,面试回来的路上我想了一下,大概是问我AFNetworking是怎么实现http请求的?之后服务器是怎么返回数据的?那还不如问我AFNetworking怎么实现的的,AFNetworking怎么处理的服务器返回的,也可能小弟愚昧,没理解好...(有没有大神帮我解答一下)

        然后最后一个面试官就出去了,过一会,那个hr又来了,用很小的声音说,我们两位面试官感觉您不是很符合我们的要求(这一点我感觉很好,我喜欢,行就是行,不行就是不行,我最烦的就是回去等通知吧,然后就没有然后了)。

        面试的整体感觉一般,笔试题个人感觉答的还可以,2个面试官的面试感觉也一般,感觉还是自己能力有限,尤其是说到那个runloop,自己真的很少有接触,可能使用了也不是太懂,再有就是多线程的有关问题还是得好好学习,运用一下...

       也吐槽一下新浪的笔试题,好多都是循环引用的,还有最后一个ios面试官说,多文件下载文件不算是严格意义上的多线程,估计在他看来只有给多线程各种加锁,各种考虑才算吧,不过说真的,面试官的水平应该挺高的,尤其是多线程操作这块应该确实比较恨

       本帖没有别的意思,只是我个人新浪微博面试的感觉和大家一起分享一下,希望不要挨喷..


基础问题包括类似UIButton的继承关系,UITableView的继承关系等。自己回答的非常差,打分的话只能给自己打50分。因为自己都是从项目学起的,隐藏在后面的东西和原理真的没有接触那么多。然后详细问了多线程相关的内容如同步、异步、串行、并行线程之间的用途和区别,只回答了自己用过的部分,这一部分更差,我只能给自己打30分。NSOperation类的使用(非常惭愧的是我使用多线程从来没有用过这个类,一直用别的方法,自己眼界之狭窄简直想抽死自己)。

灵活性的问题包括例如改变UIButton的出发触发面积,例如要扩大UIButton的出发面积该怎么做,如果这个button在UINavigationBar上,扩大的面积一部分在bar上一部分在下面的view上,又该怎么办。微博中查看图片该怎么设计(UIScrollView相关,很幸运的是因为查看图片的框架一直找不到完全和我胃口的,于是我自己重写了不止一遍这类功能),如果图片限制扩大到二十张三十张,你还能这样做吗(某些性能问题我在别人的框架里遇到过,我描述了一下我遇到的情况。事实上我不是很明白他这个问题的问点在哪里)。由于这一部分有些事自己做过的能讲出个大概,这里的回答能给自己70分。

最终问了一些对实事的关注度,例如WWDC里公布的新功能,iOS8开放的新功能,iOS9开放的新功能等。因为我表明了我不足一年的开发经验所以这一整个问题直接被我跳过了这也是我最遗憾的地方。其实挂了电话我就想起来Swift2.0和开源支持Linux这么大的事情,我当时居然没有想起来。10分不能再多了。

你可能感兴趣的:(面试扫盲篇)