盲猜国际外卖,感觉这么缺人吗?
点赞 1

相关推荐

2024-12-11 17:03
已编辑
门头沟学院 Web前端
自我介绍- 蓝桥杯是什么- 问两个开源项目:   - Threejs 那个怎么说  - 某音乐网站嵌入 tauri 二次开发(扯了一下写的 vite 插件,实现了把外部网站嵌入到脚手架内实现的直接开发,还有重写部分热重载代码,以及代理后端,实现内容覆盖与整个网站的控制权,以及扯了一下这种跨平台开发要注意的是什么,然后就扯了一下ipc通信与序列化的性能)    - 做了这些插件最终的意义?(提升开发体验与效率) - 这些是自己做的还是实验室做的(第一个跟隔壁实验室哥们一起做的,第二个是自己做的,2023年7月 -> 2024年8月,有GitHub提交可查)- 说一下你对前端工程化的理解(尽可能地实现非业务部分过程自动化,使得开发者可以专注开发)- 用过webpack吗,没有,直接 vite 上手- 说一下你对 vite 的认知,越多越好,尽可能地说(esbuild 开发环境,rollup 生产环境,vite 在加速方面做了哪些努力(esbuild 构建开发环境js,预构建依赖,对源码更新采用链失活处理(仅概念)))- esm cjs(同步与异步导入,import 静态分析)- url 到页面呈现(合法判断,cache,dns,tcp,dom树,cssom,js 阻塞,render tree,绘制,部分 css 送入 gpu 处理)- 说一下用 Astro 的原因(vite 作为底层驱动支持,内容驱动静态网站生成,支持SSG,SSR)- 除了 SSG,SSR 还有什么渲染,区别是什么(ISR,CSR,边缘计算)- Astro SSR 还有哪些应用场景(扯了一下官网文档的电商平台,用户可以先看到页面商品内容,具有交互性质的按钮可以在后续注水激活)- 说一下 yjs 是干什么的(以CRTD为核心思想的并发冲突解决库)- 在线演示平台,平台有多少人在用(不多,给内部人员编辑使用)- 做这个遇到最难的地方是什么(服务端崩溃上下文丢失后内容恢复,说了目前的实现与未来最好实现)- VSCode 插件看一下效果(演示了一下并说了转 ast 做处理的简单流程)笔试:- html css js 基础- lodash.get- 树遍历本来要反问了,感觉节奏不对,继续跟面试官扯完了简历上的后两点:- 页面预览实现?  成本有点高,目前思路是转发脚手架页面  曾经做过的努力:  - 用 astro 的编译器看看能不能 build 一些组件并拼接完整页面(不能,必须依赖 node 环境或在浏览器实现需要的 api)  - 用 SSR (审查了 astro 部分源码发现对于 markdown 编译逻辑都是写在 vite 插件内,打包时是直接把 markdown 编译成 js,SSR执行时直接静态出字符串,没有运行时编译过程)  - 11月14号新出的 content layer api,去官方文档看了milestone,其中写清楚了不把运行时编译 markdown 放在目标内,与 astro 的 baseline 与解决问题场景不一致- jsx 编写通用组件?  曾经做过的努力:  - 调研 tinyMVC,在示例仓库里发现他针对各个框架都写了一套 renderless 逻辑,还为此写了一个专门抹平框架差异的函数  - taro,基于编译器实现,背后有编译团队,运行时团队,小程序团队和跨平台团队支持,对于小团队开发成本太高了反问:- base 北京上海- 二面什么时候- 主要业务- 需要改进的地方
查看27道真题和解析
点赞 评论 收藏
分享
2024-12-07 17:17
已编辑
门头沟学院 Web前端
省流:无八股,四十分钟项目输出,二十分钟笔试题 + 反问面试体验最满意的一次,虽然开头细细的讲项目细节导致节奏有点慢了,只讲出了两个核心,还有两个核心没讲,但面试官很耐心的听完并跟我确认上下文细节,下次继续优化- 自我介绍- 挑一个简历上最值得讲的项目开始表演  - 背景介绍(某游戏 mod 开发组前端成员,主要负责一些页面制作宣传的需求,后期组内其他成员提出 wiki 制作需求,开始了调研之旅)  - 主流 wiki 框架(语法晦涩难懂,开发者需要时间去学习成本;使用 mdx 可以无压力上手 + 需求/问题快速沟通解决;Astro 我有实践经验,阅读过核心 api 源码,知道底层实现与扩展/局限性)  - 反问了一下这个项目什么时候开始做的:第一版落地时间周期(去年5月调研,7月开始第一版开发,9月落地,到12月前长期维护 + 新功能上线)  - 第一版落地后遇到的问题(项目结构混乱,非业务核心代码与核心混在一起,网站无法进行复用)  - 解决方案(采用 monorepo,重新梳理整个项目业务核心逻辑与周边生态逻辑,进行归类划分并确定职责和要暴露的接口)  - 成果(项目职责分离(解包,语法检查,wiki 核心,组件库,针对不同 ide 的检查适配器)对整个项目有了个更好的认知,知道整个项目的进展和状态)  - 带来的新问题(此时已经半小时了,面试官让我挑2点最大的问题(不同包之间没有权限区分;一些历史遗留插件没法及时迁移,付出了一定开发成本)其实这里可以讲一下代码复用,参考了 Astro Starlight 项目落地后发现全局 Astro 特性被局限至仅 集成暴露 api;部分 api 使用后效果不一样(Astro 官方给出了解决该问题的实验性特性))- 网站访问量多少(不多,算是技术能力锻炼产品和圈子内的服务用产品)- 是不是 minecraft 的发烧友(还真是,高中就喜欢玩珍珠炮,并且从里面开始接触到编码解码概念和一些二进制理论)- 笔试  - 版本号排序(后续讨论了一下健壮性和 plus)  - Promise.all 实现  - 写一个后台管理系统的侧边栏组件,伪代码即可(顺便聊了一下 vue compiler 的 props 宏展开)  - 本来还有第四题,面试官说不用了,直接开聊(以为会问 Promise 顺序,他说他不喜欢考这些,然后聊了一下 Promise 内返回 Promise 的问题,涉及到 v8 以及 ecma resolveThenableJob 规范,不过面试官似乎不是很了解这里)- 反问  - 我需要提升的地方(计算机四大件别丢了,讲的很认真)  - 部门主要技术栈(react,然后就是要了解一点 node,不用做开发,nginx了解即可,吧啦吧啦的,后续忘了)  - 新技术会用吗(会做研讨会和研究,不过更多是基建部门负责,他们会看手册学习并尝试在小项目落地)  - 主要业务(搜索中台,技术 + 业务结合部门?面试官好像一时也没法彻底讲清楚)  - 部门压力大吗(不算大(真的吗))  - 入职要注意的事情(需要两个月进行磨合,因为有些事情可能没有给到完整上下文就让你做,需要自己翻手册或找 mentor 问,流程清楚后就轻松了,后面一堆不记得了)  - 转正?(会给,但是看分到的名额,说25届留了两个实习生,刚好两个名额就全给他们了,然后细细的讲了一下转正前会给你的各种通知和要做的事情)  - 就面试来说有啥需要改进的地方(笔试侧边栏组件你可以做的更好点,抽象级别可以更高点,加强一下基础框架学习使用)体验最好的一次,唯一的遗憾就是讲细节太多了,还有一些核心没讲出来。其他我都很满意,1 小时后收到了三面时间选择通知许愿三面能遇到像这样体验这么好的面试官
查看16道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务