iOS 大厂面试题汇总

转载自: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、环形链表

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342