面试问题总结

1.常用第三库(原理及优缺)

AF

GPUImage

SDWebimage缓存实现原理?缓存内存结构数据结构?缓存数据变化处理?常用类

路由实现

2.网络相关

AFNetworking常用类?原理及问题?

http请求方法get与post区别 http头部信息

https原理及加密算法

https s对通道加密?ssl层

对称加密与非对区别 hash实现

常用的网络协议有哪些?

tcp网络协议设计,如何缓解阻塞  握手三次为什么 四次区别

socket网络编程 

图片上传逻辑 断点续传 分片上传 断点下载原理?

3.设计模式

常用设计模式?

工厂模式?

kvo实现原理是什么?

4.iOS系统运行机制?

runloop 事件机制

主线程runloop频率

runtime 消息机制

5.iOS系统内核?

6.多线程

gcd与nsoperation优缺点及如何选用?

automic nslock 递归锁 原理及区别

gcd死锁

并行队列死锁

程序立马死锁实现

7.内存

类结构 

对象实例包括 isa其他什么

深浅拷贝数组实现

避免block循环引用的方法有哪些? 

__weak不用 解决循环引用 delegete赋值时!!!

mrc arc assign区别

mrc autorelease实现原理

触发autoreleasepool的source autoreleasepool的创建压栈

8.数据结构

数据结构的实现与设计原理

单链表实现一个倒数n节点查询

字典实现原理 黑盒子数据结构 数组与链表

9.算法

检测单链表循环

数组交集算法

算法复杂度

找出数组中首次出现的元素 经典算法题!!!

scrollview 实现的page连续一个方向滑动(头尾重复避免闪屏)

scrollview 自定义collectionview通过两个view实现整屏幕无限重用滑动(cell重用原理实现)

10.界面开发

CALayer,CoreGraphics使用?UIBezierPath

GPU相关  gpu渲染 离屏渲染好处

预绘制 drawlayer drawrect区别

 

view与layer的区别和联系

11.消息推送机制

原理

devicetoken改变?

12.app打包及性能优化 

证书原理  provisioning profile文件包括什么 

证书中的公钥怎样验证代码和资源

ipa包 内容及优化

线上crash监测

fps优化table 重用

僵尸对象原理及使用

13.混合开发

oc与swift互相调用?

oc与js互调

rn weex前端

14.数据持久化

沙盒文件结构

FMDB存在的问题?SQLite与coredata的本质区别(原理)?数据库表的设计?

蛋幕数据库结构 表里面存对象 链表查询 core data sqlite存取区别

15.职业规划

学习方式,关注技术?

关注开源项目 框架

16.其他

+init方法区别

setName实现

后台一直运行实现

 

原文地址:https://www.cnblogs.com/goahead-yingjun/p/6759741.html