前言
关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎文末留言。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的朋友吧。
iOS面试题真题
美团外卖
- uni-app这个东西是啥,你觉着咋样?
- 从前台到后台的一次请求经历了哪些阶段?
- http/https的工作过程和区别、它们属于五层中的哪一层
- 三次握手的原理
- get/put/post/delete请求方式
- 项目里面你做了什么性能优化和启动改造
- 为什么WKWebview的性能比UIWebview的性能高
- runtime的消息转发机制
- runtime的具体用法
- KVC
- @synthesize和@dynamic分别有什么作用
- 36匹马,六个跑道。没有记时器等设备,用最少的比赛次数算出跑的最快的马
- setNeedsDisplay、setNeedsLayout、layoutIfNeed区别
- MGJRouter的作用
货拉拉
- 项目里面值得认可的部分、RN桥接的一些东西
- MVVM和MVC
- 调试奔溃的工具
- 做了什么操作让优化项目
- get和post、http协议、网络请求这块问得比较多
- 数据传输的格式json?xml?等等
- 后台返回的数据是多少K的,大文件传输怎么办
- 数据库的一些操作
- iOS存储方式
- TCP/IP协议
- ARC引用计数、内存管理几个区域
- OC的基础数据类型
- 说一说多线程、在项目中怎么用的
- 单例模式怎样设计的,有什么优缺点
- 观察者模式、KVO的原理
- 地图开发经验
- 写uni-app的架构、serveice层、小程序上线流程
- 为什么要写博客
- 以后的发展方向
全网精选 · iOS面试题答案.pdf文集
- 需要获取可加小编的iOS技术交流圈:937 194 184,直接获取;点击:立即加入
小米
- TCP和UDP,三次握手,追问改成两次会怎样,线程同步机制
- 斐波拉契数列
- 反转链表
- RN跟原生相比的优劣,组件生命周期,项目基于RN哪个版本开发,双端适配问题
- 平常如何学习,性能优化,项目难点在哪
- 事件传递机制和响应机制
- 什么时候view不会响应触摸事件,如何响应view以外的事件
- 自动释放池
- 内存管理机制
- weak关键词在什么情况下用,与assgin的区别
- weak底层原理
- 什么时候会报unrecognized selector异常,底层实现原理,消息发送
- runloop
- 使用过哪些三方库
- 问了些组件化的问题
滴滴
- 二叉树搜索的思路
- 反转链表
- 项目中遇到的重大问题、如何解决的、解决后心态的变化
- 组件化有用到哪些?说说你们后台分发的流程
- block的循环引用是怎么产生的?在内部会不会加上__strong?为什么
- block如何修改外部变量
- runtime消息转发流程和结构体
- GCD和NSOperation的利弊
- 说一下runloop
- 图片缓存的原理和图片移除的原理(主要考察最长时间算法)
- 你知道的数据持久化的方式
- 数据库用的哪些?FMDB、SQLite
- 在读写数据库的时候使用的是几个线程
- 说一下uni-app、这样设计架构的目的是什么
- 单例、代理、观察者你喜欢用哪个
- swift的struct和class的区别
- swift的option是怎么实现的
- 做了哪些性能优化和启动改造
- 怎么与前端进行通信的
快手
- weak的用途和原理。追问:key和value是怎样对应的?查找时怎样找到它清理的对象。
- uitableview是什么模式实现的?
- frame和bounds的区别
- kvo的使用和原理
- isa指针的说明
- base64/md5加密/aes/rsa+des加密,在什么情况下用到了md5加密
md5是一个非对称的校验算法。验证数据的真实性 - block的结构和它造成的循环引用
- 自动化打包
平台通过脚本控制 远程打包 节省人力物力,解决冲突,走测试
打包时间长怎么优化:bitcode是否开启 编译选项是否选上,模拟器环境去掉
编译过程缩短:可执行文件 .o .h ipa包打开会看见,链接网络环境。 - Autolayout,举了个栗子排布。uibutton宽度固定,uilabel怎么排
- 离屏渲染的原理和例子
- http传输的五层,一个浏览器向服务端发送url的过程。追问:解析ip地址的时候发生在哪一层。
- 三次握手的原理,tcp在哪一层?ip在哪一层
- 快速排序的复杂度、冒泡排序的复杂度
- 手写两个链表合并
- 手写字符串反转
趣拿
- HTTPS和HTTP的区别
- HTTPS传值过程
- runtime发送消息的流程。给nil对象发送消息会怎样?
- 根元类的isa指向,根元类的父类指向
用runtime做过什么事情 - Hook和aop
- load和initail的调用时机
- rn模块开发,反向传值是怎么传的
- 同时重写getter和setter方法会怎样?
- KVO的原理。追问:如果对这个类使用了KVC,再用反射方法去访问这个类,它返回的结果是什么?
- 静态库动态库
- 手写链表反转
- 怎么判断有环
- 二分查找
- 斐波拉契
- 快排
猿题库
- oc的动态运行时体现在什么方面
- runtime发送消息的流程,forwardTarget方法是做什么的?
- kvo的实现过程
- 要是让你设计一个通知模式,你会怎么做?怎么把方法传给外面要调用它的类?
- crash的捕获原理
- 两个透明的view都有button,view1放在view2上面,但是从界面看上去button像是放在一个view中。问此时点击两个button会发生什么事。
- NSTimer什么时候会出现循环引用?怎么解决
- RN的原理
- HTTPS和HTTP的区别、五层模型
- fps的检测
- cs的基础
- shell和ruby有写过脚本么
- 找出数组中比它左边都要大比它右边要小的数放入到新的数组
- wkwebview比uiwebview的区别
更多:iOS面试文集
此文:面试题收录来源