面试题

79 阅读1分钟

数据结构

堆、栈、数组、链表

链表和数组优缺点

怎么判断有环?

快排算法

冒泡排序

响应链

Button的响应链和扩大点击范围

底层

KVO、kvc

runtime

方法调用

添加关联对象

如何提高性能呢?解决崩溃啥的?

多线程

线程组

线程资源保证安全

100个线程处理

单例安全嘛。

gcd和nsoperation 区别

线程如何控制并发数

线程如何保活

锁运用

runloop

自动释放池

autorelseasepool底层结构 自动释放池 什么时候释放

大量内存怎么办?

网络

tcp和udp

htpps

对称和非对称加密 优缺点 什么时候对称 什么时候用非对称

get方法

http怎么变成长连接? keep-alive

socket http https那个数据完整性高

socket

websocket 和socket区别 安全传输 加密

蓝牙

蓝牙如何传输数据

设计模式

打包原理

内存管理

strong 和copy

weak assign

nsstring *name = “111”;存放位置

5大区域?

copy和mutablecopy

block

解决循环引用

wkwebview

怎么返回

交互 传参数

性能优化

coreText texttrue 异步渲染

启动优化

检测工具 inst

OOM

动态库和静态库

动态和静态区别

直播

软编码和硬编码、播放器解码 渲染 切片

为什么苹果选择xxx编码 ,底层是ffpng嘛 我说 跨平台

开源框架

SD AF rac

支付宝恶意退单

设计模式

mvc mvvm

响应式编程

设计模式有哪些 运用

swift分类

snapkit 布局

flutter

jecks falst 脚本打包

单元测试

动画 pop lottie 更新

遇到项目难点 难忘的点