扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
程序员面试iOS开发工程师都会遇到哪些问题?下面是一些问题分享,希望对以后的面试会有所帮助。
清苑网站建设公司创新互联建站,清苑网站设计制作,有大型网站制作公司丰富经验。已为清苑成百上千家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的清苑做网站的公司定做!
首先需要声明的是,此次的面试者大多在有1~3年的iOS开发经验,并非需要找一个真正的大牛,所以准备的题目,自己觉得大多数还是比较基础,比较能够看出这个层次的人的水准的。如果也是个有3年左右开发经验的从业者,不妨一试。
面试开始的时候,会让面试者选择一个他最熟悉的项目,给介绍一下它的技术架构,以及面试者在其中参与的模块和具体工作。事实上,很多开发者并不明白提到的“架构”的具体意思,有些人说了一大堆产品的功能,还有人说的非常笼统(比如,遵循MVC架构之类),一般这种时候会打断他们,直接让他们给讲一下这个APP的层次结构,或者是核心模块等。
之后会问两个问题:
1. 讲述一次在这个APP中,用户触发了一个事件,引起了一个服务请求,然后获取服务端返回,并且更新前端界面的过程。请说的详细一点,比如数据经过了哪些类的处理,每一次传递时的格式是怎么样的?
2. 参与的APP,是如何处理多个服务的同步发起的?随后让面试者说一下APP的界面架构,这个比较随意。
问完了项目,就开始基础知识题啦~
Model层:
数据持久化存储方案有哪些?
沙盒的目录结构是怎样的?各自一般用于什么场合?
SQL语句问题:inner join、left join、right join的区别是什么?
sqlite的优化
网络通信用过哪些方式(100%的人说了AFNetworking...)
如何处理多个网络请求并发的情况
在网络请求中如何提高性能
在网络请求中如何保证安全性
语言与基础知识:
内存中的栈和堆的区别是什么?那些数据在栈上,哪些在堆上?
#define和const定义的变量,有什么区别
什么情况下会出现内存的循环引用
block中的weak self,是任何时候都需要加的么?
GCD的queue,main queue中执行的代码,一定是在main thread么?
NSOperationQueue有哪些使用方式
NSThread中的Runloop的作用,如何使用?
.h文件中的变量,外部可以直接访问么?(注意是变量,不是property)
讲述一下runtime的概念,message send如果寻找不到相应的对象,会如何进行后续处理 ?
TCP和UDP的区别是什么?
MD5和Base64的区别是什么,各自场景是什么?
二叉搜索树的概念,时间复杂度多少?
架构:(招的不是架构师,这方面问的不多,而且从之前对APP的架构介绍里可以边听边问)
哪些类不适合使用单例模式?即使他们在周期中只会出现一次。
Notification的使用场景是什么?同步还是异步?
简单介绍一下KVC和KVO,他们都可以应用在哪些场景?
APP相关:
如何添加一个自定义字体到工程中
如何制作一个静态库/动态库,他们的区别是什么?
Configuration中,debug和release的区别是什么?
简单介绍下发送系统消息的机制(APNS)
UI:
系统如何寻找到需要响应用户操作的那个Responder
多屏幕尺寸的适配
UIButton的父类是什么?UILabel呢?
push view controller 和 present view controller的区别
描述下tableview cell的重用机制
UIView的frame和bounds的区别是什么
最后是几道场景题,也是最喜欢问的:
发送10个网络请求,然后再接收到所有回应之后执行后续操作,如何实现?
实现一个第三方控件,可以在任何时候出现在APP界面最上层
实现一个最简单的点击拖拽功能。
上面那个拖拽之外,如果在手放开时,需要根据速度往前滑动呢?
如何减小一个应用程序的尺寸?
如何提高一个性用程序的性能?
不同版本的APP,数据库结构变化了,如何处理?
平心而论,这些题目并没有特别难,没有讲到黑科技,也没有讲到ACM算法题,都是iOS的基础概念以及很容易遇到的场景。可能也是因为招的目标,也只是一个可以完成业务开发的3年左右经验的人而已,所以大部分面试者水平并不如意,能答出以上大半题目,同时思路清晰态度积极向上的人,不到四分之一吧...
另外的感想就是,这个行业可能真的有点浮躁,很多面试者,连简单的几个场景题都答不出来,基础知识更是一般,只会用几个第三方库,就开口要25~30w的年薪,还有一种爱理不理的感觉。也有些人,在原来的公司,自称是技术负责人,但连APP的基本架构,包括哪些主要模块都讲不清楚,各种兜圈子,甚至有人讲了半天的产品功能和亮点,不得不一次次打断才能继续面试。
学iOS,做的事情越多,越觉得自己有越多的东西要学,离大牛的标准也是越来越远。而无论从深度还是广度来看,iOS开发都是一个值得挖掘的技术领域。由于苹果产品的火热,市场上的iOS开发一直供不应求,但真正有能力,高素质的可能真的不那么多。
如果前来应聘的开发者对于“固定费用”或“按时计”都没有异议的话,那么开发者至少应该告诉你,他们认为多长时间能够完成该项目。还有,他们所提交的投标书,至少应该包括对整个项目的分解或功能说明,以及各方面的成本估算。
技术层面:
1、对面向对象的理解,不好也可以写程序,但是写不好大程序
2、对内存的理解
3、调试的能力
4、调优的能力
产品层面:
1、对基本商业模式的了解
2、对流行产品和产品流行趋势的了解
3、对app store营销基础知识的了解
4、对SNS的了解
Objective-C
Objective-C语言基础
library,framework的制作
Runtime 编程
LLVM 原理和调优
操作系统
iOS内存管理和调优
iOS的文件系统和沙盒机制
iOS多线程编程(Thread,GCD,NSOperation)
iOS网络和服务器编程(NSURLConnection,NSURLSession)
iOS系统的各种安全机制
网络编程
iOS网络发送机制调整和优化(NSURLSession)
Socket编程
网络传输中的各种保障
对传输协议的调整优化
数据库持久化方案
常规持久化方案(Keychain,NSUserDefaults,Sqlite,CoreData)
数据库的使用和设计(Sqlite)
数据结构优化,Sql调优
图形图像编程
UIKit,Core Animation和Core Text的绘制
Core Graphics, Quartz 2D, Media Player, AV Foundation
OpenGL ES, GLKit, SpriteKit, SceneKit, Metal
数据结构 算法
基本的算法和数据结构(排序搜索算法, 数组, 队列)
较复杂数据结构的灵活应用(二叉树, 图等)
复杂的专项算法(图像识别算法, 拓扑定位等等)
根据企业的特点,在 面试 考生时,对其能力考察的方向也会有差异,怎样在 自我介绍 中,向考官表明你就是最适合的应聘人选呢?下面我为你带来ios程序员 面试自我介绍 范文 的内容,希望你们喜欢。
关于ios程序员面试自我介绍范文篇一
考官好,我是计算机专业的面试者___,我此次应聘的职位是IT行业的软件工程师,这份工作不仅与我的专业对口,同时也是我的特长与兴趣所在。现在我就从以下三个方面介绍自己:
1)学习能力:我有较强的科研能力,能熟练的进行Windows2000和LINU_操作,并能使用VB,DELPHI等语言编程。能运用网页三剑客Photoshop软件进行相关工作。
2)实践能力:我的专长是软件开发,我希望能从事这方面的工作 经验 ,并且我曾经发过多个系统,如人事档案管理系统,工资管理系统等等。
3)交际能力:我的性格沉稳,能坐得住,对IT行业的工作,具有非常好的适应能力,而且为人谦和,具有很强的组织和协调能力 ,富有的事业心和责任感使我能够面对任何困难和挑战。
从以上的简单自我介绍,我希望公司能给我一个展示自己能力的机会,让我我可以学以致用,同时我也很欣赏__公司的 企业 文化 与工作环境。我愿意成为企业一员,为企业的发展贡献自己的一份力量。 我的职业生涯目标是,做一个既懂技术,又懂业务的复合型人才。
关于ios程序员面试自我介绍范文篇二
大家好,我叫__,天津大学计算机应用专业硕士,2014年6月份 毕业 ,研究方向__。我想从三个方面介绍自己:
1)学习方面。大三时保送研究生,之后进入实验室开展项目研究。在_年时间里,先后参与了_个项目,其中_个纵向项目,_个横向项目,纵向项目主要是关于__,横向项目主要是关于__。这些分别对应我简历里的项目经历(1,2,3)。我本科绩点3.8,研究生绩点3.4。我__年一次性通过大学英语四、六级考试,__年通过托业英语考试,考试成绩__分(满分__分),__年通过软件工程师/网络工程师/系统分析师考试。
2)实践方面。曾在软件公司实习了__年时间,曾在__当过计算机讲师,主讲__,另外,本科时曾参加过__比赛,并获得了__奖。实习期间,我的最大收获是:学校学习与工作知识的衔接,深切感悟将理论应用于实践的重要性和快乐。
3)社会工作方面。本科和研究生都担任所在班级班长/ 部长,同时也在校学生会工作过。在担任班干部的日子里我具备了一定的组织、协调能力,并深深体会团队协作的重要性。
我的性格特点是,1.性格沉稳,2.考虑问题全面、仔细,3.做事有自己明确的想法和计划。
我的优势是1.自己全面的综合素质;2.做事分清轻重缓急;3.喜欢 总结 ,避免犯同样的错误。
我的座右铭是:人因为梦想而伟大,机遇永远属于那些有准备、立即行动并能坚持到底的人!
我的职业生涯目标是,将来有一天能带领一个团队,做出亿万网民喜爱和尊敬的软件!做一个既懂技术,又懂业务的复合型人才(非IT企业用)。
我的未来5年的规划是:因为我本人是学计算机的,所以希望沿着以技术为主线的路走下去。5年以后,我希望自己能够对某一个领域有比较深入的理解,成为某一领域的专家,在某一方面能独挡一面,同时也能够了解其他领域的发展动态。
关于ios程序员面试自我介绍范文篇三
我叫___,广东广州人,硕士研究生,将于2010年6月毕业于南开大学,专业方向是 电路与系统,08年加入中国共产党,我的专业特长是计算机应用程序开发和网络通信。 我想从以下三个方面介绍自己。
学习方面,我的学习成绩优秀,本科GPA:86.7,研究生GPA:93.3,两次获得 校一等奖学金,并被免试保送到南开大学信息学院,我有较强的科研能力,目前正在参与一个国家自然科学基金项目:行波式微流泵的仿真与电路设计,担任项目组组长,负 责项目规划,任务分配和进度检查,目前正处于软件仿真阶段,通过仿真选择制作微流泵的最佳方案参数,设计新式的无阀压电行波式微流泵,为生化反应提供可控的微量样液。
另外还我还作为项目组成员,在08年参与国家大学生创新性实验计划:便携式无线体域网,主要负责手持终端PDA客户端程序开发,在07年参加国家自然科学基金项目: SPR多通道生物传感器,主要负责测控电路的C语言程序设计。
实践方面,在研究生阶段,我曾有两次实习经历。一次是09年暑假,在中南空 管局通信网络有限公司网络工程部,我协助工程师维护空管局的华为6503和思科3550主 干网,做好主干网的网络监控和数据备份,定期提交网络安全 报告 ,确保网络通畅和信 息安全,并给空管局用户提供 网络技术 支持服务。另一次是07年暑假,在广州共享网讯 科技有限公司运营部,我协助部门经理进行网站的推广,运营和客服工作,并从事网站美化设计的辅助工作。
学生工作方面,在以学习为主的同时,我也积极参加学校课余实践活动。曾担任过信息学院研究生会主席,信息学院团委副书记,学生职业发展协会实践部部长,多隆电子协会财务部长等职务,曾多次获得优秀学生干部和三好学生荣誉称号, 组织了包括:信息学院信息会客厅讲座、新生杯 足球 赛, 篮球 争霸赛, 乒乓球 友谊赛, 迎新晚会,联谊舞会,南开大学第一届模拟招聘大赛等大中型活动;还曾作为信息 学院 羽毛球 队的选手,协助院羽毛球队获得南开大学校长杯羽毛球团体赛亚军。这些活 动培养了我的领导组织协调能力,和团队协作的意识。我相信,这对我以后的工作也会 有很大的帮助。
最后,我想总结一下我的工作特点。第一是团队协作意识强,善于与人交流和沟通;第二是动手能力和学习能力突出;第三是做事稳健,态度认真,有一定的组织协调 能力;第四是考虑问题全面、仔细,做事有自己明确的想法和计划。我想在走上工作岗 位之后,我可以以最快的速度适应工作环境,不断挖掘自己的能力,完善自己,为企业 创造效益。我想加入__公司是因为我喜欢我的专业,也很看好__公司的未来发展,在这里我可以学以致用,这让我有很大的成就感和幸福感。同时我也很欣赏 __公司的企业文化,很喜欢__公司的工作环境。我愿意成为企业一员,为企业的发展贡献自己的一份力量。 我的职业生涯目标是,做一个既懂技术,又懂业务的复合型人才。
看了ios程序员面试自我介绍范文的还看了:
1. ios 程序员的自我介绍
2. 程序员面试自我介绍6篇
3. ios工程师面试自我介绍范文3篇
4. android程序员优秀自我介绍
5. 程序员面试时自我介绍范文
6. java程序员面试自我介绍范文4篇
之前,我写过一篇 2018,我要一个新的开始 ,这个新的开始马上就要开始啦...
相比前一段时间找工作时的波涛汹涌,这会算得上是风平浪静了。下面,我就谈一下我的面试经历及面试后的一些感悟。文章最后附上自己总结的面试题,供大家分享交流。由于本人文笔水平很臭,如有不通顺的地方可以在评论区指出来,看到我会麻溜的改正!对待学问是马虎不得的,你说是不?
首先,我想说目前iOS开发工作真的是不好找了(对于大牛,你就当我这话没说)。这是通过前一段时间我的亲身经历感受到的(怪我水平很臭喽)。为此,我总结出了以下四点原因:
前面说了,如果你是大牛,还用去找工作?工作都来找你了(大牛就是这么牛)。而你呢?还是好好反省反省吧!至于市场饱和,相信大家都早已经得到这个消息了。这其中既有移动互联网前期积累的泡沫破裂的原因,也有大量新的iOS开发者不断涌入的问题。我的iOS技术交流QQ群里时不时会有人出来吆喝一句“iOS已经烂大街了,没人要了”。都烂大街了,好忧伤!至于用人单位要求越来越高,我就不解释了,这个是你需要去好好反省反省的。最后我提到了小程序的冲击。为什么这么说呢?因为我感觉到小程序把一部分人的视线转移到了轻应用上面去了,这就导致一些native移动端的业务被小程序给抢走了。不过对一些业务比较简单的场景来说,小程序的确是一种比较合适的解决方案。一个是节省成本;另一个是方便快捷。 总之,现在的iOS开发工作真的是越来越难找了 。
分析了大的市场行情,再来看一下公司。公司如人,人有靠谱和不靠谱之分,公司亦是如此。前段时间的面试让我感觉到一个靠谱的公司招人还是挺难的。大牛不好请(关键是贵啊),小牛又看不上,而且还怕被忽悠,同时又要控制人力成本,所以用人单位考虑的要比应聘者多,他们一般情况下会找一个平衡点。即既要达到岗位要求,人力成本又要在可接受的范围之内。所以在招聘上那是一个纠结啊!稍微大一点的公司可能主要考虑聘者的技能了,因为大公司业务庞杂,规模和实力是小公司比不了的,对人才的渴求远比小公司要大。如何进大公司呢?是不是又该反省了!!!
啰嗦的有点多,我的开场白就到这里吧!下面说一下我的面试经历。
由于上家公司待的比较久,平常只顾撸码,导致忽视了知识点的总结。一下进入面试状态,面对面试官那么多的技术点问题,还真有懵!所以第一天在面试 昆仑亿发股份科技 和 51Talk 两家公司时表现不理想。由于好久没有参加过面试了,心理上没准备好,语言组织的不好,技术点回答的不到位,导致整个面试过程感觉比较糟。完全不在状态啊!相比第一家 昆仑亿发股份科技 ,第二家 51Talk 表现的比较从容一点,一面我感觉问题不大。可二面的问题感觉有点奇葩,有点吃不准。比如面试官司问你之前公司(P2P金融)有催收吗?是怎么催收的?针对第一个问题我回答有,但第二个问题我该怎么回答。我有点方,不知道他想考什么。是考查我对公司业务的了解程度还是试怀疑我之前待的公司是否是一个不正当的打手公司。我笑笑,没说话...不过挺郁闷的。我一个程序员一定要去了解催收部门的手段吗???第一天就碰了俩钉子。不过也没关系,成事开头难嘛。随即,我加强了技术点的学习总结和面试技巧的学习。
面试是切磋,更是交流。通过面试,即能发现自身的不足,又能对自己从事的工作有更全面的了解。接下来的面试我去了 滴滴、58同城、懂球帝、皇包车旅行、借贷宝、罗辑思维、美团、新浪 等公司。滴滴的面试是印象最好的。面试官比较随和,专业,干脆,几个问题下来明显的能感觉到对方内功很深; 58同城 主要问的最近的项目,你在项目中做了哪些东西以及工程中使用到了哪些比较好的技术点; 懂球帝 问的问题便向设计,不过面试官的态度不怎么友善,一副不耐烦的样子; 皇包车旅行 问的主要是设计方面的问题,便向于架构方面; 借贷宝 是感觉最不好的一个,老是被打断,都不能了好的表达自己了,所以聊到一半我就放弃离开了; 罗辑思维 面试官挺温和的,感觉不错; 美团 面试官是绵里藏针,要小心回答面试官的问题,不要打哈哈; 新浪 面我的是一个老程序员了(大牛),问的东西比较大,而且偏向后端的大并发,有点小郁闷。为什么不找一个iOS程序员跟我聊呢?在跟不同的面试官沟通交流的时候的确学到了不少的东西,而且还增加了不沟通交流的技巧。最重要的就是跟很多同行过了招,发现了自身的很多不足不处,这会还在反省呢!
总结一下面试的要点:
做到以上几点,感觉offer也离你不远了!
经过辛苦的耕耘,最终拿到了4家公司的offer,对这份成绩还算满意。不过,前路仍然漫漫,需要更加努力!
最后还有一个比较痛的领悟:
ok!下面奉上本人总结的iOS面试题:
下面还有一些更干的面试题,你值得拥有!
招聘一个靠谱的 iOS
github里面有大神附上了答案
招聘一个靠谱的 iOS 答案
这里还有MrPeak大神的中级面试题
iOS 中级面试题
下面是答案
iOS 中级面试题 答案
明天放假!
祝小伙伴们“五一”国际劳动节快乐啊!
更新
MrPeak 大神的中级面试题的答案链接中,有的答案不准确,仅供小伙伴们参考!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流