转自:http://www.mianwww.com/html/2014/03/20372.html

1、objective-c 是所有对象间的交互是如何实现的?

在对象间交互中每个对象承担的角色不同,但总的来说无非就是”数据的发送者”或”数据的接收者”两种角色,我们可以通过代理去进行通信,或者通过观察者消息模式,blocks,appdelegagte

通过:代理协议”或者”通知中心”方式的实现能最大限度的降低两交互对象之间的耦合,不错的设计;

2、如何将产品进行多语言发布,开发?

xcode 对多语言支持比较好,除了h,m文件外所有其他东西都可以多语言

3、objective-c中是如何实现线程同步的?

Mutexlock (互斥锁)、NSCondition lock (条件锁)消息传送

4、什么是UDP和TCP的区别是什么?

TCP 的全称是传输控制协议,这种协议可以提供面向连接的、可靠的、点到点的通信。

UDP 的全称是用户数据包协议。他可以提供非连接的不可靠的点懂啊多点的通信,是osi参考模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传输,_IETF RFC 768 是UDP 的正式规范;

选择何种协议,看程序注重那个方面,可靠抑或快速。

5、TCP/IP 建立连接的过程

在TCP/IP 协议中,TCP协议提供可靠的连接服务,采用三次握手建立连接;

第一次握手:建立连接时,客户端发送连接请求到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到客户端连接请求,向客户端发送允许连接应答,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的允许连接应答,向服务器发送确认,客户端和服务器进入通信状态,完成三次握手。

(所谓的三次握手,就是要有三次连接信息的发送、接收过程。TCP连的建立需要进行三次连接信息的发送、接收。)

6、全局变量可不可以定义在被多个.c文件包含的头文件中?为什么?

可以,在不同的c文件中以static 形式来声明同名全局变量。前提是其中只能有一个c文件中对此变量赋初值,此时连接不会出错。

7、如何引用一个已经定义过的全局变量?

extern

可以用引用头文件的方式,也可以用extern 关键字,如果用引用头文件的方式来引用某个在头文件中的全局变量,假定你那个变量写错了,那么编译期间会报错,如果用extern 方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

8、什么叫数据结构?

数据结构是计算机存储、组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合。

通常,精心选择的数据结构可以带来更高的运行或者存储效率。

9、编程中,保存数据有哪几种方式?

数组、自定义类、文件操作,数据库:如(SQLite 、core data、 plist 、NSUserDefaults、file )—持久保存数据

10、Sizeof 和strlen 的区别和联系?

Sizeof() 是运算符,可以用类型做参数,还可以用函数做参数,功能是获得保证能容纳实现所建立的最大对象的字节大小;

strlen()是函数,要在运行时才能计算。参数必须是字符行指针且必须是以”\0″结尾的。功能为:返回字符串的的长度。

11、什么是抽象类?抽象类有什么作用?能实例化吗?

在c++中,含有纯虚拟函数的类称为抽象类,他不能生成对象;

在java中,含有抽象方法的类称为抽象类,同样不能生成对象;

抽象类是不完整的,没有完全实现,只能用作基类;不能实例化。

12、你对@interface和@property的理解?

@interface 申明一个类

@property就是申明2个人函数,getter和setter,编译器会自动产生2个函数;

13、调用一个类的静态方法需不需要release?

静态方法,就是类方法,不需要,类方法对象放在autorelease中

15、do while和while do 的区别?

do while 是先执行后判断,条件不满足也要执行一次;

while do 是先判断后执行,条件不满足就一次都不执行。

16、写出几个死循环?

while(1){}、 for(;;){}。

17、用预处理指令#define声明一个常数,用以表明一年中有多少秒(忽略润年问题)

#define SECONS_PER_YER(60**60*24*365)UL

18、assign和retain ,copy区别?

assign就是和普通语言的赋值一样,不改变引用计数

retain 在一个对象中保存该对象需要拥有的对象,对该对象引用计数+1,指针拷贝;

copy 对NSString,内容拷贝,拷贝之前都会释放旧的对象

retain 对其他NSObject 和其子类

readonly 表示这个属性是只读的,就是只生成getter 方法,不生成setter 方法。

read write 设置可供访问级别

19、类之间的继承关系,比如UIview 的父类是哪一个等等?

UIResponder ,处理触摸,touchBegin、touchEnd ,nextResponder

const和volatile 分别代表什么意思?

const 简单说是只读,用来保护那些不希望被改变的参数,防止其被那些恶意的代码修改。

Objective-C面试题(精心整理的,附答案)的更多相关文章

  1. 100道Java基础面试题收集整理(附答案)

    不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...

  2. Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本

    Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本 前言 序言 再高大上的框架,也需要扎实的基础才能玩转,高频面试问题更是基础中的高频实战要点. 适合阅读人群 J ...

  3. 经典面试题(二)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

    1.正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项, 例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12 (1).设计一个函数void ...

  4. 2017常见的50道java基础面试题整理(附答案)

    1.作用域public,private,protected,以及不写时的区别 答: 区别如下: 2.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是 ...

  5. Java高级面试题整理(附答案)

    这是我收集的10道高级Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java ...

  6. Java面试题汇总---升级版(附答案)

    前几天写了Java面试题汇总---基础版,总结了面试中常见的问题及答案,那我今天基于昨天的话题做一次升级,也就是说,求职者除了要学习了解哪些常见的基础面试题之外,还得准备些什么呢? 对有工作经验的求职 ...

  7. Java面试题大汇总(附答案)

    下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知 ...

  8. 2020年春招面试必备Spring系列面试题129道(附答案解析)

    前言 关于Spring的知识总结了个思维导图分享给大家   1.不同版本的 Spring Framework 有哪些主要功能?   2.什么是 Spring Framework? Spring 是一个 ...

  9. 转:链表相交有环 经典面试题(三)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

    源地址:http://blog.csdn.net/sj13051180/article/details/6754228 1.判断单链表是否有环,要求空间尽量少(2011年MTK) 如何找出环的连接点在 ...

  10. 经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

    1.        有一个整数数组,请求出两两之差绝对值最小的值.记住,只要得出最小值即可,不需要求出是哪两个数.(Microsoft)  方法1:两两作差求绝对值,并取最小,O( n2 ). 方法2 ...

随机推荐

  1. 『数据结构』RMQ问题

    RMQ(Range Minimum/Maximum Query),即区间最值问题. 对于长度为 n 的数列 A ,回答若干查询 RMQ(A,i,j)(i,j<=n) ,返回数列 A 中下标在 i ...

  2. python——字符串操作函数

    字符串 join() map() split() rsplit() splitlines() partiton() rpartition() upper() lower() swapcase() ca ...

  3. SpringBoot 源码解析 (三)----- Spring Boot 精髓:启动时初始化数据

    在我们用 springboot 搭建项目的时候,有时候会碰到在项目启动时初始化一些操作的需求 ,针对这种需求 spring boot为我们提供了以下几种方案供我们选择: ApplicationRunn ...

  4. Oracle 数据库基础:数据查询与操作

    SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...

  5. CSS(7)--- 通俗讲解清除浮动

    CSS(7)--- 通俗讲解清除浮动 上一篇讲了CSS浮动 博客地址:CSS(6)---通俗讲解浮动(float) 一.理解清除浮动 1.为什么要清除浮动 我们前面说过,浮动本质是用来做一些文字混排效 ...

  6. PHP 在 Laravel 中动态隐藏 API 字段

    我最近在 Laravel Brasil 社区看到一个问题,结果比看起来更有趣.想象一下你有一个 UsersResource 用下面的实现: <?php namespace App\Http\Re ...

  7. P4-verilog实现mips单周期CPU

    最近对学习的掌控可能出现了问题,左支右绌,p2挂了,p2.p3.p4.p5每周在计组花的连续时间少了很多,学习到的东西也少了很多,流水线都还没真正开始写,和别人比落后了一大截,随笔自然就荒废了,我得尽 ...

  8. nyoj 366-D的小L (next_permutation())

    366-D的小L 内存限制:64MB 时间限制:4000ms 特判: No 通过数:5 提交数:7 难度:2 题目描述:       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡 ...

  9. nyoj 98-成绩转换 (if, else if)

    98-成绩转换 内存限制:64MB 时间限制:3000ms 特判: No 通过数:49 提交数:74 难度:1 题目描述: 输入一个百分制的成绩M,将其转换成对应的等级,具体转换规则如下: 90~10 ...

  10. Github相关知识

    github的提交流程 mkdir 目录名      :创建一个空文件夹 mkdir webs webs代表创建的新文件名称 cd 目录名   :切换到文件夹 cd webs 切换到当前新建的目录下 ...