这几年来我面试过的iOS开发岗(附面试题)

前言

对过去的两三年做个总结,或许能帮助到些人,或者从中能得一些建议。这次出去面试主要是两个星期的时间,第一个星期主要是投简历,第二个星期主要是面试,一天安排了2-3个面试。

一、如何准备面试呢?面试的注意事项有哪些呢?

image

下面是我总结的一些准备面试的Tips以及面试必备的注意事项:

1.准备一份自己的自我介绍,面试的时候根据面试对象适当进行修改(突出重点,突出自己的优势在哪里,切忌流水账);

2.注意随身带上自己的成绩单和简历复印件;(有的公司在面试前都会让你交一份成绩单和简历当做面试中的参考。)

3.如果需要笔试就提前刷一些笔试题,大部分在线笔试的类型是选择题+编程题,有的还会有简答题。(平时空闲时间多的可以刷一下笔试题目(牛客网上有很多),但是不要只刷面试题,不动手code,程序员不是为了考试而存在的。)另外,注意抓重点,因为题目太多了,但是有很多题目几乎次次遇到,像这样的题目一定要搞定。

4.提前准备技术面试。 搞清楚自己面试中可能涉及哪些知识点、那些知识点是重点。面试中哪些问题会被经常问到、自己改如何回答。(强烈不推荐背题)
第一: 通过背这种方式你能记住多少?能记住多久?
第二: 背题的方式的学习很难坚持下去!

5.面试之前做好定向复习。 也就是专门针对你要面试的公司来复习。比如你在面试之前可以在网上找找有没有你要面试的公司的面经。

6.准备好自己的项目介绍。 如果有项目的话,技术面试第一步,面试官一般都是让你自己介绍一下你的项目。你可以从下面几个方向来考虑:

①对项目整体设计的一个感受(面试官可能会让你画系统的架构图;
②在这个项目中你负责了什么、做了什么、担任了什么角色;
③ 从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用;
④项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能

提前知道有哪些技术问题常问: iOS底层原理、热修复,算法题等等问题我觉得面试中实在太常见了,好好准备!后面的文章会我会分类详细介绍到那些问题最常问。

提前熟悉一些常问的非技术问题: 面试的时候有一些常见的非技术问题比如“面试官问你的优点是什么,应该如何回答?”、“面试官问你的缺点是什么,应该如何回答?”、“如果面试官问"你有什么问题问我吗?"时,你该如何回答”等等,对于这些问题,如何回答自己心里要有个数,别面试的时候出了乱子。

6.面试之后记得复盘。 面试遭遇失败是很正常的事情,所以善于总结自己的失败原因才是最重要的。如果失败,不要灰心;如果通过,切勿狂喜。

二、面试主要印象比较深的知识点:

image

kvo的实现原理

消息调用的过程

get和post的区别

http有哪些部分

tcp和udp的区别

消息转发机制

线程死锁的四个条件

进程和线程的区别

1.介绍一下你的项目,任务分工,做了哪些工作?介绍内容

2、网络相关的:项目里面使用到什么网络库,用过ASIHTTP库吗

3、断点续传怎么实现?需要设置什么?

4.为什么要使用HTTP???为什么不直接用TCP

5.MVVM如何实现绑定

6.block和通知的区别,分别适用什么场景

7、算法。连续问了好几个,都是数组,层层递进的,但是我忘了,只记得最后是找出数组中重复的数字

8、如何hook一个对象的方法,而不影响其它对象?

9、项目里面遇到过死锁吗?怎么解决?数据库访问本来就是线程安全的,不会造成死锁啊。什么是死锁?

10、GCD和NSOperation的区别?

11、HTTP请求的哪些方法用过?什么时候选择get、post、put?

12、线程同步的方式

13、block和通知的区别,分别适用什么场景

14、把一个链表比某个值大的放在左边,比它小的放在右边

以上的面试题,主要是iOS底层原理和算法和应用知识,需要面试之前造造火箭的,还需要平时的耕耘、积累和总结。

三、真题(附答案)

image
1、1、如何令自己所写的对象具有拷贝功能?

如果想让自己的类具备copy方法,并返回不可边类型,必须遵循nscopying协议,并
且实现

  • (id)copyWithZone:(NSZone *)zone
    如果让⾃⼰的类具备mutableCopy方法,并且放回可变类型,必须遵守
    NSMutableCopying,并实现- (id)mutableCopyWithZone:(nullable NSZone *)zone
    注意:再此说的copy对应不可边类型和mutableCopy对应不可边类型⽅法,都是遵从
    系统规则⽽已。如果你想实现自己的规则,也是可以的。
1、 2、iOS 中的多线程?

iOS中的多线程,是Cocoa框架下的多线程,通过Cocoa的封装,可以让我们更为方
便的使⽤线程,做过C++的同学可能会对线程有更多的理解,比如线程的创立,信号
量、共享变量有认识,Cocoa框架下会方便很多,它对线程做了封装,有些封装,可
以让我们创建的对象,本身便拥有线程,也就是线程的对象化抽象,从而减少我们的
工程,提供程序的健壮性。

  • GCD是(Grand Central Dispatch)的缩写 ,从系统级别提供的⼀个易⽤地多线程类
    库,具有运⾏时的特点,能充分利⽤多核⼼硬件。GCD的API接⼝为C语⾔的函数,函
    数参数中多数有Block,关于Block的使用参看这⾥,为我们提供强⼤的“接⼝”,对于
    GCD的使⽤参⻅本⽂
  • NSOperation与Queue
    NSOperation是一个抽象类,它封装了线程的细节实现,我们可以通过子类化该对
    象,加上NSQueue来同⾯向对象的思维,管理多线程程序。具体可参看这个:一个基
    于NSOperation的多线程网络访问的项目。
  • NSThread
    NSThread是⼀个控制线程执行的对象,它不如NSOperation抽象,通过它我们可以⽅
    便的得到一个线程,并控制它。但NSThread的线程之间的并发控制,是需要我们⾃自己
    来控制的,可以通过NSCondition实现。
    参看 iOS多线程编程之NSThread的使用
1、 3、内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象?

需要手动释放?在和property结合的时候怎样有效的避免内存泄露?
谁申请,谁释放
遵循Cocoa Touch的使用原则;
内存管理主要要避免“过早释放”和“内存泄漏”,对于“过早释放”需要注意@property
设置特性时,⼀定要⽤对特性关键字,对于“内存泄漏”,一定要申请了要负责释放,
要细心。
关键字alloc 或new 生成的对象需要手动释放;
设置正确的property属性,对于retain需要在合适的地方释放

以下文章可以做一个学习参考:
GCD面试要点
block面试要点
Runtime面试要点
RunLoop面试要点
内存管理面试要点
MVC、MVVM面试要点
网络性能优化面试要点
网络编程面试要点
KVC&KVO面试要点
数据存储面试要点
混编技术面试要点
设计模式面试要点
UI面试要点

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容