面试笔试精华(四)

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. bzoj1934 bzoj2768

    最小割的经典模型,体现出最小割的基本定义,把两个集合划分的最小代价 把一开始同意的人连源点,不同意的连汇点,有关系的人之间连边,流量都为1 不难发现,割两点(人)间的边就相当于朋友之间发生冲突 割到连 ...

  2. bzoj1433:[ZJOI2009]假期的宿舍

    明显的二分图最大匹配. #include<cstdio> #include<cstring> #include<cctype> #include<algori ...

  3. 西南科技大学第十届ACM程序设计竞赛题解

    A.德州扑克 B. 我恨11(1089) 问题描述 11是一个孤独的数字,小明十分讨厌这个数字,因此如果哪个数字中出现了11或者该数字是11的倍数,他同样讨厌这个数字.现在问题来了,在闭区间[L,R] ...

  4. linux 读取input输入设备demo

    /******************************************************************* * linux 读取input输入设备demo * 说明: * ...

  5. ↗☻【编写可维护的JavaScript #BOOK#】第9章 将配置数据从代码中分离出来

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

  6. (转载)HTTP URL

    HTTP URL的格式如下: http://host[“:”post][abs_path] 其中http表示要通过HTTP协议来定位网络资源.host表示合法的Internet主机域名或IP地址(以点 ...

  7. UVA 1474 Evacuation Plan

    题意:有一条公路,上面有n个施工队,要躲进m个避难所中,每个避难所中至少有一个施工队,躲进避难所的花费为施工队与避难所的坐标差的绝对值,求最小花费及策略. 解法:将施工队和避难所按坐标排序,可以看出有 ...

  8. LA3942-Remember the Word(Trie)

    题意: 有s个不同的单词,给出一个长字符串把这个字符串分解成若干个单词的连接(可重复使用),有多少种分解方法 分析: dp[i]表示i开始的字符串能分解的方法数 dp[i]=sum(dp[i+len( ...

  9. 方格取数(1)(HDU 1565状压dp)

    题意: 给你一个n*n的格子的棋盘,每个格子里面有一个非负数. 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大.   分析:直接枚举 ...

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

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