iOS面试题汇总

发布时间:2017-7-9 7:17:11编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"iOS面试题汇总 ",主要涉及到iOS面试题汇总 方面的内容,对于iOS面试题汇总 感兴趣的同学可以参考一下。

参考资料:

http://blog.csdn.NET/xunyn/article/details/11073575

http://blog.csdn.net/xunyn/article/details/8302787

http://www.jianshu.com/p/4fea8fa60d75

http://www.csdn.Net/article/2015-01-19/2823604-iOS-interview-questions

http://www.cnblogs.com/SharkBin/p/4618388.html

1 面试的目的 
求职者通过表现证明自己对岗位的胜任
公司通过面试找到符合职位需求的员工
面试者面试的表现影响着公司用人选择,对于软件工程师,我的感觉技术面试往往是“天王山”之战,过去了BOSS面的时候,刷人机率不高,过不去,就得要找新的工作了。




2 面试的准备
现在大多数人对面试都挺重视的,我觉得也不应该简单拒绝面试宝典类的东西(这片文章也是这一类的),感觉软件开发过程 涉及很多方面,很难在短时间内对一个人完成全面的评估,举个例子,比如高考,本来的目的是通过考试依靠分数选拔优秀学生去好大学,能力是基础,但衡量是成绩,那学生的最好方法,是根据考试来学习,这是个相对简单的方法,然后就有了应试教育。工作面试也一样,个人的能力、工作背景、项目经验是基本,面试的技巧是应试技巧,面试技巧是表面文章,就像皮之不存,毛将焉附一样?又不得不说的是谁都喜欢毛色靓丽的皮草。


着装:
     小伙子干净利索  姑娘 随意打扮,别浓妆艳抹就行


知识点:
     这里我只列一些ios的主要知识点:
     objective -C 部分
     cocoaTouch 框架部分
     XCODE   使用部分 
     项目经验部分 前三部分的内容,基本是按面试官考察面试者的知识点的掌握情况,唯独项目经验,是面试者向面试官展示,可以提前练习下项目介绍,做到有层次,有重点(根据不同的职位有不同的重点),例如,作为软件开发人员参与了iPad的点餐系统开发,完成了图片菜单显示的代码,遇到了scroll view显示大图片效率问题,用懒加载的方式解决了该问题。
  


3 面试的过程
实事求是的答题
刚毕业求职时,特害怕一道题目打不出来就直接被pass掉,这也是新手求职的过程,确实会遇到,如果是特别基础题,建议回去加强基础知识。但对于一般面试,一两道题回答不出来,是非常正常的,在这样技术信息不断更新的时代,在牛的人技术都不能面面俱到。以我自己面试别人的经验,senior些的面试官,都会了解面试人员肯定有一些问题不了解,所以会从各个方面的问题都会涉及到,然后对面试者做一个综合评价。对于面试过程中,遇到自己不熟悉的领域,一定要实事求是,不了解就是不了解,了解一点就说一点,一定不要知道一点就装资深,上来就是:这个知道,简单的很,哪个做过,不复杂。然后面试官继续深入的问些细的技术点,就开始找理由:"这个做太久了,那个模块是别人实现的",这倒不要上升到道德诚信,因为面试过程总会有一些表面上的东西,从面试官的角度来说,首先他能面试你,一般是比你资深,其次面试的问题,面试官一定挑选过,所以在这上面抱着蒙混过关的心理,是有点天真的。在自己擅长的技术点与面试官进行深层次的沟通,能得到加分,技术点的知识都是可以再学的,对于问题的抽象深度,往往决定一个程序员解决问题的能力。


答题的态度要谦虚
有些人不能说技术不强,对于知道的便唯他独尊,不知道就觉不重要,视野局限,例如一个iPhone程序员之前项目做的都是Native App,碰到面试官问他:HTML Hybrid框架的一些东西? 就显出一副不屑一顾的轻视,说Html 5做出来的界面显示速度慢,都是垃圾,先不说Html 5在跨平台上的优势和已有网站业务的移动化升级等,面试官的问题很有可能是他的项目涉及这方面的技术,他是有主观感受的,主观上会如何评价这位面试者?如俗语所说:“满招损,谦得益”,谦虚的人,在项目中的团队合作也会遇到较少障碍。




4 面试的心态
说下面试的心态,有些面试者,已经面试场特紧张,有的甚至声音会发颤,这是很影响发挥的。对于有这样的问题的,往往太想要这份工作,造成紧张过度,但生活中不止有一次机会,而即使这次面试很成功,也有可能最终拿不到offer,一份工作不全由一次面试决定,一个人的人生也不全由一份工作决定。现在社会发展越来越快,一次失败往往是下一次工作机会的开始,所以去尝试,总会有新的、更好的机会。


5 面试的后续
什么样面试是较成功的?我的理解,首先是面试官对你有兴趣,表现就是回答面试官问题时,他听的很仔细,听完你的回答后,面试官还会讲一些他对这个问题的看法,这样的互动就很成功。


面试结束便是学习的一个新开端,不论是否拿到最终的offer,都已经花了时间去面试,对于面试中的问题的总结,就非常必要了。一些没有答出来的题目,可以在网上查查资料,把不清楚的问题搞清楚,提高个人能力。 

随着iOS平台开发的职位的增加,笔试、面试也越来越有“套路”,这里我总结了一些面试题,多数是Objective-C的基础知识,适合于面试新人,答案是我自己答的,不准确的地方,欢迎指出。

1.   Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?

Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。

 

2.#import 跟#include 又什么区别,@class呢, #import<> 跟 #import”"又什么区别?

#import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#include和#pragma once;@class告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含;#import<>用来包含系统的头文件,#import””用来包含用户头文件。

 

3. 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?

readwrite 是可读可写特性;需要生成getter方法和setter方法时

readonly 是只读特性  只会生成getter方法 不会生成setter方法 ;不希望属性在类外改变

assign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时;

retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1;

copy 表示拷贝特性,setter方法将传入对象复制一份;需要完全一份新的变量时。

nonatomic 非原子操作,决定编译器生成的setter getter是否是原子操作,atomic表示多线程安全,一般使用nonatomic

 

4.写一个setter方法用于完成@property (nonatomic,retain)NSString *name,写一个setter方法用于完成@property(nonatomic,copy)NSString *name

 

上一篇:【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible
下一篇:Shiro学习(11)缓存机制

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。