
面试
文章平均质量分 55
Geeks_Chen
一个记录学习和工作相关问题的平台
展开
-
【面试题】基础篇02
1.事件传递流程1.用户触摸屏幕,系统将事件加入到UIApplication管理的一个任务队列中2.UIApplication将处于任务队列最前端的事件向下分发到UIWindow3.UIWIndow将事件向下分发到UIView4.UIView先看自己是否能处理事件,如果他的触摸范围内,就继续寻找subView5.遍历子控件,看某个subView能处理事件6.如果都没有找到,那就是UIView来处理7.如果UIView也处理不了,就不做任何处理- (UIView *)hitTest:(CGPo原创 2021-01-07 10:26:51 · 182 阅读 · 0 评论 -
【面试题】基础篇01
1.atomatic nonatomic区别和理解他们都是用来修饰属性的,区别是在编译时,编译器生成的getter和setter一个是原子操作,一个是非原子操作。atomatic 提供多线程安全,耗性能nonatomatic 在无需考虑不多线程的情况,使用这个,这样会让编译器少生成一些互斥锁代码,提高效率。2.比较关键词 strong,weak,assign,copystrong : 表示指向并拥有该对象。其修饰的对象引用计数会增加1。该对象只要引用计数不为0就不会别销毁。we原创 2021-01-06 10:31:15 · 221 阅读 · 1 评论 -
【面试题】LLVM介绍
1.LLVM 介绍LLVM是模块化,可重用的编译器和工具链的集合2.LLVM架构3.LLVM与Clang关系LLVM的一个子项目,基于C/C++/Objective-C的前端4.LLVM操作查看编译的过程clang -ccc-print-phases main.m查看preprocessor(预处理)的结果clang -E main.m词法分析,生成Tokenclang -fmodules -E -Xclang -dump-tokens main.m语法分析,生成语法树(AST,原创 2020-11-26 15:50:35 · 1123 阅读 · 0 评论 -
【面试题】Mach-O文件介绍
1.什么是Mach-O文件Mach-O文件是Mach object文件的缩写,他是MacOS,iOS等操作系统中的可执行文件。常见的格式:目标文件:.o库文件:.a/.dylib/.framework可执行文件动态链接器 dyld2.Mach-O文件的结构Mach—O文件包含三大部分:Header,LoadComands,Data。Header:保存了该文件的基本信息,如平台,文件类型,加载命令的个数loadCommands:根据这里的数据来确定内存的分布Da原创 2020-11-26 15:50:03 · 368 阅读 · 0 评论 -
【面试题】程序在启动之前都做了什么?
当我们在Xcode编写完成Code,comand+R,稍等一会,模拟器出现了页面,一次成功的App启动。这个过程中,都做了什么呢?第一阶段:预处理(Preprocessing),编译器(Compiler),汇编器(Assembler),生成Mach-O文件第二阶段:读取Mach-O文件,加载dylb(Linker),初始化Runtime(Loader)第三阶段:调用main函数第四阶段:首屏渲染第一阶段分析:(main函数前1)预处理他会处理程序中的宏定义,依赖关系,和预处理器指.原创 2020-11-26 15:45:41 · 243 阅读 · 0 评论