自我介绍在「照着读」。这里被追问时用。用自己的话说,别背。黄标填真实数字。

1

自我介绍被要求「再详细一点」时补的

▼

我十六岁自己做了个 App 上架,兴趣把我带进来的。2017 年在帮帮体育从零做彩票,世界杯那个月出了三千万票,后来带 iOS 组。

中间两年半外包,带五个人,崩溃从百分之一点五压到零点三。京东待过一年,金融那个版本和对外的支付 SDK 是我做过的。

2022 在飞项转的 Flutter。后来游戏 SDK、安克耳机,现在 KAI 做组长。带过三次组。

2

KAI 交易所(现公司,问最深)

▼

一句话

东南亚加密交易 App,Flutter 双端,8 语言。我定架构,主导行情和交易,做签名、Passkey。团队 N 人。

追问

架构怎么分层?

界面、逻辑、仓储、数据源。行情、交易、资产分开,只准往下依赖。登录拦在路由上,签名和刷 token 放网络拦截器。

状态管理?

KAI 用 Riverpod,行情太碎。soundcore 才是 GetX,一个人赶工。

行情不卡?

讲照着读难点 A,别再背一遍术语。

签名?私钥?

参数排好,加上时间戳。钥匙放系统钥匙串。token 过期只刷一次。

合约?

我没写合约。客户端调接口,链上确认了页面再变。只是外围就老实说。

8 语言?

官方翻译文件。长句子包一下,别撑破。

回归两天到两小时?

登录到下单这条主路径自动跑,接到 CI。以前人点两天,现在机器跑两小时。

组长干啥?

大部分时间写核心。剩下拆任务、看代码、跟对面聊。

为什么走?

业务方向 / 想待久一点。不说远程、不说公司差、不说钱。

合规?

面向海外,国内不运营。我做客户端。一句带过。

3

MPChat 加密社交 IM

▼

一句话

加密社交 IM,主体 iOS。我做通信链路,钱包用独立 Flutter Engine 嵌进去,私钥放 Keychain。

追问

为啥独立引擎?

讲照着读难点 B。引擎提前热,栈原生说了算,私钥只放钥匙串。

坑?

引擎吃内存。不预热就白屏。两套返回手势要交给原生。

双 IM?

上面套一层自己的接口,底下两套各写一份,换工厂就行。

已读离线?

服务端给序号。上线把缺的拉回来。对不上听服务端。

列表卡吗?

布局放到后台算,高度先算好。

和 Bitbase 重叠?

同集团另一条线 / 项目合作。跟 HR 说一样的话。

4

soundcore 蓝牙耳机 App

▼

一句话

安克耳机 App,Flutter 双端,一个人做到上架。GetX 重构,打通蓝牙和 OTA,国密和音频加解密,AI 音频我做接入。

追问

蓝牙库?坑?

flutter_blue_plus / 自研 Channel。坑最多的是安卓 12 权限,还有各家蓝牙脾气不一样。

OTA?

拆包写,写上了记位置,断了接着传。写完重启核对版本。

国密?

换证书 SM2,传数据 SM4。音频走原生库,别一次读进内存。

为什么 GetX?

就我一个人,求快。Controller 跟页走,走了就放掉。

启动快三成?

启动别扫蓝牙。进设备页再扫。前后用 timeline 对比 X 到 Y。

语音增强是你做的?

算法是算法组的,我接到耳机上。

为什么 5 个月?

项目做完上架,后面节奏慢了,正好有带团队的机会。不说被裁。

5

游戏 SDK 双端负责人

▼

一句话

游戏公司双端 SDK 负责人,给 Unity、Cocos 接登录支付广告。接入时间短四成,打包返工降一半。

追问

SDK 怎么给 Unity、Cocos 接?

Unity 用 C# 和原生桥接,iOS 是 extern C 加 UnitySendMessage,安卓走 JNI;Cocos 用 JSB 或 Lua binding。统一 JSON 协议,回调异步,配 Demo 工程和接入文档。

iOS 内购怎么防丢单?

监听 StoreKit 交易队列,服务端验收据,本地有未完成交易启动时补单,处理沙盒和正式环境切换。

隐私合规做了什么?

隐私弹窗前不采集,SDK 延迟初始化,安卓合规检测,iOS ATT 和隐私清单,第三方 SDK 版本清单。

自动化打包工具?

fastlane 加 Gradle 脚本,渠道参数化、签名管理、产物上传、通知。一次配置多渠道出包,人为失误少了,返工率降一半。

日活涨了 8 到 10% 怎么归因到 SDK?

诚实说是登录支付成功率提升和运营活动共同作用,数据来自运营后台前后对比。SDK 侧能直接看的是登录成功率、支付成功率、崩溃率。

6

飞项 Flutter + iOS 混编

▼

一句话

飞项是 一句话说清产品。iOS 老工程迁 Flutter,三个大版本按时上,组件复用 30% 到 50%,列表 35 帧到 58。

追问

35 到 58 帧怎么做的?

当时看是 build 太重。格子拆开,图按显示大小解,解析别放 build 里。前后对着帧率看的。

混编怎么管页面栈和通信?

flutter_boost / 自研 管混合栈,MethodChannel 传登录态和主题,共享 token。坑是多引擎内存、返回手势、状态栏样式。

复用率怎么算?

新需求页面里直接复用公共组件的占比。说清口径就行。

为什么从 iOS 转 Flutter?

团队要双端一套代码,我带着 iOS 底子转。最大收益是对渲染、约束、平台通道理解快,混合开发两边都能顶。之后就以 Flutter 为主。

7

京东及更早的 iOS 经历

▼

30 秒带过

京东一年:金融 3.6.0、聚合支付 SDK。鲸升两年半带 5 人,崩溃 1.5% 到 0.3%。帮帮从零做彩票 App,世界杯月出票 3000 万。

追问

京东的组件化怎么做?

业务组件独立 pod,JDRouter 用 URL 路由加协议注册解耦,ibiu 管组件创建、依赖、发布、打包,JS Bridge 做原生和 H5 交互,消息中心按后台下发 ID 用 runtime 动态跳转。

Timer 切 common mode 那个问题?

主线程滑动时 RunLoop 进入 UITrackingRunLoopMode,默认 mode 的 Timer 不触发,加到 CommonModes 就好。可以顺带讲 RunLoop。

崩溃率 1.5 到 0.3 怎么做?

Crashlytics 聚类 top crash,内存泄漏是 block 循环引用和通知没移除,用 Instruments 和 MLeaksFinder 查;多线程竞争加串行队列;野指针用 Zombie。启动 300 毫秒靠精简 load 方法、合并动态库、首屏懒加载。

马甲包规避下架,你怎么看?

当年彩票业务的历史做法,是公司决策,我负责技术实现。现在更强调合规优先。别夸这段。

带团队的经验?

三次组长。做任务拆分、工期评估、Code Review、新人培养,两年带出能独立负责模块的初级工程师。用 PMP 方法把进度偏差控制在 5% 内。

8

行为面试「举个例子」

▼
最有挑战的技术问题KAI 行情卡顿,照着读难点 A。帧率 X 到 Y。
性能优化飞项列表拆 Widget、图片缓存、分页、解析出 build。35 到 58 帧。
提效KAI E2E 自动化接 CI。回归 2 天到 2 小时。
推动新事物把自动化回归接进 CI,新人按模板加页。回归两天到两小时。
独立闭环soundcore 一个人双端从需求到上架。启动加三成,20 多机型。
稳定性鲸升 Crashlytics 聚类修泄漏和多线程。崩溃率 1.5 到 0.3。
高压交付北汽交付期多次通宵解决甲方问题;京东云 SDK 周末响应客户。验收合格,领导公开表扬。
从零到一帮帮体育首款产品独立做完上架,再组建团队。月出票 3000 万,体育 Top100。
架构决策MPChat 钱包独立 Engine 嵌原生。钱包双端复用。
失败和教训准备一个真实的:比如合并冲掉同事依赖导致构建红,或上线后崩溃回升。说根因、当场处理、之后加了什么流程。
和产品后端的冲突例:接口字段分歧或需求临时变。数据说话、给方案 B、明确风险归属。
带人帮帮两年带出能独立负责模块的新人;KAI 用 Skill 库让新人半天上手。结对加文档加小任务快速反馈。
9

HR 问题

▼

最难的一题:为什么最近换得频繁

前面写 iOS 的时候,每段大概两年,还算稳。转 Flutter 之后,混编、硬件、交易所带团队这几块我想都摸一遍。安克是项目做完就结束了。现在想找个能待三五年的。

不说前公司差、不说被裁、不说钱、不说远程。两边说法要一样。

其它

为什么离开 Bitbase?

上面那段,加一条具体的 真实原因。带团队的经验会带到下一家。

期望薪资?

目前 XK,期望 25 到 30,看职责。带小组或核心模块 owner 希望在上限。不先报下限。

简历写想远程?

那是个人网站接项目的说明,这次是深圳全职优先。建议直接从简历删掉。

iOS 还是 Flutter?

Flutter 为主,iOS 是底子。选 Flutter 是双端效率,iOS 底子让我在混合开发、性能、原生桥接上更有优势。

学历?

如实:兴华是 专科 / 自考,16 岁入行是兴趣先行;深大视觉传达是在职本科,做客户端要和 UI 打交道,想补审美。主动说能力看作品,个人网站和博客都有。

29 岁 9 年经验?

16 岁上架第一个 App 是兴趣项目,全职从 2017 年算。

三到五年规划?

技术上做 Flutter 架构和性能专家,继续把 AI 工程化用在团队效率上。愿意带 5 到 10 人,但不脱离一线。

为什么选我们?

面试前查公司产品、Flutter 使用情况、团队规模,说一两个和经历对得上的点。

能加班吗?到岗时间?

关键期没问题,有多次通宵交付经历,日常更看重效率。到岗 交接后 X 周。

缺点?

以前 Review 太细,新人会觉得烦。后来我改成先给规范,再盯关键路径。

有 offer 吗?

在同步看几家 Flutter 方向,你们是优先级比较高的。

你想问我们什么?

团队 Flutter 版本和架构约定?客户端多少人、我主要负责哪块?发版和 Code Review 流程?对 AI 工具的态度?

!

面试前先改简历

▼
  • 求职意向「iOS」 → 改「Flutter / iOS 客户端」。
  • 「期望找远程或者项目形式合作」 → 删掉。
  • MPChat 和 Bitbase 双「至今」重叠 → 写清关系,或把 MPChat 并入 Bitbase 下的项目。
  • 「马甲包 / 代码混淆规避下架」 → 删掉或改成「审核问题应对」。
  • 「对接 Solidity 智能合约」 → 如只是接口对接,改成「对接链上合约接口」。
  • 所有 +X% 数字 → 每个准备一句「口径加工具」,答不上的删。
  • 鲸升星河内容和业绩重复 → 合并,简历压到 3 页内。
  • 学历 → 深大标「在职 / 自考本科」,避免被当应届。
  • 加分 → 个人网站放一两个 Flutter 作品链接;博客置顶两篇 Flutter 文章;近期还有别的已上线 Flutter 项目就补进项目经历。