腾讯一面(腾讯云)2026/4/7(已挂)

腾讯一面(腾讯云)2026/4/7

1、React Native 跨端改造遇到的问题(核心问)

  • 你负责 RN 改造哪些模块?任务列表、订阅购买、任务展示、用户中心等通用业务。
  • 跨端模块怎么划分? 三层架构:公共层:业务逻辑、Hooks、工具、请求(70% 复用)适配层:端差异集中聚合(支付、通知、安全区、原生能力)业务层:只调用统一接口,不写零散 Platform 判断
  • 为什么不直接在业务里写 Platform?避免到处判断、难维护、易出 bug;所有差异集中收口,统一维护。
  • 是别人给方案还是你自己设计?leader 给方向,我自己做模块拆分、差异收敛、目录规划,按 “高复用 + 低耦合” 落地。

2、国际化 i18n(问得非常细)

  • 方案:i18next + react-i18next,跨端 RN+Web 一套配置。
  • **语言包大怎么优化?**动态加载,只加载当前语言,不一次性全引。
  • 动态加载语法?和普通 import 区别?import('./locales/xxx.json') 异步加载;普通 import:编译时打包进主包;动态 import:运行时加载、拆 chunk、按需加载
  • React 动态加载?React.lazy(() => import()) + Suspense 组件懒加载。

3、uni-app 小程序分包 & 性能优化(高频)

  • 为什么做分包? 小程序主包 ≤2M,防止超标;提升首屏速度,按需加载。
  • 分包放什么? 主包:入口、全局配置、工具、公共组件、基础依赖(控制 1M 内)子包:个人中心、列表、详情、低频功能(按业务拆)
  • 分包加载体验优化? 预加载子包、轻量 loading、控制单包大小、公共抽离、重试机制。
  • 公共组件怎么抽离 & 维护? 统一放 components/common,2 个页面以上用到就抽离;统一 props、样式隔离、Git 规范、Review 机制。
  • 多人协作改公共组件怎么办? 规范先行 + 分支隔离 + MR 审核 + 版本兼容 + 文档 Demo,避免乱改。
  • 静态资源 / 图片 / CDN 怎么做? 小图本地压缩 / WebP;大图 / 封面全部上传 CDN;统一封装 getImageUrl,拼接 CDN 前缀,目录结构与 CDN 一一映射
  • 渲染优化? 懒加载、长列表分页、减少 setData、合理 key、v-show/v-if、清除监听。
  • 打包 & 缓存优化? 分包缓存、vendor 公共包、资源 hash 强缓存、主包稳定少改。
  • Web 端对应分包思想? 路由懒加载、代码分割、preload/prefetch,和小程序分包思路一致。

4、WebSocket 实时通信(问得很深)

  • **连接保持怎么做?**心跳保活(ping/pong)、断线重连(指数退避)、单例、页面销毁清理。
  • **哪些情况会重连?**网络切换、空闲被防火墙踢、服务重启、弱网、切后台、被踢下线。
  • **如何监听是否存活?**定时发 ping,超时无 pong 判定假死,主动重连;同时监听 onclose/onerror。

5、Vue / React 对比

  • Vue:上手快、模板友好、中小项目 / 小程序 / H5 效率高。
  • React:灵活、 Hooks 复用强、跨端 RN、大型复杂项目强。

6、Git 协作:Merge vs Rebase

  • 个人 feature 同步:rebase 历史干净。
  • 合入公共分支:merge 安全不篡改历史。
  • 冲突:本地解决、沟通、自测、再提交。

7、cdn如何做的如何去处理静态资源的

在项目中我会把打包后的静态资源上传到 CDN,并通过 Vite 的 base 配置指向 CDN 域名。

同时给 JS/CSS 文件加 hash,并设置长期缓存(max-age 一年),这样可以提高缓存命中率。

在版本更新时,我会通过文件 hash 或 CDN 刷新机制避免缓存问题。

对于第三方库,我会使用 jsDelivr CDN,并在打包时通过 externals 排除,减少包体积。

同时结合图片 CDN 做压缩和格式优化,整体提升首屏加载速度。

8、代码题

题目:Promise 并发限制,同时执行不超过 limit 个,结果顺序不变你现场写的思路完全正确:

  • 结果数组按索引存 → 保证顺序
  • 初始启动 limit 个
  • 任务完成 → runTask 继续下一个
  • 计数器判断全部完成

9、开放题

  • 前端规划:基础 → 工程化 / 跨端 → 架构 / 全栈
  • AI 代码工具:优点:提效、样板代码、查问题、快速学习缺点:需校验、不懂业务、不能替代架构思考
全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务