米哈游前端开发技术面,32k面试已过
一面聊原神大世界角色状态同步,我说弱网下用WebSocket + 客户端预测 +回滚保证最终一致,被追问“丢包30%时预测与服务器回滚怎么平衡”,补了输入队列 + 动态插值算法 + 冗余帧发送才过关。二面给崩坏3深渊实时排名的场景,要求积分秒级更新段位,我提WebSocket推送 + 本地LSM(LevelDB)做增量更新,又被问“千万级玩家同时冲榜,前端本地存储写入风暴怎么解决”,答按段位分层缓
双非本科,面的米哈游游戏前端方向(原神/崩坏项目组),3轮技术面共2.5小时,全程扣游戏业务场景。
一面聊原神大世界角色状态同步,我说弱网下用
WebSocket + 客户端预测 +
回滚保证最终一致,被追问“丢包30%时预测与服务器回滚怎么平衡”,补了输入队列 + 动态插值算法 + 冗余帧发送才过关。
二面给崩坏3深渊实时排名的场景,要求积分秒级更新段位,我提WebSocket推送 + 本地LSM
(LevelDB)做增量更新,又被问“千万级玩家同时冲榜,前端本地存储写入风暴怎么解决”,答按段位分层缓存 + 异步批量写IndexedDB +
布隆过滤器去重才通过。
三面深挖原神大世界实体动态加载,从空间哈希九宫格到LOD +
IntersectionObserver动态卸载,最后考AI反作弊系统,让分析实时操作流检测脚本的推理延迟,靠之前做过的TensorFlow.js + 本地
VAE模型(10ms内完成特征提取+异常打分)撑到最后。
HR面聊了学历相关、职业规划和对二次元游戏的热情,
📖 1周后收到Offer。
为了准备这次面试刷了很多面试题,并且做了一个整理,分了HTML、CSS、JavaScript、React、Vue、浏览器、服务端与网络、算法等等.....可以说这次能拿下米哈游offer全靠它
总览:



因为篇幅原因,下面就只能截图部分内容展示了,有想要的: https://github.com/encode-studio-fe-coder/natural_traffic/wiki/scan_material3
一、Vue面试题
- 说说vue动态权限绑定渲染列表〔权限列表渲染)
- Vue用的哪种设计模式
- 说说vue操作真实dom性能瓶颈
- Vue中如何获取dom、操作dom、更新dom
- Vue的双向数据绑定原理是什么
- mvvm框架是什么
- 谈谈Vue的token存储
- 知道nextTick的作用吗,谈谈对它的理解,是什么,怎么用
- nextTick和setTimeout区别
- vue中为什么用虚拟dom而不操作真实dom
- Vue如何进行组件传值
- 说说vue里面的父子通信
- 谈谈如何实现vue组件通信和传值方式(两个问题为同一个答案问法不一样)
- 说说vue中Key值的作用
- 说说vue中的虚拟dom和diff算法
- vue3.0有了解过吗,你觉得vue3.0好吗,好在哪
- VUE组件如何与iframe通信问题

二、 React面试题
- 说说React中onClick绑定后的工作原理
- 说说react里面bind与箭头函数
- 说说react中的性能优化
- 高阶组件和高阶函数是什么
- setState和repalceState的区别
- redux中核心组件有哪些,reducer的作用
- 什么是受控组件
- hooks+context和redux你是怎么选择的,都在什么场景下使用
- useffect模拟生命周期
- setsate更新之后和usestate的区别
- react父组件props变化的时候子组件怎么监听
- usememo在react中怎么使用
React Hooks各种函数介绍- React Component和Purecomponent区别
- hooks相对于class的优化
- hooks父组件怎么调用子组件的方法
- 讲一下react中的通信
- react通过什么方法修改参数
- 说你对react native的了解
- redux的实现原理

三、小程序面试题
- 简单谈谈微信小程序
- 小程序的原生组件有哪些
- 小程序的安卓版和ios版是怎么开发出来
uni-app弹窗被覆盖怎么解决- 小程序生命周期
- 小程序路由跳转
- 小程序的兼容问题有哪些
- 小程序框架都学握哪一些,uniapp都会哪一些,平时开发遇到的困难
- 小程序怎么获取手机号
- 小程序的登录流程
- 小程序如果版本更新了怎么通知用户
- 小程序嵌入H5页面怎么做
- 小程序的生命周期函数有哪些?分别有什么作用?

四、
Webpack面试题
- webpack了解吗,讲一讲原理,怎么压缩代码
- webpack怎么配置
- webpack怎么打包
- vue打包内存过大,怎么使用webpack来进行优化
- webpack打包用过什么插件
- 说说gulp和webpack的区别

五、TypeScript面试题
- 了解过TS吗?
- 使用ts写一个对象属性约束
- 说一下typescript中的泛型
- 如何在TS中对函数的返回值进行类型约束
- ts和js相比有什么区别
- RX了解吗?

六、Node.JS
面试题
- 说说对nodejs的了解
- nodejs如何写接口,返回参数如何处理,有多少种方法
- websocket和http的区别
- 常见的 HTTP Method有哪些?GET/POST区别?
- 说一说Tcp三次握手,四次挥手
- 阐述一下http1.O与http2.0的区别,及http和https区别
- node.js如何导出页面数据形成报表
- 协商缓存和强缓存
- 强缓存
- Expires
- Cache-Control
- 协商缓存
- Etag和If-None-Match
- Last-Modify/lf-Modify-Since
- 为什么要有Etag
- http常用状态码有哪一些,说—说他们的作用
- 网络攻击方案有哪些,自己有写过什么安全性方面的东西吗?
- 静态资源部署到哪?
- 说说你对nodejs的了解

七、GIT面试题
- git经常用哪些指令
- git出现代码冲突怎么解决
- 你们团队是怎么管理git分支的
- 如何实现Git的免密操作

八、其它面试题
- loadsh了解过吗?
- 是否用过混合APP开发
- 项目中的组件是如何使用的
- hash和histoty的原理
- window.location.href和history.push的区别
- 商城项目中有写到调用微信,支付宝支付,简单讲述—下
- 这个支付与后台对接的过程,微信支付的原理
- 混合开发知道吗?你是怎么理解混合开发的,在项目中用到过混合开发吗?
- 平时工作中有是香有接触linux系统?说说常用到linux命令?
- echarts是什么,怎么用
- Hash和history的区别
- 谈谈宏任务与微任务的理解,举一个宏任务与微任务的api
- 对Event loop的了解?

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)