面试ios开发工程师能学到什么?

这个问题有很多很优秀的答案,但是最近一周采访了很多iOS开发者,准备了一些问题,忍不住贴出来。...

首先我需要声明一下,大部分受访者都有1~3年的iOS开发经验,不需要找一个真正的大牛,所以我觉得我准备的大部分题目都是比较基础的,可以看出这个层次的人的水平。如果你也是有3年左右开发经验的从业者,不妨一试。

面试一开始,我会让面试官选择一个他最熟悉的项目,向我们介绍它的技术架构,以及面试官参与的模块和具体工作。因为我讨厌在面试中做自我介绍,所以我一般会开门见山,直接开始谈项目。其实很多开发者并不理解我所说的“架构”的具体含义。有的人讲了很多产品功能,有的人讲的很笼统(比如遵循MVC架构等。).通常我会打断他们,让他们直接告诉我这个APP的层次结构或者核心模块。

然后我会问两个问题:

1.讲讲这个APP里的一个时间,用户触发了一个事件,引起了一个服务请求,然后得到了服务器的返回,更新了前端接口。请具体一点,比如数据处理过哪些类,每次传输的格式是什么?

2.你参与的APP是如何处理多个服务同时发起的?

然后让面试官讲一下APP的界面架构,比较随意。

问完项目,开始基础知识题~

1.什么是arc?(arc的诞生是为了解决什么问题?)

2.请解释以下关键词的区别:赋值vs弱,_ _块vs _ _弱。

3._ _ block在圆弧和非圆弧下的意思一样吗?

4.使用原子的线程安全吗?

5.描述一个您遇到的保留周期的例子。别撒谎,你肯定遇到过。

6.+(空)荷载;+(void)初始化;有什么用?

7.为什么在其他语言里叫函数调用,在objective c里却是给对象发消息(或者说说对runtime的理解)?

8.什么是方法swizzling?

9.UIView和CALayer是什么关系?

10.如何给UIImageView添加圆角,性能高?(不说layer.cornerRadius了!)

11.使用drawRect有什么影响?这可深可浅,你至少要用。。)

12中UIImageView加载图片的逻辑是什么?ASIHttpRequest还是SDWebImage?(将UIImageView放在UITableViewCell中更好)

13.请设计一个简单的图片内存缓冲区(移除策略必须说)。

14.说说你用乐器优化动画表现的经验(别问我什么乐器)。

什么是15。loadView用于?

16.你永远知道的视图。。

17有哪些排队?GCD?你自己设置过串行队列吗?背后的线程模型是什么?

18.你用过coredata或者sqlite吗?阅读和写作是分线程的吗?你遇到过死锁吗?你是怎么解决的?

19的post和get有什么区别?http?有很多不同之处,请多讲讲。

20.我知道你大学毕业后没接触过算法数据结构,但请告诉我什么是二叉查找树?搜索的时间复杂度是多少?我真的很想知道!