ios开发工程师常见面试题汇总
经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案。
1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
2.#import 跟#include 又什么区别,@class呢; #import<> 跟 #import”"又什么区别?
3.属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?
4.id 声明的对象有什么特性?
5.MVC是什么?有什么特性?为什么在iPhone上被广泛运用?
6.对于语句NSString* testObject = [[NSData alloc] init];testObject 在编译时和运行时分别时什么类型的对象?
7.什么是安全释放?
8.为什么有些4.0独有的objective-c 函数在3.1上运行时会报错.而4.0独有的类在3.1上分配内存时不会报错?分配的结果是什么?
9.为什么4.0独有的c函数在3.1的机器上运行不会报错(在没有调用的情况下?)而4.0独有的类名在3.1的机器上一运行就报错?
10.常见的object-c的数据类型有那些, 和 c 的 基本数据类型有什么区别?如:nsinteger 和int
11.property中属性retain,copy,assgin的含义分别是什么?有什么区别?将其转换成get/set方法怎么做?有什么注意事项?
12.委托是什么?委托的property声明用什么属性?为什么?
13.浅拷贝和深拷贝区别是什么?…
14.NSString 和 NSMutableString 有什么区别?
15.自动释放池跟GC有什么区别?iPhone上有GC么?[pool release] 和[pool drain]有什么区别?
16.
for(int index = 0; index < 20; index ++){NSString *tempStr = @”tempStr”;NSLog(tempStr);NSNumber *tempNumber = [NSNumber numberWithInt:2];NSLog(tempNumber); }
这段代码有什么问题.?会不会造成内存泄露(多线程)?在内存紧张的设备上做大循环时自动释放池是写在循环内好还是循环外好?为什么?
17.内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象需要手动释放?在和property结合的时候怎样有效的避免内存泄露?
18.在一个对象释放前.如果他被加到了notificationCenter 中.不在notificationcenter中remove这个对象可能会出现什么问题?
19.怎样实现一个 singleton的类.给出思路。
20.什么是序列化或者Acrchiving,可以用来做什么,怎样与copy结合,原理是什么?.
21.线程是什么? 有哪些注意事项.?
22.在iphone上有两件事情要做,请问是在一个线程里按顺序做效率高还是两个线程里做效率高?为什么?
23.runloop是什么?在主线程中的某个函数里调用了异步函数,怎么样block当前线程,且还能响应当前线程的timer事件,touch事件等.
24.ios平台怎么做数据的持久化?coredata和sqlite有无必然联系?coredata是一个关系型数据库吗?
25.阐述一个nil对象从interface bulider产生,到载入程序运行空间,最后被释放时所经历的生命周期.
26.notification是同步还是异步? kvo是同步还是异步?notification是全进程空间的通知吗?kvo呢?
27.kvc是什么?kvo是什么?有什么特性?
28.响应者链是什么?
29.unix上进程怎么通信?
30.timer的间隔周期准吗?为什么?怎样实现一个精准的timer?
31.UIscrollVew用到了什么设计模式?还能再foundation库中找到类似的吗?
32.如果要开发一个类似eclipse的软件,支持插件结构。且开放给第三方开发。你会怎样去设计它?(大概思路)
33.线程和进程的区别和联系?
34.C和obj-c 如何混用?
35.以下每行代码执行后,person对象的retain count分别是多少
Person *person = [[Person alloc] init]; // count 1
[person retain]; // count 2
[person release]; //count 1
[person release]; //retain count = 1;
36.ViewController 的 loadView, viewDidLoad, viewDidUnload 分别是在什么时候调用的?
37.ViewController 的 didReceiveMemoryWarning 是在什么时候被调用的?
38.ios5新特性有那些?
39.谈谈你对ARC 的认识和理解?
ios开发工程师常见面试题汇总相关推荐
- 测试开发工程师常见面试题
1. CPU 和 GPU的区别 CPU 力气大啥P事都能干,还要协调. GPU 上面那家伙的小弟,老大让他处理图形,这方面处理简单,但是量大,老大虽然能处理,可是老大只有那么几个兄弟,所以不如交给小弟 ...
- Android开发工程师常见面试题整理
主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)高端技术面试题 (4)非技术性问题&HR问题汇总 1. java面试题 熟练掌握java是很关键的,大公司不仅仅要 ...
- java软件开发工程师面试题_Java开发工程师常见面试题01
Java 基础 1. JDK和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境. JRE:Java Run ...
- 测试开发工程师常见面试题(随时更新)
一.功能测试用例的设计 举例: (一).我想要回家,让你给我买一张票,然后设计测试用例 答案: 1.确定需求(回家回哪,需要什么票,买什么时候的票) 2.开始测试 2.1功能测试(我去买票(买火车票, ...
- 初级python爬虫工程师面试题_Python爬虫工程师常见面试题汇总
爬虫是Python的重要应用方向之一,也是学习Python的学员求职的主要方向.为了帮助学员更快更好的通过企业面试,小编悉心整理了5道Python爬虫面试题及答案,希望能够给大家提供帮助! 1.简要介 ...
- 2022年软件测试工程师常见面试题,标准答案都在这
软件测试工程师常见面试题(经典篇),标准答案来了 经常有人问我要软件测试的面试题,2022年小编花了十多天的时间整理的软件测试面试真题.各位小伙伴记好了,也可以把内容分享给身边有需要的朋友哦. 1 . ...
- Java工程师常见面试题集锦
Java工程师常见面试题集锦(一)互联网人必看!(附答案及视频教程,持续更新) 2019年01月02日 14:01:14 CSDNedu 阅读数:653 大牛也怕面试题,尤其是基础题,在面试中如果出现 ...
- Java后端工程师常见面试题
以下是整理的Java后端工程师常见面试题,希望有助于找工作: 1,对Java集合框架的理解.ArrayList和LinkedList的区别和优缺点,以及使用场景.扩容因子了解吗?分别是多少. Java ...
- java中级程序员面试题_中级Java程序员常见面试题汇总
下面是一些中级Java程序员常见面试题汇总,你可以用它来好好准备面试. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...
- 数据库工程师常见面试题
数据库工程师常见面试题(文章转载自乐字节) 问题 1:为什么 group by 和 order by 会使查询变慢? 问题 2:delete.truncate 和 drop 的区别? 问题 3:简述数 ...
最新文章
- Java-Maven(四):Eclipse集成Maven环境配置
- vmmem 内存占用高
- 3950双层交换机生成树协议
- Bootstrap4+MySQL前后端综合实训-Day04-PM【PowerDesigner 图形化数据库设计软件(设置依赖关系、自动增长主键、生成sql语句)、SQLyog软件(备份数据库)】
- 2018年中国研究生数学建模竞赛--经验贴
- GUI阅读字号和触点面积设计 (可用性设计)
- 【设计模式 06】原型模式(克隆??)
- 历经万难,终于搭好深度学习环境[吐血总结篇,造福后人]
- Java 分布式解决方案
- JavaScript音频编辑
- Hypervisor介绍
- 15个WordPress幻灯片画廊插件
- C语言小黄鸭-->函数()
- html中字段间距代码,css调字体大小代码 css字与字之间的间距怎么调
- 蜂窝网实现移动性管理?
- 当科技成为潮流,下一个新十年的未来应该如何畅想?
- 喜讯 安超云正式成为“同心生态联盟”会员单
- AP发现AC过程——CAPWAP协议详解
- Java 如何对中文排序
- 17岁高考落榜生成为世界顶尖IT高手
热门文章
- 公众号淘客怎么运营推广,找到适合自己的的推广方法才有效
- canvas制作圆角矩形(包括填充矩形的功能)
- java毕业生设计在线教学质量评价系统计算机源码+系统+mysql+调试部署+lw
- WindowManagerService详述
- 有1234四个数字java_用java程序编写,1234这四个数进行排列组合,
- Linux面试题大全(带答案的哦)
- 迅为4418核心板应用于智能访客机方案
- 【Android】Error obtaining UI hierarchyError while obtaining UI hierarchy XML file: com.android...
- css04 float
- 2020-11-10大众点评字体反爬抓取信息