面试笔试精华(二)

警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!!

1.        Difference between shallow copy and deep copy?

浅复制和深复制的区别?

1>   浅拷贝:指针(地址)拷贝,不会产生新对象

2>   深拷贝:内容拷贝,会产生新对象

2.        What is advantage of categories? What is difference between implementing a category and inheritance?

类别的作用?继承和类别在实现中有何区别?

1>   分类可以在不修改原来类模型的基础上拓充方法

2>   分类只能扩充方法、不能扩充成员变量;继承可以扩充方法和成员变量

3>   继承会产生新的类

3.        Difference between categories and extensions?


类别和类扩展的区别?

1>   分类是有名称的,类扩展没有名称

2>   分类只能扩充方法、不能扩充成员变量;类扩展可以扩充方法和成员变量

3>   类扩展一般就写在.m文件中,用来扩充私有的方法和成员变量(属性)

4.        Difference between protocol in objective c and interfaces in java?


oc中的协议和java中的接口概念有何不同?

1>  Java的接口中声明的方法必须都实现

2>  Oc的protocol中声明的方法并不一定要实现

5.        What are KVO and KVC?

1>  KVC是键值编码,可以通过一个字符串的key(属性名)修改对象的属性值

2>  KVO是键值监听,可以监听一个对象属性值的改变

6.        What is purpose of delegates?


代理的作用?

1>   两个对象之间传递数据和消息

2>   解耦,拆分业务逻辑

7.        What are mutable and immutable types in Objective C?


oc中可修改和不可以修改类型?

1>  mutable是可变类型,比如NSMutableArray,可以动态往里面添加元素

2>  immutable是不可变类型,比如NSArray,固定的存储空间,不能添加元素

8.        When we call objective c is runtime language what does it mean?


我们说的oc是动态运行时语言是什么意思?

1>   动态绑定:对象类型在运行时才真正确定

2>   多态性

9.        what is difference between NSNotification and protocol?


通知和协议的不同之处

1>   通过NSNotification可以给多个对象传递数据和消息

2>   通过protocol(代理模式)只能给一个对象传递数据和消息

10.     What is push notification?


什么是推送消息?

1>   本地推送:程序内部弹出通知到用户设备

2>   远程推送:由推送服务器推送通知到用户设备

11.     What is Polymorphism?


关于多态性?

多态:父类指针指向子类对象

12.     What is Singleton?


对于单例的理解

单例:保证程序运行过程中,永远只有一个对象实例

目的是:全局共享一份资源、节省不必要的内存开销

13.     What is responder chain?



 响应者链:

l  UIResponder有一个nextResponder属性,通过该属性可以组成一个响应者链,事件或消息在其路径上进行传递

l  如果UIResponder没有处理传给它的事件,会将未处理的消息转发给自己的nextResponder

14.    Difference between frame and bounds?


frame和bounds有什么不同?

1>  frame以父控件的左上角为坐标原点

2>  bounds以控件本身的左上角为坐标原点

15.     Difference between method and selector?


方法和选择器有何不同?

通过一个selector可以找到方法地址,进而调用一个方法

补充:selector是一个方法的名字,method是一个组合体,包含了名字和实现.

16.     Is there any garbage collection mechanism in Objective C.?


OC的垃圾回收机制?

1>  OC 1.0没有垃圾回收

2>  OC 2.0有垃圾回收,只能用在Mac上

3>  iOS中有ARC机制,是编译器特性,垃圾回收是运行时特性

17.     What is NSOperation queue?


1>   用来存放NSOperation对象的队列,可以用来异步执行一些操作

2>   一般可以用在网络请求等耗时操作

18.     What is lazy loading?


延迟加载:比如控制器的view,在第一次用到view时才会调用loadView方法进行创建

19.     Can we use two tableview controllers on one viewcontroller?

是否在一个视图控制器中嵌入两个tableview控制器?

从技术角度上分析,一个控制器内部添加2个表格控制器是没有问题的

20.     Can we use one tableview with two different datasources? How you will achieve this?



一个tableView是否可以关联两个不同的数据源?你会怎么处理?

从对象属性上分析,tableView只有一个dataSource属性。当然,真要使用2个不同的数据源,还是有其他办法解决的

 

iOS开发——面试笔试精华(二)的更多相关文章

  1. iOS开发——面试笔试精华(四)

    面试笔试精华(四) 1.        Object-C有多继承吗?没有的话用什么代替?
 1>  OC是单继承,没有多继承 2>  有时可以用分类和协议来代替多继承 2.        ...

  2. iOS开发——面试笔试精华(三)

    面试笔试精华(三) 1.        When to use NSMutableArray and when to use NSArray? 什么时候使用NSMutableArray,什么时候使用N ...

  3. iOS开发——面试笔试精华(一)

    面试笔试精华(一) 1.        #import 跟#include.@class有什么区别?#import<> 跟 #import”"又什么区别? 1>  #imp ...

  4. iOS开发Swift篇—(二)变量和常量

    iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...

  5. iOS开发CoreAnimation解读之二——对CALayer的分析

    iOS开发CoreAnimation解读之二——对CALayer的分析 一.UIView中的CALayer属性 1.Layer专门负责view的视图渲染 2.自定义view默认layer属性的类 二. ...

  6. iOS开发——面试指导

    iOS面试指导 一 经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案. 1. ...

  7. ios开发——面试篇C语言精华

    面试篇C语言精华    1.面向过程:分析解决问题所需要的步骤,然后用函数把这些步骤一步一步实 现. 面向对象:直接描述客观世界的对象及其相互关系.现实世界中任何实体都 可以看作是对象,对象之间通过消 ...

  8. ios开发——面试篇(一)

    面试篇之内存管理与多线程 简述OC中内存管理机制.­­­­­与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为 ...

  9. iOS开发——面试总结(一)

    面试总结(一) 通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题: 1.搞清楚touch事件的传递(事件的响应链) 事件的响应(responder chain) 只有继承了UIRespon ...

随机推荐

  1. bzoj3211,bzoj3038

    线段树的裸题: 但是操作很奇怪,开方是不能lazy tag的 看来只能暴力修改了 但注意,开放开到1的时候就不用开,立一个flag就可以了 这可以大大的优化: 其实我是来复习线段树的 ..] of i ...

  2. Json时间格式转换问题

    很多时候在数据库中取出数据,需要用Json来接收,但是接受出来的数据竟然是:/Date(1386040883000+0800)/ 这种格式. 这个时候就需要将Json格式,转换成Javascript格 ...

  3. 【原创】batch-GD, SGD, Mini-batch-GD, Stochastic GD, Online-GD -- 大数据背景下的梯度训练算法

    机器学习中梯度下降(Gradient Descent, GD)算法只需要计算损失函数的一阶导数,计算代价小,非常适合训练数据非常大的应用. 梯度下降法的物理意义很好理解,就是沿着当前点的梯度方向进行线 ...

  4. Xcode7下载地址

    XCode 7 7.3.1:https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_7.3. ...

  5. SSL 通信原理及Tomcat SSL 配置

    SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...

  6. Web API-如何将Controller的返回值转换成HTTP response消息

    https://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization https://co ...

  7. LWIP互联网资料汇总

    本文主要搜集了下互联网上关于LWIP的资料和教程 欢迎补充 第一部分:移植 LWIP在UCOS上移植 LWIP 在STM32上移植   http://www.docin.com/p-459242028 ...

  8. 【整理】C++虚函数及其继承、虚继承类大小

    参考文章: http://blog.chinaunix.net/uid-25132162-id-1564955.html http://blog.csdn.net/haoel/article/deta ...

  9. Codeforces 603A Alternative Thinking

    题意:给你一个01串,必须替换一次,且替换的为子串.问换完后,最大01串长度. #include <bits/stdc++.h> typedef long long ll; using n ...

  10. 曝光卖假币的店铺和旺旺ID

    1:店铺名称:九玖邮币 掌柜ID:九玖邮币[此人较贼,价格只比我们低一点,图用的不太清晰的,或者直接用真品图,而且卖假币卖到2钻了,很多人上当了.]1.5 店铺名称:聚鑫钱币 掌柜ID:聚鑫钱币 [1 ...