后浪,你摆摊了吗?
时至6月,新冠影响渐小。
虽然今年注定是全世界的经济寒冬,但地摊还是要摆的,面试也是也要去的。
先说下本人的情况:坐标上海,三非本科(非双一流非计算机专业),三年多年前端老菜鸟,小公司在职,技术栈Vue + ElementUI。本来打算年后跳槽的,被疫情逼到了年中。五一开始做面试准备,主要投递渠道是Boss, 历经近一个月时间,先后面试了有七家(不包括电话面试),拿到三家offer。在此向大家做一次面试报告,也是自己的阶段总结。
正文
先写面试经历及面试问题,后附自己的一些答案。请按需查阅。
公司A
公司情况:
大厂
只能说我胆子比较肥——刚开始就撞到了新BAT头上。这个是猎头推荐的。做了一些准备,果不其然还是栽了。一面是视频面面试,面试官是非常nice的,会根据个人简历去提一些问题,基础知识较多,要手写代码!要手写代码!要手写代码!
问题:
三栏布局的实现及优缺点
文字单行显示/三行显示
重绘和回流
手写斐波那契数列及其优化
查看代码输出,什么是宏任务和微任务,都包括哪些?
编写javascript深度克隆函数deepClone
Vue路由的两种模式,介绍其原理和优缺点
编写js事件绑定函数
constEvent = {on() {}// 绑定off() {}// 解绑trigger() {}// 触发事件};复制代码
手写去重函数
constarr = [1,'1','1','NaN',NaN,'NaN',{a: 1},'{a: 1}',{a: 1}]复制代码
Vue里面 mixin/自定义指令/v-if/ diff算法
结果:
挂了
收获:
由于准备不足(我菜我不说),加上有一些知识平时没有认真做储备,磕磕巴巴的答完了大部分问题,异步/mixin/diff之类没深入了解过,好在面试官很nice,会一步一步引导你思考——然而还是挂了。
得到的教训就是:不能光满足于做一个coder(CV工程师?),知其然也要知其所以然,基础很重要,理解很重要,最重要的还是能把你想说话的清晰的表达出来。
公司B
公司情况:
外包公司的一个业务部门,做的是自己项目,需要中高级前端配合后台实现(本身无前端)
一面:
由于本部门没有前端,他们从其他部门借了一个前端leader(估计高级)来做面试官。可能因为对他们项目不是特别了解,着重考察基础。
问题:
HTML语义化
CSS3新特性
重绘和回流
闭包及其应用
ES6新特性,追问了let、promise、class 等
简述webpack配置项
你所知道的排序算法,及其实现方式
Vue组件传参的几种方式
……还有很多关于js对象的一些API之类
二面:
一面完了就是直接进的二面,二面面试官是本部门的架构师(很有范),主要聊得是项目和一些问题解决方案。
为什么跳槽
基于项目需求,如何需求调研,选择合适的框架及方案,详述过程
做技术为什么考PMP(我简历上有写,比较关心能不能踏实做技术)
工作中遇到最困难的问题是什么
有没有带过团队
以后的职业规划
HR面:
然后就进入HR面,HR是个身材很棒的小姐姐(带着口罩没看到脸)
什么时候能入职
期望薪资多少
……口水话
结果:
拿到了offer,但是薪资没达到期望值,拒了
收获:
很有收获的的一次面试经历,增加了见识,也给了我一定的信心。面试毕竟是一个双向选择的过程,能遇到一些值得学习的人,思考一些平时没想过的问题,也是一次不错经历。
公司C
公司情况:
小公司,做自己项目,有两个前端(都很年青),估计要招个前端leader,但是JD并没有写
面试:
公司十几个人的规模,是总经理在boss上发的面试邀请,离我住的地方颇近,所以还是很感兴趣的。但是不知道是领导不在还是其他原因,派出两个小朋友做面试官。
这段面试经历并不是很好。两位面试官他们估计没什么经验,也没有准备好需要问的问题。问的一些话语焉不详,还有就是拿工作中的一些问题来提问构思……
结果:
也许相互都不是特别满意,没下文了
收获:
很糟糕的一次面试经历。
公司D
公司情况:
中型公司,做政府项目
一面:
同样不是特别愉快的一次面试经历。
面试定的是下午两点,我提前十分钟到的。然而同一块来的有1个前端,3个测试,6个后台(压力颇大)——他们的HR把所以有人订在了同一时间?!然后前台让大家排排队领个人信息表,现场打印面试题……一波操作20分钟过去了,然后就是半个小时做题,做完了等着被面试。。。
等到接近四点我才被通知可以面试——来都来了,就面一下咯——出来面试,心态要好。然后最骚的操作来了,我被HR带到一间小办公室,里面只有一台电脑—— 面试官在远程面试 。当时心里一万匹草泥马跑过……但是,来都来了……
问题:
做下自我介绍
用户登录流程及权限判定,用户信息存储
路由跳转,页面如何刷新
介绍下平时工作内容及流程
介绍个人工作经历
发了一个闭包的题看输出
会不会React
有什么想问我的
面完第一件事告诉HR——如果有二面,而且还需要远程的话,烦请提前电话告知(我真有礼貌(⊙o⊙)…)
二面:
二面是晚上下班在家视频面试的(微信群聊)
定的8点,面试官迟到十分钟。HR跟我说是老总面试,我以为要聊项目, 吹牛B 谈理想(一面基本都没怎么问),结果碰到了一个很接地气的老总。
问题:
说说盒模型类型及区别
div垂直居中
怎样写一个可拖曳的div,怎样将他拖到其他节点内
Vue生命周期
Vue路由守卫
Vue组件传参
现场画一个三行三列自适应布局
结果:
拿到了offer,但是由于对该公司的观感和上班距离原因,拒了
收获:
很奇葩的一次面试经历,长见识的那种。
公司E
公司情况:
中大型公司(听过名字那种),做内部项目,JD要求资深
面试:
很舒适的一次面试(可能我是自虐狂)。
HR是个大帅哥(很少见男性又很帅的HR),公司很多人,有些嘈杂。面试直接是在门口待客小桌子上进行的。面试官居然老乡,很厉害,问的非常详细,由浅入深——基本上对所有前端知识做了一个梳理。
问题:
HTML语义化
用过的一些HTML5标签
和 import的作用及区别
盒模型分类和区别
绝对定位和相对定位
BFC定义/作用/触发条件
display的属性
选择器优先级
三栏布局
ES6语法:promise/箭头函数/class
闭包的用法和作用域
原型链,实现继承的方法
异步及其解决方案,宏任务和微任务及其流程
跨域
实现深拷贝
实现promise
http的GET和POST区别/状态码
http的GET和POST
Vue生命周期/组件通信/响应式实现/路由模式/路由守卫
webpack的打包原理、常用的loader和plugin,以及一些常用配置
node.js的异步操作
TypeScript的认识
前端微服务的实现方法
有没有带过团队
你最擅长什么领域
前面回答基本没问题,但到后面webpack、node、微服务那一块,就有些捉襟见肘了。不过面试官很有耐心,每个回答都是记录,不清楚的也很耐心的解释。经过沟通发现,他这几天面了很多人了。。。
一面面试官对我的评价不错(也许是老乡加成),然而被很遗憾的通知二面面试官没时间。。。
结果:
挂了
收获:
很有收获的一次面试,面试官给了很多指导性意见及建议,自己对 资深 有了更切身的认识,也明确了进一步学习的方向。
公司F
公司情况:
中小型文创公司
面试:
面试官:接受996吗?
我:请问贵公司招聘预算多少?
结果:
这是我面试时间最短的一次面试。
收获:
很感谢面试官的单刀直入,避免了浪费大家时间。
个人可以接受加班的,赶项目的话义务加班也可以,但我真不想进ICU。
公司G(最终入职)
公司情况:
创业公司
电话面试:
面试官应该是看着我博客来面的我,一开始问的是一些基础知识,后来就问项目。问题就不一一列举了,跟之前列的大都重复,毕竟前端知识虽然比较杂,主要知识点还是可以抓住脉络的。
一面:
现场一面也是没有太多的问题,小姐姐很随和,没问过多关于技术的问题,因为之前电话都聊过了,主要聊得一些就是怎么入行,平时工作遇到的问题,解决方案,平时下班都做什么,个人发展规划,写博客什么感受,最近在学什么,对加班的看法……诸如此类
二面:
二面是应该是技术总监,主要问的就是关于平时的学习(我自己介绍有说这些),平时的一些学习路径、个人发展规划及期望。
三面:
三面是公司CEO和HR一块面的,主要问的就是关于项目的问题,个人负责的的模块,关于一些项目选型的问题,还有一些项目上线的流程,临场问题的解决方案,为什么想跳槽,对公司的期待,还有一些公司的介绍。
结果:
隔天拿到了offer,蛮喜欢公司氛围的,大家都比较随和。比较期待入职。
收获:
待入职公司也是希望找一个能干活的前端。希望首先将分内工作做好,多接触些其他的业务(类似多端、小程序、app之类),踏踏实实积累沉淀,提升技术,熟悉业务,深入行业,争取做一个斜杠青年。
总结
以上即是本次面试历程的一些总结了,有详有略,应为有的面试我有录音做复盘,有的不方便或忘记录了,就全靠记忆,可能有的地方有些遗漏,见谅哈。
通过这几场面试下来,感觉今年的就业压力其实蛮大的。当然,是金子总会发光,人才在哪里都不愁找工作——所以说小伙伴们加油啊——不要怂,盘它!
个人现在的定级在中级+左右,在上海来说,大厂的薪资相对会高一些,不过对基础及算法的要求也高一些;小公司的话,对算法的要求不高,浏览器原理和JS、ES占的比例较大,框架其次,最好还要有些项目打包经验。
写这篇博客呢,主要是自己 水一篇博客 做个阶段总结,如果能帮助到大家是最好了。
建议
最后对小伙伴们提些建议:
平时的积累很重要:工作中遇到的一些问题及其解决方式,我们可以记录下来,抽空做个总结。最好就是找个平台写博客,掘金、GitHub、博客园、CSDN都可以,好记性不如烂笔头,自己写一遍比看一遍好使的多。在线博客不进方便自己查阅,面试玩意碰到记不太清的知识点还能说——我博客上有总结过。
简历不要给自己挖坑:会啥就写啥,写啥就会啥。正常的面试官都会根据简历来提问,所以简历上不要出现自己不懂的名词——不懂就去查,去背,哪怕不特别理解到时候也能说个一二三来。不然一问三不知真的尴尬。
面试之前要做准备:面试就是考试,考试我们就得复习。前端的知识体系还是很明朗的——页面、样式、JS、框架、项目打包及构建,先掌握自己拿手的,然后扫除盲点。
别在一个坑掉进去两次:和面试官切磋,为了了解目前的就业形势。了解并正视自己的不足;当这个面试有些问题你答不上来时,没关系,回去查资料,看视频,做复盘,一定要记住它,下次你就可以游刃有余了。怕忘的话可以录音。
不要裸辞!不要裸辞!不要裸辞!:重要事情说三遍,如果有房贷车贷的话,裸辞找工作压力真的很大——手里有粮,心里不慌。当然,土豪随意……
尽量不要把时间线拖太久:一边上班一般找工作是蛮辛苦的,要想请假理由,下班要准备面试。所以要一鼓作气,尽量突击半个月多拿几家offer,时间线拉太长可能会懈怠(我就是拖得有些久了)。尽量有选择则的、找匹配(薪资、能力、通勤之类)的公司去面试,决不能接到面试邀请就去,不然只是浪费自己的时间。
端正心态,坚持学习:技术日新月异,框架层出不穷。既然选择了这个行业,就要端正心态,努力学习,提升技术,熟悉业务,深入行业,别让后浪拍死。
有更多想了解的朋友,
一、搜索QQ群,前端学习交流群:1093606290
二、[https://jq.qq.com/?_wv=1027&k=MlDBtuEG](https://links.jianshu.com/go?to=https%3A%2F%2Fjq.qq.com%2F%3F_wv%3D1027%26k%3DMlDBtuEG)
三、
![image](https://upload-images.jianshu.io/upload_images/23679051-e92e41e31efc78cb.jpg?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)