2024面试题整理
贝壳
一面
- 说一说项目中印象比较深的模块
- NSNotificationCenter实现原理
- view的渲染流程,view的异步绘制在哪一步
- 说一说NSTimer
- NSDictionary对key和value是强引用吗
- KVO原理
- 方法查找链
- NSArray和NSMutableArray的copy和mutableCopy
- 如何确定页面已经加载完可交互
- 内存泄漏如何检测
- 翻转链表一部分
- 链表有环的两种方式
二面
- KVO原理
- 设计一个本地图片云端的方案,有降级的可能
- runloop介绍
- AI的使用
- 动态加载动态库
- 鸿蒙挑战性
- 链表交换第k和倒数第k个节点,单链表、倒数第K个可能在第k个左边
- 小程序、rn和web各有什么优缺点,如果推广小程序使用
三面
- 离职原因
- 团队规模
- 主要职责
百度网盘
- 组件的解耦方式
- 说说启动优化和包大小优化
- universalLink有哪些问题
- 说说响应链
- runloop
- runtime和应用
- jscore通信使用三方的吗
- NSNotification是异步还是同步的?
- 设计一个线程安全的可变数组,会用那些锁?
- 判断两个模型是否相同,包括指针和值
- 内存泄漏一般出现在什么情况,如何解决和检测
- https建立连接的过程
- 数据库用的什么?多线程的问题怎么解决?
- 项目中用到了哪些设计模式
- 多个任务同步回调有哪些方案
- 两个栈实现一个队列
懂车帝
- 跨平台技术对比
- 架构做了哪些事情
- 如何设计启动任务管理
- 评估启动优化对业务的影响
- WebView优化怎么做
- 包大小做了哪些事情
- 竞品分析有什么效果
- https说一下
- Charles为何能抓包
- 网络指标有哪些
- runtime的方法查找和转发链,消息转发用过什么
- runtime用过什么
- runloop可以做什么
- kvo原理
- 如何优化图片加载
- 按空格翻转字符串
美团
title: 2024面试题整理
date: 2024-10-04 16:15:40
tags:
- iOS
贝壳
一面
- 说一说项目中印象比较深的模块
- NSNotificationCenter实现原理
- view的渲染流程,view的异步绘制在哪一步
- 说一说NSTimer
- NSDictionary对key和value是强引用吗
- KVO原理
- 方法查找链
- NSArray和NSMutableArray的copy和mutableCopy
- 如何确定页面已经加载完可交互
- 内存泄漏如何检测
- 翻转链表一部分
- 链表有环的两种方式
二面
- KVO原理
- 设计一个本地图片云端的方案,有降级的可能
- runloop介绍
- AI的使用
- 动态加载动态库
- 鸿蒙挑战性
- 链表交换第k和倒数第k个节点,单链表、倒数第K个可能在第k个左边
- 小程序、rn和web各有什么优缺点,如果推广小程序使用
三面
- 离职原因
- 团队规模
- 主要职责
百度网盘
- 组件的解耦方式
- 说说启动优化和包大小优化
- universalLink有哪些问题
- 说说响应链
- runloop
- runtime和应用
- jscore通信使用三方的吗
- NSNotification是异步还是同步的?
- 设计一个线程安全的可变数组,会用那些锁?
- 判断两个模型是否相同,包括指针和值
- 内存泄漏一般出现在什么情况,如何解决和检测
- https建立连接的过程
- 数据库用的什么?多线程的问题怎么解决?
- 项目中用到了哪些设计模式
- 多个任务同步回调有哪些方案
- 两个栈实现一个队列
懂车帝
- 跨平台技术对比
- 架构做了哪些事情
- 如何设计启动任务管理
- 评估启动优化对业务的影响
- WebView优化怎么做
- 包大小做了哪些事情
- 竞品分析有什么效果
- https说一下
- Charles为何能抓包
- 网络指标有哪些
- runtime的方法查找和转发链,消息转发用过什么
- runtime用过什么
- runloop可以做什么
- kvo原理
- 如何优化图片加载
- 按空格翻转字符串
美团
一面
- 找出上图的错误
- 为什么NSString用copy
- 怎么实现给button加block点击事件
- JSCore如何进行通信的,通信的原理,JSContext
- 如何按钮扩大点击事件范围
- 如何实现uilabe/自适应宽度
- 异步任务同步回调,有哪些方式
- WKWebView hook了哪个手势
- 搜索旋转数组
二面
- 说一下项目的包大小优化
- 有没有编译参数的优化
- 怎么防裂化
- 启动优化
- 任务关联依赖怎么做
- 删除链表的倒数第n个节点,返回头结点
头条-豆包
- 项目组件解耦怎么做的,怎么拆分的
- 启动优化都做了什么
- 算法
- 用两个栈实现线程安全的队列
- UI卡顿的真正原因
- 在浏览器输入地址,到展示出来页面的过程
- block捕获变量的几种形式,为什么要用_block
- 多个异步任务完成后统一回调
- 锁的类型,自旋锁
- weak变量的释放过程
去哪儿
一面
- 网络请求的指标
- 如何优化网络
- 如何做弱网优化
- http2 和 http3 区别
- 如何统计crash数量
- 开发栈有哪些
二面
- 离职原因
- 易车离职原因
- 做了哪些优化
- 启动
- 包体积
- 无用类怎么统计
- 网络指标是多少
- 小程序和h5有什么区别和优劣
- 小程序做了哪些优化
- 在易车最大的提升是什么
京东物流
一面
- 主要开发栈
- 介绍一下flutter
- 介绍一下最近的项目
- category 和 extension区别
- runtime的应用场景
- 属性关键字介绍
- nstimer解决循环引用,以及谁在真正引用当前self - runloop
- 多线程介绍,以及多读单写的方案,
- 设计模式在项目里的应用
- 开n方
二面
- 鸿蒙开发主要做了什么
- 鸿蒙APP保活
- 鸿蒙APP性能优化
- APP动态化做过哪些
- 本地化推荐算法
- 如何进行技术选型,flutter和h5怎么选,要做哪些比较
- 热修复怎么做的
- 强制升级有没有做
- 离职原因
三面
- 在易车做了什么
- 有哪些指标,对比过竞品吗
- 小程序做过哪些优化
- 鸿蒙是怎么做的,如何做动态的容器化东西
- 介绍下做过的性能优化