当前位置:文档之家› IOS软件工程师笔试题(全选择题)【0-1年经验】

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

IOS软件工程师笔试题(全选择题)【0-1年经验】
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

C.崩溃信息

D.a value : aKey

8.向OC控制台输出一个字符串应该用:

A.NSLog()

B.Printf()

C.NSPrintf()

D.scanf()

9.名为print::的方法有几个传入参数:

A.0

B.1

C.2

D.3

10.下列哪个选项与@synthesize配合使用:

A.@end

B.@interface

C.@implementation

D.@property

11.面向对象的特性不包括:

A.封装

B.继承

C.多态

D.构造

12.OC中,所有类的根类是:

A.NSObject

B.NSDate

C.NSCoding

D.UIView

13.现有如下集合,能准确删除“张三”的代码是:

NSMutableDictionary * peoples=[NSMutableDictionarydictionaryWithObjectsAndKeys:@"张三",@"左护法",@"李四",@"右使",@"唐sir",@"老大哥", nil];

A.[peoples removeObjectForKey:@"左护法"];

B.[peoples removeObject:@"张三"];

C.[peoples removeObjectAtIndex:0];

D.[peoples removeAllObjects];

14.使用OC语言输出“This is a Objective-C program.”正确的是:

A.NSLog(@"%s",This is a Objective-C program.);

B.NSLog(@"%@",This is a Objective-C program.);

C.NSLog(@"This is a Objective-C program.",%@);

D.NSLog(@"This is a Objective-C program.");

15.协议与委托的描述不正确的是:

A.委托是iOS的一种设计模式

B.协议里的方法默认是必须实现的

C.类接受了多个协议,这些协议写在父类后面的<>内,多个协议之间用“.”隔开

D.定义协议使用@protocol关键字

16.关于协议描述不正确的是:

A.协议分正式和非正式协议。

B.在要求确认协议的类必须实现协议中的方法时,可以使用@required。

C.一个协议可以被多个类确认。

D.协议中声明的方法,默认是@optional的。

17.下面关于类概念的描述中,错误的是:

A.类是抽象数据类型的实现

B.类是具有共同行为的若干对象的统一描述体

C.类是创建对象的模板

D.类就是C语言中的结构体类型

18.下面哪些选项是属性的正确声明方式:

A.@property(nonatomic,retain)NSStringmyString;

B.@property(nonatomic,assign)NSString * myString;

C.@property(nonatomic,assign)intmynumber;

D.@property(nonatomic,retain)intmynumber;

19.NSString *name = [[NSStringalloc]initWithString:@"张三"];

NSLog(@"%d",[name retainCount]);

上述代码打印结果是:

A.-1

B.0

C.1

D.2

20.不会立刻使引用计数器改变的是:

A.release

B.alloc

C.autorelease

D.retain

21.OC中的委托最好声明成:

A.retain

B.assign

C.copy

D.readonly

22.经过下列哪种操作后需要使用release方法。

A.delegate

B.assign

C.retain

D.dealloc

23.在OC中类的接口声明关键字为:

A.@import

B.@interface

C.@implemention

D.@protocol

24.-(id)setName:(NSString *)name :(NSString *)sex age:(int)age的方法名是:

A.-(id)setName:(NSString *)name :(NSString *)sex age:(int)age

B.-setName:name :sex age:age

C.setName: : age:

D.setName:name:age:

25.将@"2B青年"替换成@"文艺青年"的代码是:

A.[@"2B青年" stringByAppendingOfString:@"2B" withString:@"文艺"];

B.NSRange range = {0,2}; [@"2B青年" stringByReplacingCharactersInRange:rangewithString:@"文艺"];

C.NSRange range = {1,2};[@"2B青年" stringByReplacingCharactersInRange:rangewithString:@"文艺"];

D.[@"2B青年" stringByReplacingOccurrencesOfString:@"文艺" withString:@"2B"];

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

硬件工程师面试题集(含答案-很全)

硬件工程师面试题集 (DSP,嵌入式系统,电子线路,通讯,微电子,半导体) 1、下面是一些基本的数字电路知识问题,请简要回答之。 (1) 什么是Setup和Hold 时间? 答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间(Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就是建立时间通常所说的SetupTime。如不满足Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果Hold Time 不够,数据同样不能被打入触发器。 (2) 什么是竞争与冒险现象?怎样判断?如何消除? 答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 (3) 请画出用D 触发器实现2 倍分频的逻辑电路 答:把D 触发器的输出端加非门接到D 端即可,如下图所示: (4) 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 答:线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC 门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC 门,应在OC 门输出端接一上拉电阻(线或则是下拉电阻)。 (5) 什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别? 答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系.电路设计可分类为同步电路设计和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。异步电路具有下列优点:无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性。 (7) 你知道那些常用逻辑电平?TTL 与COMS 电平可以直接互连吗? 答:常用的电平标准,低速的有RS232、RS485、RS422、TTL、CMOS、LVTTL、LVCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL、CML、HSTL、SSTL 等。 一般说来,CMOS 电平比TTL 电平有着更高的噪声容限。如果不考虑速度和性能,一般TTL 与CMOS 器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些TTL 电路需要下一级的输入阻抗作为负载才能正常工作。 (6) 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、锁存器/缓冲器)

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扮演着什么样的角色?

硬件工程师笔试题硬件工程师笔试题

硬件工程师面试试题 模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念,列举他们的应用。(仕兰微电子) 5、负反馈种类(电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈);负反馈的优点(降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用)(未知) 6、放大电路的频率补偿的目的是什么,有哪些方法?(仕兰微电子) 7、频率响应,如:怎么才算是稳定的,如何改变频响曲线的几个方法。(未知) 8、给出一个查分运放,如何相位补偿,并画补偿后的波特图。(凹凸) 9、基本放大电路种类(电压放大器,电流放大器,互导放大器和互阻放大器),优缺点,特别是广泛采用差分结构的原因。(未知) 10、给出一差分电路,告诉其输出电压Y+和Y-,求共模分量和差模分量。(未知) 11、画差放的两个输入管。(凹凸) 12、画出由运放构成加法、减法、微分、积分运算的电路原理图。并画出一个晶体管级的运放电路。(仕兰微电子) 13、用运算放大器组成一个10倍的放大器。(未知) 14、给出一个简单电路,让你分析输出电压的特性(就是个积分电路),并求输出端某点的 rise/fall时间。(Infineon笔试试题) 15、电阻R和电容C串联,输入电压为R和C之间的电压,输出电压分别为C 上电压和R上电压,要求制这两种电路输入电压的频谱,判断这两种电路何为高通滤波器,何为低通滤波器。当RC<

软件开发工程师招聘试题

专业技术资料 附录一 附录一【软件开发工程师招聘试题一】 考试时间: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.doczj.com/doc/0f12486343.html,esPerGallon=2; } System.out.println("mpg:"+https://www.doczj.com/doc/0f12486343.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.doczj.com/doc/0f12486343.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.doczj.com/doc/0f12486343.html,中的五个主要对象_______________、_____________、_______________、 _______________、_________________。 (3) 并简述https://www.doczj.com/doc/0f12486343.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.doczj.com/doc/0f12486343.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.doczj.com/doc/0f12486343.html,) C、统一编程类(.NET Framework 类库) D、Microsoft 基础类 E、Windows 基础类 3. ASP。NET与ASP相比,主要有哪些进步? https://www.doczj.com/doc/0f12486343.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。

常见硬件工程师笔试题标准答案

硬件工程师笔试题 一、电路分析: 1、竞争与冒险 在组合逻辑中,在输入端的不同通道数字信号中经过了不同的延时,导致到达该门的时间不一致叫竞争。因此在输出端可能产生短时脉冲(尖峰脉冲)的现象叫冒险。 常用的消除竞争冒险的方法有:输入端加滤波电容、选通脉冲、修改逻辑设计等。 2、同步与异步 同步逻辑就是时钟之间有固定的因果关系。异步逻辑就是各时钟之间没有固定的因果关系。同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 异步电路不使用时钟脉冲做同步,其子系统就是使用特殊的“开始”与“完成”信号使之同步 同步就就是双方有一个共同的时钟,当发送时,接收方同时准备接收。异步双方不需要共同的时钟,也就就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,结束时有停止位 3、仿真软件:Proteus 4、Setup 与Hold time Setup/hold time 就是测试芯片对输入信号与时钟信号之间的时间要求。建立时间就是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就就是建立时间-Setup time、如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间就是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。 5、IC设计中同步复位与异步复位的区别 同步复位在时钟沿采集复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。 6、常用的电平标准 TTL: transistor-transistor logic gate晶体管-晶体管逻辑门 CMOS:Complementary Metal Oxide Semiconductor互补金属氧化物半导体 LVTTL(Low Voltage TTL)、LVCMOS(Low Voltage CMOS):3、3V、2、5V RS232、RS485 7、TTL电平与CMOS电平

iOS开发工程师工作经验

XX 个人信息姓名:XX专业:软件工程 学历:本科工作经验:1年 移动电话: xxxxxxxxxxx 电子由E件:xxxxxxxxxxxx@https://www.doczj.com/doc/0f12486343.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.doczj.com/doc/0f12486343.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、解释、模式,试举例说明。 定义 不少模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作,将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是模式,换句话说,本来用户(调用者)是直接调用这些命令的,如菜单上打开文档(调用者),就直接指向打开文档的代码,使用模式,就是在这两者之间增加一个中间者,将这种直接关系拗断,同时两者之间都隔离,基本没有关系了. 显然这样做的好处是符合封装的特性,降低耦合度是将对行为进行封装的典型模式是将创建进行封装的模式,

相关主题
文本预览
相关文档 最新文档