面试笔试精华(四)

1.        Object-C有多继承吗?没有的话用什么代替?


1>  OC是单继承,没有多继承

2>  有时可以用分类和协议来代替多继承

2.        Object-C有私有方法吗?私有变量呢?


1>  OC没有类似@private的修饰词来修饰方法,只要写在.h文件中,就是公共方法

2>  可以直接在.m文件中(比如类扩展)声明和实现方法,对编译器来说是私有的

3.        关键字const什么含义?

const int a;

int const a;

const int *a;

int const *a;

int * const a;

int const * const a;

1> 前两个的作用是一样:a 是一个常整型数

2> 第三、四个意味着 a 是一个指向常整型数的指针(整型数是不可修改的,但指针可以)

3> 第五个的意思:a 是一个指向整型数的常指针(指针指向的整型数是可以修改的,但指针是不可修改的)

4> 最后一个意味着:a 是一个指向常整型数的常指针(指针指向的整型数是不可修改的,同时指针也是不可修改的)

4.        static的作用?

1>  static修饰的函数是一个内部函数,只能在本文件中调用,其他文件不能调用

2>  static修饰的全部变量是一个内部变量,只能在本文件中使用,其他文件不能使用

3>  static修饰的局部变量只会初始化一次,并且在程序退出时才会回收内存

5.        线程和进程的区别?

1>   一个应用程序对应一个进程,一个进程帮助程序占据一块存储空间

2>   要想在进程中执行任务,就必须开启线程,一条线程就代表一个任务

3>   一个进程中允许开启多条线程,也就是同时执行多个任务

6.        堆和栈的区别?


1>   堆空间的内存是动态分配的,一般存放对象,并且需要手动释放内存

2>   栈空间的内存由系统自动分配,一般存放局部变量等,不需要手动管理内存

7.        为什么很多内置的类,如TableView的delegate的属性是assign不是retain?


1>  tableView的代理一般都是它所属的控制器,控制器会对它内部的view做一次retain操作

2>  假设tableView也对代理(控制器)做一次retain操作,那么就出现循环retain问题

8.        定义属性时,什么情况使用copy、assign、retain?


1>  copy:NSString、Block等类型

2>  assign:基本数据类型

3>  retain:OC对象类型

9.        对象是什么时候被释放的?


每个对象都有一个引用计数器,每个新对象的计数器是1,当对象的计数器减为0时,就会被销毁

10.     tableView的重用机制?


这里只是简述:将离开屏幕的cell放到缓存池,重新拿来显示到屏幕的其他位置(其他自己详细描述)

11.     ViewController 的loadView、viewDidLoad、viewDidUnload分别是什么时候调用的,在自定义ViewCointroller时在这几个函数中应该做什么工作?

1>  loadView

  • 当第一次使用控制器的view时,会调用loadView方法创建view
  • 一般在这里自定义view

2>  viewDidLoad

  • 当控制器的view创建完毕时会调用,也就是在loadView后调用
  • 一般在这里添加子控件、初始化数据

3>  viewDidUnload

  • 当控制器的view因为内存警告被销毁时调用
  • 一般在这里回收跟界面相关的资源(界面都会销毁了,跟界面相关的资源肯定不要了)

12.     ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是什么?


  • 当应用程序接收到系统的内容警告时,就有可能调用控制器的didReceiveMemoryWarning方法
  • 它的默认做法是:

l   当控制器的view不在窗口上显示时,就会直接销毁,并且调用viewDidUnload方法

13.     怎么理解MVC,在Cocoa中MVC是怎么实现的?


1>  M:Model,模型,封装数据

2>  V:View,视图界面,负责展示数据

3>  C:Controller,控制器,负责提供数据(Model)给界面(View)

14.     self.跟self->什么区别?


1>  self.是调用get方法或者set放

2>  self是当前本身,是一个指向当前对象的指针

3>  self->是直接访问成员变量

15.     id、nil代表什么?

1>  id类型的指针可以指向任何OC对象

2>  nil代表空值(空指针的值)

16.     如何对iOS设备进行性能测试?

Timer Profile

 
 
 

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

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

    面试笔试精华(二) 警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!! 1.        Difference between shallow copy and deep copy? ...

  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.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符: ...

  5. iOS开发——面试指导

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

  6. iOS开发之窥探UICollectionViewController(四) --一款功能强大的自定义瀑布流

    在上一篇博客中<iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流>,自定义瀑布流的列数,Cell的外边距,C ...

  7. ios开发入门篇(四):UIWebView结合UISearchBar的简单用法

     UIWebView是ios开发中比较常用的一个控件.我们可以用它来浏览网页.打开文档等,今天笔者在这里简单介绍下UIWebView和UISearchBar结合起来的用法,做一个简单的类浏览器. 一: ...

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

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

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

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

随机推荐

  1. bzoj2595

    一开始看是插头dp,后来发现还有一个叫斯坦纳树的东西 什么叫斯坦纳树,就是使给定点连通开销和最小的树(可以包含多余的点) 到这张平面图上,我们不难想到用dp来解决,设f[x,y,S]表示连通集合为S, ...

  2. Apache HTTP Server多个拒绝服务漏洞

    漏洞版本: Apache Group Apache HTTP Server < 2.4.9 漏洞描述: BUGTRAQ ID: 66303 CVE ID: CVE-2013-6438,CVE-2 ...

  3. ↗☻【编写可维护的JavaScript #BOOK#】第4章 变量、函数和运算符

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  4. C语言块内变量回收问题

    之前有一个错误认识,错误的认为局部变量的回收是发生在函数返回时.其实在块结束时块内使用的内容就会被回收了. 以下的实例说明了问题 ]; ; i < ; ++i) { int item = i; ...

  5. Hibernate4.x之映射关系--单向一对多

    在领域模型中,类与类之间最普遍的关系就是关联关系在UML中,关联是有方向的 以Customer和Order为例:一个用户能发出多个订单,而一个订单只能属于一个客户.从Order到Customer的关联 ...

  6. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.5.4

    If $\dim \scrH=3$, then $\dim \otimes^3\scrH =27$, $\dim \wedge^3\scrH =1$ and $\dim \vee^3\scrH =10 ...

  7. java 注解(转)

    第一部分:了解一下java1.5起默认的三个annotation类型:    一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的.    一个是@Deprecated:建 ...

  8. 设计模式_Command_命令模式

    形象例子: 俺有一个MM家里管得特别严,没法见面,只好借助于她弟弟在我们俩之间传送 信息,她对我有什么指示,就写一张纸条让她弟弟带给我.这不,她弟弟又传送过来一个COMMAND,为了感谢他,我请他吃了 ...

  9. 用JDK自带的工具生成客户端调用Webservice的代码

    JAVA下客户端调用Webservice代码简直是让人心生畏惧,今日尝试,做记录如下,参考网上的众多解决方案,下面这种方式是比较简单的. 在jdk的bin目录下有一个wsimport.exe的工具,使 ...

  10. #pragma once 与 #ifndef 解析(转载)

    正在入门驱动编程,遇到一个小问题,如下详细解释. 原文链接:#pragma once 与 #ifndef 解析 http://www.cnblogs.com/hokyhu/archive/2009/0 ...