iOS NSOperation面试题+平面设计竞赛试题(含详细答案)_第1页
iOS NSOperation面试题+平面设计竞赛试题(含详细答案)_第2页
iOS NSOperation面试题+平面设计竞赛试题(含详细答案)_第3页
iOS NSOperation面试题+平面设计竞赛试题(含详细答案)_第4页
iOS NSOperation面试题+平面设计竞赛试题(含详细答案)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

iOSNSOperation面试题+平面设计竞赛试题(含详细答案)第一部分:iOSNSOperation面试题及详细答案一、基础概念题1、什么是NSOperation?它和GCD的区别是什么?答案:NSOperation是iOS中基于面向对象封装的多线程任务抽象类,属于Foundation框架,专门用来描述、管理和执行异步任务,本身不具备执行能力,需要配合NSOperationQueue队列才能运行。它与GCD的核心区别主要有以下几点:(1)封装形式:NSOperation是面向对象封装,可继承、可定制;GCD是基于C语言的函数式API,轻量级、无对象封装。(2)任务管理:NSOperation支持任务暂停、继续、取消、依赖设置、优先级调整;GCD一旦提交任务,无法中途暂停、取消,管控性极差。(3)复用性:自定义NSOperation子类可全局复用任务逻辑;GCD任务多为一次性代码块,复用需要封装工具方法。(4)适用场景:复杂多任务依赖、批量任务管理、需要精准管控任务状态的场景用NSOperation;简单异步、延时、并行任务优先用GCD。2、NSOperation的核心子类有哪些?各自的使用场景?答案:系统提供三个核心子类,日常开发最常用前两个:(1)NSInvocationOperation:基于方法调用的任务类,通过指定对象和方法创建任务,适合执行单一、固定的方法任务,使用场景极少,兼容性老旧。(2)NSBlockOperation:基于代码块的任务类,使用灵活、语法简洁,是日常开发最常用的系统自带任务类,支持添加多个执行块,所有块执行完毕后任务才算完成。(3)自定义NSOperation子类:继承NSOperation,重写内部方法,封装复杂业务逻辑、网络请求、数据解析等通用任务,适合业务复杂、需要复用、需要精准控制任务状态的场景。3、NSOperation的任务状态有哪些?状态流转规则是什么?答案:NSOperation核心状态包含:就绪(isReady)、执行中(isExecuting)、完成(isFinished)、取消(isCancelled)。流转规则:(1)任务初始化后,默认处于就绪状态,满足队列执行条件后进入执行中状态;(2)任务正常执行完毕,状态变更为完成,队列会自动移除该任务;(3)任务执行前或执行中调用cancel方法,会标记为取消状态,不会继续执行后续逻辑,最终状态仍为完成;(4)存在任务依赖时,当前任务会等待所有依赖任务完成后,才会变为就绪状态,等待队列调度。二、核心原理与实操题1、NSOperation如何设置任务依赖?依赖的核心特点是什么?答案:通过addDependency:方法设置任务依赖,格式为【任务AaddDependency:任务B】,代表任务A需要等待任务B执行完成后,才能开始执行。核心特点:(1)依赖是单向的,不会互相影响,可设置多依赖,一个任务可依赖多个前置任务;(2)依赖仅控制任务执行顺序,不限制队列,不同队列的任务也可设置依赖;(3)已开始执行的任务,无法再添加依赖,修改依赖无效;(4)被取消的依赖任务,会直接判定为完成,不会阻塞当前任务执行。2、NSOperationQueue的maxConcurrentOperationCount属性作用是什么?取值不同代表什么?答案:该属性用于设置队列的最大并发任务数,控制队列同时执行的任务数量,是实现任务串行、并行的核心属性。取值规则:(1)默认值-1:代表无限制并发,队列会尽可能同时执行所有添加的任务;(2)取值1:队列为串行队列,所有任务按添加顺序依次执行,同一时间仅一个任务运行;(3)取值大于1:为自定义并发数,队列最多同时执行对应数量的任务,超出任务排队等待。3、自定义NSOperation子类的核心步骤是什么?为什么要重写main方法?答案:核心步骤:(1)创建继承自NSOperation的自定义类;(2)重写main方法,在方法内部编写核心业务逻辑;(3)如需精准管控状态,手动重写isExecuting、isFinished、isReady状态属性;(4)逻辑执行完毕后,标记任务完成,避免队列卡顿。重写main方法的原因:NSOperation作为抽象父类,本身没有实现具体的任务执行逻辑,main方法是系统预留的任务执行入口。队列调度任务时,会自动调用当前任务的main方法,执行业务逻辑。同时在main方法中可精准判断任务取消状态,提前终止无效任务,优化性能。三、进阶面试高频题1、NSOperation如何实现任务取消?取消任务的注意事项?答案:调用任务对象的cancel方法即可取消任务。注意事项:(1)cancel方法仅会标记任务为取消状态,不会强制终止正在执行的任务,需要开发者在main方法中主动判断isCancelled状态,手动终止逻辑;(2)任务已经执行完成后,调用cancel无任何效果;(3)批量取消队列任务可调用队列的cancelAllOperations方法,取消队列中所有未完成的任务;(4)取消任务后,必须保证任务最终进入finished状态,否则会造成队列阻塞、内存泄漏。2、简述NSOperation的线程安全问题及解决方案答案:NSOperation本身的状态属性(isExecuting、isFinished等)是线程安全的,系统内部做了加锁处理。但开发者自定义的任务属性、全局数据、共享资源存在线程安全问题,多个并发任务同时读写同一数据会造成数据错乱、崩溃。解决方案:(1)对共享资源的读写操作添加互斥锁、信号量,保证同一时间单一线程操作;(2)尽量让每个任务独立处理私有数据,减少全局共享数据读写;(3)任务状态变更、数据回调统一在主线程执行,避免子线程刷新UI。第二部分:平面设计竞赛试题及详细答案一、基础理论填空题(含答案)1、平面设计中最基础的三大构成是________、________、________。答案:平面构成、色彩构成、立体构成2、RGB色彩模式为________色彩模式,主要用于屏幕显示;CMYK色彩模式为________色彩模式,主要用于印刷输出。答案:加色、减色3、版式设计四大核心原则是对齐、重复、对比、________。答案:亲密性4、印刷设计中,出血尺寸常规设置为________mm,作用是避免裁切后出现白边。答案:35、字体设计中,________字体庄重规整、适合标题正文,________字体灵动飘逸、适合装饰性文字。答案:宋体/黑体、楷体/行书二、单项选择题(含答案+解析)1、以下哪种色彩搭配属于互补色搭配()A、红+橙B、蓝+橙C、蓝+紫D、绿+黄答案:B解析:色环中相距180°的颜色为互补色,蓝色与橙色互为互补色,对比强烈、视觉冲击力强,适合海报主视觉搭配。ACD选项均为邻近色,视觉过渡柔和。2、海报主视觉版式中,为突出核心主题文字,最合理的处理方式是()A、缩小主题字,放大辅助信息B、主题字加大、加粗,弱化次要文字C、所有文字统一大小样式D、主题字添加多层杂乱装饰效果答案:B解析:版式设计核心是层级分明,通过大小、粗细、色彩对比区分主次,突出核心信息。ACD做法会导致画面杂乱、重点缺失,不符合视觉传播逻辑。3、以下文件格式中,专属印刷输出的格式是()A、JPGB、PNGC、PDFD、GIF答案:C解析:PDF格式支持矢量图形、无损色彩、保留版式参数,是印刷行业标准输出格式。JPG有损压缩、PNG多用于透明素材、GIF为动态格式,均不适合高精度印刷。三、简答题(竞赛核心考点+详细答案)1、简述RGB与CMYK色彩模式的核心区别及适用场景详细答案:(1)成像原理不同:RGB是红、绿、蓝三原色光色混合,属于加色模式,颜色越叠加越亮,三色叠加为白色;CMYK是青、品、黄、黑四色油墨混合,属于减色模式,油墨叠加越多颜色越深,四色叠加为黑色。(2)色彩范围不同:RGB色域更广,色彩鲜艳饱满;CMYK色域有限,部分屏幕显示的亮色无法通过油墨印刷呈现。(3)适用场景不同:RGB用于电子屏幕展示,包括手机海报、网页设计、短视频封面、线上宣传图;CMYK用于实体印刷,包括宣传单、画册、海报、名片、包装等纸质物料。(4)输出要求:设计印刷物料必须提前将模式转为CMYK,避免屏幕显示色彩与印刷成品色差过大。2、平面海报设计中,如何通过版式设计提升画面高级感和可读性?详细答案:(1)规范视觉层级:明确主标题、副标题、正文、落款信息的层级关系,通过字体大小、粗细、色彩、间距区分主次,避免信息堆砌,让观众快速抓取核心内容。(2)严格遵循留白原则:合理预留画面空白区域,不填满所有空间,留白可以弱化杂乱感,提升画面通透感和高级感,同时引导视觉焦点。(3)统一设计规范:整套画面统一字体体系、色彩体系、线条样式,同一画面字体不超过2种,主色调不超过3种,避免元素风格混乱。(4)精准运用对齐规则:所有文字、图形元素遵循左对齐、居中对齐、基线对齐等统一规则,杜绝随意摆放,保证画面规整有序。(5)适度运用对比:通过明暗对比、大小对比、疏密对比突出核心视觉,同时避免过度装饰,减少多余特效,保持画面简洁干净。3、简述平面设计中“留白”的意义和使用技巧详细答案:留白并非空白浪费,而是平面设计的核心手法,是提升画面质感的关键。核心意义:一是突出视觉主体,通过空白区域衬托核心元素,聚焦观众视线;二是缓解视觉疲劳,密集的元素会造成视觉压抑,留白让画面通透舒适;三是提升作品格调,简约适度的留白是高级设计的核心特征。使用技巧:(1)主体元素四周预留充足空白,避免元素贴边、拥挤;(2)文字段落控制行间距、段间距,打造局部留白,提升文字可读性;(3)画面元素疏密结合,局部密集、整体疏松,形成视觉节奏;(4)极简风格作品加大留白占比,商业宣传作品适度留白,平衡信息密度与视觉质感。四、实操论述题(竞赛压轴题)题目:请结合设计原则,论述一张优秀商业宣传海报的完整设计思路与落地流程详细参考答案:一张合格的商业宣传海报,核心目标是精准传递信息、吸引受众关注、达成宣传效果,完整设计流程分为四个阶段:第一阶段:需求定位与风格敲定。首先明确海报用途、宣传主题、目标受众、投放场景(线上/线下印刷),确定核心宣传信息,筛选主风格(简约、国风、潮流、商务等),锁定主色调和字体风格,避免设计偏离需求。第二阶段:版式布局规划。根据主题确定视觉重心,规划主视觉区域、文字信息区域、装饰区域。遵循对齐、亲密性、对比原则,梳理信息层级,将核心主题放在视觉中心,次要辅助信息弱化处理,合理规划留白,保证画面规整有节奏。第三阶段:元素与色彩搭配。根据风格匹配素材、图形、纹理元素,保证元素风格统一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论