wxg微信游戏实习三面凉经

一开始介绍的时候节奏不是很好,让面试官误会了这就是个工具使用项目,直到最后反问的时候把各种研究的细节抖了出来才改了态度

- 自我介绍
- 说一下项目(简单做了一下介绍,落地背景,技术选择,产品上线,由于之前有点摆烂,所以准备的不是很好)
- Astro 框架是你自研的还是第三方的(?第三方)
-  CDN 是什么
- 网站访问量高吗,有多少人在用?
- 八股:
  - http 每个版本的区别
  - 缓存
- linux 源码看过吗(?)
- 反问
  - 需要改进的地方?(反问了你从这个项目学到了什么)
    - 阅读了部分 Astro 源码(content collection 与 vite 结合的底层实现,知道了可扩展性和局限性,翻阅了 RFC 文档,知道了其开发目的解决的痛点,最后评价是又好又坏,好在对 mdx 的处理工作是在编译器完成,在运行时无过大开销,缺点也是 mdx 在编译期间处理完成,没法应对更灵活的需求;其次讲到了 Astro 上周第 50 个 RFC 文档,github 可查 content layer api,也是不把运行时编译列在目标内;所以评价是又好又坏)
    - 深入研究了 CRTD 思想及其背后的 yjs 生态库(从小团队开发比重权衡选择了 yjs,生态丰富,且配备 demo,体验很不错,尤其是周边库,源码内容简单,要针对做定制开发的成本也比较低)
    - 面试官主动问了一下有没有了解 OT (对比了一下 OT 与 CRTD 的区别;他与 CRTD 解决的目标相同,不过思想核心不一样,OT 是保证过程顺序一致,CRTD 保证数据一致性,颇有分布式思想的感觉;OT 在生态上较为薄弱,调研了 ShareDB 实现,发现后端代码过于复杂,对于小团队开发可能时间并不充足;我的中心服务器性能不够的话可能导致体验下降;针对不同数据模型要实现不同接口,开发成本增加)
    - 了解了一些 vite 的短板(生产环境与开发不一致,不合理分包导致模块循环引用(上周优化时发生的),首页白屏的问题(vite 仅仅经过最简单的转义便直接把模块发送给首页,没有像 rspack 一样做一个合并优化,导致项目变大时首屏发出大量的模块请求,且 vite 开发服务器 http 协议似乎是 1.1,只允许 6 个 tcp 请求,其他的会被阻塞,进而导致长时间白屏))
    - 实践了一些设计模式(模板模式,策略模式)
    - 站在了开源包使用者的角度去看待一些内容(包下的语法分析核心分了两层设计,用户可以选择最简单的 plugin 模式去定制规则,也可以自己创建 core 实例去完整覆盖 mdx 的检查行为)
    - 总之做这个项目就是很开心,学到了很多也收获了很多
  - 您是 GM 吗(不是)
  - 反问了一下平时玩什么游戏,但是当时脑子有点短路答不上来,就说最近玩的比较少,会练一下吉他

也是从这一次面试后,我就意识到了必须要主动争取面试主动权,面试官给出机会时一定要有意识,抓住项目核心讲,因此后续继续优化总结,把项目最重要的几个核心抓了出来,并进行了提炼,因此一天后的字节二面我收获了一个非常好的体验
全部评论
自研astro绷不住了
点赞 回复 分享
发布于 2024-12-10 19:53 湖北
自研难崩
点赞 回复 分享
发布于 2024-12-11 16:13 北京

相关推荐

HR部门一面(2.25)手撕:LRU+一道SQL1. 项目是否上线?为什么不上线?2. 大营销项目是否是Demo项目?3. Java集合类型有哪些?4. ArrayList源码看过吗?扩容机制?是否可以自己设置容量?设置的太小或者太大有什么问题?5. 集合有哪些线程安全?6. Hash Table是线程安全的吗?7. HashMap和Hash Table有什么区别呢?8. HashMap能保持插入之后的读写顺序吗?9. 哪个类型能保证HashMap插入节点的顺序?10. ConcurrentHashMap线程安全是怎么实现的?11. 什么是线程、进程、协程?12. 有没有了解Java新版的虚拟线程?13. 介绍TCP连接过程?14. 介绍TCP结束过程?15. 有没有了解http对tcp做了哪些优化,来简化开发?16. http1.1和http2有什么区别?17. 介绍一下https的加密过程?18. 传输数据是采用什么加密?19. 非对称加密和对称加密的优缺点?20. 有个大数据的列表,之前是循环的for each处理,怎么简单的提高性能?21. 怎么重复利用线程?22. Mysql隔离级别?23. 什么是幻读?24. Mysql的数据库引擎?25. Mysql的索引类型?26. 什么是覆盖索引?27. 一次查询可以用多个索引吗?(索引合并)28. Mysql什么时候会出现死锁?29. 什么是索引碎片化?30. Sql的执行顺序?31. 如果Blog打不开,一直转圈,如何排查?32. Blog有没有使用数据库?如果是大营销系统,可能是什么问题?33. 用过大模型吗?deepseek大模型对其它大模型有什么优点?34. 你目前的Base?二面(3.3 凉)算法题 :Welcome to Tencent 按字符串反转([反转字符串中的单词](*******************************************************))项目:1. 有哪几个比较复杂的问题?通过什么方式解决的?2. 中奖概率怎么设计的?什么样的空间?Log(n)算法是什么?3. 奖品数据永远不会很大?需要设计两种算法吗?4. 抽奖的人分配什么东西?5. 1W个人,100个奖品,奖品概率为0.01? 能否全部抽完?如何保证全部抽完?6. 怎么控制随机性?通过什么算法去控制,让他基本在1W人能够全部抽到?7. 自定义组件来做分库分表怎么实现的?8. 散列会散列到多少张表上去?9. 用户的ID是怎么样的?哈希完之后的结果是怎么样的?10. 我看你是学大数据的,为什么没有往大数据方向走?11. 有没有往大数据和算法方面走的倾向?基于什么背景考虑?12. 看相关源码?有什么不错的想法分享吗?13. Redis的stream场景?14. 使用方式?15. 和RabbitMQ有什么区别?16. 为什么Stream有消息丢失问题?17. Redis的持久化有哪些方式?
点赞 评论 收藏
分享
评论
4
4
分享

创作者周榜

更多
牛客网
牛客企业服务