面试梳理
面试梳理
Juns面试梳理
前言
今天看了几篇大佬的文章,有被震撼的,想写一下自己面试需要达到的水平,以及需要做哪些准备,然后还会简单记录一些思路技巧。
大佬文章:
简单介绍
我是 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 面
这个大多数就和技术无关了,基本都是能过的,可以看看这几个点:
- 自我介绍,详细一些,比如接触计算机,接触前端
- 自己骄傲的事,最难的事情
- 自豪的事,有挫败感的事
- 未来发展规划
- 为什么来这个公司
同时也要针对自己的弱势地方有所注意。
总结
总的来说,要各方面没有十分明显的短板,最好是要能够有自己的亮点,挑选其中一个地方深入研究,在面试的时候引导面试官去交流自己所擅长的问题。