前言
年前准备换工作,总结了一波面试最频繁的面试问题跟大家交流。此文章是关于浏览器的常见问题,大概面试10家遇到6家提问类似问题(主要是大厂和中厂)。目前入职滴滴出行成都团队。
一面
-
6道基本技术问题,居中、闭包、块级元素和行内元素等(答案在下方)
-
某个项目的页面布局方式,缓存的设计和优化方式(本地存储和协议相关的)
-
ajax 的原生写法(创建 XHR 对象, open() , setRequestHeader() , send() , onreadystatechange )
- vue-router 的原理( hash , HTML5 新增的 pushState )
二面
面试官:“你觉得你擅长CSS还是JS?”
我:“JS。”
面试官:“好,那我问你一道CSS的问题。”
我:“???”
- CSS 三栏布局,左右定宽,中间自适应( flex , grid 等)
- 解释构造函数、对象、原型链之间的关系
- 手写代码,实现原型式继承
- 手写代码,实现借用构造函数
- Vue 双向绑定原理(事件监听, getter 和 setter )
- Virtual DOM 和 diff 算法( DOM 树,分层比较, key , DocumentFragment )
- jQuery 链式调用的原理(jQuery链式调用)
- 最近碰到的技术难题,不一定是前端(我答了B站的爬虫与反爬虫)
- 关于反爬虫,请求头中的这两个字段要修改。Host :
- 发出请求的页面所在的域。
Referer :
- 发出请求的页面的 URI 。
注意, HTTP 规范将这个头部字段拼写错了,而为保证与规范一致,也只能将错就错了(这个英文单词的正确拼法应该是 referrer )。
HR面
HR小姐姐似乎对我们学校挺熟悉的,但好像不是校友…… 谈一谈过去做过的项目、面对的难题(和UI的沟通问题,顺便引出我后来自学了平面设计。)
- 又提了提爬虫
- 家在哪里(照实回答就行)
- 未来职业规划(表示出你想在公司长久待下去,继续进步就行)
- 具体的技术发展方向(我答的是“能支持上亿用户使用的前端架构”)
- 为了往这个方向发展,你所做的努力(我答的是“在看《高性能网站建设》、自学后端,顺便提了一下‘东北Java第一人’姜国海老师”)
- 预测一下前端未来的发展趋势(我答的是“自动化”)
- 拿了哪家的offer?(……还是照实回答吧)
实习时间(我建议把时间段说得宽松一些,到时候真的冲突再商量)
对于面试题我刷了这套比较综合的前端面试题,很多内容面试官都问到了,当然我也刷了其他很多的面试题,总的来说还是这套重合率比较高哈哈
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 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】