2019年iOS面试总结

最近换工作,面试了好几家公司,终于拿到了满意的offer,可惜进不了大厂,还需继续努力。通过这次面试发现了太多的不足,基础知识不够扎实,只知道用,不知其原理,所以面试的时候都没怎么发挥好。以后将重新学习iOS知识,建立自己的知识体系,提升自己的iOS技术,通过简书来多总结自己的知识点,跟大家一起交流。并搭建了自己的个人博客 http://www.gzcopyright.cn/ 。先来总结下这次面试中被问到的知识点,答案以后再慢慢补充。

项目相关

1.你觉得自己做的最满意的APP是哪一个,亮点在哪里。

2.你在项目中担任的角色是什么。

3.一个新的APP从0到1是怎么架构的,为什么要这样做,说下MVC与MVVM。

4.如果让你封装一个网络框架,你会怎么封装,要考虑哪些方面。

5.怎么重构一个项目。

6.对APP做过哪些性能优化,怎么优化安装包的大小。

7.什么是冷启动,什么是热启动。

8.开发的时候碰到过什么问题让你印象最深刻,你是怎么解决的,是怎么想到这解决文案的。

9.APP比较耗电是由于哪些因素引起的,怎么进行优化。

10.对小组成员是怎么分工的,怎么能保证分配的任务在规定时间内完成。

11.你是通过什么方式管理小组成员的,怎么挖掘他们的优点。

12.如果小组成员的技术比你好,然后又不太好管理,你该怎么做。

13.你自己做过什么好玩的APP。

14.怎么收集crash信息,哪些情况会出现crash,怎么减少程序的崩溃率。

15.出现卡顿怎么优化,有没有做过卡顿监听。

16.APP中有没有进行日志收集。是怎么进行收集的,收集后通过什么规则来传送的。

17.APP中有很多操作点击后需要判断是否登录,你是怎么做的,有没有什么更好的方案。

18.有没有做过组件化,实现组件化有哪些方式。

19.做了这么久多年的开发,ios有哪些变化

20.RN/weex/小程序这些有什么区别。

21.有没有学过flutter。他与RN又有什么区别,你怎么看待RN与flutter,如果让你选择其中一个进行开发,你会怎么去选择。

22.你当时为什么选腾讯云的直播SDK,有没有对比过其它厂家的,主要是通过哪方面进行对比。

23.你会那么多语言,你是怎么学习的,你觉得你的学习方法可以吗。

24.做直播的时候你碰到过哪些问题,是怎么解决的。有没有深入了解过推流、拉流、编码、解码。码率是什么。

25.IM实现原理,用的是什么通信协议,如果让你自己实现即时聊天,你会怎么做。

26.用过哪些开源框架,除了这些很常用的,还用过哪些。

27.看过哪些开源代码,分别讲下核心思想,SDWebImage框架实现原理是怎么样的,本地缓存的图片到期后是怎么自动清除的。

28.用过哪些设计模式,画一个工厂模式的UML图。

29.一个西瓜,只用3刀怎么切成8块。

基础知识

1.如果让自己实现一个weak怎么实现

2.说下深拷贝浅拷贝

3.NSString定义的属性为什么要使用copy。

OC跟C语言是什么区别,说下你对面向对象与面向过程的理解

4.C语言是一门动态的函数式语言,你觉得这话正确吗

5.OC可以实现多继承吗。

6.KVC与KVO用的多吗,实现原理是怎样的。

7.Block实现原理。

8.delegate实现原理。

9.runloop实现原理,runloop能解决哪些问题。

10.分类有哪些用途,跟继承有什么区别。分类实现原理。如果方法名相同,会调用哪个方法。

11.说一下你对CALayer的认识,他与UIView有什么区别。

12.讲一下事件响应的过程,重点描述下事件响应链。事件响应传递的顺序。怎么扩大一个按钮的点击范围。

13.self与super的区别

14.怎么在block中修改一个变量的值,为什么要这么做。

15.UIWebView怎么跟原生进行交互,cookie怎么缓存,碰到过什么难点

16.WKWebView碰到过哪些坑,怎么解决的,有没有用过JS注入。

17.UIWebView与OC进行交互是同步还是异步的。

18.通知和代理有什么区别。

19.用通知要注意什么。

20.block与delegate的区别。

21.APP中常用的数据存储方式有哪些。

22.数据库存储文案你用的是fmdb还coredata。有没有看过FMDB的源码,是怎么进行多线程操作的。

23.你是怎么设计表的。设计表的三范式是什么。

24.runtime实现原理,你有没有看过runtime的源码。

25.你用runtime实现过哪些功能。

26.什么是元类。

27.oc中调用方式是怎么实现的,消息转发机制是怎样的流程。

数据结构与算法

1.数据结构的存储一般常用的有几种?各有什么特点?

2.怎么往链表的第N个结点添加一条数据。

3.数组与链表的区别。

4.什么是堆,什么是栈,什么是队列。

5.分别讲下时间复杂度和空间复杂度。

6.常用的排序算法有哪些,你用过哪些算法。

7.给定一个整数数组和一个目标值,找出数组中和为目标值的两个数

8.怎么快速写入一个100M的文件。

9.怎么查找两个子视图的共同父视图

多线程

1.ios中多线程实现方式有哪些,各有什么优点和缺点,你用哪个用的多。

2.ios中怎么做线程同步。

3.分别讲一下进程与线线程。

使用多线程有什么优点和缺点。

4.为什么只能在主线程中更新UI。

5.多线程的并发与并行有什么区别,并发你用在哪些场景。

6.GCD中的信号量有没有用过,用在哪些场景。

7.产生死锁的必要条件。

8.怎么实现线程常驻。

9.如何实现一个线程安全的 NSMutableArray。

10.什么是自旋锁,什么是互斥锁。

11.使用多线程要注意哪些。

12.runloop与多线程的关系。

13.runloop实现原理及应用场景。

内存管理

1.iOS的内存管理方式

2.ARC与java中的垃圾回收有什么区别

3.怎么避免循环引用

4.retain与release的实现机制

5.说一下iOS中的自动释放池,自动释放池实现原理。

6.runloop中有用到自动释放池吗。

7.ARC在运行时和编译时分别做了什么

8.什么是野指针。

9.你是怎么进行内存优化的。在 Obj-C 中,如何检测内存泄漏?你知道哪些方式?

10.autoReleasePool 什么时候释放?

11.内存中的5大区分别是什么。

网络

1.从发送一个请求,到响应,中途经历了什么,是怎么完成一个网络请求流程的。

2.简述 SSL 加密的过程用了哪些加密方法,为何这么作?

3.讲一下三次握手与4次挥手,为什么握手是3次,挥手是4次。

4.网络7层协议是哪几层,每一次的用途。

5.get与post的区别,put与post的区别

6.TCP和UDP的区别

7.有没有用过socket,说下实现原理。

8.DNS是什么,DNS解析过程是怎么样的。

9.你用什么工具进行抓包,原理是什么,如果让你自己写个抓包工具怎么做。

10.怎么对网络数据进行缓存

11.AFNetworking 底层原理分析

12.实际开发项目中,经常用到的网络请求有哪些呢?

13.发起网络请求后,怎么取消。如果没请求完就退出界面,要怎么处理。

14.http与https的区别,为什么https更安全

15.详细描述一下你对ipv4与ipv6的理解

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