likes
comments
collection
share

2023年中大厂面试经历分享,很可惜,但是没关系🙁🙁🙁

作者站长头像
站长
· 阅读数 2

已经好久没有面试了,突然想起来自己曾经有面试过几家公司,那就分享一下这些面经吧,也算是积攒一下人品了。

接下来的这些面经里面全是回忆版本的,而且有些面经是我之前已经写过文章了,那我就不贴链接引流了,有需要的可以自行查看之前发布的文章。

CSS

css 的没有啥特别的点,因为我不太会 css,所以问到我的时候我就说不太懂 css 了,后面也就没有怎么问了。印象中记得就两题:

  • 如何实现两栏宽度固定,中间响应式
  • 回流和重排

JS

js 这边的话大多数都是一些常见的八股文,字节来了一个手写体,要求写一个寄生式组合继承,核心代码也就三行,我没写出来 gg。

  • esm 和 cjs,cjs 缓存,缓存在哪
  • new 的过程
  • cookie 和 localstorage 的区别,既然有了 cookie 为什么还要 localStorage?
  • 垃圾回收
  • 执行上下文和作用域
  • 浏览器跨标签页通信的方式都有什么
  • worker

js 这边的话总体来说不会很难,难就难在手写这边。建议多看看红宝书、你不知道的 JavaScript 还有官网。看完这些基本就能应付了。

React

React 这边的话没问我啥,不知道啥情况吧,源码的问题都是我主动引导的,很少面试官主动问我,不知道是不是我的简历上面的原因。如果感兴趣的话,可以看看我 React 相关的文章,看懂这些基本就能应付面试了。如果你用 React 有一段时间了,且 js 基础功底好,那么我非常建议你读一读 React 源码,里面的一些设计理念非常棒。

计算机网络 AND 八股文

一个很多问号的问题吧,这是我在货拉拉面试中遇到的,问题就是从电脑开机到浏览器页面展示,网络发生了什么变化。其他的问题都很常见的:

  • http 状态码
  • http 版本问题
  • https
  • 从输入 url 到浏览器展示
  • post 请求为什么会发送两次
  • 浏览器事件循环
  • jwt
  • 强缓存和协商缓存

这些题目也都中规中矩,计算机网络这边的话,建议看看黑皮书计算机网络,和图解系列的图解 HTTP 和图解 TCP/IP,看懂这三本,你面试的时候应该就很牛逼了。

场景题

  1. 线上动画出现了问题,本地没问题,怎么排查? 当线上环境的动画出现问题,而本地环境运行正常时,这可能是由多种因素造成的。 我们应该可以准许以下方法来进行解决:

    • 确认环境一致性,确保线上和本地使用的依赖库版本一致。有时候,即使是依赖的次要更新也可能导致问题。检查是否所有的配置文件都已正确上传到线上环境,且与本地环境保持一致。

    • 并且尝试不同的浏览器上运行你的线上应用。可能是某个特定的浏览器或版本不支持你使用的某些CSS或JavaScript特性。确保使用了适当的浏览器前缀,以支持较旧的浏览器。

    • 检查网络请求,确保所有的资源(如JavaScript文件、CSS文件、图片等)都已正确加载。

    • 清除浏览器缓存,或尝试使用无痕/隐身模式访问页面,确保加载的是最新资源。

    • 确保服务器配置正确,没有限制某些类型文件的访问。确认构建过程是否有问题。比如,有没有文件在构建过程中被错误地修改或排除。

  2. 虚拟列表

emmmmm 好像还有两三道的,但是我忘记了,记起来的话再不回来吧哈哈哈哈。

项目

可能是我项目比较亮眼吧,这也可能是我有面试的原因之一,在这几个面试当中,大部分都是在问项目,所以也很少八股文。

下面这个是脚手架的:

  • 为什么写这个项目
  • 竞品如何
  • 你写的脚手架和 cra 有什么区别
  • 截至 9 月份,我在牛客上面见到过关于 pnpm 的问题,我都被问过,
  • monorepo,有什么优势,monorepo 实现方案
  • 如何实现模板扩展

这个是在线代码编辑器的:

  • 如何在浏览器上执行 node
  • 除了使用 iframe 实现在线代码预览,还有什么方案可以(这个问题问的非常好,所以我现在这个项目用的 webcontainer 也就是从这次七牛云面试中学到的)
  • 做了什么优化(主要做了一些 web worker 相关的吧,使用到 worker,也是在面试中学到的)
  • 协同相关
  • 你有了解过 codesandbox 架构吗(小小的脑袋大大的疑问,现在秋招都这么卷了吗,估计过年前能把这篇文章写出来吧,手太冷了,码字码不动了)
  • 怎么做的词法高亮

应该就这些了吧。

建议?

就当故事听吧,我说的这些话也未必适合你。如果你是在校生还不是应届生的话,有面试的话,且面试成本不是很大的,尽量去。因为在面试中确实能学到挺多东西的,包括胆量,查漏补缺,如果面试官技术很牛 X 且愿意给你分享一些经验的话,那么你真的就是大赚啦。

面试过后记得复盘,要把面试过程中没答好的问题重新复盘,重新组织语言。

前端的话,计算机网络和操作系统都还是比较重要的,算法和数据结构那就非常重要了,React 源码里面就涉及到了大量的算法和数据结构了。

写两个好一点的项目吧,别天天网易云,谷粒商城了,别说面试官了,我就连我自己看见我之前的简历上写有网易云我都想撕掉简历。

2023年中大厂面试经历分享,很可惜,但是没关系🙁🙁🙁

找不到工作的话,那就慢慢找咯,先把眼光放低再找其他机会咯,没必要抱怨,抱怨有用吗,还不如好好学习,好好寻找解决问题的办法。用脑子去解决问题不可能永远没有机会吧。

学的技术别太广,一定要精,别今天学学 HTML,明天又跑去学 php,后天又跑去学 js,一步一步来,别急,急也没有用。

总结

没啥好总结的,你自个儿总结吧,反正你也不会认真看。

github给个star吧