接下来分享的内容,是我参加一些面试总结的经验,并不一定适合全部人,仅供参考。
目前还没有找到新工作,只是做一个阶段性的总结,当然希望能帮助到大家。
关于我
我现在三年工作经验,在北京。
准备简历
为什么要准备简历放在第一部分呢?
-
准备简历的过程,是对自己当前工作的一种总结,可以及时发现自身存在的问题。
比如:你的项目是否亮点、难点。如果发现存在不足,可以在准备面试中特殊准备下项目 -
以及自身的技术能否拿出去面试。 说到这一点我自己深有体会,我现在用的大多是公司自研框架,在其他公司其实是没有什么实用性,一个是别人不可能用到这些框架,招聘过去是需要学习成本的。
从我面试总结下来,我投递的一般面试中大型公司,用到的技术框架几乎都是react
如何准备简历
如果是社招简历 主要看中两部分:擅长技术 和 项目经验。
当然有的公司也会比较在意前面任职的公司。
擅长技术
首先选几家目标公司,仔细阅读JD职位要求。
擅长技术部分,建议是五点左右,就比如我看到一份三年经验的简历,上面是写了技术很多,什么都会,我肯定会不自觉的各个方面的都问下。
技术擅长可以向目标公司的要求,如果在投递的时候有耐心,可以根据投递公司JD进行修改。
项目部分
我写的格式一般是 承担的角色,项目简介、项目收益。简历上尽量及简洁,不要太多废话了。
项目要有亮点和难点,这两个是在项目面试肯定的会问的,建议整理成文字,自己多读几遍,尽量做到随口而出。
如果业务内容和技术都重合度非常高,建议写在一条中。
格式
如果简历里面有各式方面的问题,我是觉得很影响形象分的。
面试准备
项目方面
在前一部分准备简历的时候,项目其实已经总结过一遍了,把一些亮点和难点的项目进行复盘一下。
如果总结下来没有特别亮点的项目,可以深入了解下公司现有的复杂度比较高的项目。
当然这儿准备和简历上有区别的,我们需要想清楚 怎么用口语的方式表述清楚项目的亮点。
技术方面
作为开发,首先需要通过的肯定是技术面试。
算法
如果想去中大型公司,算法题一定会考试的,也有可能是编程题,就比如我前面在分享过的 并发任务调度。
我个人是觉得这这方面没有太多的技巧,平时多练习,面试前再突袭下。
像我的一个朋友,他平时不怎做算法,属于完全面试前突袭的那种,每天10到以上的高频算法题。
算法练习可以进行分类练习,保证做过的算法题能够做到举一反三。
我的leetcode主页
技术
我个人是比较喜欢逻辑性比较强的东西,在我开始准备面试的八股文的时候,总会觉得知识点是散的,当然也可能是因为知道的东西太少,不足形成体系,到后面我逐渐自己的知识网,我称之为 【代码的一生】,从源码到被回收。
【下面只是关键性的点,其他细节大家可以自己补充,逐步完善自己的知识体系】
主要包括三部分:源码、运行、垃圾回收
源码
我们在编写代码的时候就会涉及到前端框架,比如vue、react。
就那我面试来说,是没有问我基础使用的,大多是问我原理,我以前主要是用的框架是vue,比如
- nextTick是什么,原理是什么
- 简单介绍下keep-alive如何运行的
- 数据响应式原理
- vue的diff算法
我把项目工程化也划分到源码这一部分了,如 webpack、gulp、rollup、vite
- 热更新原理
- tree shaking原理
运行
运行这一部分应该是最精彩的,需要准备的东西比较多
运行的时候,我们需要去获取资源,这儿非常经典的一个面试问题从用户输入url到页面展现发生了什么,这个面试题的涉及的东西还是非常多的,如
- CDN
- UDP和TCP协的区别、
- TCP的三次握手和四次挥手
- http的发展,http2中怎么解决队头阻塞问题的
- http和https的区别,http加密的方式
- 获取到资源后,页面是如何渲染的,(dom、cssom、layout tree、绘制表、分层、栅格化、合成器帧)
- 为什么建议用transform制作动画
js代码的运行
- 如何创建执行上下文
- 一些基础api(call、bind、apply,new)
- Event Loop
垃圾回收
最后执行完成后,如何进行垃圾回收
面试
建议先选几家公司试水,当然如果对自己非常有信心,可以直接去面想去的公司,
选面试公司根据目标公司选,比如如果想去大厂,选练习公司的时候,D轮融资及以上的(我选公司的比较简单粗暴)
觉得自己找到面试的状态,可以去面目标公司
在面试心态方面,我觉得就当交流吧,不用太紧张,即使面试没过,也没啥的
面试总结
建议面面试完了,立马做下面试总结(文字)。
当然这儿需要有取舍,因为不同公司问的问题重复度是相对角度,总结下来可能比较杂。
最后,大家什么问题可以留言,祝大家面试顺利