iOS面试知识宝典无水印版.pdf(含oc和swift知识)

所需积分/C币:23 2017-12-21 14:31:36 4.44MB PDF

iOS面试知识宝典无水印版.pdf(含oc和swift知识),比较基础
Plist. o UsorDcfault .NSCoder 数据车储 oco e Data o Key chain ORU?LDDD ● GDASYnuSocket socket o 网络交写 OasihttpRequEst ONSTream NSURLConnection oAFNetwor<ing e NSURLSceeor oJavascrptcore framework rjpt交互 shoulstartLoadw ith Request&iframe WEbVieN Javascr ipt B:id g3 多线程 8 THread seperation 多江宽 Multitasking 音频、音效及音频处球 觊物 多煤体一 相积相册 流 MVC iC9高级 厂模式 HTP验江 81 Http paSic Http Digest 安全机制 - Hash RSA 数括加 AES O3DES/DES O App Thinning autocode 时装动态库ryih 打包与封装SDK 司装静恋芦 ⊙ aurclavout 装 framework 时液 bund e sILtItE 上则表达式 PREdicate 夏级控伏化、目 开发看%号中请 发布应用、内购、广告 Game certer&社 icloud, Map ki: 推积 5分享吐会化登陆 ARC及内存分析工具 克付 可时通讯 C Reac 品门技术 H .OCR 人脸识别 类库 emdb oSWTableviewCell o CocoaAsyncBacket OJSONMode .MMD-awer controll 热门二方库 Quiek Dielo QKeyboaMdManager O UITable View-FDTeTplE. ELayuutcell oRESIdeMenu alcatraz WVDocLmen er-Xood KsimageNamed-xeode Titbit UIKit Foundation ::: Gamekit Audic Toolbox Core ext 系甕框梨鲁 o Core Graphics oCoreAnimation C oHomeKit 杂七杂八框架◎ o Healt .C++ 游戏开发 第3页 (2)版本控制 面试过程中,可能会问及一些关于版本控制的问题,理解下SVN和(it的原理、记住常用命 令即可。 SVN SVN是集中式源代码管理工具 概念 1> Repository代码仓库,保存代码的仓库 2> Server 服务器,保存所有版本的代码仓库 3> Client 客户端,只保存当前用户的代码仓厍 4>用户名&密码访问代码仓库需要使用自己的"用户名和密码",从而可以区分出不同 的人对代码做的修改 操作 1> checkout 将服务器上最新的代码仓库下载到本地,"只需要做一次 2> update 从服务器上将其他人所做的修改下载到本地,"每天上班必须要做的 事情 3> commit 将工作提交到服务器,"每天下班之前至少做一次 ·SVN服务器安装(略) SVN常用命令 切换工作目录 scd工作目录 checkout服务器上的代码仓库 ssvncohttp://xxx/svn/xxxx--username=manager--password=manager 提示: checkout(co)之后,命令行会记录用户名和密码,后续操作不用再另行指定 查看本地代码库状态 s svn st 错误提示:" is not a working copy",必须在svn的工作目录下才能正确使用svn的 命令 查看swn日志 s svn log 查看某一个文件的日志 s svn log filename 查看某一个文件某个版本的日志 s svn log filename@1 创建文件 s touch main. c 打开并编写文件内容 s open main.c 第4页 查看工作目录状态 s svn st 将文件添加到本地版本库中 s svn add main. c/main. 将文件提交到服务器的版本库中 s svn ci-m"备注信息" 注意:一定要养成写注释的良好习惯 删除文件 s svn rm Person. h 提交删除 s svn ci-m"删除了文件" 注意:不要使用文件管理器直接删除文件 撤销修改 s svn revert Person. m 恢复到之前的某个版本 s svn update -r 5 冲突解决 p)postpone 对比 (mc)mine-conflict 使用我的 (tc) theirs-conf1ict使用对方的 syn st显示的文件状态 没有修改 A′被添加到本地代码仓库 C′冲突 D′被删除 I’被忽略 M′被修改 被替换 x′外部定义创建的版本目录 ?′文件没有被添加到本地版本库内 !′文件丢失或者不完整(不是通过svn命令删除的文件) 受控文件被其他文件阻隔 第5页 Git git是一款开源的分布式版本控制上具 s git help 查看git所有命令的帮助 s git help子命令 要退出帮助信息,按"q 翻看下页,按"空格" 翻看上页,按"cTRL+B" 要搜索相关文字,按"/"然后输入"相关文字" 创建代码仓库 s git init 配置用户名和邮箱 s git config user name manager sgitconfiguser.emailmanager@gmail.com 以上两个命令会将用户信息保存在当前代码仓库中 如果要一次性配置完成可以使用一下命令 s git config --global user name manager sgitconfigglobaluser.emailmanagergmail.com 以上两个命令会将用户信息保存在用户目录下的. gitconfig文件中 查看当前所有配置 s git config -1 创建代码,开始开发 s touch main. c s open main. c 将代码添加到代码库 查看当前代码库状态 s git status 将文件添加到代码库 s git add main. c 将修改提交到代码库 s git commit-m"添加了main,c" 在此一定要使用-m参数指定修改的备注信息 否则会进入vim编辑器,如果对vim不熟悉,会是很糟糕的事情 将当前文件夹下的所有新建或修改的文件一次性添加到代码库 s git add 添加多个文件 s touch Person.h Person. m 第6页 s git add s git commit-m"添加了 Person类 s open Person.h s git add s git commit-m"增加 Person类属性 注意使用git时,每一次修改都需要添加再提交,这一点是与sVn不一样的 查看所有版本库日志 s git log 查看指定文件的版本库日志 sgit1og文件名 回到当前版本,放弃所有没有提交的修改 s git reset -hard HEAD 回到上一个版本 s git reset --hard HEAD 回到之前第3个修订版本 s git reset --hard HEAD-3 回到指定版本号的版本 s git reset -hard e695b67 查看分支引用记录 s git relog 为什么要用源代码管理工具 能追踪一个项目从诞生一直到定案的过程 ·记录一个项目的所有内容变化 方便地査阅特定版本的修订情况 最常用的版本控制工具是什么,能大概讲讲原理么? 最常用的版本控制工具有 SourceTree(GT)和 Corner Stone(SVN) 原理提到svn是集中式代码管理,解释下具体意思,git也这样回答就行了。 集中式代码管理(SVN)的核心是服务器,所有开发者在开始新一天的工作之前必须 从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器 上。如果脱离了服务器,开发者基本上可以说是无法工作的。 分布式的版本控制系统,在(it中并不存在主库这样的概念,每一份出的库都可以独 立使用,任何两个库之间的不一致之处都可以进行合并。 第7页 (3)UNX常用命令 做开发说用不到命令行,那肯定是不可能的。所以记住几个常用的命令还是很有用。 1.cd改变工作目录 2.pwd输出当前工作目录的绝对路径 在UNⅠX中要执行什么命令,一定要知道自己当前所在的工作日录 3.ls查看文件 $ls显示文件 $ls-a显示所有文件 $ls-1列表显示文件 $ls-la列表显示所有文件 4. touch用于更改文件访问和修改时间的标准UNIX程序,也被用于创建新文件 S touch test. txt 注意: touch不修改 test. txt内容,只更改它的访问、修改时间,如果test.xt不存在,它会被创 建 1.cat连续查看文件内容 2.more分贞查看文件内容 提 1>命令和参数之间需要添加空格 2>如果要使用当前目录中的文件名,输入到一半时,按TAB键能够补个 第8页 (4)c语 C语言,开发的基础功底,iOS很多高级应用都要和C语言打交道,所以,C语言在OS开发中 的重要性,你懂的。里面的一些问题可能并不是C语言问题,但是属于计算机的一些原理性 的知识点,所以我就不再另外写篇文章了,直接写在这里。 当你写下面的代码时会发生什么事? least MIN(*p++, b) 结果是:(p++)<=(b)?(p++):(*p+))这个表达式会产生副作 用,指针p会作三次+自增操作。 用预处理指令# define声明一个常数,用以表明1年中有多少秒(忽略 闰年问题) define SECONDS PER yEAR(606024*365)UL(U无符号长整形) 写一个"标准"宏MN,这个宏输入两个参数并返回较小的一个。 define MIN(A, B)((A) (B)?(A):(B)) 写一个标准宏Max,并给出以下代码的输出 int array[5]={1,2,3,4,5} nt *p &array[o] int max Max(*p++, 1)i printf( dd", max, *p) 参考答案:1,2 #define Max(X, Y)((X)>()?(X):(Y)) 当看到宏时,就会想到宏定义所带来的副作用。对于++、一,在宏当中使用是最容易产生副 作用的,因此要慎用。 分析 p指针指向了数组 array的首地址,也就是第一个元素对应的地址,其值为1 宏定义时一定要注意每个地方要加上圆括号 p+相当于*p,p++,所以Max(*p++,1)相当于 p++)>(1)?(*p++):(1 )>(1)?(*p++):(1) 第一个*p++的结果是,p所指向的值变成了2,但是1>1为值,所以最终max的值就是1。 而后面的(*p++)也就不会执行,因此p所指向的地址对应的值就是2,而不是3 扩展:如果上面的*p+改成*(++p)如何? 第9贡 (*++p)>(1)?(*++p):(1) (2)>(1)?(*++p):(1) max 十十 p=3,max=3; define定义的宏和 const定义的常量有什么区别? λ# define定义宏的指令,程序在预处理阶段将用# define所定义的内容只是进行了 替换。因此程序运行时,常量表中并没有用# define所定义的宏,系统并不为它分配内 存,而且在编译时不会检查数据类型,出错的概率要大一些。 λ const定义的常量,在程序运行时是存放在常量表中,系统会为它分配内存,而且在 编译时会进行类型检查。 # define定义表达式时要注意〃边缘效应〃,例如如下定义 # define n2+3//我们预想的N值是5,我们这样使用N inta=N/2;//我们预想的a的值是2.5,可实际上a的值是3.5 关键字 volatille有什么含意?并给出三个不同的例子 优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使 用保存在寄存器里的备份。下面是vo1 tile变量的几个例子 并行设备的硬件寄存器(如:状态寄存器) 个中断服务子程序中会访问到的非自动变量(Non- automatic variables) 多线程应用中被几个任务共享的变量 完成字符串拷贝可以使用 sprint、 strcpy、以及 memcpy函数,请 问这些函数有什么区别?你喜欢哪一个?为什么? 这些函数的区别在于实现功能以及操作对象不同。 strcpy:函数操作的对象是字符串,完成从源字符韦到目的字符串的拷贝功能。 sprintf:这个函数主要用来实现(字符串或基本数据类型)向字符串的转换功能。如 果源对象是字符串,并且指定各s格式符,也可实现字符串拷贝功能 mercy:函数顾名思义就是内存拷贝,实现将一个内存块的内容复制到另一个内存块这 功能。内存块由其首地址以及长度确定。因此, memcpy的操作对象适用于任意数据类 型,只要能给出对象的起始地址和内存长度信息、并且对象具有可操作性即可。鉴于 neincpy 函数等长拷贝的特点以及数据类型代表的物理意义, nencpy函数通常限于同种类型数据或 对象之间的拷贝,其中当然也包括字符串拷贝以及基本数据类型的拷贝。 第10页

...展开详情
试读 127P iOS面试知识宝典无水印版.pdf(含oc和swift知识)

评论 下载该资源后可以进行评论 3

力乐天 iOS经典面试题
2019-09-10
回复
qingyiquan 准备找工作用的,希望能有好offer,老天保佑
2019-04-12
回复
SpurYang 骗人的!~~~~
2018-12-24
回复
都说是基础知识了。。。看看就好,你想怎样,直接帮你面试上?
img

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    iOS面试知识宝典无水印版.pdf(含oc和swift知识) 23积分/C币 立即下载
    1/127
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第1页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第2页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第3页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第4页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第5页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第6页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第7页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第8页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第9页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第10页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第11页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第12页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第13页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第14页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第15页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第16页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第17页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第18页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第19页
    iOS面试知识宝典无水印版.pdf(含oc和swift知识)第20页

    试读已结束,剩余107页未读...

    23积分/C币 立即下载 >