wxg前端开放平台日常实习面经(2/3面)(已offer)

接前篇:https://www.nowcoder.com/feed/main/detail/819661fbac1942d79faabaff2125fee5

最有压力的一集,有两位面试官,一位问一位听。一开始还好,都是从浅层知识开始问起,后续就开始深入拷打,一直拷打到不会为止,太可怕了。

其次是计算机基础,还得是科班同学,当时从编译原理一路回溯到计算机组成原理,最后感觉还是操作系统最重要,当时做 mit cow 实验理解了一下其思想,没想到现在回过头来在面试用上了,这个寒假一定要好好看看操作系统和数据结构以及一些基础。

感觉入手比较简单的还是计算机网络,毕竟可能更多时间都会花在 rfc 文档的阅读和对传输的理解和作用以及优缺点

其次是远程协同这个课题能拷打的地方真的很多,我虽然认真想了,但想的还是不够,还可以变得更好,只能说慢慢来吧

我曾经也憧憬过在开源圈内总结一套比较稳固的远程协同实现,包括服务器崩溃,服务中断等,这些都留给未来的自己吧

- 简单自我介绍
- 什么时候开始学前端
- 前端工程化,以及各种其他方面的东西是怎么学习到的
- 怎么平衡学校与个人学习
- 觉得学校的课业对学习有帮助吗,举个例子
- 讲一下 cow 是什么(copy on write)
- 为什么说考虑过用编译原理的知识尝试去实现 markdown 编译
- 对于 string.replace 方法假如要自己实现有什么优化的想法吗
- 挑一个项目最有挑战的点来说
- 简单解释一下 CRDT
- 协同面对的两个问题
- 跟 OT 对比优劣在哪
- 为什么选择远程协同作为解决方案,在此之前调研过其他方案吗
- 说一下光标速度优化,具体为了优化哪个层面(网络传输)
- 讲一下前后端结构设计
- 服务器崩溃问题(一路延申到快照创建,历史版本,内容压缩,使用外存)
- 说一下现在的解决方案和未来的解决方案
- 为什么快照可能可以解决 yDoc 实例占用内存过多的问题
- 遇到环形引用怎么解决,这里如果改为 json 可不可以进行压缩
- 结合 cow 说一下 json 压缩实现
- 说一下 yjs 在避免内存泄漏上实现的 gc 是什么
- 做上下文序列化时为什么说可能阻塞
- 说到阻塞,解释一下为什么 js 与 gui 互斥,从操作系统层面来说可以通过什么方式去实现互斥
- 平台有多少人在用
- 了解 js 与原生语言之间的通信吗
- 简单说一下 tauri 那个项目
- 用 rust 实现了什么功能,解决了什么问题
- 除了编程还有什么爱好
- 反问
- 需要改进的地方
- 您负责的内容

**这一面能很明显感受到考察的是项目思考深度,我可以说一个好的项目是非常加分的,这个好指的是你对他的思考,深入到了什么地步,对比过什么方案,最终权衡下怎么解决的,为什么选用这个方案,效能比怎么样,有考虑过未来发展吗等等问题**,即 STAR 法则。而不是单纯说我 star 多,被推荐等。我简历上的项目也没说多少人 star,因为他面向的是一个特定领域的解决方案,是我们团队内部为了解决问题而实现的一套工具。

压力面加上发挥的一般,一些基础和深入点没讲好,面完后有点难过,觉得自己马上挂了,结果两个小时后约了电话 3 面,真的是极大惊喜啊。

### 三面(电话面 30min)

这一次是电话面,连时间都没约,直接发邮件问面不面,那当然是趁着这股劲狠狠的面了!

听声音感觉是一位很和蔼的面试官,给了我 20 分钟讲项目,中间提问 + 反问。可能是为了考察一下沟通能力,因为二面的时候讲塞壬唱片项目的时候没有讲好,有点啰嗦和抓不到重点,可能因此加了一面。

- 自我介绍
- 之前有实习过吗
- 简单说一下项目立项
- 第三方平台卡内容?那有没有想过其他自由的平台(我们的平台有属于自己的精神内核和思想,希望从自己的网站上去体现)
- 平时平台上面会发布什么内容,选择 astro 框架的原因
- 除了对比市面上的框架,还有没有调研过 hexo wordpress 这种框架?
- 成果怎么样
- 之前面过微信游戏,有没有总结面试为什么挂了,简单说说
- 对于玩具项目的定义
- 项目第一次大更新的目的是什么,解决了什么问题,中间有什么困难,现有的问题和未来的发展
- 第二次大更新解决的问题和困难,以及现在的状态
- 聊聊结构设计,为什么分了新仓库,基于什么考量,为什么要这样设计,好处和缺点
- 反问
- 这一次面试这么快的吗(把内容输出总结了就大概知道是什么水平了)
- 您负责的职责(c 端用户端)
- 还有几面(应该是最后一面)
- 可以改进的地方
- 入职时间

整个过程还是聊的很愉快的,能感受到面试官为了理解我的项目在做提问。

**沟通真的是很重要的一环**,作为开发人员沟通是绝对少不了的,因为你要搞懂需求,确认上下文,个人觉得唯一不用沟通的就是搞算法科研,天天发论文就好(雾)。不过把沟通交给我的话我还是要事先准备准备,对自己要说的各种东西有一个大致的了解,这样才不会在现场时显得很慌乱

其次就是感觉在与大佬沟通的时候,我就像是在给老板分析我的产品,他的优劣,以及综合团队的思考等,还有他带来的收益

### 后续

2025/1/2 - oc

我的秋招实习之旅到此算是以 1 wxg 日常实习 offer + 1 外企日常实习 offer 结束了,虽然我完全有信心一口气在外企干到毕业并努力转正。但是我还是想说攒好经验,开阔了眼界后再寻找更好的机会,到时候我也更有信心去面对面试。

## 后记

有人问过我说为什么我的项目能做这么多东西,我的答案是:经历了长时间的沉淀;为什么能坚持这么久,因为我想**我正在做我喜欢,且能满足我和让我充满动力的事情**,在此引用一句其他大佬精辟的总结:**Do what you love, love what you do.**

其次是由于面试,我也脱离我的项目组有一段时间了,是时候要回归他们,做一些 mvp 开发和文档攥写了。他们都是很善良很友好的人,没有他们我可能就没有我简历上这个项目,也没法约到这些面试了,可以说是他们成就了我的项目基础;其次要感谢社区所有的开源开发者,他们燃烧自己的热情去实现了一个又一个无与伦比的开源库与包,尤其是感谢 astro 与 yjs,astro 官方维护成员很积极,社区声音也很多,对于 bug 处理也非常认真;yjs 则是实现了一整套生态周边,方便了我们快速上手,如果单纯给我一篇论文让我自己去实现远程协同那绝对是做不到的。

希望这份经历能够帮助到正在阅读的你,给你带来一些思考或者启发

另附文中说的项目和一些参与过的项目:

- [dmv-wiki-toolkit](https://gitee.com/shiinafan/dmv-wiki-toolkit) - 一套一站式生成 minecraft mod Wiki 网站解决方案
- [pdc-wiki](https://gitee.com/shiinafan/pdc-wiki) - Wiki 网站解决方案项目的前身
- [MonsterSirenDesktop](https://github.com/QingXia-Ela/MonsterSirenDesktop) - 对塞壬唱片官网实现的一个功能增强,为其增加了自定义播放列表 / 第三方音乐平台接入 / 歌曲下载 / 离线访问等功能

- [astro](https://github.com/withastro/astro/) - 一套以内容驱动为中心,支持 SSR & SSG & 混合渲染的全栈 Web 框架(提了两个小 pr 和文档修改)
- [elysiajs](https://elysiajs.com/) - 一个基于 bun 的后端框架,支持高度自定义编码风格(只是改了一下文档(逃))
全部评论
知识量真庞大,给我看emo了
1 回复 分享
发布于 01-04 00:40 广东
牛,这就是佬的前端吗
点赞 回复 分享
发布于 01-13 10:39 江西
真神
点赞 回复 分享
发布于 01-04 11:13 广东
真神
点赞 回复 分享
发布于 01-04 01:12 湖南
点赞 回复 分享
发布于 01-03 15:33 北京

相关推荐

一、我的自我介绍把面试官聊睡着了上个月面试腾讯,一面。面试官说:"先做个自我介绍吧。"我深吸一口气,开始背稿:"您好,我叫张伟,来自某某大学计算机专业,平时喜欢打篮球、看电影,性格开朗活泼,善于团队协作...我的优点是学习能力强,缺点是有时候太追求完美..."讲了3分钟。面试官打断我:"停,简历上都有,说点简历上没有的。"我愣了。那场面试,一面就挂了。后来我总结了自我介绍的3个致命错误:说废话(性格爱好)说假话(缺点是优点)说简历上的话(重复信息)今天我把优化后的万能模板分享给你。二、自我介绍的黄金结构我研究了50+个成功案例,总结出一个公式:自我介绍 = 身份标签(10秒) + 核心优势(30秒) + 匹配证明(30秒) + 求职意向(10秒)总时长:80-90秒。面试官最想听的不是你是谁,而是:你能做什么?你有什么优势?你为什么适合这个岗位?三、万能模板拆解第一句:身份标签(10秒)模板:"您好,我是XXX,XXX大学XXX专业应届生,主攻XXX方向。"要点:学校+专业+方向(突出专业性)不要说"性格开朗"、"爱好广泛"示例:✅ "您好,我是李明,某211大学计算机专业应届生,主攻Java后端开发方向。"❌ "您好,我是李明,我是一个性格开朗、热爱编程的人..."第二句:核心优势(30秒)模板:"我的核心优势是XXX,具体体现在:第一,XXX;第二,XXX。"要点:优势必须和岗位相关必须有具体案例支撑用数据说话示例:✅ "我的核心优势是扎实的后端开发能力和系统设计经验。具体体现在两个方面:第一,独立完成了3个完整项目,其中电商订单系统支撑日均5000+订单,接口响应时间优化至120ms以内。第二,深入理解分布式系统和高并发场景,熟悉Redis缓存、消息队列等技术方案。"❌ "我的优势是学习能力强、责任心强、团队协作能力强..."第三句:匹配证明(30秒)模板:"我非常适合贵司的XXX岗位,因为XXX。"要点:说出你研究过这家公司说出你的经历和岗位的匹配点展现你的诚意示例:✅ "我非常适合贵司的后端开发岗位。我研究过抖音电商的技术架构,我的项目经历恰好涉及高并发订单处理、缓存优化等场景,这和岗位JD要求的技术栈高度匹配。我相信能够快速融入团队,为业务创造价值。"❌ "我非常想加入贵公司,因为贵公司很有名,待遇也不错..."第四句:求职意向(10秒)模板:"我期望的岗位是XXX,希望有机会和您深入交流。"要点:简洁明确表达期待示例:✅ "我期望的岗位是Java后端开发工程师,希望有机会和您深入探讨技术细节。"❌ "我对贵公司的所有岗位都感兴趣,我可以服从分配..."四、实战案例:后端开发岗案例一:应届生版本您好,我是王浩,某211大学计算机专业应届生,主攻Java后端开发方向。我的核心优势是扎实的技术基础和完整的项目经验。具体体现在两个方面:第一,独立完成了3个后端项目,包括电商订单系统、图书管理系统等,累计支撑用户10000+,熟悉Spring Boot、MySQL、Redis等技术栈。第二,有较强的系统设计和性能优化能力。我的订单系统通过Redis缓存优化,将接口响应时间从800ms降至120ms,性能提升85%。我非常适合贵司的后端开发岗位。我研究过字节的技术博客,对高并发、分布式系统有浓厚兴趣。我的项目经历与岗位要求的技术栈高度匹配,相信能够快速上手。我期望的岗位是Java后端开发工程师,希望有机会和您深入交流。以上是我的自我介绍,谢谢。五、三个高级技巧技巧一:准备3个版本根据不同公司调整内容:大厂版:强调技术深度、系统规模创业公司版:强调快速迭代、全栈能力外企版:强调沟通能力、国际化视野技巧二:最后10秒留悬念不要说"以上就是我的自我介绍"就结束了。可以说:"关于XX项目的细节,如果您感兴趣,我可以详细展开。""我还有一个XX项目,在XX方面有些心得,期待和您探讨。"最有亮点的项目最匹配岗位的技能最有说服力的数据直接用就行。六、常见错误及纠正错误一:介绍个人爱好❌ "我平时喜欢打篮球、看电影..."✅ 直接跳过,节约时间错误二:说缺点❌ "我的缺点是太追求完美..."✅ 没人问就不说,问了再用"可改进空间"代替错误三:讲大学经历❌ "我大一参加了XX社团,大二担任了XX职务..."✅ 重点讲和岗位相关的经历错误四:背简历内容❌ 照着简历念一遍✅ 提炼核心亮点,展开讲故事错误五:时间过长❌ 讲了5分钟还没讲完✅ 控制在90秒以内七、准备自我介绍的3个步骤步骤1:优化简历先把简历搞定。打开泡泡小程序,搜索"AiCV简历王"。上传简历,看诊断报告。系统会告诉你:哪些是你的核心优势哪些数据最有说服力哪些项目最该讲步骤2:提炼亮点从简历中提取3个最强的亮点:最有技术含量的项目最亮眼的数据最匹配岗位的技能步骤3:反复练习对着镜子练,录音练,找朋友练。练到:不看稿能流畅说出来时间控制在90秒内语气自然不生硬八、最后的话自我介绍是面试的第一关。说得好,面试官对你的第一印象就好。说得不好,后面再怎么表现都难挽回。记住这个公式:身份标签(10s) + 核心优势(30s) + 匹配证明(30s) + 求职意向(10s) = 完美自我介绍别再说"性格开朗"、"学习能力强"这些废话了。用数据说话,用案例证明,用匹配度打动面试官。
应届生简历当中,HR最关...
点赞 评论 收藏
分享
评论
15
17
分享

创作者周榜

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