转自: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. mjpg-stream 视频服务 (1)| 简介与配置树莓派使用

    源码地址为:https://github.com/jacksonliam/mjpg-streamer Mjpg简介: (1)mjpg-streamer是一个命令行应用程序,它将JPEG帧从一个或多个输 ...

  2. 字符串模拟大数相加——Java实现

    本题是CVTE二面编程题,首先考虑返回值肯定是一个字符串(int会有溢出可能),并且两个字符串只含数字,不含”+“.”-“这种. 代码如下: public static String add(Stri ...

  3. 易初大数据 2019年11月14日 spss笔记 王庆超

    “均匀分布”的随机数 需要打开本章的数据文件“sim.sav.”. 1.设置随机数种子 1选择[转换]--[随机数字生成器],勾选‘设置起点’,并在‘固定值’ 的下‘值’中输入一个用户给定的数值.该数 ...

  4. vue ui九宫格、底部导航、新闻列表、跨域访问

    一.  九宫格 九宫格:在mint-ui组件库基于vue框架 mui不是基于vue框架 只是css/js文件 (1)官方网站下载安装包 (2)copy css js fonts[字体图标] src/l ...

  5. C++对象模型结论

    C++对象模型 1.C++对象模型探讨的是对象成员存储问题. 2.结论: (1) .类内部的函数(静态成员函数,非静态成员函数)都不在对象内部 ,不占用对象大小. (2) 类内部的静态变量不占用对象大 ...

  6. ZeroC ICE的远程调用框架 AMI与AMD -Why?

    在Ice有两种异步使用的方式,AMI和AMD.AMI是异步方法调用,AMD是异步方法调度(分派).前者用在代理端,后者用在饲服实现端. AMI其实就是在代理端,使用Future机制进行异步调用,而不阻 ...

  7. MySQL 备份数据那点事

    mysqldump 什么是 mysqldump ? mysqldump 是 MySQL 用于执行逻辑备份的一款工具,可以根据原始数据库对象以及表的定义和数据来生成一系列可以被执行的 SQL 语句. 通 ...

  8. SpringBoot学习(一)—— idea 快速搭建 Spring boot 框架

    简介 优点 Spring Boot 可以以jar包的形式独立运行,运行一个Spring Boot 项目只需要通过 java -jar xx.jar 来运行. Spring Boot 可以选择内嵌Tom ...

  9. mac中安装Jenkins+jdk

    Jenkins是基于Java开发的一种持续集成工具,用于持续的软件版本发布/测试项目,并监控外部调用执行的工作.简单来说就是自动化测试+部署. 首先我们需要安装jdk,注意,目前jenkins只支持j ...

  10. Laravel 菜鸟的晋级之路

    第一阶段:简单的增删改查 这是最开始接触Laravel的一个阶段.如果有PHP经验,那么应该能很快找到MVC的路径,然后驾轻就熟的开始写起来.虽然还显得有些笨拙,不过很快就能做出一些内容了.如果没有P ...