搜档网
当前位置:搜档网 › iOS开发高级程序员面试题-试卷

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

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

浙江正泰中自控制工程有限公司

iOS开发高级程序员面试卷

(时间:60分钟总分:100分)

一、判断题(每题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是使用语言编写的,使用该语言开发的是一款功能强大的用户界面工具包,也是iOS的核心。

2、是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。恰好相反,其中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。

3、发送,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。而发送不会阻塞主线程,会建立一个新的线程来操作,之后程序可以继续运行。

4、autorelease只是把Object放入了当前的中,当它被释放时,其中的所有Object都会被调用。

5、作为Objective-C导入头文件的关键字,用来包含系统的头文件,用来包含用户头文件。

三、简述题(每题4分,共20分)

1、delegate和notification有什么区别,什么情况下使用?

答:

2、Object-C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?

答:

3、iOS有哪些数据持久化方式?

答:

4、Objective-C如何对内存管理的,说说你的看法和解决方法?

答:

5、如何对iOS设备进行性能测试?

答:

四、问答题(每题10分,共20分)

1、什么是MVC,为什么使用MVC,有什么好处?描述一下iOS SDK中如何实现MVC的开发模式。

答:

2、请阐述UIViewController的生命周期,包括代码的执行顺序。答:

五、论述题(20分)

请针对正泰中自智慧水务APP的需求(见现场展示的原型),论述您的开发思路和使用的开发技术。

【8】IOS面试题--数据存储

1. 什么是谓词? 答案:谓词是通过NSPredicate,是通过给定的逻辑条件作为约束条件,完成对数据的筛选。 predicate = [NSPredicatepredicateWithFormat:@"customerID == %d",n]; a = [customers filteredArrayUsingPredicate:predicate]; 2. 什么是数据持久化?简单谈一下你所了解的IOS 中的数据持久化的方式。 数据持久化就是将内存中的数据模型转换为存储模型,以及 将存储模型转换为内存中的数据模型的统称.数据模型可以 是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。 在IOS中,少量的数据持久化可以使用属性列表、NSUserDefaults、归档等; 大量的数据持久化可以使用SQLite数据库、CoreData等,也可以使用FMDB第三方类库完成。 2. NSUserDefaults?

NSUserDefaults适合存储轻量级的本地数据,以键值对的形式进行存储,只能存储基本的OC对象(不包括自定义的对象)。 NSUserDefaults非常好用,并不需要用户在程序中设置NSUserDefaults的全局变量,需要在哪里使用NSUserDefaults的数据,那么就在哪里创建一个NSUserDefaults对象,然后进行读或者写操作。 针对同一个关键字对应的对象或者数据,可以对它进行重写,重写之后关键字就对应新的对象或者数据,旧的对象或者数据会被自动清理。 NSUserDefaults是典型的单例模式。 3. ProtocolList 属性列表,是一种用来存储串行化后的对象的文件。因为扩展名为plist,因此通常被称为plist文件。 plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,其内容为xml格式。它可以在程序运行期间动态的创建和读写,因此可以用于少量数据时候的数据持久化。 3. 归档?优缺点?

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。

2021年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扮演着什么样角色? 请解释一下NSUserDefaults。就你而言,你会如何在磁盘中对数组对象进行序列化?

2012年软件评测师下午试题及答案

2012年下半年软件评测师下午试题答案 试题一(共19分)负载压力测试 【说明】 某酒店预订系统有两个重要功能,检索功能和预订功能。检索功能根据用户提供的关键字检索出符合条件的酒店列表,预订功能是对选定的某一酒店进行预订,现需要对该系统执行负载压力测试。 该酒店预订系统的性能要求为: (1)交易执行成功率100%; (2)检索响应时间在3s以内; (3)检索功能支持900个并发用户; (4)预订功能支持100个并发用户; (5)CPU利用率不超过85%; (6)系统要连续稳定运行72小时 【问题1】(3分) 简述该酒店预订系统在生产环境下承受的主要负载类型。 【问题2】(5分) 对系统检索功能执行负载压力测试,测试结果如表1-1所示。请指出响应时间和交易执行成功率的测试结果是否满足性能需求并说明原因。 表1-1 检索功能测试结果 【问题3】(5分) 对系统检索功能及预订功能执行负载压力测试,测试结果如表1-2所示。请指出服务器资源利用情况cpu占用率的测试结果是否满足性能需求并说明原因。 表1-2 系统测试结果 【问题4】(6分) 根据【问题2】和【问题3】的测试结果,试分析该系统的可能瓶颈。 参考答案:

问题1、该酒店预订系统在生产环境下承受的主要负载类型: (1)检索功能、预订功能并发用户的操作是属于并发执行负载; (2)连续运行72小时是属于疲劳强度负载; (3)大量“稿件查询”操作是属于大数据量负载。 【问题4】(5分) 对系统检索功能执行负载压力测试,响应时间和交易执行成功率的测试结果不能满足性能需求。 因为: 1、系统检索功能执行并发用户数为900时,其响应时间为3.7s与检索响应时间在3s以内不能满足性能需求,交易执行成功率为100%满足性能需求。 2、系统检索功能执行并发用户数为1000时,其响应时间为6.6s与检索响应时间在3s以内不能满足性能需求,交易执行成功率为98%不能满足性能100%需求。 【问题4】(6分) 根据【问题2】和【问题3】的测试结果,该系统的存在瓶颈。 服务器资源利用情况: 1在执行检索功能测试时并发用户为900、1000时响应时间超过3s; 2在检索功能并发用户为900,预订功能并发用户数为100时,CPU占用率(%)(平均值)达到87.3超过85%; 3在检索功能并发用户为1000,预订功能并发用户数为120时,CPU占用率(%)(平均值)达到92.6超过85%; 可能的瓶颈如下: (1)服务器CPU 性能不足; (2)数据库设计不足或者优化不够; (3)检索功能预订功能应用软件设计不足或没有优化; (4)网络带宽不足。 试题二(共15分)白盒测试 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 Struct_ProtobufCIntRange{ Intstart_value; Unsigned orig_index; }; typedefstruct_ProtobufCIntRangeProtobufCIntRange; intint_range_lookup(unsigned n_ranges,constProtobufCIntRange*ranges,int value){

dsp试题及答案集(附复习资料)解析

最新DSP考试试题集合外加复习资料(后) 一、填空(每空1分,共30分) 1.程序计数器的值可以通过复位操作、顺序执行指令、分支转移, 累加器转移,块重复,子程序调用,从累加器调用子程序,中断等操作改变。 2.’C54x DSP芯片采用了6级流水线的工作方式,即一条指令分为预取指、 取指、译码、寻址、读数和执行6个阶段。 3.解决MMR写操作的流水线冲突时,一般可用采用推荐指令和插入空操作 指令的方法。 4.TI公司的定点DSP产品主要有 TMS320C2000 系列、TMS320C5000系列和 TMS320C6000 系列。 5.’C54x DSP中传送执行指令所需的地址需要用到 PAB 、CAB、DAB和 EAB 4条地址总线。 6.在’C54x DSP寻址和指令系统中,Xmem和Ymem表示 16位双寻址操作数, Dmad为16位立即数,表示数据存储器地址,Pmad为16位立即数,表示程序存储器地址。 7.DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。 其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。8. 9.’C54x DSP的内部总存储空间为192K字,分成3个可选择的存储空间:64K 字的程序存储空间、64K字的数据存储空间和64K字的 I/O空间。 10.从功能结构上,’C54X DSP的CPU可以划分成运算部件和控制部件两大 部分。 11.’C54x DSP的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、

直接寻址、间接寻址、存储器映象寄存器寻址、堆栈寻址。 12.’C54x DSP定时器由3个16位存储器映射寄存器组成:定时器寄存器(TIM)、 定时器周期寄存器(PRD)和定时器控制寄存器(TCR)。 13. 主机接口(HPI,Host Port Interface)是TMS320C54x 系列定点芯片内 部具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。 14.’C54x DSP的指令系统有助记符指令和代数指令两种形式。 15.COFF目标文件中.text段通常包含可执行代码,.data段通常包含己初 始化的数据,.bss段中通常为未初始化的数据保留空间。 16.DSP芯片的开发工具可以分为代码生成工具和代码调试工具两类。 17、DSP芯片按照其用途分类,可以分为通用型和专用型两种。 18,在堆栈操作中,PC当前地址为4020h,SP当前地址为0033h,运行PSHM AR2后,PC= 4021h , SP= 0032h 。(PSHM AR2为单字指令) 19、TMS320C54xDSP芯片四种串行口类型是指 SP 、 BSP 、McBSP和TDMcBSP。 20、请简要说明TMS320C5402VCDSP以下引脚的功能: RS:复位引用脚,IOSTRB: I ef所定义的符号,是在当前模块中 使用,而在别的模块中定义的符号; B、.ref 所定义的符号,是当前模块中定义,并可在别的模块中使用的符号; C、.sect命令定义的段是未初始化的段; D、.usect命令定义的段是未初始化的段。 8、在采用双操作数的间接寻址方式时,要使用到一些辅助寄存器,在此种寻址方式下,下 面的那些辅助寄存器如果使用到了是非法的( D ) A、AR2 B、AR4 C、AR5 D、AR6

史上最全的iOS面试题及答案

史上最全的iOS面试题及答案 以下是为大家整理的史上最全的ios面试题及答案的相关范文,本文关键词为史上,最全,ios,试题,答案,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教师教学中查看更多范文。 精品文档 . 史上最全的ios面试题及答案?1.写一个nsstring类的实现 +(id)initwithcstring:(c*****tchar*)nullTerminatedcstring encoding:(nsstringencoding)encoding; +(id)stringwithcstring:(c*****tchar*)nullTerminatedcstring

encoding:(nsstringencoding)encoding { nsstring*obj; obj=[selfallocwithZone:nsDefaultmallocZone()];obj=[objinitwithcstring:n ullTerminatedcstringencoding:encoding]; returnAuToReLeAse(obj); } 2static关键字的作用: (1)函数体内static变量的作用范围为该函数体,不同于auto 变量,该变量的内存只被分配一次, 因此其值在下次调用时仍维持上次的值;

(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明 它的模块内; (4)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝; (5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。 3线程与进程的区别和联系? 精品文档 进程和线程都是由操作系统所体会的程序运行的基本单元,系统

C++试题(附答案)

一、选择题 1.在下列有关析构函数的描述中,错误的是(B) A.一个类中只能定义一个析构函数 B.析构函数名与类名完全相同 C.析构函数不能指定返回类型 D.析构函数不能带有参数 2.面向对象的软件工程不包括以下哪个部分(D) A.面向对象程序设计 B.面向对象编程C.面向对象维护 D.面向对象封装3.假设定义了函数模版: Template T max(Tx,Ty) {return (x>y)? x:y;} 并定义了:int i;char c;那么下列错误的调用该模版的事(C)A.max (i,i) B.max(c,c) C.max(int(c),i) D.max(c,i) 4.模版的主要作用是为了(C) A.提高代码的运行效率 B.实现多态性C.提高代码的重要性 D.加强类的封装性5.#include #include using namespace std; {

double x=111.222222222222222; cout< { public: void fun (){cout<<”Base::fun”<

信息安全试题库及参考答案

一、判断题 1. 在互联网上第一个注册的域名是“https://www.sodocs.net/doc/3e8279701.html,”。 正确与否均得不了分 2. 当今的信息技术 主要是指计算机和网络通信技术。 正确与否均得不了分 3. 商业软件是指那些需要付费才能使用的软件。 正确与否均得不了分 4. 移动产业链发展趋势是有“流量”经济向“服务”经济转变。 正确与否均得不了分 5. 操作系统是用户与计算机的接口。 正确与否均得不了分 6. 人是安全管理的核心要素 安全管理以提高人的要素为基础 以确保人的安全为终极目标。正确 7. 云计算数据中心规模巨大、能耗惊人 是与当前“节能降耗”的发展目标背道而驰的。错误 8. 伊朗核电站的震网攻击采用的是APT攻击手法。正确 9. 分布式反射拒绝服务攻击就是控制肉鸡发送大量合法请求 导致服务器和网络阻塞。正确 10. 物理隔离的网络是绝对安全的。错误11. 网络好友传输一个图片给你 图片不会感染病毒 可以任意打开。错误 12. 如何确保标签物拥有者的个人隐私不受侵犯成为射频识别技术以至物联网推广的关键问题。正确 13. 在计算机指令中 规定其所执行操作功能的部分称之为操作码。错误 14. 高级程序设计语言的编译系统属于应用软件。错误 15. 物联网一方面可以提高经济效益大大节约成本 另一方面可以为全球经济的复苏提供技术动力。正确 16. 微型计算机的内存储器是指安放在计算机内的各种存储设备。错误 17. 微软的Office 365是云计算服务模型中软件即服务的代表。正确 18. 基于新一代信息技术的节能减排信息化总体架构可以分为四层 分别是基础设施层、信息集成层、应用层和展示层。正确 19. 存贮一个英文字母占8个字节。错误 20. 能够互动、通信的产品都可以看作是物联网应用。错误 21. 目前智能手机操作系统市场占有份额最多的是苹果的ios。错误 22. 诺基亚从没生产国智能手机。错误 23. 现在人们获取媒体的主要方式和手段还是看电视。错误 24. 移动通信最先应用在船舶通信中。正确 25. 企业信息化就是企业内部业务管理的信息化。错误 26. 冯?诺依曼结构的计算机是将计算机划分为运算器、控制器、存储器、输入设备和输出设备等五大部件。错误 27. 计算机发展到第五代出现了个人计算机。错误 28. 微信是中国移动公司开发的。错误 29. 二维码中可以包含很多信息 可以存放恶意程序的链接。正确 30. 绿色电脑是指节能电脑。正确 31. 网络是云计算应用的基础 我国的主流网络速度已经超越了韩国、日本等国家 处于国际领先位置。错误 32. 物联网研究的目的就是把所有物体连接起来。错误 33. “金关”工程又称为海关联网工程 其目标是推广电子数据交换技术 以实现货物通关自动化、国际贸易无纸化。正确

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、发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。而发送异步请求不会阻塞主线程,会建立一个新的线程来操作,之后程序可以继续运行。 4、autorelease只是把Object放入了当前的autorelease pool中,当它被释放时,其中的所有Object都会被调用Release。 5、作为Objective-C导入头文件的关键字,#import<>用来包含系统的头文件, #import””用来包含用户头文件。 三、简述题(每题4分,共20分) 1、delegate和notification有什么区别,什么情况下使用? 答:delegate:消息的发送者(sender)告知接收者(receiver)某个事件将要发

史上最全的iOS面试题及答案

史上最全的iOS面试题及答案 史上最全的iOS面试题及答案iOS面试小贴士———————————————回答好下面的足够了 -------------------------------------多线程、特别是NSOperation 和GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原理。实现机制。如何解决TableView卡的问题。block和代理的,通知的区别。block的用法需要注意些什么。strong,weak,retain,assign,copy nomatic 等的区别。设计模式,mvc,单利,工厂,代理等的应用场景。单利的写法。在单利中创建数组应该注意些什么。NSString 的时候用copy和strong的区别。响应值链。NSTimer 在子线程中应该手动创建NSRunLoop ,否则不能循环执行。UIScrollView和NSTimer组合做循环广告图轮播的时候有一个属性可以控制当上下滚动tableview的时候广告轮播图依然正常滚动。Xcode最新的自动布局。。。这个很多公司都用。尽量自学下。git ,和svn的用法。。。git的几个命令简单的记下。。。友盟报错可以查到具体某一行的错误,原理是什么。Instrument 可以检测电池的耗电量、和内存的消耗。的用法。动画CABaseAnimation CAKeyAni…. CATrans….. CAGoup…. 等熟悉。。ARC的原理。自己写过什么自定义控件就最好了。。

———————————————回答好上面的足够了 ------------------------------------- __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。 2.__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型(int)。 3.__block对象可以在block中被重新赋值,__weak不可以。tableView 滑动卡的问题主要是因为:从缓存中或者是从本地读取图片给UIImage的时候耗费的时间。需要把下面的两句话放到子线程里面:NSData *imgData = [NSData dataWithContentsOfURL:[NSURL URLWithString:app.icon]]; //得到图像数据 UIImage *image = [UIImage imageWithData:imgData]; 把UIImage赋值给图片的时候在主线程。子线程不能更新UI 所有的UI跟新都是主线程执行了。手指滑动屏幕了。或者屏幕的某个方法执行了。子线程里面加入NSTimer 的时候需要手动添加NSRunloop 否则不能循环。单利里面添加NSMutableArray 的时候,防止多个地方对它同时便利和修改的话,需要加原子属性。并且用strong,,,并且写一个遍历和修改的方法。加上锁。Lock UnLock __weak ViewController* weakSelf = self;GCD里面用 __weak 防止内存释放不了,循环引用。二、

思科第二期考试试题及答案(正确率100%)

参加考试 - ERouting Final Exam - ${COURSENAME} (版本 ${VERSION}) 剩余时间: 00:41:40 1 请参见图示。 哪台路由器会通告子网 172.16.1.32/28? Router1 Router2 Router3 Router4 2

请参见图示。所有路由器都运行相同的路由协议。根据图示及其显示的命令,下列哪一项叙述正确? 通配符掩码配置有误。 必须在每台路由器上配置默认路由。 路由器B、C 和 D 无法访问Internet。 路由协议进程未通告通往ISP 的链路。 3

请参见图示。所有路由器都运行RIPv1。10.1.1.0/29 和10.1.1.16/29 这两个网络无法互相访问。此问题的原因可能是什 因为RIPv1 是无类协议,不支持该访问。 RIPv1 不支持不连续网络。 RIPv1 不支持负载均衡。 RIPv1 不支持自动总结。 4 请参见图示。路由器R1 和R2 通过其串行接口直接相连,并且都在运行EIGRP 路由协议。R1 和R2 可以ping 通其行接口,但无法与邻居建立起EIGRP 相邻关系。

应采取什么措施来解决此问题? 启用两台路由器的串行接口。 配置EIGRP 以发送定期更新。 在路由器之间配置相同的hello 发送间隔。 使用相同的EIGRP 进程ID 配置两台路由器。 5 请参见图示。对于发往192.168.2.0 的数据包,R2 会采取什么操作? 它会丢弃数据包。 它会通过S0/0/0 接口转发数据包。 它会通过Fa0/0 接口转发数据包。 它会将数据包转发给R1。 6

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

For personal use only in study and research; not for commercial use 一、判断题(每题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、发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。而发送异步请求不会阻塞主线程,会建立一个新的线程来操作,之后程序可以继续运行。 4、autorelease只是把Object放入了当前的autorelease pool中,当它被释放时,其中的所有Object都会被调用Release。 5、作为Objective-C导入头文件的关键字,#import<>用来包含系统的头文件,#import””用来包含用户头文件。 三、简述题(每题4分,共20分)

ios笔试题及答案

IOS笔试题及答案 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?(8分) 答:Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category 去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。 2. #import 跟#include 又什么区别,@class呢, #import<> 跟#import””又什么区别?(8分) 答:#import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#include和#pragma once;@class告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含;#import<>用来包含系统的头文件,#import””用来包含用户头文件。 3. 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?(8分) 1. readwrite 是可读可写特性;需要生成getter方法和setter方法时 2. readonly 是只读特性只会生成getter方法不会生成setter方法;不希望属性在类外改变 3. assign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时; 4. retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1;

iOS面试题汇总(二)

46.notification是同步还是异步? kvo是同步还是异步?notification 是全进程空间的通知吗?kvo呢? 47.kvc是什么?kvo是什么?有什么特性? 48.响应者链是什么? 49.unix上进程怎么通信? UNIX主要支持三种通信方式: 1. 基本通信:主要用来协调进程间的同步和互斥 (1)锁文件通信 通信的双方通过查找特定目录下特定类型的文件(称锁文件)来完成进程间对临界资源访问时的互斥;例如进程p1访问一个临界资源,首先查看是否有一个特定类型文件,若有,则等待一段时间再查找锁文件。 (2)记录锁文件 2. 管道通信:适应大批量的数据传递 3. IPC :适应大批量的数据传递

50.timer的间隔周期准吗?为什么?怎样实现一个精准的timer? 51.UIscrollVew用到了什么设计模式?还能再foundation库中找到类似的吗?(答案众多,不知道哪个是对的~~) 模板(Template)模式,所有datasource和delegate接口都是模板模式的典型应用, 组合模式composition,所有的containerview都用了这个模式 观察者模式observer,所有的UIResponder都用了这个模式。 52如果要开发一个类似eclipse的软件,支持插件结构。且开放给第三方开发。你会怎样去设计它?(大概思路) 53. main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 答:2,5

IOS与OC面试题

IOS与OC面试题 浅复制和深复制的区别?//浅拷贝和深拷贝 答案: 浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身。//通过对象的指针来访问这个对象 深层复制(mutableCopy):复制引用对象本身 意思就是有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源 还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。深复制就好理解了,内存中存在了 两份独立对象本身。//当修改A时,A copy不变。 打个比喻:1、浅拷贝就是:你挂了,你妈妈喊你回家吃饭时找不到人了,她很伤心。2、深拷贝就是:你克隆了一个你自己:你挂了、你兄弟还在,你妈妈喊你回家吃饭时能找到人。所以、孩子,安全起见、深拷贝吧,记得内存管理就是了。 类别的作用?继承和类别在实现中有何区别? 答案:category 可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除修改。// category:类、种类 并且如果类别和原来类中的方法产生名称冲突,则类别将覆盖原来的方法,因为类别具有更高的优先级。//类别跟类的优先级 类别主要有3个作用: (1)将类的实现分散到多个不同文件或多个不同框架中。 (2)创建对私有方法的前向引用。 (3)向对象添加非正式协议。 继承可以增加,修改或者删除方法,并且可以增加属性。 //非正式协议:是使用类别category来实现,非正式协议是NSObject的一个类别,这样任何类的对象都可以作为委托对象来使用,它可以列出对象能够执行的所有方法,这样用来实现委托,我们可以使用选择器来判断该非正式协议中是否有这个方法。 正式协议:是一个命名的方法列表,与非正式协议相比不同的是,它要求显示的采用协议,采用协议的方法是在类的@interface声明中列出协议的名称,此时,实现协议的类应该遵守协议,承诺实现协议中的所有方法。 3 类别和类扩展的区别。 答案:category和extensions的不同在于后者可以添加属性。另外后者添加的方法是必须要实现的。

c试题+答案

1、设int a = 3, b = 4, c = 5; 表达式(a+b)> c&&b==c 的值是(C) A、2 B、-1 C、0 D、1 2、下列标识符中,不合法的用户标识符为(A) A、a#b B、_int C、a_10 D、PAD 3、while(!x) 中的(!x)与下面条件那个等价(D) A、x == 1 B、x != 1 C、x !=0 D、x==0 4、定义一个char * * p; 请选择sizeof(p)的值(D) A、1 B、2 C、3 D、4 5、在switch(key)开关语句中的键值可以时那种数据类型(C) A、double B、float C、char D、string 6、ANSI C中ASCII的值域如下哪些正确(B) A、0-255 B、0-127 C、0-128 D、-128 - +127 7、int t = 128; char * p = &t; printf("%d\n", *p); 请判断输出结果(D) A、127 B、-127 C、128 D、-128

8、如下那些函数能够动态分配一个一维数组(B) A、malloc B、calloc C、xmalloc D、realloc 9、如下对C中宏定义的解释不正确(B) A、宏可以代表一个变量的别名 B、宏是一个变量 C、宏可以代表函数的别名 D、宏可以带参数 10、Gcc 编译器是否支持内联汇编(A) A、支持 B、不支持 C、在某些情况下支持 D、在某些情况下不支持 11、ANSI C中的可变长参数的所支持的参数个数(D) A、1 B、2 C、3 D、任意多个 12、ANSI C 中在调用函数并传递参数时,参数被存储在哪里(A) A、栈中 B、堆中 C、堆栈中 D、哪里都没有 13、ANSI C中调用函数并传递参数时,参数被入栈顺序(B) A、从左至右 B、从右至左 C、从上到下 D、从下到上 14、C中的Global变量的存储分配方式(A) A、静态分配 B、动态分配 C、栈分配 D、寄存器分配 15、定义 struct A

cisco试题及答案分析

c i s c o试题及答案分析 文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

Cisco试题保存路由器配置文件 问题: Which command will copy the routers configuration script from RAM to NVRAM A. copy running-config startup-config B.NVRAM is read-only,so this is not possible. C. copy all D. save ram E. save ram nvram Select the 1 best answer 题目大意:那个命令是将路由器的配置文件从RAM中拷贝到NVARM中。 题解: RAM :相当于计算机的内存,但掉电的时候,内存里面的东西将会丢失。NVARM:相当于计算机的硬盘,但掉电的时候,硬盘里面的东西不会丢失。 在语句中的 Running-config 是存在于RAM中,Startup- config 存在于NVRAM,"copy running-config startup-config" 是一个COPY命令,讲RAM中的数据或配置文件拷贝到NVARM中。同时在实际中可以用 copy run start来简写这个命令。 正确答案:A 参考资料: CCNA:Cisco Certified Network Associate Study Guide Fourth Edition------Page194:Hands-on Lab 4.3:Saving a Router Configuration

IOS面试题_含答案

1.什么情况使用weak 关键字,相比assign 有什么不同? 什么情况使用weak 关键字? 1)在ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,比如:delegate代理属性 2)自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用weak,自定义IBOutlet控件属性一般也使用weak;当然,也可以使用strong。在下文也有论述:《IBOutlet连出来的视图属性为什么可以被设置成weak?》 不同点: 1)weak 此特质表明该属性定义了一种“非拥有关系”(nonowning relationship)。 为这种属性设置新值时,设置方法既不保留新值,也不释放旧值。此特质同assign类似,然而在属性所指的对象遭到摧毁时,属性值也会清空(nil out)。而assign 的“设置方法” 只会执行针对“纯量类型”(scalar type,例如CGFloat或NSlnteger等)的简单赋值操作。 2)assigin可以用非OC对象,而weak必须用于OC对象 2.这个写法会出什么问题:@property (copy) NSMutableArray *array; 两个问题: 1、添加,删除,修改数组内的元素的时候,程序会因为找不到对应的方法而崩溃.因为 copy就是复制一个不可变NSArray的对象; 2、使用了atomic属性会严重影响性能。 第1条的相关原因在下文中有论述《用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?》以及上文《怎么用copy 关键字?》也有论述。 第2条原因,如下: 该属性使用了同步锁,会在创建时生成一些额外的代码用于帮助编写多线程程序,这会带来性能问题,通过声明nonatomic可以节省这些虽然很小但是不必要额外开销。 在默认情况下,由编译器所合成的方法会通过锁定机制确保其原子性(atomicity)。 如果属性具备nonatomic特质,则不使用同步锁。请注意,尽管没有名为“atomic”的特质(如果某属性不具备nonatomic特质,那它就是“原子的”(atomic))。 在iOS开发中,几乎所有属性都声明为nonatomic。 一般情况下并不要求属性必须是“原子的”,因为这并不能保证“线程安全”( thread safety),若要实现“线程安全”的操作,还需采用更为深层的锁定机制才行。例如,一个线程在连续多次读取某属性值的过程中有别的线程在同时改写该值,那么即便将属性声明为atomic,也还是会读到不同的属性值。 因此,开发iOS程序时一般都会使用nonatomic属性。但是在开发Mac OS X程序时,使用atomic属性通常都不会有性能瓶颈。

vue面试题及答案

2019 VUE前端面试题 1、active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件。 2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index.js文件中,对path属性加上/:id。使用router对象的params.id 3、vue-router有哪几种导航钩子? 答:三种,一种是全局导航钩子:router.beforeEach(to,from,next),作用:跳转前进行判断拦截。第二种:组件内的钩子;第三种:单独路由独享组件 4、scss是什么?安装使用的步骤是?有哪几大特性? 答:预处理css,把css当前函数编写,定义变量,嵌套。先装css-loader、node-loader、sass-loader等加载器模块,在webpack-base.config.js配置文件中加多一个拓 展:extenstion,再加多一个模块:module里面test、loader 4.1、scss是什么?在vue.cli中的安装使用步骤是?有哪几大特性? 答:css的预编译。 使用步骤:

第一步:用npm 下三个loader(sass-loader、css-loader、node-sass) 第二步:在build目录找到webpack.base.config.js,在那个extends属性中加一个拓展.scss 第三步:还是在同一个文件,配置一个module属性 第四步:然后在组件的style标签加上lang属性,例如:lang=”scss” 有哪几大特性: 1、可以用变量,例如($变量名称=值); 2、可以用混合器,例如() 3、可以嵌套 5、mint-ui是什么?怎么使用?说出至少三个组件使用方法? 答:基于vue的前端组件库。npm安装,然后import样式和js,https://www.sodocs.net/doc/3e8279701.html,e(mintUi)全局引入。在单个组件局部引入:import {Toast} from ‘mint-ui’。组件一:Toast(‘登录成功’);组件二:mint-header;组件三:mint-swiper 6、v-model是什么?怎么使用? vue中标签怎么绑定事件? 答:可以实现双向绑定,指令(v-class、v-for、v-if、v-show、v-on)。vue的model 层的data属性。绑定事件:

相关主题