1.前言
开此贴记录下自己的面试经历以及给一两年左右经验的职场新人面试作为参考。博主一本刚刚过线,上的二本学校,对于985,211的以及想进大厂的各位等没有太大的参考价值(建议去牛客上看看大厂面经)。博主之前在东北工作,因为原来公司的部门暂时没有新项目的原因,打算换一份新工作。主要是感觉上班一年并没有多少进步,所以来到南方的一个新城市,想要开启一段新职场生活。在公司实习了大概一年,工作大概一年,差不多有一年半的工作经验。
2.面试准备
大学阶段学习的后端,进入公司后因为项目转去学习了前端。学习之后发现自己确实对前端更感兴趣,也是确定了自己的的方向,目前主攻前端。
上次面试还是在大三下校招面试的后端,所以第一次社招面试前端有点慌。所以是辞职完准备了大概半个多月。我个人也比较喜欢集中一段时间去准备学习。
3.准备方向
准备面试的方向就是做好一份优质的简历,准备一段自我介绍,回忆自己所过的项目和项目中你做过的重难点,尤其是重难点非常容易被问到,以及最重要的八股文!很多人其实不太喜欢去看和背八股文,觉得实际开发中用不到,但是背下来发现其实八股文对于夯实自己的基础知识及掌握一些基本原理都非常有帮助,大部分公司面试时候也会考面试者八股文,你每多答上一道题,得到offer的几率就会更大。目前前端技术栈需要准备的面试方向:
- Html
- CSS
- JS
- ES6
- 框架相关知识(Vue,React等)
4.面试题汇总
总共面试了大概18家(两次,后面解释原因),会将自己准备的和面试中比较高频的题目列到下面。 (暂时汇总了一套答案,先不放上来,字太多了...)
HTML/CSS面试题:
1.html5新特性 css3新特性
2.什么是浮动,怎么清楚浮动
3.说一说flex布局
4.css选择器权重
5.position定位
6.外边界重叠
7.BFC
8.垂直水平居中
9.行内元素和块级元素的特点,有哪些常用的标签
10.本地存储,localstorage,sessionStorage,cookie区别
11.重绘和回流
12.伪元素和伪类的概念
浏览器:
1.浏览器怎么渲染网页的?
2.常见的浏览器的内核?
3.你是怎么理解浏览器内核的?
4.浏览器缓存(强缓存和协商缓存)
网络协议
1.常见状态码
2.输入一个url到显示出页面中间发生了什么?
3.http协议和https协议
4.了解过websocket协议吗
5.跨域问题了解过吗
JS
1.变量类型有哪些?怎么判断变量类型?对象和数组怎么判断?怎么理解的原型链
2.let,const和var声明变量的区别(变量提升,暂时性死区)
3.怎么理解面向对象?
4.promise和async await的区别
5.js事件循环的概念?宏任务和微任务
6.闭包的概念,应用场景
7.怎么改变this指向?call apply bind区别
8.继承的方式(了解两种即可,es5和es6的)
9.map set
10.防抖和节流
11.js中循环的方式有哪些?
12.foreach和map的区别
13. es6你都了解哪些(知道什么说什么越多越好,面试官会根据你回答的内容进行扩展提问,提前准备好)
Vue:
生命周期
组件传值方式
v-for和v-if的优先级
为什么要在v-for的时候加入key
watcher和computed的区别
vue3.0的新特性
vue路由
vueX
响应式和双向绑定原理
nextTick原理
keep-alive
常用指令
5.建议
- 选择 我第一次面试十家公司,大概拿到六家offer,但是最后选择不是很好,入职公司后发现只有自己一个人,项目啥的根本做不完也做不来,大概工作一个月又离开了,之后第二次大概面试八家,通过两家,慎重选择后进入的比较靠谱的公司。
- 心态 第一次因为面试邀约很多,通过率也很高,所以第二次求职时候面对一周只能约上三个面试并且通过率低的情况有些着急。心态不是很好,后续也算了解了原因,第一次是在十月份求职,机会多,第二次在十二月份,基本公司不是很缺人,很多只是hr为了过kpi要你去面试,等到一月份,很多公司为了年后做准备,我的boss上面两天基本又是99+的情况了。所以大家不要着急,放平心态,了解下当前市场需求,可以尽量选择机会多的时候进行求职。
- 裸辞 对于裸辞,我认为有利有弊,我上面也说了喜欢有充分的准备时间,所以就裸辞了,后来其实发现自己积蓄不是足够的情况下,压力越来越大。到后面会产生要不就先随便找个班就上了的想法。这肯定是不对的。所以说裸辞的话需要有足够的积蓄和良好的心态。
- 基础 对于经验一两年的人来说我认为最重要的就是基础!面试的时候大多数面试官知道你经验不足,主要考察你的基础和一些思辨能力。所以就是一定要打好基础尤其是js,地基打好才能筑起高楼大厦。
最后希望大家都能拿到想要的offer,有一份顺心的工作!