Men的博客

欢迎光临!

0%

UI相关

程序绘制流程

试图绘制为什么不立即执行

事件响应流程

UI卡顿原因

滑动优化方案

什么是离屏渲染,触发的条件是什么

UIView和CALayer关系

CALayer的mask作用

如何高性能给UIImageView加圆角

如何使用核心动画

如何增加view点击范围

hitTest:withEvent内部实现

程序的启动速度优化

drawRect和layouSubviews 的区别

setNeedsLayout与layoutIfNeeded的区别

UIResponder的理解和事件响应分析

loadView的作用

UITableView卡顿原因

UITableView优化

iOS 保持界面流畅的技巧

使用 drawRect有什么影响

tableViewCell的自适应如何实现,如何保证性能

转场动画相关操作

绘图相关知识(coreGraphics框架的使用)

view的生命周期

系统UIView更新机制的思想

drawRect常用作用

layoutSubView和drawRect的调用时机;

用UIView实现Scrollview。

轮播图的实现

-(CGSize)intrinsicContentSize:是干什么用的?

渲染UI为什么要在主线程?

如果有一个controller请求了网络数据,但数据还没返回之前就pop出去了,问,数据会怎么样?

scrollview与消息响应链冲突?

Core Graphics的更底层的是什么;

OC相关

分类可以添加哪些内容,为什么不能添加属性

类扩展和分类的区别

分类是如何实现的

分类重写了原类中同名方法会怎么样,为什么

如何给分类添加属性(关联对象)

什么是代理,和通知/BLOCK区别

什么是通知

KVO实现原理

KVC的实现原理

属性关键字

include与#import的区别、#import 与@class 的区别

解释 const, static, inline 关键字

OC 里怎么实现多继承

load方法实现原理与initialize区别

懒加载的使用

写一个单例

nil NIL NSNULL区别,id 和 instanceType 区别,self和super的区别,struct和class的区别

如何实现一个线程安全的 NSMutableArray?

JS 和 OC 互相调用的几种方式

数据持久性有哪几种

blcok,NSNotification,delegate,Observer比较

const extern static 用法区别

写一个宏定义函数,实现返回三个数中最大的

static和extern的访问范围,用extern的情况下什么时候程序会报错

inline知道吗?说说它的作用。inline在什么时候展开、编译还是运行?

OC里的基本数据类型如数组字典等的数据结构是怎样的;

sychronized实现原理

问NSTimer的底层实现原理

block中为什么要用Strong类型的引用来保持self;

问#ifdef __cplusplus extern “C “

说下ASCII和unicode的区别utf-8的优势

iOS launchwith options 返回no有什么作用;

Runtime

NSObject的数据结构

类对象和实例对象的isa指针的指向

为什么id类型可以指向OC中任意对象

为什么不能用isa判断一个类的继承关系

cache_t的数据结构、实现原理及扩容

cache_t 扩容

class_rw_t的数据结构,实现原理

哈希碰撞的解决方法

方法查找的过程

消息转发的流程

objc_msgSend

系统如何解决新增实例冲突

常用的runtime方法有哪些

runtime的具体应用有哪些,你在什么地方用到了

runtime 怎么添加属性,方法等

runtime 如何实现 weak 属性

runtime 如何通过selector 找到对应的 IMP 地址?(分别考虑类方法和实例方法)

runtime如何实现weak变量的自动置nil

map_images 函数Runtime 初始化操作

共用体方法查找

msgSend如何查找

msgSend参数都有哪些;

class方法相关

内存管理

内存中的5大区都是什么?

C++内存如何分布、堆和栈的区别

ARC实现机制,遵循哪些原则

NSObject内存分配、ISA指针的内存大小

Tagged Pointer、NONPOINTER_ISA实现机制和作用

异步多线程访问导致的内存问题分析及解决办法。(代码题)

SideTables数据结构及实现原理,为什么用多个SideTables

                       

Autoreleasepool的数据结构及实现原理,什么时候释放

AutoreleasePool 为何可以嵌套使用

子线程默认不会开启 Runloop,那出现 Autorelease 对象如何处理,在什么情况下子线程使用AutoreleasePool

dealloc调用流程

常见的循环引用,如何破除循环引用

__weak 修饰的变量在地址被释放后,为何被置为 nil?

深拷贝和浅拷贝区别

atomic是安全的吗

assign vs weak,_block vs _weak 区别

怎么检查内存泄露

图片加载占用内存对比

block一般用那个关键字修饰,为什么

写一个MRC的set方法

如何解决定时器循环引用

指针和引用的区别

内存泄漏的原因

什么是虚拟内存、共享内存、物理内存

举例一些I/O操作的例子

如何开辟一块内存;

什么时候深复制,什么时候浅复制;

怎么控制内存和优化内存;如果是你考虑怎么优化内存,从什么地方着手

问堆和栈的区别。

Block的创建,何时被释放。

@dynamic的应用场景?

问题:@property (copy) NSMutableArray *array;

Block

Block为什么用copy

Block如何截获不同变量,代码分析

Block本质数据结构

栈上的Block经过copy操作后发生哪些变化

block循环引用

__block原理

__strong原理

RunLoop

RunLoop概念及数据结构、事件循环机制

CFRunLoopMode、CFRunLoopTimer、CFRunLoopObserver作用

RunLoop和NStimer

RunLoop和多线程

如何实现一个常驻线程

利用 runloop 解释一下页面的渲染的过程

你在开发过程中怎么使用RunLoop?什么应用场景?

多线程

进程与线程、并行 和 并发 区别

GCD、NSOperation、NSThread区别优缺点

performSelector:withObject:afterDelay:为什么在子线程无效

如何让多个网络请求完成后执行下一步

多个网络请求顺序执行后执行下一步

异步操作两组数据时, 执行完第一组之后, 才能执行第二组

你知道哪些锁、使用场景

自旋和互斥对比

CommonMode的特性

runloop与autoreleasepool的关系

GCD 在Runloop中的使用

GCD Global队列创建线程进行耗时操作的风险

CADispalyTimer和Timer哪个更精确

怎样保证子线程数据回来更新UI的时候不打断用户的滑动操作

分析线程同步串行、同步并行、异步串行、异步并行问题

GCD执行原理、问题分析

dispatch_once如何实现一次性代码

NSOperation数据结构

重写NSOperation需要注意的点

进程中的哪些空间是线程所共有的?

使用GCD需要注意什么;

runloop跟runtime有没有关联

CPU和GPU怎么相互合作的

网络

HTTP请求方式有哪些

HTTP特点

HTTP三次握手,为什么需要三次

HTTP四次挥手,为什么需要四次

为什么“握手”是三次,“挥手”却要四次?

为什么客户端在TIME-WAIT阶段要等2MSL

HTTPS TLS/SSL加密过程

HTTPS过程

为什么一定要用三个随机数,来生成”会话密钥

中间人攻击(charles抓包原理)

UDP协议及特点、

TCP特点

TCP特点及与UDP区别

DNS解析流程

DNS劫持

HTTP劫持

Cookie机制及作用

Session机制及作用

Cookie与Session的区别

如何保证cookie的安全

HTTP请求头都有哪些内容

哪些加密算法

TCP和UDP各自使用场景

http为什么底层是tcp不是udp ?

socket异常断开时,设计一个合理的重连机制。

有了mac地址为什么要有ip地址

断点续传怎么实现;

大型文件怎么下载并保存到本地;

xml和json的区别

加密解密的技术讲解。

reachability如何检测到网络状态变化?

IP 地址用 int 保存和读取转化

设计模式

设计原则

iOS有哪些常见的设计模式?

单例优缺点

内存设计、磁盘设计、网络设计原则

MVP、MVVM模式思想

ReactNative的数据流思想

AsyncDisplayKit

AFNetworking 底层原理分析

SDWebImage加载图片过程,图片缓存设计

YYKit

组建化优缺点

复杂页面架构

为什么要做组件化

你认为组件化的一些收益

redux 单向数据流是怎么产生的 描述下

Charts框架底层实现;

画出项目的结构图。

yyModel的逻辑

解耦的方式

项目中用的技术以及实现;

就是项目中遇到的问题以及解决方式;

缓存机制是怎么清除数据的?

如何进行安全测试;

涂鸦怎么实现;

实现一个项目的设计方案,比如数据库的设计,字段的设计,接口的设计;

说下生产者-消费者模型,其中的同步机制是怎么样的

开发日常

APP启动时间应从哪些方面优化?

如何降低APP包的大小

如何检测离屏渲染与优化

怎么检测图层混合

UILabel图层混合

日常如何检查内存泄露?

LLDB常用的调试命令?

iOS 常见的崩溃类型有哪些?

iOS App 稳定性指标及监测

cocoapods 常见问题

iOS的签名机制是怎么样的

instruments它为什么能检测内存泄漏

推送的原理

项目上线被拒原因

项目中遇到的问题,项目的框架搭建,模块分布,设计类图,开发,自测,上线

iPhone自带的AssistiveTouch你如何实现

有了解过代码如何编译的嘛

编译好的目标文件有data 和text段他们两者有啥区别

appstore上架流程

一个APP如何检测手机中另一个APP的存在?解释原理?例如QQ;

针对线上版本的崩溃处理;

Xcode构建过程;

js和Oc交互以及区别;

pod install和pod update有什么区别?