转载自:https://cloud.tencent.com/developer/article/2006176
Okcoin
1、项目中比较熟悉的问题
2、App如何减size,如何优化,资源如何减小
3、DNS解析
4、网络四层模型
5、KVO的原理,为什么要在子类重写setter方法而不在自身
6、图片渲染流程
7、runtime消息转发的过程,动态解析和消息转发的阶段
8、class类的结构体
9、class_rw_t与class_ro_t有啥区别
10、如果runtime调用的是父类的方法会按照什么顺序
11、求两条链表相交的第一个节点
12、runloop是用来做什么的
13、GCD和NSOperation本质的区别是什么
14、信号量、如果有两组任务执行,需要先执行某两组,再执行另外两组,有多少种方式?
15、redux的工作流程
16、__block最后变成了什么,block有几种类型
17、weak指针的实现原理
18、自动释放池的结构
19、 基础修饰符,aotomic和noatomic的区别
20、给锁排一下序
21、子线程要是不开启runloop,它会运行在什么位置
22、HTTP2.0和HTTP1.x的区别
23、copy和strong的区别
24、组件化
25、wkwebview与原生交互
26、sdK开发
27、通知的实现原理
28、block如何解决循环引用
天眼查
1、项目介绍,优化方面、RN
2、runloop卡顿监测
3、kvc的调用顺序和原理
4、kvo的原理、手动实现kvo。如果用setvalue实现可以吗
5、touch事件的分发、查找的过程、如果要求touch子视图扩展点击范围应该怎么做
6、isa指针
7、block有几种类型,分别在什么情况下表示
8、字符串的压缩算法
9、https和http的区别
10、https的加密过程,https在传输过程属于什么加密
11、多线程、信号量
12、oc2mango热发的原理
13、OC组件化、RN组件化
14、oc对象结构体
老虎国际
1、项目做了什么事情
2、消息转发的原理,runtime做了什么事情
3、AOP切片
4、用Instrument做了什么事情,插
5、对缺页异常做了什么优化,如何查看编译过后的方法顺序
6、什么情况下会产生离屏渲染
7、runloop怎样做性能检测的
8、runloop和多线程有什么关系
9、子线程如何保活,主线程有runloop?主线程有runloop?
10、AFNWorking中3.0为什么取消了runloop的时间监测
11、SDWebImage的实现
12、n个阶梯,只能爬1级或2级,有多少种方法
13、bridge通信的一个过程、RN的通信过程
14、简单工厂和抽象工厂有什么区别
15、单例模式?单例模式重写的allocwithzoom的zoom指的是什么
16、dispatch_once的源码有了解过吗
17、isa指针有什么了解
18、数据持久化用的是什么
19、http请求的缓存字段有了解吗
20、组件化url scheme的方式和其他组件化方式的优缺点
21、分类的源码有看过?既然是逆序的方式,要如何调用前面编译的方法使其不被覆盖?
22、MVVM模式的优缺点
23、如何使用RAC以及它的利弊
24、CPU和GPU的区别,图片渲染做过吗
分贝通
1、用过什么组件化,url-router的方式暴露出的方法,参数是用什么类型来传递的
2、项目里面的流程说具体点
3、MVVM和MVC的选择基于什么考虑,项目中的用途,画出MVVM的调用关系
4、RAC的具体用法
5、NSArray和NSSet的区别,如果一万个数里面取某个数字用那种方法好,NSSet取值的key是多少
6、内存管理这块了解吗
7、block声明为什么要用copy?__block是什么,它捕获的是什么变量?为什么加了__block就能改变捕获变量的值?
8、如果有两个任务需要先执行,再执行别的任务,你会怎么解决?具体的参数是什么?
9、启动优化和卡顿监测、tableview的优化
10、屏幕成像的原理
11、离屏渲染是什么?有没有什么情况下离屏渲染是有作用的
12、用Instrument做了什么?监控内存具体怎么做的,怎么查看缺页异常?
13、runtime在项目里怎么用的,如果调一个类的类方法没有实现,但是实现了这个类的同名实例方法,会发生什么事情。
14、类对象的isa指针最终指向的位置以及父类最终指向的位置
15、最近看的书讲的什么内容
16、如果你来公司能为公司带来什么
字节
1、RN和原生的分工RN与原生的交互、接口的设计
2、项目的整体架构
3、原生与RN通信的接口是如何维护的,RN和原生通信,会遇见iOS和安卓不一致的问题,有什么办法保持一致
4、RN的基本原理,刚才说的dom映射做了哪些优化来保证页面更新不卡顿
5、你们项目的RN引擎是单实例还是多实例
6、介绍一下redux的整个概念
7、你还记得有哪些计算状态的函数(combine,provide)
8、为什么选择redux,有接触过其他的管理状态,mobix有接触过吗
9、性能工具,主要是做了哪些呢?(此处说了交换方法,卡顿监测)
10、卡顿监测通过什么做的
11、图片渲染和显示原理
12、安装包瘦身
13、除了APPCode,还能用哪种方式检测无用代码
14、说一下APP启动的流程(动态库,计算rebase偏移地址,分类,初始化)
15、直播、介绍一下直播的流程,从视频录制到另一台手机看见的流程
16、判断链表是否有环
17、iOS中数组的多读单写
18、iOS如何做hook
19、Uni-app介绍了一下
20、MVVM的持有关系
小米
1、 TCP和UDP,三次握手,追问改成两次会怎样,线程同步机制
2、 斐波拉契数列
3、反转链表
4、RN跟原生相比的优劣,组件生命周期,项目基于RN哪个版本开发,双端适配问题
5、平常如何学习,性能优化,项目难点在哪
6、 事件传递机制和响应机制
7、 什么时候view不会响应触摸事件,如何响应view以外的事件
8、 自动释放池
9、 内存管理机制
10、 weak关键词在什么情况下用,与assgin的区别
11、 weak底层原理
12、什么时候会报unrecognized selector异常,底层实现原理,消息发送
13、 runloop
14、 使用过哪些三方库
15、问了些组件化的问题
美团外卖商家端
1、uni-app这个东西是做什么的,在你看来有哪些利弊
2、 从前台到后台的一次请求经历了哪些阶段?
3、 http/https的工作过程和区别、它们属于五层中的哪一层
4、 三次握手的原理
5、get/put/post/delete请求方式
6、 项目里面你做了什么性能优化和启动改造
7、 为什么WKWebview的性能比UIWebview的性能高
8、 runtime的消息转发机制
9、 runtime的具体用法
10、 KVC
11、 @synthesize和@dynamic分别有什么作用
12、36匹马,六个跑道。没有记时器等设备,用最少的比赛次数算出跑的最快的马
13、setNeedsDisplay、setNeedsLayout、layoutIfNeed区别
14、MGJRouter的作用
货拉拉
1、项目里面值得认可的部分、RN桥接的一些东西
2、 MVVM和MVC
3、 调试奔溃的工具
4、 做了什么操作让优化项目
5、get和post、http协议、网络请求这块问得比较多
6、 数据传输的格式json?xml?等等
7、 后台返回的数据是多少K的,大文件传输怎么办
8、数据库的一些操作
9、iOS存储方式
10、TCP/IP协议
11、ARC引用计数、内存管理几个区域
12、OC的基础数据类型
13、说一说多线程、在项目中怎么用的
14、单例模式怎样设计的,有什么优缺点
15、观察者模式、KVO的原理
16、地图开发经验
17、写uni-app的架构、serveice层、小程序上线流程
19、为什么要写博客
20、 以后的发展方向
滴滴
1、 二叉树搜索的思路
2、 反转链表
3、 项目中遇到的重大问题、如何解决的、解决后心态的变化
4、组件化有用到哪些?说说你们后台分发的流程
5、 block的循环引用是怎么产生的?在内部会不会加上__strong?为什么
6、block如何修改外部变量
7、 runtime消息转发流程和结构体
8、 GCD和NSOperation的利弊
9、 说一下runloop
10、 图片缓存的原理和图片移除的原理(主要考察最长时间算法)
11、 你知道的数据持久化的方式
12、 数据库用的哪些?FMDB、SQLite
13、在读写数据库的时候使用的是几个线程
14、 说一下uni-app、这样设计架构的目的是什么
15、单例、代理、观察者你喜欢用哪个
16、swift的struct和class的区别
17、swift的option是怎么实现的
18、做了哪些性能优化和启动改造
19、 怎么与前端进行通信的
快手用户增长
1、 weak的用途和原理。追问:key和value是怎样对应的?查找时怎样找到它清理的对象。
2、 uitableview是什么模式实现的?
3、 frame和bounds的区别
4、 kvo的使用和原理
5、isa指针的说明6、 base64/md5加密/aes/rsa+des加密,在什么情况下用到了md5加密
6、block的结构和它造成的循环引用
7、自动化打包
平台通过脚本控制 远程打包 节省人力物力,解决冲突,走测试
8、打包时间长怎么优化
9、编译过程缩短
10、 Autolayout,举了个栗子排布。uibutton宽度固定,uilabel怎么排
11、离屏渲染的原理和例子
12、http传输的五层,一个浏览器向服务端发送url的过程。追问:解析ip地址的时候发生在哪一层。
13、 三次握手的原理,tcp在哪一层?ip在哪一层
14、 快速排序的复杂度、冒泡排序的复杂度
15、手写两个链表合并
16手写字符串反转
趣拿
1、HTTPS和HTTP的区别
2、 HTTPS传值过程
3、 runtime发送消息的流程。给nil对象发送消息会怎样?
4、 根元类的isa指向,根元类的父类指向
5、 用runtime做过什么事情
6、 Hook和aop
7、 load和initail的调用时机
8、rn模块开发,反向传值是怎么传的
9、 同时重写getter和setter方法会怎样?
10、 KVO的原理。追问:如果对这个类使用了KVC,再用反射方法去访问这个类,它返回的结果是什么?
11、静态库动态库
12、手写链表反转
13、 怎么判断有环
14、二分查找
15、斐波拉契
16、快排
猿题库
1、oc的动态运行时体现在什么方面
2、runtime发送消息的流程,forwardTarget方法是做什么的?
3、kvo的实现过程
4、要是让你设计一个通知模式,你会怎么做?怎么把方法传给外面要调用它的类?
4、crash的捕获原理
5、两个透明的view都有button,view1放在view2上面,但是从界面看上去button像是放在一个view中。问此时点击两个button会发生什么事。
6、NSTimer什么时候会出现循环引用?怎么解决
7、RN的原理
8、HTTPS和HTTP的区别、五层模型
9、fps的检测
10、cs的基础
11、shell和ruby有写过脚本么
12、找出数组中比它左边都要大比它右边要小的数放入到新的数组
13、wkwebview与uiwebview的区别
智慧丘比特
1、 categroy的工作原理和需要注意的事项?
2、只能添加方法不能添加成员变量
3、分类中的@property, 只会生成setter/getter方法的声明, 不会生成实现以及私有的成员变量
4、添加的方法是如何存放的?
5、KVO的实现原理?
6、kVO在内存中是如何管理的?
7、内存管理方面的理解? arc是如何实现的
8、自动释放池是如何管理内存的? 你现在的代码还能看到autoreleasepool么
9、sdwebimage 给一个图片到屏幕展示,是如何工作的
10、为什么使用sdweimage的过程中,不卡
11、给你一个url,到服务器返回一个json数据的过程
12、并发返回了多个数据,如何拿到的数据是按顺序的?
13、合并两个有序数组
14、买卖股票的最佳时机
15、app的启动流程
新势力
1、 项目中印象深刻比较难的?
2、 swift和OC有什么区别
3、 多线程的应用场景
4、两个异步任务如何去做同步? gcd和nsoperation如何实现
5、 做过什么性能优化的东西
美团
1、特别想介绍的项目
2、 热修复的原理?
3、运行时的介绍? 消息转发的流程
4、 OC中相关动态的方法?
5、运行时解决过什么问题
6、 kvo的实现过程? 主要解决什么问题呢?
7、 self和super的区别
8、组件化如何通讯
9、tcp udp http
10、做过什么网络优化的操作么?
11、你的日志是如何设计的
12、有什么指标相关的么
13、环形链表