2020 iOS 面经

作者: 重案组之虎曹达华_ | 来源:发表于2021-01-26 10:57 被阅读0次

从2020年七月份开始面试,陆续接触了 涂鸦、网易、哈啰、阿里好几个BU等等。最后也是顺利拿到了offer。

面经要的朋友太多..被迫把这份经历写下来,如果能帮到同样是打工人的你,是我的荣幸。

ps: 因为时间太长了,而且我现场没有笔记,我只能把我印象比较深的问题做一个记录,然后很多重复的问题我就略过了。

涂鸦:

  1. 深浅copy的概念和在各个类中的用法和区别(NSString ,NSArray,NSMutableArray)。

  2. 如何判断一张图片在URL没改变的情况,图片资源发生了改变,说出方案。

  3. 平时在开发过程中A/B Test的使用与方案落地。

  4. fastlane自带的aciton够用吗,有没有自定义过action(好像是这个,反正我只用过自带的功能T_T,在讲到自动化构建的时候问到,他们的构建系统看起来很复杂,有兴趣可以看看)。

  5. 说说蓝牙进行交互的过程。

  6. 印度2G,3G网络偏多,如何保证每次打开App,能够快速地建立请求并加载响应页面以及图片资源。(这种可以从多个方面作答:流量Protocol Buffer、DNS、缓存、网络协议,图片格式webp等等)。

  7. http2.0和http1.1的区别,再说说http3.0。 (他们好像有在商用3.0...有可能记错...)。

网易:

  1. 主Mach-0如何知道加载哪些动态库,说说App的启动流程。

  2. 聊一下自动释放池。

  3. msgsend的流程,msgsend在寄存器中的运行过程

  4. https的流程,Charles为什么可以抓https的包。

  5. 如何防止DNS污染/欺骗。

  6. ip直连中使用https会遇到什么问题,如何解决。

  7. 说说无痕埋点的方案和埋点过程中获取上下文属性的方案。

  8. 看看你的contribution记录和文件作者.(黑人脸问号...他好像不相信我一个人维护整个项目...)

阿里BU.1:

  1. 动态库和静态库的区别,开发者用到的动态库和系统动态库的区别。

  2. NSTImer准吗,不准用什么替代方案,GCD作为定时器真的准吗?

  3. NStimer在本次因卡顿之后延迟执行,那么他的下一次执行是在本次loop,还是下一次loop(好像是这么问的,反正当时回答得云里雾里,关键看你runloop的掌握程度)。

  4. 商品cell停留的曝光时间埋点怎么统计,说说设计方案。

  5. llvm相关的概念与代码质量检测方案。

  6. GCD的block怎么取消执行,有什么坑。

  7. autoreleasepool的实现方案。

  8. 二叉树层序遍历。

  9. 如何判断链表有环。

  10. weak的实现原理。

阿里BU.2:

  1. GCD和NSOperation的区别,分别的优缺点,为什么官方不推荐使用NSOperation (??这一点我存疑,暂时没看到过,当时也反驳了。

  2. msgSend的经历了哪几个过程,快速转发和慢速转发有什么区别。

  3. Mach-O 体积优化的方案。

  4. RunLoop的几种模式,说说各种模式的区别和应用场景。

  5. 说说WebView页面打开速度的优化方案。

  6. 说说你目前网络的优化方案。

  7. 支付宝离线支付的交互流程。

  8. OAuth授权机制的交互流程。

  9. React-Native是如何进行线程管理的。

  10. PNG,JPG 图片格式是如何进行压缩的,让你设计一个压缩算法,讲讲大致的思路。

  11. YYCache的实现流程。

  12. 讲讲优化过的isa指针和没优化过得区别。

  13. 如何判断一个Tagged Pointer指针。

哈啰:

  1. vc有个strong的NSString对象,对该对象赋值之后,引用关系和引用计数的情况.

  2. 说说OSSpinLock的实现原理与存在的问题,官方推荐了哪种锁进行替换。

  3. 说说dyld的rebase,rebind做了啥。

  4. https的流程和证书设置,怎么设置,在哪里设置。证书里面验证点什么。

  5. WKWebview的网络抓包。

  6. 卡顿监控一般怎么做,怎么防止卡顿的误报。

  7. 应用内h5的白屏监控。

  8. 做一个WebView容器,说说从哪些方面考虑(结合离线加载,预加载,白屏监控等等..)。

  9. 如何防止DNS污染/欺骗。

  10. 基于路由的组件化方案有什么值得注意的地方。

  11. App启动优化的方案和ios13启动优化点(当时不确定,特意去看了下WWDC)。

  12. 说说你项目目前的架构设计。

稍微有点乱,有些太基础的题真的没印象了...感觉还有好多没记起来..回头记起来再接着补...

结语:

我觉得面试技巧确实是需要锻炼的,回顾最后几次的面试,自己真的有一种“突破”的感觉,这种状态很像咒术回战的里的领域展开(敌人在你的领域内逃不走,且你的技能能百分百hit到敌人)。

希望新的一年大家都能面上心仪的公司。

相关文章

  • 2020 iOS 面经

    从2020年七月份开始面试,陆续接触了 涂鸦、网易、哈啰、阿里好几个BU等等。最后也是顺利拿到了offer。 面经...

  • iOS面经

    1.HTTP和HTTPS HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SS...

  • iOS面经

    高频问题:OOM: 监控可以用didReceiveMemoryWarning 也可以类似flex ,通过mallo...

  • 快手iOS面经

    原文作者:zhangferry 背景 过完年来北京之后,有准备看看机会,也是想了解下市场行情。简历没有投太多,只定...

  • 快手iOS面经

    原文作者:zhangferry[https://juejin.im/post/684490410527031297...

  • Android 2020 面经

    持续更新~~~ 公司一 内存泄漏 retrofit原理 okhttp原理 线程池 lrucahce 大图片处理 M...

  • 某某宝iOS面经

    1.首先是自我介绍,但还没介绍完他就开始提问了。2.然后谈项目,找几个点切入深究,会涉及到Apple的东西。主要是...

  • iOS基础通用面经

    通用必备基础知识 抛开iOS 开发这一项技能,我们最基础的本质还是一名软件开发工程师,所以基础的部分必不可少,本篇...

  • 2020顺F面经

    1、线程池的设计里体现了什么设计模式享元模式2、说说你了解什么设计模式,知道责任链设计模式吗面向对象七大原则:单一...

  • KS面试题答案-iOS

    题目引自 zhangferry — 快手iOS面经,此处根据自己理解做出解答记录 一面 1. 用递归写一个算法,计...

网友评论

    本文标题:2020 iOS 面经

    本文链接:https://www.haomeiwen.com/subject/lchgzktx.html