面试梳理

面试梳理

前言

今天看了几篇大佬的文章,有被震撼的,想写一下自己面试需要达到的水平,以及需要做哪些准备,然后还会简单记录一些思路技巧。

大佬文章:

简单介绍

我是 2025 届毕业生,目前是大三下,起步的话大致在大二那一学期,大半个学期在学前端,小半个大二以及大三上在实习,但是实习的过程中感觉没有很多实际上的进步,更多的是拓展视野以及知识面,并没有多少深入。

我这一届的暑期实习在 24 年 6 月,秋招在 24 年底,春招在 25 年初,所以时间不多也不少,目前来说投入更多的时间去学习还是来得及的,不过也需要保持一直学习,不能因为实习就少学。

那么首先是要有规划,然后看技术内容,实践总结梳理,最后有产出。

面试机会

有很多同学或者学长在大厂工作,可以去找内推,所以机会肯定还是有的,但是能不能把握住就需要靠自己了。

履历上可以作为优秀的点有很多:

  • 学历优势
  • 大厂实习经历,offer
  • 基础扎实,读过源码,理解框架的设计思想
  • 有社区影响力,有博客产出
  • 开源贡献,开源项目维护者,热爱前端

这些都是可以作为自己的优点来体现的,我目前仍有所欠缺,至少需要把 123 体现出来。

如何准备

重点是围绕着项目展开,同时也会有各种基础的考察,以及理解思考能力

自我介绍

自我介绍是面试的开始,这也是很重要的一个环节,面试官可能会根据你说的内容来展开接下来的问题,这同时也会给面试官一个缓冲时间来重新熟悉你的简历

要点:遵守极简原则,突出重点,忽略细节。

可以参考的点:

  • 我是谁
  • 我的亮点,可以描述一下,以及一些经历
  • 我为什么需要这份工作(可以不说,感觉没必要)

然后就可以重点突出自己的大学经历,其中对于算法相关的经历感觉也可以直接不说(算法能力不够强还说的话,一堆算法题直接寄),然后就可以说到自己的工作室经历、项目经历、实习经历,以及开源、博客这些(如果有的话)。

这样的话,面试官一般会有几个感兴趣的点,然后跟着下去问一些相关的问题(比如第一次实习时低代码)

需要注意的就是围绕着自己的亮点去展开,不过面试官也有可能会直接一上来就问项目,这个完全是因人而异。

项目相关

这个大概率也是重点,而且也可以围绕项目展开很多话题,比如下面就可以思考一下怎么回答:

  • 项目的难点。如何发现问题,解决思路,最终结果
  • 项目有没有考虑过优化,思路?具体措施?
  • 项目的组织架构,对其的理解,优缺点?
  • 从 0 到 1 创建一个项目,需要考虑哪些?有什么流程需要注意?
  • 代码规范的方案,项目中采用的哪一种
  • 项目有没有测试,单元测试
  • 项目引入 TS 的原因,优缺点?
  • 项目如何部署?
  • 项目技术栈为什么要升级?会带来哪些问题?
  • 有没有遇到性能问题?如何提升性能?

对于我们来说,项目一般都是围绕着简历里提到的来问,具体写到的优化的地方一定要有回答的思路。下面有一个思路的法则:

  • Situation:事情是在什么情况下发生,基于一个怎样的背景;
  • Task:你是如何明确你的任务的;
  • Action:针对这样的情况分析,你采用了什么行动方式,具体做了哪些工作内容;
  • Result:结果怎样,带来了什么价值,在整个过程中你学到了什么,有什么新的体会。

不要急于介绍做了什么,需要介绍一下背景和结果,这里的代码是为了业务服务,也需要引入问题和实际的业务作用。

深入一些就会问到项目的组织架构理解,让我们来实现一个项目,这整个流程需要考虑的点。

JS 基础

一般也就是一些基础的八股,可能会带有一些看代码讲输出,或者手写。

不过这里也需要有一俩个部分,能够体现自己的深入思考(亮点)。基础都可以只能说是,基础扎实,还不够优秀,需要在其中还有更加深入的地方,来凸显自己的优秀之处。

问答的时候需要合理对面试官问的基础点展开,但是对于自己不够熟悉的地方尽量避免挖坑。

React/Vue

框架肯定是要学会的,但是仅仅是会用可能也不算好,还需要一些底层实现原理,以及框架的设计理解。

浏览器

这方面我了解不多,但是有一些也会需要用到这里的知识,比如:

  • 从输入 URL 到页面渲染的过程
  • 浏览器缓存
  • 进程/线程/内核
  • 垃圾回收机制

其中关于性能问题、内存泄漏,其实都需要了解一些浏览器相关的

Webpack

打包工具也是我有所欠缺的,下面是一些常见的问题:

  • webpack 大包的原理
  • import 最终被 webpack 编译打包成什么。
  • 路由懒加载的原理是啥,能不能结合 webpack 说一说
  • 写过 webpack loader 或者插件吗
  • webpack 如何做性能优化
  • babel 的原理了解吗,babel 是用来干嘛的
  • 说一说常见的 babel 库,你有使用过哪些
  • 写过 babel 插件吗?用来干啥的?怎么写的 babel 插
  • 知道怎么转化成 AST 的吗?

这个就需要学习了解一下了。

算法与数据结构

这方面基本就是体现在算法题了,尽量说出自己的思路,做好边界处理,最好是能做出来,做不出来的话也要让面试官了解清楚自己的思路是什么样的。有些算是比较常见的:

  • 判断链表中是否有环
  • 动态规划
  • 二叉树的递归和迭代俩种写法
  • 手写实现一个链表
  • 时间空间复杂度的计算
  • 排序算法

hr 面

这个大多数就和技术无关了,基本都是能过的,可以看看这几个点:

  • 自我介绍,详细一些,比如接触计算机,接触前端
  • 自己骄傲的事,最难的事情
  • 自豪的事,有挫败感的事
  • 未来发展规划
  • 为什么来这个公司

同时也要针对自己的弱势地方有所注意。

总结

总的来说,要各方面没有十分明显的短板,最好是要能够有自己的亮点,挑选其中一个地方深入研究,在面试的时候引导面试官去交流自己所擅长的问题。