任成の博客

朝闻道,夕可眠矣

贝壳

一面

  1. 说一说项目中印象比较深的模块
  2. NSNotificationCenter实现原理
  3. view的渲染流程,view的异步绘制在哪一步
  4. 说一说NSTimer
  5. NSDictionary对key和value是强引用吗
  6. KVO原理
  7. 方法查找链
  8. NSArray和NSMutableArray的copy和mutableCopy
  9. 如何确定页面已经加载完可交互
  10. 内存泄漏如何检测
  11. 翻转链表一部分
  12. 链表有环的两种方式

二面

  1. KVO原理
  2. 设计一个本地图片云端的方案,有降级的可能
  3. runloop介绍
  4. AI的使用
  5. 动态加载动态库
  6. 鸿蒙挑战性
  7. 链表交换第k和倒数第k个节点,单链表、倒数第K个可能在第k个左边
  8. 小程序、rn和web各有什么优缺点,如果推广小程序使用

三面

  1. 离职原因
  2. 团队规模
  3. 主要职责

百度网盘

  1. 组件的解耦方式
  2. 说说启动优化和包大小优化
  3. universalLink有哪些问题
  4. 说说响应链
  5. runloop
  6. runtime和应用
  7. jscore通信使用三方的吗
  8. NSNotification是异步还是同步的?
  9. 设计一个线程安全的可变数组,会用那些锁?
  10. 判断两个模型是否相同,包括指针和值
  11. 内存泄漏一般出现在什么情况,如何解决和检测
  12. https建立连接的过程
  13. 数据库用的什么?多线程的问题怎么解决?
  14. 项目中用到了哪些设计模式
  15. 多个任务同步回调有哪些方案
  16. 两个栈实现一个队列

懂车帝

  1. 跨平台技术对比
  2. 架构做了哪些事情
  3. 如何设计启动任务管理
  4. 评估启动优化对业务的影响
  5. WebView优化怎么做
  6. 包大小做了哪些事情
  7. 竞品分析有什么效果
  8. https说一下
  9. Charles为何能抓包
  10. 网络指标有哪些
  11. runtime的方法查找和转发链,消息转发用过什么
  12. runtime用过什么
  13. runloop可以做什么
  14. kvo原理
  15. 如何优化图片加载
  16. 按空格翻转字符串

美团


title: 2024面试题整理
date: 2024-10-04 16:15:40
tags:
- iOS

贝壳

一面

  1. 说一说项目中印象比较深的模块
  2. NSNotificationCenter实现原理
  3. view的渲染流程,view的异步绘制在哪一步
  4. 说一说NSTimer
  5. NSDictionary对key和value是强引用吗
  6. KVO原理
  7. 方法查找链
  8. NSArray和NSMutableArray的copy和mutableCopy
  9. 如何确定页面已经加载完可交互
  10. 内存泄漏如何检测
  11. 翻转链表一部分
  12. 链表有环的两种方式

二面

  1. KVO原理
  2. 设计一个本地图片云端的方案,有降级的可能
  3. runloop介绍
  4. AI的使用
  5. 动态加载动态库
  6. 鸿蒙挑战性
  7. 链表交换第k和倒数第k个节点,单链表、倒数第K个可能在第k个左边
  8. 小程序、rn和web各有什么优缺点,如果推广小程序使用

三面

  1. 离职原因
  2. 团队规模
  3. 主要职责

百度网盘

  1. 组件的解耦方式
  2. 说说启动优化和包大小优化
  3. universalLink有哪些问题
  4. 说说响应链
  5. runloop
  6. runtime和应用
  7. jscore通信使用三方的吗
  8. NSNotification是异步还是同步的?
  9. 设计一个线程安全的可变数组,会用那些锁?
  10. 判断两个模型是否相同,包括指针和值
  11. 内存泄漏一般出现在什么情况,如何解决和检测
  12. https建立连接的过程
  13. 数据库用的什么?多线程的问题怎么解决?
  14. 项目中用到了哪些设计模式
  15. 多个任务同步回调有哪些方案
  16. 两个栈实现一个队列

懂车帝

  1. 跨平台技术对比
  2. 架构做了哪些事情
  3. 如何设计启动任务管理
  4. 评估启动优化对业务的影响
  5. WebView优化怎么做
  6. 包大小做了哪些事情
  7. 竞品分析有什么效果
  8. https说一下
  9. Charles为何能抓包
  10. 网络指标有哪些
  11. runtime的方法查找和转发链,消息转发用过什么
  12. runtime用过什么
  13. runloop可以做什么
  14. kvo原理
  15. 如何优化图片加载
  16. 按空格翻转字符串

美团

一面

  1. 找出上图的错误
    1. 为什么NSString用copy
    2. 怎么实现给button加block点击事件
  2. JSCore如何进行通信的,通信的原理,JSContext
  3. 如何按钮扩大点击事件范围
  4. 如何实现uilabe/自适应宽度
  5. 异步任务同步回调,有哪些方式
  6. WKWebView hook了哪个手势
  7. 搜索旋转数组

二面

  1. 说一下项目的包大小优化
    1. 有没有编译参数的优化
    2. 怎么防裂化
  2. 启动优化
    1. 任务关联依赖怎么做
  3. 删除链表的倒数第n个节点,返回头结点

头条-豆包

  1. 项目组件解耦怎么做的,怎么拆分的
  2. 启动优化都做了什么
  3. 算法
    1. 用两个栈实现线程安全的队列
  4. UI卡顿的真正原因
  5. 在浏览器输入地址,到展示出来页面的过程
  6. block捕获变量的几种形式,为什么要用_block
  7. 多个异步任务完成后统一回调
  8. 锁的类型,自旋锁
  9. weak变量的释放过程

去哪儿

一面

  1. 网络请求的指标
  2. 如何优化网络
  3. 如何做弱网优化
  4. http2 和 http3 区别
  5. 如何统计crash数量
  6. 开发栈有哪些

二面

  1. 离职原因
  2. 易车离职原因
  3. 做了哪些优化
    1. 启动
    2. 包体积
      1. 无用类怎么统计
  4. 网络指标是多少
  5. 小程序和h5有什么区别和优劣
  6. 小程序做了哪些优化
  7. 在易车最大的提升是什么

京东物流

一面

  1. 主要开发栈
  2. 介绍一下flutter
  3. 介绍一下最近的项目
  4. category 和 extension区别
  5. runtime的应用场景
  6. 属性关键字介绍
  7. nstimer解决循环引用,以及谁在真正引用当前self - runloop
  8. 多线程介绍,以及多读单写的方案,
  9. 设计模式在项目里的应用
  10. 开n方

二面

  1. 鸿蒙开发主要做了什么
  2. 鸿蒙APP保活
  3. 鸿蒙APP性能优化
  4. APP动态化做过哪些
  5. 本地化推荐算法
  6. 如何进行技术选型,flutter和h5怎么选,要做哪些比较
  7. 热修复怎么做的
  8. 强制升级有没有做
  9. 离职原因

三面

  1. 在易车做了什么
  2. 有哪些指标,对比过竞品吗
  3. 小程序做过哪些优化
  4. 鸿蒙是怎么做的,如何做动态的容器化东西
  5. 介绍下做过的性能优化

为优化全链路耗时,尽可能缩短建连时间,实践下H3.

阅读全文 »

苹果商店下载的安装包是加壳的,故需要脱壳后才可操作

阅读全文 »

官方文档介绍

自动释放池存储在池本身排出时发送发布消息的对象。

如果你使用自动引用计数(ARC),你不能直接使用自动释放池。相反,你可以使用@autoreleasepool块。

1
2
3
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Code benefitting from a local autorelease pool.
[pool release];

可以写成:

1
2
3
@autoreleasepool {
// Code benefitting from a local autorelease pool.
}
阅读全文 »

YYDiskCacheYYCache组件中负责磁盘缓存的。

涉及知识点:

  • 磁盘缓存策略的分流优化
  • KVStore非关系型数据存储
  • 线程同步锁(信号量)
阅读全文 »

YYMemoryCacheYYCache组件中负责内存缓存的。

涉及知识点:

  • 双向链表
  • 哈希表
  • LRU(算法实现是使用上面两种数据结构)
  • 线程同步锁
阅读全文 »

最近在使用xx流量的时候,发现流量不够用,所以写了一个脚本用来自动签到来获取流量

阅读全文 »

LLDB全称轻量级的高性能调试器(Low Level Debugger),默认内置于Xcode中。能够很好的运用它会使我们的开发效率事半功倍。

阅读全文 »

总结一下最近关于HTTP的理解

  • HTTP/1.1
  • HTTP/2
  • HTTP/3
阅读全文 »
0%