高级iOS开发工程师的面试题
1:CALayer与UIView的区别是什么?
两者最大的区别就是:涂层不会直接渲染到屏幕上;
UIView是iOS界面元素的基础,所有界面元素都是继承于它,他的本身全是由CoreAnimation来实现的;
真正的绘图部分,是有CALayer类来管理的;
一个UIView上可以有n个CALayer,每个layer来显示一种东西,增强UIView的展现能力。
2:GCD
GCD是苹果公司开发的一个较新的多核编程的解决办法。
GCD是一个可以替代诸如NSThread等技术的很高效和强大的技术,完全可以处理如数据锁定和资源泄露等复杂的异步编程问题。
3:TCP和UDP
TCP:(传输控制协议),提供面向连接的、可靠地点对点的通信;
UDP:(用户数据报协议),提供非连接的不可靠的点对多点的通信;
实际运用中,看程序注重的是哪一方面,是可靠还是快速;
4:socket连接与http连接
http连接:短连接。即客户端向服务端发送一次请求,服务端响应之后,链接即会断掉;
socket连接:长连接。即客户端一旦与服务器建立接连,便不会主动断掉。
5:TCP的三次握手
第一次握手:客户端发送syn(syn=j)包到服务器,并进入syn_send状态,等待服务器进行确认;
第二次握手:服务器收到客户端的syn包,必须确认客户的SYN(ack = j + 1),同时自己也发送一个SYN包(syn = k),即SYN + ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户收到服务器发送的SYN+ACK包之后,向服务器发送确认包(ACK = k + 1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成第三次握手。
6:iOS中对象之间有哪些通讯方式?
代理 Block 通知 KVO
7:http协议的特点,GET POST 请求,以及https协议
http短连接,客户端主动发送请求,服务器做出响应,服务器相应之后,连接断开。GET 请求没有请求体,POST请求有请求体。
https:安全超文本传输协议。基于HTTP开发,用户在客户计算机与服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说就是HTTP的安全版。
8:XML与JSON数据解析
XML:DOM和SAX解析
DOM解析必须完成DOM树的构造,在处理规模较大的XML文件时很好内存,占用资源较多
SAX解析是用事件驱动模型,解析XML的时候每遇到一个XML开始或者结束标签、属性或者一条指令,程序就产生一个相应的事件来进行相应的处理。SAX相对于DOM来说更适合处理较大的文档。
JSON:JSONKit、系统自带
9:TableView复用 设计模式
单例 组合设计模式 UIButton设计模式
10:数据存储
偏好设置 Plist文件 Sqlite数据库 CoreDate
11:断点续传如何实现的?
12:Core内容:CoreAnimation、CoreGraphics,分别使用CA或者CG做过什么样的动画或者图像上的内容?
13:NSOperationQueue、GCD
14:算法:冒泡排序、二分法、数据结构(链表、二叉树、算法时间复杂度、空间复杂度),操作系统,网络知识。
高级iOS开发工程师的面试题的更多相关文章
- 【转】2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题
腾讯面试(WEB高级应用开发工程师<PHP>)非答案啊!!! 开始正题之前,容博主啰嗦两句吧,呵呵.(你也可跳过直接到红色字体看题!) 腾讯一直是我很敬重的企业,尽管小企鹅在战略上饱受争议 ...
- 2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题 [转]
笔试(45 minute):(本来是四张纸,被我弄丢了一张!无伤大雅,难度级别不会有出入) 注意:由于时间紧迫和水平有限,难免有不足或错误,请指证,虚心学习! [PHP] 写出PHP中至少5个全局变量 ...
- iOS开发工程师笔试题
iOS开发工程师笔试题 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? Object-c的类不可以多重继承:可以 ...
- 写给IOS开发工程师的网页前端入门笔记
前言:作为IOS开发工程师,终会接触到网页前端开发,甚至可能会有 用HTML5开发IOS的app客户端的需求.比如现在上架的app就有比如理财类型的app有的就用HTML开发的,从理财类型的app需求 ...
- iOS 开发工程师
iOS 开发工程师 工作职责: 负责下厨房 iPhone 客户端的产品开发.维护.优化以及扩展. 任职要求: 对技术有热情,热爱新的挑战 熟悉 CocoaTouch, ASIHttpRequest, ...
- 100个iOS开发/设计程序员面试题汇总,你将如何作答?
100个iOS开发/设计程序员面试题汇总,你将如何作答? 雪姬 2015-01-25 19:10:49 工作职场 评论(0) 无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目, ...
- 来自IOS开发工程师的零基础自学HTML5经验分享
移动互联网的火爆,而Html具有跨平台.开发快的优势,越来越受到开发者的青睐.感谢IOS开发工程师“小木___Boy”’带来的HTML5学习经验分享. 一.学习途径 1.很多视频网站 比如慕课.和极客 ...
- 如何成为一名优秀的 iOS 开发工程师
如果你是一位专业的iOS开发工程师,你应该为自己感到自豪.因为你能在强大的iOS系统下,一展身手实现自己和他人的想法,这是一件令人无比激动的事情. 作为一名iOS开发工程师,你一定想成为行业的佼佼者. ...
- 天下代码一大抄,整个案例的搬是什么鬼!疑似冒充蚂蚁金服高级Java开发工程师?你大爷
写在开始 上班前的第一件事,就是码云看看有什么消息,回复下网友的问题.如果看到喜欢的项目会点进去瞅瞅,然后就开始一天的工作. 然而,这一天的工作并不开心,一个今日热门项目让自己很恼火,一开始感觉并没有 ...
随机推荐
- 在列表页,按照指定的category取所属的post列表
在某些指定的页面,例如news,blog等页面,需要列出指定某种类型的文章列表,这种情况下,可以先添加两个category,分别命名news,blog,然后再分别添加几个post,指定每个post所属 ...
- struts2视频学习笔记 07-08(为Action的属性注入值,指定需要Struts 2处理的请求后缀,常用常量)
课时7 为Action的属性注入值(增加灵活性,适用于经常更改的参数) Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入 ...
- css默认样式
html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, ...
- CNAPS Code 查询(招商银行)
招商银行的妹子实在太傻了,根本不知道什么是CNAPS Code.联行号,完全答非所问. 最后还是自己搞定了,如图: 最后再看看招行人员的英语水平,真是不知道什么是东西:
- PowerMock使用遇到的问题——1
遇到问题:再用PowerMock Mock构造方法时,所有语句都可以通过执行,但当最后执行verify语句时却总是出现如下错误: java.lang.AssertionError: ...
- select2 插件
官网:http://select2.github.io/ Select2是基于jQuery的一个插件,没有引用jQuery,是没有效果的 1.在实现给select2添加placeholder效果的 ...
- HDU 1465
排列 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 大家常常 ...
- Visual Studio 中的头文件、源文件和资源文件都是什么?有什么区别??
头文件:后缀为.h,主要是定义和声明之类的,比如类的定义,常量定义源文件:后缀.cpp,主要是实现之类的,比如类方法的实现资源文件主要是你用到的一些程序代码以外的东西,比如图片之类,或者菜单.工具栏之 ...
- MSP430x1_4_6x之问题总结
01:MSP430端口上电复位的初始值是不确定的:所以使用是都要初始化:比如加下面的语句或者加你使用的端口就行了: /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT ...
- Controller方法的返回值
方法的返回值1.ModelAndView这个就不多说,这是最基础的,前面定义一个ModelAndView,中途使用addObject方法添加属性,再返回.视图解析器会自动扫描到的.2.String这个 ...