iOS 面经涂鸦、网易、哈啰、阿里好几个BU等等。最后也是顺利拿
链接:https://www.jianshu.com/p/03d9f928b472
从2020年七月份开始面试,陆续接触了 涂鸦、网易、哈啰、阿里好几个BU等等。最后也是顺利拿到了offer。
面经要的朋友太多..被迫把这份经历写下来,如果能帮到同样是打工人的你,是我的荣幸。
ps: 因为时间太长了,而且我现场没有笔记,我只能把我印象比较深的问题做一个记录,然后很多重复的问题我就略过了。
涂鸦:
-
深浅copy的概念和在各个类中的用法和区别(NSString ,NSArray,NSMutableArray)。
-
如何判断一张图片在URL没改变的情况,图片资源发生了改变,说出方案。
-
平时在开发过程中A/B Test的使用与方案落地。
-
fastlane自带的aciton够用吗,有没有自定义过action(好像是这个,反正我只用过自带的功能T_T,在讲到自动化构建的时候问到,他们的构建系统看起来很复杂,有兴趣可以看看)。
-
说说蓝牙进行交互的过程。
-
印度2G,3G网络偏多,如何保证每次打开App,能够快速地建立请求并加载响应页面以及图片资源。(这种可以从多个方面作答:流量Protocol Buffer、DNS、缓存、网络协议,图片格式webp等等)。
-
http2.0和http1.1的区别,再说说http3.0。 (他们好像有在商用3.0...有可能记错...)。
网易:
*主Mach-0如何知道加载哪些动态库,说说App的启动流程。
-
聊一下自动释放池。
-
msgsend的流程,msgsend在寄存器中的运行过程
-
https的流程,Charles为什么可以抓https的包。
-
如何防止DNS污染/欺骗。
-
ip直连中使用https会遇到什么问题,如何解决。
-
说说无痕埋点的方案和埋点过程中获取上下文属性的方案。
-
看看你的contribution记录和文件作者.(黑人脸问号...他好像不相信我一个人维护整个项目...)
阿里BU.1:
-
动态库和静态库的区别,开发者用到的动态库和系统动态库的区别。
-
NSTImer准吗,不准用什么替代方案,GCD作为定时器真的准吗?
-
NStimer在本次因卡顿之后延迟执行,那么他的下一次执行是在本次loop,还是下一次loop(好像是这么问的,反正当时回答得云里雾里,关键看你runloop的掌握程度)。
-
商品cell停留的曝光时间埋点怎么统计,说说设计方案。
-
llvm相关的概念与代码质量检测方案。
-
GCD的block怎么取消执行,有什么坑。
-
autoreleasepool的实现方案。
-
二叉树层序遍历。
-
如何判断链表有环。
-
weak的实现原理。
阿里BU.2:
-
GCD和NSOperation的区别,分别的优缺点,为什么官方不推荐使用NSOperation (??这一点我存疑,暂时没看到过,当时也反驳了。
-
msgSend的经历了哪几个过程,快速转发和慢速转发有什么区别。
-
Mach-O 体积优化的方案。
-
RunLoop的几种模式,说说各种模式的区别和应用场景。
-
说说WebView页面打开速度的优化方案。
-
说说你目前网络的优化方案。
-
支付宝离线支付的交互流程。
-
OAuth授权机制的交互流程。
-
React-Native是如何进行线程管理的。
-
PNG,JPG 图片格式是如何进行压缩的,让你设计一个压缩算法,讲讲大致的思路。
-
YYCache的实现流程。
-
讲讲优化过的isa指针和没优化过得区别。
-
如何判断一个Tagged Pointer指针。
哈啰:
-
vc有个strong的NSString对象,对该对象赋值之后,引用关系和引用计数的情况.
-
说说OSSpinLock的实现原理与存在的问题,官方推荐了哪种锁进行替换。
-
说说dyld的rebase,rebind做了啥。
-
https的流程和证书设置,怎么设置,在哪里设置。证书里面验证点什么。
-
WKWebview的网络抓包。
-
卡顿监控一般怎么做,怎么防止卡顿的误报。
-
应用内h5的白屏监控。
-
做一个WebView容器,说说从哪些方面考虑(结合离线加载,预加载,白屏监控等等..)。
-
如何防止DNS污染/欺骗。
-
基于路由的组件化方案有什么值得注意的地方。
-
App启动优化的方案和ios13启动优化点(当时不确定,特意去看了下WWDC)。
-
说说你项目目前的架构设计。
稍微有点乱,有些太基础的题真的没印象了...感觉还有好多没记起来..回头记起来再接着补...
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:[891 488 181],不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!
申请即送:
-
BAT大厂面试题、独家面试工具包,
-
资料免费领取,包括 数据结构、底层进阶、图形视觉、音视频、架构设计、逆向安防、RxSwift、flutter,
文章到这里就结束了,你也可以私信我及时获取最新资料以及面试相关资料。如果你有什么意见和建议欢迎给我留言。
结语:
我觉得面试技巧确实是需要锻炼的,回顾最后几次的面试,自己真的有一种“突破”的感觉,这种状态很像咒术回战的里的领域展开(敌人在你的领域内逃不走,且你的技能能百分百hit到敌人)。
希望新的一年大家都能面上心仪的公司。
文章到这里就结束了,你也可以私信我及时获取最新资料以及面试相关资料。如果你有什么意见和建议欢迎给我留言。