开始
我大学读的是大专,在学校学的是机电一体化。临近毕业的时候选择了学习web前端技术,因为做机电实在又累工资又低,而我更喜欢坐办公室的工作,有空调吹,我很现实,就是想多赚一点钱。到现在做了两年前端的小程序员,月薪是13K,经历过两次跳槽,第一次跳槽拿到了10K的offer,第二次跳槽拿到现在13K的offer。
选择学习前端之前我也有想过要学什么,最后我为什么选择学习前端呢,因为当时这门技术比较火,自己对于计算机也是有兴趣,薪资待遇也不错,并且相比较java后端,前端更容易入门。
在学习过程中也有遇到许多问题,比如边学边忘,当时觉得教程中的内容自己都可以听懂,并且可以模仿写出代码,完成作业。但是过一段时间重新做题,我发现自己忘得一干二净,后来一个前端大佬提醒我,学习要时常进行复习和把学到的知识应用到真实的场景项目中。
还有一个很重要的问题就是学习心态爆炸的问题,主要是因为遇到一个问题无法解决,自己琢磨了五六个小时都看不出是什么问题,一天的时间都花在这个小问题上面,就会觉得自己笨,自己不行,对自己产生了严重的怀疑。而这种情况几乎是每天都发生,因为自己从未接触过这方面的知识,所以根本找不出问题在哪里。确实走了不少弯路,不过好在自己坚持了下来。
面试题
HTTP、浏览器
1,浏览器存储的方式有哪些
2,对前后端跨域可以说一下吗?如何解决跨域的?
3,浏览器 cookie 和 session 的认识。
4,输入URL发生什么?
5,浏览器渲染的步骤
6,页面渲染优化
7,强制缓存和协商缓存
8,GET 和 POST 请求的区别
9,HTTP1.0 / 1.1 / 2.0 及HTTPS
10,介绍下304过程
11,HTTP 状态码
12,Web性能优化
CSS
1,盒模型
2,如何实现一个最大的正方形
3,一行水平居中,多行居左
4,水平垂直居中
5,两栏布局,左边固定,右边自适应,左右不重叠
6,如何实现左右等高布局
7,画三角形
8,link @import导入css
9,BFC理解
JS
1,判断 js 类型的方式
2,ES5 和 ES6 分别几种方式声明变量
3,闭包的概念?优缺点?
4,浅拷贝和深拷贝
5,数组去重的方法
6,DOM 事件有哪些阶段?谈谈对事件代理的理解
7,js 执行机制、事件循环
8,介绍下 promise.all
9,async 和 await,
10,ES6 的 class 和构造函数的区别
11,transform、translate、transition 分别是什么属性?CSS 中常用的实现动画方式,
12,介绍一下rAF(requestAnimationFrame)
13,javascript 的垃圾回收机制讲一下,
14,对前端性能优化有什么了解?一般都通过那几个方面去优化的?
Vue
1,Vue 双向绑定原理,
2,描述下 vue 从初始化页面--修改数据--刷新页面 UI 的过程?,
3,你是如何理解 Vue 的响应式系统的?,
4,虚拟 DOM 实现原理,
5,既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?,
6,Vue 中 key 值的作用?
7,Vue 的生命周期,
8,Vue 组件间通信有哪些方式?,
9,watch、methods 和 computed 的区别?
10,vue 中怎么重置 data?,
11,组件中写 name 选项有什么作用?
12,vue-router 有哪些钩子函数?
13,route 和 router 的区别是什么?
14,说一下 Vue 和 React 的认识,做一个简单的对比
(1)监听数据变化的实现原理不同
(2)数据流的不同
(3)模板渲染方式的不同
15,Vue 的 nextTick 的原理是什么?
(1)为什么需要 nextTick
(2)理解原理前的准备
(3)理解 nextTick
16,Vuex 有哪几种属性?
17,vue 首屏加载优化
18,Vue 3.0 有没有过了解?
19,vue-cli 替我们做了哪些工作?
最后
资料过多,篇幅有限
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。