疯狂游戏-前端一面

表面是前端,其实过去是要做 Flutter 开发

拷打项目挺多二点,真的拷打,可能是因为我表达能力太差了,面试官没法听明白我在讲什么

1. 你觉得复杂的页面是什么样的(回答得不太好),结合你的项目分析

有很多类似样式的组件,但是会有细小的样式之类的差别,这时候可能会单独判断一个条件,然后条件多了代码可能混乱了。有一些登录相关的页面,每次请求可能要带上 token(面试官说这个不复杂,我说对,像 axios 这类有拦截请求很好实现),我想说的是一些登录那种,比如无感刷新之类的,然后面试官问为啥么要设置短 token 和 refresh token,自己巴拉巴拉,说自己的项目其实不需要无感刷新,无感刷新可能更适合单点登录,然后又解释了为什么要设置短 token 和 refresh token。还有一些状态管理很复杂的。。。

2. 你觉得你这些项目里哪个最难

我说第二个最难(一个展示前端依赖关系的,具体见 https://github.com/truthRestorer/truth-cli),因为涉及了数据结构和算法,自己系统学了一遍

3. 那最难的项目里面有什么优化

我说生成的数据需要用树图展示,我单独有一个 map 存储了依赖之间的关系,这样查找就从 O(n)又滑到了 O(1),然后嘴漏说了 echarts 树图一些小 bug,但是说了很长时间,感觉说的不太好,虽然面试官最后明白了

4. 你用过哪些 react 全局状态库,它们怎么实现的

用过 redux-toolkit,zustand

早期是用的 useReducer 实现的,现在基本都是用 useSyncExternalStore 实现的,然后说这个 hooks 怎么用,然后我自己也实现了一个

5. 接触过 canvas 嘛

接触过,但是仅限于 api

6. 接触过 webgl 嘛

没有。。。

7. 接触过 webassembly 嘛

我靠,最近刚做过这个,跟面试官说最近想用 wasm 在浏览器端编译 C 代码,因为实验室考核需要 oj 平台,然后他问我做的怎么样了,我说遇见一些瓶颈,因为浏览器没法调用 gcc 命令,所以自己还要找一下 gcc 编译出来的 wasm

8. 自己怎么做网页优化的,有啥指标吗

指标忘记了,就说了一个 lsp,然后把自己能想到的优化措施都说了一遍,cdn、将多个文件分成多个 chunk,然后面试官问:js 怎么优化,我当时脑袋一片空白,没想出来,不过过了一会想出来了 defer 和 async,赶紧插嘴说了出来,后来说检测可以用 performance api

9. React Fiber 怎么做到时间分片的

只记得源码有个 while 循环,但是忘记了具体逻辑...

10. 你用的最多的是 js,有没有接触过其他东西

我更正用的最多的是 ts,然后其次就是 js 的一些框架,然后我感觉问的应该不是这个,就说了自己曾经学习过 golang 和 rust,但是只做了官网的一些基本教程,rust 倒是重构过一个项目

11. 了解过 flutter 嘛

我刚想说来着,面试官主动问了,我说学过,但是技术层面知识可能不太记得了,flutter 给我最大的感觉就是嵌套很多,有很多花括号,他问我跟 vue 和 react 的写法有啥区别,我说 flutter 声明式的,ui 结构是根据 class 对象嵌套得来的,而 vue 和 react 的页面结构是 xml 结构

12. 你觉得你有什么优势,但是没有表现出来的

我说自己对 nodejs 比较熟悉,然后问我对哪方面熟悉,讲道理说到这我懵了一会,然后说自己对 api 使用比较熟悉,还熟悉 commonjs 规范实现原理,然后他就问我怎么实现的

13. 反问

前端选手过去做 flutter,会不会因为安卓底层系统不明白,导致上手困难?

20% 涉及到了安卓,其实就是熟悉的过程。。。

------------------------------------------------------------

感觉挺难的,基本不问八股,可能是小公司更喜欢和自己业务方向符合的选手

自己也没回答太好,说话吞吞吐吐,这很为难我一个八股选手

更新:已挂
全部评论
八股战士看到情景题汗流浃背了
2 回复 分享
发布于 2024-08-12 15:38 上海
绷不住了,今天刚面了,问的问题都一模一样
点赞 回复 分享
发布于 2024-09-13 18:57 上海
考虑拼多多吗
点赞 回复 分享
发布于 2024-08-14 16:41 上海
好难 不如问八股
点赞 回复 分享
发布于 2024-08-14 10:57 山东
蛙趣,跟我上周面的差不多,压力慢慢,一直被捶打😭😭😭
点赞 回复 分享
发布于 2024-08-12 21:17 广东
佬,在哪投的,给个链接flutter选手
点赞 回复 分享
发布于 2024-08-12 16:16 山东

相关推荐

01-11 15:53
已编辑
合肥工业大学 测试工程师
从12月20号到现在每天都在思考:软件测试和游戏测试的真正区别到底在哪里?为什么和我一样经历,专业技术知识还并不如我的人能够那么轻松进入科大讯飞和中兴通讯做测试/测开,而我all in游戏测试却屡屡碰壁?最开始我的思考是有无实习的差别,有实习经验自然更快上手,这是游戏公司所迫切需要的。但是摆在我面前的现实却是:投实习居然比我投正式岗还困难;这不由得引发我进一步考虑:实习背后究竟意味着什么?难道真的存在有些东西只有实践才能知道从任何网站资源都无法获取到吗?欸还真是,事实上,结合多轮面试的学习、同行指导以及自我思考,我终于明确了游戏测试和软件测试具体的区别(绝非牛客网上一堆分享面经的人简单说的游测更关注用户体验而软测更关注软件本身功能那样,说白了用户体验本身也是软测的一部分,这样的回答是无法体现二者真正的区别的),那就是从测试重点到测试思维再到测试方法(工具)二者都有区别,游测和软测是相交关系而非被包含关系,因此用通识软测课程的知识去回答游测问题其实是牛头不对马嘴,而实习最主要最关键的,就是要认知到这个区别,其次才是熟悉工业流程令我比较疑惑的是,具体的工业流程无法成为公开资源被学习可以理解,但这种认知并不是不可公开的秘密,然而查遍网络各种资源都没有对于这种认知的讲解。可能从游测视角来看,入行游测就是奔着玩游戏来的,软测才是顺手的事,所以区别是显而易见的,用不着说;但是如果从软测视角来看,那就出问题了,但是想要成为一名真正合格的游戏测试,你又必须学习软件测试,以软件测试视角导入游戏测试是很自然的事情。我看到过很多做软测投游测栽跟头的例子,因此觉得点明这点认知还是有必要的其实这种认知在自然而然的实际工作中潜移默化就能培养,而没有实际工作经验的人想要得到这种认知,比较困难。但是反过来思考,公司需要的真的是你熟练掌握的实习公司的那套生产流程吗?我想至少对于测试这个行业来讲不是,公司需要的是那套思维,也就是认知,哪怕你没有相关实习经历,公司也会给你机会展现思维,也就是你的简历以及面试官那一个个问题,如果此时你展现出的都是软测思维,那不筛你筛谁?如果你能很好的展示出游测思维,这比一般在一些不知名小公司实习过一段时间(测试用例可能都是Excel写的)还要强,那又有什么理由不要呢?除了这二者概念上的区别外,这二者背后所承载的实体也就是所对应的行业现状也是有区别的,需要软测的公司例如科大讯飞、中兴通讯它们有大把资源培养新人,它们看重的是你的潜质,如果你说你是面试前一个月才开始学测试反而可能比你说你学了好几年测试更让它们喜欢;而需要游测对应的大部分公司目前都急需的是能真正撑起公司测试团队的那种人才,而非公司还要花资源培养你。新游竞发,时不我待,游戏公司哪来的功夫从零开始培养你?因此二者难度上的区别就展现出来了,对于游测而言,公司除了你本身的综合素养以外,还会关注你的入职能直接为公司带来什么,仅仅只是技术能力刚刚合格,而没有能力、思维、或是经验上的突出点,不好意思,当软测合格,当游测很难
点赞 评论 收藏
分享
评论
12
19
分享

创作者周榜

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