IOS笔试题题目

IOS笔试题题目
IOS笔试题题目

1. delegate中的property使用以下哪个属性()

A. assign

B. retain

C. copy

D. Strong

2. 关于Objective-C中属性的说明,以下错误的是()

A.readwrite是可读可写特性,需要生成getter方法和setter方法

B.readonly是只读特性,只有getter方法,没有setter方法

C.assign是赋值属性,setter方法将传入参数赋值给实例变量

D.retain表示持有特性,copy属性表示拷贝属性,都会建立一个相同的对象

3. 下面对category描述不正确的是()

A.category可以添加新的方法

B.category可以删除修改之前的方法

C.将类的实现分散到多个不同文件或多个不同框架中

D.创建对私有方法的前向引用

4. NSRunLoop的以下描述错误的是()

A.Runloop并不是由系统自动控制的

B.有3类对象可以被run loop监控:sources,timers,observers

C.线程是默认启动run loop的

D.NSTimer可手动添加到新建的NSRunLoop中

5. 单例类NSNotificationCenter提供信息广播通知,它采用的是观察者模式的通知机制。()

A. 对

B. 错

6. 判断:从通讯录数据库查询联系人数据,可通过ABAddressBookCopyArrayOfAllPeople和ABAddressBookCopyPeopleWithName函数获得。()

A. 对

B. 错

7. NSURLConnection类的同步请求方法是()

A.+ sendSynchronousRequest:returningResponse:error:

B.–initWithRequest:delegate:

C.–initWithRequest:delegate:startImmediately:

8. genstrings命名的基本语法:genstrings [-a] [-q] [-o] sourcefile()

A.对

B.错

9. 面哪些属于UITableViewDelegate协议的方法()

A.tableView:cellForRowAtIndexPath:

B.tableView:numberOfRowsInSection:

C.tableView:didSelectRowAtIndexPath:

D.numberOfSectionsInTableView:

10. 平铺导航模式是在内容组织上没有层次关系,展示的内容都放置在一个主屏幕上,采用分屏或分页控制器进行导航,可以左右或者上下滑动屏幕查看内容()

A.对

B.错

多选:

1. UIPopoverController控制器的常用方法和属性()

A.presentPopoverFromBarButtonItem:permittedArrowDirections:animated:呈现Popover视图方法

B.dismissPopoverAnimated: 关闭Popover视图方法

C.popoverVisible,判断Popover视图是否可见

D.popoverArrowDirection,判断Popover视图箭头的方向

2. 模态视图专用属性有哪些()

A.UIModalPresentationFullScreen,全屏状态,是默认呈现样式,iPhone只能全屏呈现。

B.UIModalPresentationPageSheet,它的宽度是固定的768点,在iPad竖屏情况下则全屏呈现。

C.UIModalPresentationFormSheet,它的是固定的540x620点,无论是横屏还是竖屏情况下呈现尺寸都不会变化。

D.UIModalPresentationCurrentContext,它与父视图控制器有相同的呈现方式。

3. iOS单元测试框架有哪些()

A.OCUnit

B.GHUnit

C.OCMock

D.NSXML

4. NSURLConnectionDelegate协议中的方法有哪些()

A.connection:didReceiveData:

B.connection:didFailWithError:

C.initWithRequest:delegate:

D.connectionDidFinishLoading:

5. NSURLRequest的构造函数有()

A.+ requestWithURL:

B.–initWithURL:

C.+ requestWithURL:cachePolicy:timeoutInterval:

D.–initWithURL:cachePolicy:timeoutInterval:

6. iOS应用导航模式有哪些()

A.平铺导航模式

B.标签导航模式

C.树形结构导航模式

D.模态视图

7. 使用genstring工具可以扫描的宏是有哪些()

A.CFCopyLocalizedString

B.CFCopyLocalizedStringFromTable

C.CFCopyLocalizedStringFromTableInBundle

D.CFCopyLocalizedStringWithDefaultValue

E.NSLocalizedString

F.NSLocalizedStringFromTable

G.NSLocalizedStringFromTableInBundle

H.NSLocalizedStringWithDefaultValue

8. 在UIViewController类中与模态相关方法有哪些()

A.presentViewController:animated:completion:

B.dismissViewControllerAnimated:completion:

C.addChildViewController:

D.removeFromParentViewController

9. iOS中导航设计模式有几种()

A.平铺导航

B.标签导航

C.树形导航

D.模态视图导航

10. NSXML框架中核心的是NSXMLParser和它的委托协议NSXMLParserDelegate,NSXMLParserDelegate常用方法有哪些()

A.parserDidStartDocument

B.parser:foundCharacters

C.parser:didStartElement:namespaceURI:qualifiedName:attributes

D.parser:didEndElement:namespaceURI:qualifiedName

E.parserDidEndDocument

简单题:

1.RunLoop是什什么?

2.ViewController?生命周期

3.怎样防?止反编译?

4.谈谈你对多线程开发的理理解?ios中有?几种实现多线程的?方法?

5.进程和线程的区别?同步异步的区别?并?和并发的区别?

6.

ios工程师笔试题及答案,ios工程师面试题及答案

ios工程师笔试题及答案,ios工程师面试题及答案 不少小伙伴们对ios工程师这个职位都十分感兴趣,本期乔布简历小编就将为大家带来一些ios工程师笔试题及答案以及ios工程师面试题及答案方面的内容。 关键词:ios工程师笔试题及答案,ios工程师面试题及答案 1、#import和#include的区别? 参考答案:#import是Objective-C导入头文件的语法,可保证不会重复导入。#include是C/C++导入头文件的语法,如果是Objective-C与C/C++混编码,对于C/C++类型的文件,还是使用#include来引入,这种写法需要添加防重复导入的语法。 2、@class的作用 参考答案:@class一般用于头文件中通过前向声明,就可以声明了,但是在.m文件中还是需要使用#import进来的。它的作用只是前向声明。 3、用NSLog函数输出一个浮点类型,结果四舍五入,并保留一位小数 参考答案:float money = 1.011;NSLog(@"%.1f", money);使用%f来格式化,其中要保留一位小数,因此再用%.1f就是保留一位。 4、viewDidLoad、loadView和viewDidUnload何时调用 参考答案:viewDidLoad在view加载完成时调用,loadView在controller的view为nil时调用。对于viewDidUnload现在已经不能直接调用了。 5、objective-c中的可变与不可变词典 参考答案:可变字典就是可以增、删、改操作的字典,对应于NSMutableDictionary类型。不可变字典就是不能执行增、删、改操作的字典,对应于NSDictionary类型。 6、Objective-C的内存管理 参考答案:现在内存管理几乎都采用ARC,也就是Automatic Reference Counting,意思是自动引用计数。由编译器在编译时自动为添加retain、release等代码。如果问的MRC,也就是Manual Reference Counting,意思是手动内存管理。 黄金法则:谁使对象的引用计数+1,不再使用该对象时,谁就应该使该对象的引用计数-1。 以上就是小编为大家精选的关于ios工程师笔试题及答案和ios工程师面试题及答案方面的内容,希望对于大家求职ios工程师有所帮助呀~

IOS软件工程师笔试题(全选择题)【0-1年经验】

单选题(共25题) 1.OC中包含一个自定义的头文件应该使用: A.#include "" B.#include<> C.#import "" D.#import<> 2.必须实现的协议方法使用:关键字声明. A.@property B.@interface C.@required D.@protocol 3.NSArray *array = [NSArrayarrayWithObjects:@"1",@"2",@"3",@"4",@"2", nil]; NSMutableSet *set = [[NSMutableSetalloc]init]; for(NSString *str in array) { [setaddObject:str]; } NSLog(@"%lu",[set count]); [set release]; 控制台打印的结果是: A.4 B.5 C.6 D.7 4.声明一个方法:提供Student对象数组按照学号升序排列的判断条件: A.-(NSComparisonResult)compareWithNumberForAscendSort:(Student*)otherStudent B.-(NSInteger)compareWithNumberForAscendSort:(Student*)otherStudent C.- (BOOL))compareWithNumberForAscendSort:(Student*)otherStudent D.+(int)compareWithNumberForAscendSort:(Student 5.OC语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符: A.@public B.@private C.@protected D.@friendly 6.关于集合描述不正确的是: A.所有的集合都可以添加元素。 B.集合分为可变集合.不可变集合。 C.数组.字典.NSSet这三种集合存储数据的方式不同。 D.所有集合都能保存id类型数据。 7.NSDictionary *dict = [NSDictionarydictionaryWithObject:@"a value" forKey:@"aKey"]; NSLog(@"%@",[dictobjectForKey:@"aKey"]); [dict release]; 控制台中打印的最后一条信息会是: A.a value B.aKey : a value

100个iOS开发面试题汇总

100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的好机会。 无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,从编程、设计、App Store等各个方面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,更好地甄选合适人选,而iOS开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。 常见问题 你昨天/这周学习了什么? 你为什么热衷于软件开发?

你对哪一种控制系统比较熟悉? 是否参与过GitHub项目? 是否参与过GitHub或其他同类型网站的iOS开源项目? 请描述一下你的iOS应用开发流程。 是否熟知CocoaPods?它是什么?如何运行的? 请概括一下你对软件授权的理解,及其对软件开发的影响。 请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持? 请描述一下Instruments及其作用。 关于iOS技术 请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。 iCloud包含了哪些技术与服务? iOS扩展是指?能否列举一些热门或常见的范例? HealthKit是什么? HomeKit是什么?

Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay? 请解释一下iOS应用沙盒机制。 VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能? iOS应用是如何实现后台多任务处理(Multitasking)的? Game Center针对iOS游戏有哪些功能? iBeacons是什么? Cocoa/Cocoa Touch是什么? 请概括一下Core Audio,Core Data以及Core Location各是什么。它们对iOS应用有何意义? 请描述SpriteKit和SceneKit的作用。 Metal是什么? 响应链(Responder Chain)是什么?它是如何发挥作用的? 按钮和其他控制方式对哪些操作做出回应? AppDelegate扮演着什么样的角色?

软件开发工程师招聘试题

专业技术资料 附录一 附录一【软件开发工程师招聘试题一】 考试时间:60分钟姓名:______成绩:______ 一、单选题(共9题,每题2分) 1.对象b 最早在以下哪个选项前被垃圾回收?() public class Test5 { static String f(){ String a="hello"; String b="bye"; String c=b+"!"; //lineA String d=b; b=a; //lineB d=a; //lineC return c; //lineD } public static void main(String[] args) { String msg=f(); System.out.println(msg); } } A.lineA B.lineB C.lineC D.lineD 2.2.运行下列代码,结果如何?() class Example { int milesPerGallon; int index; Example(){} Example(int mpg){ milesPerGallon=mpg;

index=0; } public static void main(String[] args) { int index; Example e = new Example(25); if(args.length>0){ if(args[index].equals("Hiway")){ https://www.360docs.net/doc/3416824163.html,esPerGallon=2; } System.out.println("mpg:"+https://www.360docs.net/doc/3416824163.html,esPerGallon); } } } 这段代码通过编译,并且如果命令行输入”Hiway”则显示”mpg:50” ,如果输入不是”Hiway”则显示”mpg:25”; 这段代码通过编译,并且如果命令行输入”Hiway”则显示”mpg:50” ,如果输入不是”Hiway”则抛出ArrayIndexOutputBoundsException异常。 这段代码不能通过编译,因为自动变量index没有被初始化。 这段代码不能通过编译,因为milesPerGallon没有被初始化。 见例子Example.java 3.3.当编译如下代码时,会显示什么?() int i=1; switch(i){ case 0: System.out.println("zero"); case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } One B. one,default C. one,two,default D.default 见例子:Test3.java 4.4.当编译运行如下代码时会发生什么现象?() public class MyClass { public static void main(String arguments[] ) { amethod(arguments); } public void amethod(String []arguments){

iOS笔试题教学文案

i O S笔试题

iOS笔试题 姓名_________________ 时间____________________ 一、填空题(20题) 1、与alloc对应的方法是,与retain对应的方法是。 2、@property的作用是 , @synthesize的作用是。 3、一个对象的dealloc方法在时被调用。 4、分类(categories)能够向一个已有的类中添加。 拓展(extensions)能够在当前类中增 加。 5、iOS开发者账户中,最多能够添加台设备号。 6、协议(protocal)可以分为两种,其中以关键字申明的协议可以不被实现。 7、是大多数Objective-C类继承的根类,它没有父类。 8、代理(delegate)的作用是。 9、UIViewController的didReceiveMemoryWarning方法在时会调用。 10、MVC模式中,M是指,V是指,C是指。 11、autorelase的作用 是 。 12、 iOS后台运行是在系统版本才开始支持。 13、代码: - (void)setName:(NSString *)newName{ https://www.360docs.net/doc/3416824163.html, = newName; } 被调用的结果是。 14、UDID是由位十六进制字符串组成。 15、在KVC中通用的属性访问器方法是和。 16、关键字nil在Objective-C中表示。

17、#import和#include的区别是。 18、在Objective-C中是否支持运算符重载,能否在头文件里申明私有方法。 19、在Instruments工具中,用于检查内存泄露的工具是。 20、在iOS开发环境下,后缀为.a的文件又叫做。 二、单选题(20题) 1、在Objective-C中,类的成员变量默认被申明为:()A:@private B:@protected C:@public D:@package 2、iPhone、iPad、iTouch中使用的架构是()A:arm B:i386 C:x86 D:IA-32 3、下面哪个类在iPhone应用程序开发时不能使用 ( ) A:UITabViewController B:UINavigationController C:UISplitViewController D:UITableViewController 4、关于Objective-C++中的异常处理,下面说法最正确的是 () A:Objective-C不支持异常处理 B:在Objective-C++中,Objective-C的异常处理能够捕获C++的异常 C:在Objective-C++中,Objective-C的异常处理不能捕获到C++的异常 D:在Objective-C++中,Objective-C和C++的异常处理可以相互捕获异常 5、在对象的dealloc方法中,关于[super dealloc];语句说法正确的是()A:[super dealloc];有没有没有关系 B:[super dealloc];应该放在dealloc方法内的第一行 C:[super dealloc];应该放在dealloc方法内的最后一行 D:[super dealloc];位置无所谓,只要在dealloc方法里有就可以 6、下面关于方法:[[[object method1] method2] method3:[object method4]];中的method调用顺序是 ( ) A: 1 2 3 4 B: 1 2 4 3 C:4 1 2 3 D: 4 3 2 1 7、iOS开发中,HTTPS通讯是在什么位置来保障安全性()A:NSURLRequest方法里B: NSURLRequest代理方法里 C:NSURLConnection方法里D:NSURLConnection代理方法里 8、关于NSURLConnection同步通讯和异步通讯,下面说法正确的是()A: 同步通讯是指发送数据后,不等接收方回应,接着发下一个数据 B: 异步通讯时会阻塞当前线程 C: 发送同步通讯时,系统会自动创建一个单独的线程

软件工程师应聘人员笔试题

试卷 姓名:日期: 1.填空: (1)面向对象的语言具有________性、_________性、________性。 (2)能用foreach遍历访问的对象需要实现________________接口或声明________________ 方法的类型。 (3)列举https://www.360docs.net/doc/3416824163.html,中的五个主要对象_______________、_____________、_______________、 _______________、_________________。 (3) 并简述https://www.360docs.net/doc/3416824163.html,中的五个主要对象各自的功能,列举各功能之间的工作关系: 1:2:3:4:5:关系: 2.选择题: (1)下面那一个不能作为C#中类修饰符?( ) A) new B) public、private C)protected、internal D) override E)abstract、sealed (2).NET 框架中,File对象的OpenText方法,将返回一个:() A)StreamReader对象 B)StreamWriter对象 C)Stream对象 D)File对象 (3)下面那一个不是C#中方法的参数的类型( ) A)值类型B)引用型C)输出型D)数组型E)代理型 (4)接口可以包含一个和多个成员,下面哪个选项不能包含在接口中 A)方法、属性B)索引指示器C) 事件D)常量、变量 (5)接口不能通过()来实现 A)类B)结构C)方法 (6)net依赖以下哪项技术实现跨语言互用性?( ) A.clr B.cts C.cls D.ctt (7)开发C#程序的集成开发环境是_________。 A、Visual https://www.360docs.net/doc/3416824163.html, B、IDE C、FRAM D、Common Language Runtime (8) 以下叙述正确的是:(多选) A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。 (9) 从数据库读取记录,你可能用到的方法有:(多选) A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader (10)从层次结构来看,.NET Framework包含以下三个主要部分_____。(多选) A、公共语言运行库(CLR) B、Web应用程序(https://www.360docs.net/doc/3416824163.html,) C、统一编程类(.NET Framework 类库) D、Microsoft 基础类 E、Windows 基础类 3. ASP。NET与ASP相比,主要有哪些进步? https://www.360docs.net/doc/3416824163.html,的错误处理机制是什么?

iOS笔试题目

A.assign B.retain C.copy D.Strong 选 A ;避免循环引用!那么就要知道循环引用是怎么来的?比如,使用 tableview 的时候我们会设置他的 delete;可能一般情况下是你的 viewcontroller 对象;viewcontroller 持有着这个tableview,如果tableview 不使用 assign (arc 使用 weak)的话,那么就造成了tableview 持有viewcontroller,即相互持有,最终结果 是viewcontroller 内存泄露,释放不掉了;这是一个很严重的问题!viewcontroller 是一个很大的对象! B,D 是一个意思,都是持有(保留);copy的话就更不可能了,原因很简单,tableview 怎么知道他的delete 有没有实现 copying 协议呢! 2.关于Objective-C中属性的说明,以下错误的是(D) 是可读可写特性,需要生成getter方法和setter方法 是只读特性,只有getter方法,没有setter方法 是赋值属性,setter方法将传入参数赋值给实例变量 表示持有特性,copy属性表示拷贝属性,都会建立一个相同的对象 Copy是创建一个新对象,Retain是创建一个指针,引用对象计数加1。 Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 Retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容相同,这个对象的retain值+1也就是说,retain 是指针拷贝,copy 是内容拷贝 3.下面对category描述不正确的是(B) 可以添加新的方法 可以删除修改之前的方法

IOS工程师面试评分卡答案

凯迈科技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周; 无法通过审核的原因: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、选择正确的数据存储选项

ios面试题锦集(带答案)

iOS 面试题锦集 1.Difference between shallow copy and deep copy??浅复制和深复制的区别?? 答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。?深层复制:复制引用对象本身。?意思就是说我有个A对象,复制一份后得到A_copy 对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不 过是是一个指针,对象本身资源?还是只有一份,那如果我们对A_copy执行了 修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一 个思想。深复制就好理解了,内存中存在了?两份独立对象本身。?用网上一哥们 通俗的话将就是:?浅复制好比你和你的影子,你完蛋,你的影子也完蛋?深复 制好比你和你的克隆人,你完蛋,你的克隆人还活着。 2.What is advantage of categories? What is difference between implementing a category and inheritance??类别的 作用?继承和类别在实现中有何区别? 答案:category 可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除修改。?并且如果类别和原来类中的方法产生名称冲突,则类别将覆盖原来的方法,因为类别具有更高的优先级。?类别主要有3个作用:?(1)将类的实现分散到多个不同文件或多个不同框架中。?(2)创建对私有方法的 前向引用。?(3)向对象添加非正式协议。?继承可以增加,修改或者删除方法, 并且可以增加属性。 3.Difference between categories and extensions??类别和类 扩展的区别。 答案:category和extensions的不同在于后者可以添加属性。另外后者添加的 方法是必须要实现的。?extensions可以认为是一个私有的Category。

iOS开发工程师工作经验

XX 个人信息姓名:XX专业:软件工程 学历:本科工作经验:1年 移动电话: xxxxxxxxxxx 电子由E件:xxxxxxxxxxxx@https://www.360docs.net/doc/3416824163.html, 求职意向 iOS开发工程师 工作经验 2013.6-2014.5 上海闪酷信息技术有限公司iOS开发部iOS开发工程师 工作描述: 1.负责公司iOS平台下的iPhone应用程序的软件设计及开发; 2.参与工程需求分析,产品模块的概要和详细设计; 3.改善软件的性能,提高用户体验; 4.根据公司的要求书写相应的技术文档; 专业技能 1.熟练掌握Object-c/c, 了解C++,对Object-c的内存管理机制有较好的理解 2.熟练掌握MVC单例、观察者、代理、工厂等设计模式 3.熟练掌握Json/XML解读等 4.熟悉socket通信、TCP/UD味口 HTTP协议 5.熟悉支付宝,二维码等 6.熟练掌握SQLite数据库,实现本地缓存与清除 7.熟练使用NSTread,GCD,NSOperation多线程开发 8.熟练操作App上架及版本更新 9.熟练使用SVN代码管理工具 10.熟悉 C#及.Net 1.工程名称:微吼(即将上线)软件环境:Mac OS X 10.9 开发工具:Xcode5.0.2 + ios7.0 工程描述:该软件是一款商务视频社交应用,汇集各类顶尖峰会,行业沙龙,财经路演等精彩直播,在微吼,你可以围观,更可以参加话题讨论,加入感兴趣的圈子,更能成为万人瞩目的焦点。微吼让人人都有一个直播间。 应用技术:1.利用Rtmp协议进行视频直播 2.ShareSDK 第三方登陆及分享 3.M3U8 封装 4.视频播放器的定制 责任描述:三人工程。本人负责: 1.实现第三方登陆及分享功能 2.根据需求自定义控件 3.m3u8 格式封装 4.发表评论类似于贴吧功能 2.工程名称:易家(已上线)

黑马程序员IOS面试宝典之iOS性能优化

黑马程序员:IOS面试宝典之iOS性能优化 1. 平时你是如何对代码进行性能优化的? 利用性能分析工具检测,包括静态Analyze 工具,以及运行时Profile 工具,通过Xcode工具栏中Product->Profile可以启动,启动后界面如下 比如测试程序启动运行时间,当点击Time Profiler应用程序开始运行后.就能获取到整个应用程序运行消耗时间分布和百分比.为了保证数据分析在统一使用场景真实需要注意一定要使用真机,因为此时模拟器是运行在Mac上,而Mac上的CPU往往比iOS设备要快。 为了防止一个应用占用过多的系统资源,开发iOS的苹果工程师门设计了一个“看门狗”的机制。在不同的场景下,“看门狗”会监测应用的性能。如果超出了该场景所规定的运行时间,“看门狗”就会强制终结这个应用的进程。开发者们在crashlog里面,会看到诸如0x8badf00d这样的错误代码。 2. 优化Table View 为了保证table view平滑滚动,确保你采取了以下的措施: ?正确使用`reuseIdentifier`来重用cells ?尽量使所有的view opaque,包括cell自身 ?如果cell内现实的内容来自web,使用异步加载,缓存请求结果 ?减少subviews的数量 ?尽量不适用`cellForRowAtIndexPath:`,如果你需要用到它,只用一次然后缓存结果?使用`rowHeight`, `sectionFooterHeight` 和`sectionHeaderHeight`来设定固定的高,不要请求delegate 3. UIImage加载图片 A:imagedNamed初始化 B:imageWithContentsOfFile初始化 imageNamed默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片对象,则从指定地方加载图片然后缓存对象,并返回这个图片对象. 而imageWithContentsOfFile则仅只加载图片,不缓存. 大量使用imageNamed方式会在不需要缓存的地方额外增加开销CPU的时间来做这件事.当应用程序需要加载一张比较大的图片并且使用一次性,那么其实是没有必要去缓存这个图片的,用imageWithContentsOfFile是最为经济的方式,这样不会因为UIImage元素较多情况下,CPU会被逐个分散在不必要缓存上浪费过多时间. 使用场景需要编程时,应该根据实际应用场景加以区分,UIimage虽小,但使用元素较多问题会有所凸显. 1>不要在?viewWillAppear 中做费时的操作 viewWillAppear: 在view 显示之前被调用,出于效率考虑,在这个方法中不要处理复杂费时的事情;只应该在这个方法设置view 的显示属性之类的简单事情,比如背景色,字体等。要不然,用户会明显感觉到view 显示迟钝。 2>在正确的地方使用reuseIdentifier table view用`tableView:cellForRowAtIndexPath:` 为rows分配cells的时候,它的数据应该重用自UITableViewCell。一个table view维持一个队列的数据可重用的UITableViewCell 对象。

iOS笔试题

iOS笔试题 姓名_________________ 时间____________________ 一、填空题(20题) 1、与alloc对应的方法是,与retain对应的方法是。 2、@property的作用是 , @synthesize的作用是。 3、一个对象的dealloc方法在时被调用。 4、分类(categories)能够向一个已有的类中添加。 拓展(extensions)能够在当前类中增 加。 5、iOS开发者账户中,最多能够添加台设备号。 6、协议(protocal)可以分为两种,其中以关键字申明的协议可以不被实现。 7、是大多数Objective-C类继承的根类,它没有父类。 8、代理(delegate)的作用是。 9、UIViewController的didReceiveMemoryWarning方法在时会调用。 10、MVC模式中,M是指,V是指,C是指。 11、autorelase的作用 是 。 12、 iOS后台运行是在系统版本才开始支持。 13、代码: - (void)setName:(NSString *)newName{ https://www.360docs.net/doc/3416824163.html, = newName; } 被调用的结果是。 14、UDID是由位十六进制字符串组成。 15、在KVC中通用的属性访问器方法是和。 16、关键字nil在Objective-C中表示。

17、#import和#include的区别是。 18、在Objective-C中是否支持运算符重载,能否在头文件里申明私有方法。 19、在Instruments工具中,用于检查内存泄露的工具是。 20、在iOS开发环境下,后缀为.a的文件又叫做。 二、单选题(20题) 1、在Objective-C中,类的成员变量默认被申明为:()A:@private B:@protected C:@public D:@package 2、iPhone、iPad、iTouch中使用的架构是()A:arm B:i386 C:x86 D:IA-32 3、下面哪个类在iPhone应用程序开发时不能使用 ( ) A:UITabViewController B:UINavigationController C:UISplitViewController D:UITableViewController 4、关于Objective-C++中的异常处理,下面说法最正确的是 () A:Objective-C不支持异常处理 B:在Objective-C++中,Objective-C的异常处理能够捕获C++的异常 C:在Objective-C++中,Objective-C的异常处理不能捕获到C++的异常 D:在Objective-C++中,Objective-C和C++的异常处理可以相互捕获异常 5、在对象的dealloc方法中,关于[super dealloc];语句说法正确的是()A:[super dealloc];有没有没有关系 B:[super dealloc];应该放在dealloc方法内的第一行 C:[super dealloc];应该放在dealloc方法内的最后一行 D:[super dealloc];位置无所谓,只要在dealloc方法里有就可以 6、下面关于方法:[[[object method1] method2] method3:[object method4]];中的method调用顺序是 ( ) A: 1 2 3 4 B: 1 2 4 3 C:4 1 2 3 D: 4 3 2 1 7、iOS开发中,HTTPS通讯是在什么位置来保障安全性()A:NSURLRequest方法里B: NSURLRequest代理方法里 C:NSURLConnection方法里D:NSURLConnection代理方法里 8、关于NSURLConnection同步通讯和异步通讯,下面说法正确的是()A: 同步通讯是指发送数据后,不等接收方回应,接着发下一个数据 B: 异步通讯时会阻塞当前线程 C: 发送同步通讯时,系统会自动创建一个单独的线程

一套软件开发工程师笔试题

1、试分析下面的语句的优劣,并用另外的方法实现。 (1) * ( a. a ) * e ( a ) (2) * e, a e. . 2、用重写下面的语句 (*),() = 0020 ‘’; (*)() = 0030 ‘’; ((,0020,’x')) d0020, ((,0030,’x')) d0030, ((,0020,0)) d0020, ((,0030,0)) d0030 ‘’; 3、下面哪几种不好。2,4,5 (1) 语句(2)语句(3)子查询(4)多查等值查询(5)笛卡尔乘积 4、请造出下列哪3种命名正确 A、B、$ C、D、E、3 5、(1)写出文件名(2)补充代码 6、型转换 : ( b){} 当下列方法调用时将出现何种异常,如何修正 (“”); d =123; (); (1) (123); (2) (c,()d); 7、在上显示中的元素 < ”; ” %> < = “”%> < % = (“”); %>

< % ( 0 { %> < % } %> 序号 姓名 <> <(i)%> 8、解释 :远程接口的具体实现 :管理和创建远程对象 :提供给用户的远程接口 9、解释与的区别 10、’与区别 11、解释、模式,试举例说明。 定义 不少模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作,将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是模式,换句话说,本来用户(调用者)是直接调用这些命令的,如菜单上打开文档(调用者),就直接指向打开文档的代码,使用模式,就是在这两者之间增加一个中间者,将这种直接关系拗断,同时两者之间都隔离,基本没有关系了. 显然这样做的好处是符合封装的特性,降低耦合度是将对行为进行封装的典型模式是将创建进行封装的模式,

2021年IOS开发工程师面试自我介绍

ios开发工程师面试自我介绍 是求职过程中的重要环节,简明扼要、逻辑清晰、凸显个性、与岗位匹配的成功自我介绍,会让求职者成为企业的不二人选。有针对性的自我介绍是可以提前准备、认真挖掘的,以下是第一为你了ios 开发工程师面试自我介绍,希望大家喜欢。 我叫xx-x,毕业于xx大学的软件工程专业,通过半年的ios软件开发工作,培养了我全面和较强的开发能力,工作认真负责,有团队合作精神,具备较强的组织、沟通能力和进取心强;坚持原则,工作作风严谨、高度的责任意识。 我乐观向上,大方开朗,热情务实;待人诚恳;工作认真负责,具有吃苦耐劳、艰苦奋斗的精神;适应能力强,具备良好的组织协调能力;善于不断学习及总结,吸收能力强;拥有积极向上的生活态度和广泛的兴趣爱好;注重团队合作精神和集体观念,我希望能到贵公司,与公司同发展共命运。 本人热衷计算机软件开发行业,学习能力强,适应能力强,有责任心,拥有团队合作开发精神,亦能独立完成任务。现任某某软件公司开发部经理,4年软件开发管理经验,熟练掌握delphi及c#.两门开发语言(winform),interbase及sqlserver数据库,vss源代码管理,具有良好的编程习惯和风格(xml标注,gui+设计等

等),熟悉软件架构及测试。本人有意向.软件工程师及项目管理方向发展,盼望与伯乐携手共创事业! 在三年的学习生活中,我牢固地把握了计算机硬件与电子专业的基础知识,精通数电与模电,熟练Office办公软件和 Protel99se,对计算机组装与维护把握深刻,并在各种实践中获得了一定的实际运用能力 并利用课余时间进行了汉语言文学自学考试,通过科目过半。在自考期间不但进步了文学功底,而且培养了我坚强的意志 课余时间我还广泛阅读各方面书籍,积极参加各种集体活动和社会实践活动,扩展了知识面,培养了团队精神,增强了组织交际能力,提升了综合素质,增强了整体实力。 我喜欢篮球和乒乓球,曾担任大学校篮球队队员。在篮球队中深刻体会到在大家共同努力下击败对手的成就感! 对于计算机有着狂热的喜爱,虽掌握软件众多,但对编程情有独钟!在每一次解决了问题后都有一种成就感!我喜欢这种感觉,让我能沉迷于我的代码的世界中!

美团校招笔试题题目整理

2017美团校招笔试题题目整理想要进美团的小伙伴们,都做好校招时回答笔试题的准备了吗?今天学习啦小编就和大家分享2017美团校招笔试题题目整理,希望对大家的学习有帮助! 2017美团校招笔试题题目整理(一) 1.某汽车公司下属有两个汽车制造厂,全部产品的40%由甲厂生产,60%由乙厂生产。而甲乙二厂生产的汽车的不合格率分别为1%,2%。从公司生产的汽车中随机抽取一辆为不合格品,问它是甲厂生产的可能性多大? 2.地上有很多硬币,有一个机器人会每天处理一遍所有的硬币:如果硬币是反面,就把硬币翻转;如果硬币是正面就随机抛一下。机器人这样日复一日的处理,请问最后地上硬币正反面的比例能够稳定吗?如果能够稳定,最终比例是多少?请给出推理过程和结果。 3.某房间里有50盏灯(编号为1~50)和50个开关(编号为1~50)。当按下i号开关时,所有为i倍数的灯就变换一下状态(由亮变为熄,或是由熄变为亮)。比如按下2号开关时,2、4、6、8…50号灯全变更状态。小明走进房间,发现所有灯全熄着,于是依次按下了1,2,3…50所有开关。请问最后有多少灯亮着?请说明计算过程。 4.假设只能以较低的速率调用一个方法access(),请提供一个方法safe_access(),如果调用瞬时速率超过每秒钟R次时返回‘Access denied’,否则调用access,返回‘Success’。假定计算机最小时钟单位是毫秒,请1)写出逻辑思路;2)再写代码完整实现,编程语言不限。

5.给定一个单链表和一个整数k,要求每隔k个元素翻转链表: structnode{ intkey; struct node* next; }; typedef node* List; 实现该函数:void kReverse(List head,int k) 比如:原始链接表为:1->2->3->4->5->6 k=2翻转为:2->1->4->3->6->5 k=3翻转为:3->2->1->6->5->4 k=4翻转为:4->3->2->1->5->6 6.对于一个m*n的int矩阵,其每行自左向右是升序排列的,其每列自上向下是升序排列的,现需要在其中查找整数elem,找到时返回elem所在位置。请1)先写出思路:2)自行定义函数接口然后编程实现,编程语言不限。 7.(系统运维选做)有主机A,B,C通过eth0和同一个交换机相连。A的IP地址为 192.168.1.2,子网掩码255.255.255.0;B的IP地址为192.168.2.2,子网掩码为: 255.255.255.0;C的IP地址为192.168.4.2,子网掩码255.255.255.0。线希望A和B能够通信,A和C、B和C不能通信。 (1)假设能更改A和B子网掩码,要如何设置A和B的子网掩码? (2)如果不能更改子网掩码,需要在A和B做什么设置?

iOS开发高级程序员面试题-答案

一、判断题(每题2分,共20分) 1、UITableView能够绑定多个数据源。(错) 2、一个UIViewController可以管理多个UITableView。(对) 3、Object-c的类可以多重继承。(错) 4、objective-c类里面的方法只有两种, 静态方法和实例方法。(对) 5、NSFileManager和NSWorkspace在使用时都是基于进程进行单件对象的实例化。(对) 6、用类别增加方法时,不能与原来类中的方法产生名称冲突。(错) 7、frame指的是该view在本身坐标系统中的位置和大小。(错) 8、method是一个方法的名字,selector是一个组合体。(错) 9、ARC是编译特性,不是运行时特性,在编译时,编译器会自动加上释放代码。(对) 10、从iOS4之后,Safari支持全屏浏览,Siri支持普通话。(对) 二、填空题(每空2分,共20分) 1、iOS是使用Objective-C语言编写的,使用该语言开发的Cocoa是一款功能强大的用户界面工具包,也是iOS的核心。 2、数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。链表恰好相反,其中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。 3、发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。而发送异步请求不会阻塞主线程,会建立一个新的线程来操作,之后程序可以继续运行。 页脚内容1

4、autorelease只是把Object放入了当前的autorelease pool中,当它被释放时,其中的所有Object都会被调用Release。 5、作为Objective-C导入头文件的关键字,#import<>用来包含系统的头文件,#import””用来包含用户头文件。 三、简述题(每题4分,共20分) 1、delegate和notification有什么区别,什么情况下使用? 答:delegate:消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate同意然后发送者响应事件,delegate机制使得接收者可以改变发送者的行为。通常发送者和接收者的关系是直接的一对多的关系。 notification:消息的发送者告知接收者事件已经发生或者将要发生,仅此而已,接收者并不能反过来影响发送者的行为。通常发送者和接收者的关系是间接的多对多关系。 2、Object-C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 答:线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue。 在主线程执行代码,方法是performSelectorOnMainThread。 如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone。 3、iOS有哪些数据持久化方式? 答:四种:属性列表、对象归档、SQLite3和Core Data。 页脚内容2

相关文档
最新文档