凯迈科技IOS工程师 面试评分表答案
一、技术基本要求
1、常用的IOS开发语言和开发工具有哪些?是否了解苹果最新推出的开发语言?(全部正确打 √ )
答:开发语言Objective-C;开发工具Xcode;最新开发语言Swift,速度更快,使用起来更加容易。
2、苹果目前有哪些IOS系统的硬件产品,他们的分辨率有哪些,如何进行多分辨率适配?(分辨率回答3个以上知道自适应,打 √ )
答:iPhone4(320×480);iPhone4s(640×960);iPhone5/5s/5c(1136×640);iPad2(1024×768);iPad3(2048×1536);ipad mini1(1024×768);ipad mini2(2048×1536);iphone与IPad独立开发,独立上架,不需要互相适应;IPHONE4/5之间需要进行自适应,如自动缩放子视图、调整相对大小等方法。
3、开发一个IOS应用的流程是什么?(回答3个以上打 √ )
答:A、业务逻辑的分析和实现技术的准备;B、编写相应模块的设计和开发文档,预估开发时间;C、按时按量完成具有高质量和规范性的编码工作;D、自行对出现的BUG进行内部测试和修改;E、撰写相应的软件使用说明文档、向部门领导提交设计和开发文档、提交接口文档和算法文档、提交具有清晰备注的源代码。F、开发结束后,根据项目需要,不定期对客户端软件的进行维护及更新;
4、IOS6、7系统的区别?(全部正确打 √)
答、主要是视觉差异,IOS6是拟物化设计,IOS7是扁平多彩渐变风格。
5、苹果的上架流程是怎样的,遇到哪些常见的问题会无法通过审核?
(上架流程大致正确且无法通过审核正确2个以上,打 √ )
答:上架流程:A、苹果雪豹以上的操作系统,B、开发者账号注册审批1-2周(公司已有账号忽略),C、向应用商店提交产品,D、苹果人工审批1-2周,邮件告知审批不通过,修改后重新审批1-2周;
iphone4和iphone4s区别
无法通过审核的原因:A、产品稳定性差,容易崩溃,B、APPstore上重复性高的小应用,C、违反苹果的设计原则,D、侵犯苹果公司或其他公司的版权,E、黄、赌、毒、暴力、诽谤、低俗、种族歧视,F、使用第三方支付等原因。
6、简单介绍IOS常用的数据库?阐述mysql、SqlServer、Oracle数据库的区别是什么?(全部正确打 √)
答:A、SQLite是一个轻量级的数据库,完全使用C语言编写,使用简单方便。它是一个嵌入到程序进程的数据库,和其他一些数据库(MySQL,MS SQL)不同,它没有独立的进程。
B、mysql用于轻量级数据开发,SqlServer用于中型数据库且仅用于window系统,Oracle用于大型数据库,他们之间可以互相转换。
7、在IOS应用开发中一般什么原因会造成软件闪退?(回答3个以上打 √ )
答:A、内存溢出;B、数据异常时程序没有做预防机制;C、重用问题;D、空指针;E、数组访问越界;F、配置文件读取异常等。
8、如何进行IOS应用产品的性能优化?(回答5个以上打 √ )
答:【初级】用ARC管理内存、在正确的地方使用reuseIdentifier、尽可能使Views透明、避免庞大的XIB、不要block主线程、在Image Views中调整图片大小、选择正确的Collection、打开gzip压缩;
【中级】重用和延迟加载Views;注意Cache;权衡渲染方法;处理内存警告;重用大开销的对象、使用Sprite Sheets、避免反复处理数据、正确地设定Background Images、选择正确的数据格式、 减少使用Web特性、设定Shadow Path、优化你的Table View、选择正确的数据存储选项
【高级】加速启动时间、使用Autorelease Pool、选择是否缓存图片、尽量避免日期格式转换
9、开发中Xml、Json、HTTP协议、Socket技术分别用在哪些地方?(大部分回答正确打 √ )
答:大部分通信数据格式是使用JSON,和XML相比,JSON数据具有传输数据少,易于使用
等特点。而XML则通常作为配置文件出现在各类应用中,XML有良好的易于人类阅读的特点,如果你的应用中要使用配置,解析XML是不可缺少的步骤。HTTP一般为单向传输,socket是双向传输,及时通讯用socket,实时性要求不高用HTTP。
10、如何规范的编写代码及文档?(回答3个以上打 √ )
答:A、清晰的注释;B、良好的命名规范;C、每条语句单独成行;D、不同层次的语句要加缩进;E、循环代码中即使只有一行代码,也要加大括号;F、及时清理无用代码,保持代码整洁。
11、面向对象的程序设计方法中,继承、多态、封装是什么意思,用面向对象的方法有什么好处?(大部分回答正确打 √ )
答:【继承】,指继承是指一个对象从另一个对象中获得属性的过程;【多态】,指一个方法只能有一个名称,但可以有许多形态;【封装】,指把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制。【好处】易维护、质量高、效率高、易扩展。
12、常用的版本控制软件有哪些?使用版本控制软件有什么好处?(大概意思回答正确打 √ )
答:版本控制软件是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。常用的有CVN、SVN和GIT;有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出是谁最后修改了什么地方从而造成某些怪异问题,又是谁在何时报告了某个功能缺陷。
2、技术加分要求(不展开询问)
1、是否会使用Linux操作系统?(是打 √ ;不是打 × )
2、是否具备SDK反编译及项目修改经验?(是打 √ ;不是打 × )
3、能否使用Html5进行开发?(是打 √ ;不是打 × )
4、是否自学掌握别的开发语言或技术?如:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论