web前端最近几年还是非常火,需求也比较大,且相对后端来说,web前端对非计算机专业同学门槛会更低一些,因此,不少同学转web前端坑。本文整理了腾讯几个部门web前端(vue方向)的面试题以及一些解答,希望对web前端同学有一定帮组。
一、JS/HTML/CSS
web前端三马车的问题问的比较少,可能跟网上有点多有关。
1.讲讲对promise的理解?
网上有
2.讲讲对d3的理解,讲讲d3与echarts的区别
1) d3正如其名 Data Driven Documents,其本质是将数据与 DOM 绑定,并将数据映射至 DOM 属性上;
2) d3与echarts的区别:
- d3通过svg绘制图形,可以自定义事件。svg不依赖分辨率,继续xml绘制图形,可以操作dom。支持事件处理器,复杂度高,会减慢页面的渲染速度。
- echarts通过canvas来绘制图形,用户通过配置 options 参数,就可很容易绘制指定图表。canvas依赖分辨率,基于js绘制图形,不支持事件处理,能以png或者jpg的格式保存图片。
3.前端需要注意哪些seo(搜索引擎优化)?
- 合理的title、description、keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超过2次,而且要靠前,不同页面title要有所不同;description把页面内容高度概括,长度合适,不可过分堆砌关键词,不同页面description有所不同;keywords列举出重要关键词即可
- 语义化的HTML代码,符合W3C规范:语义化代码让搜索引擎容易理解网页
- 重要内容HTML代码放在最前:搜索引擎抓取HTML顺序是从上到下,有的搜索引擎对抓取长度有限制,保证重要内容一定会被抓取 重要内容不要用js输出:爬虫不会执行js获取内容
- 少用iframe:搜索引擎不会抓取iframe中的内容
- 非装饰性图片必须加alt
- 提高网站速度:网站速度是搜索引擎排序的一个重要指标
4.面试过程手写三角形的CSS样式
网上有,有几种写法。
二、VUE
1. vuex原理
- vuex的store有State、 Getter、Mutation 、Action、 Module五种属性;
- state 为单一状态树,在state中需要定义我们所需要管理的数组、对象、字符串等等
- getters 类似vue的计算属性,主要用来过滤一些数据。
- mutation 更改store中state状态的唯一方法就是提交mutation,store.commit。
- action actions可以理解为通过将mutations里面处理数据的方法变成可异步的处理数据的方法,简单的说就是异步操作数据。view 层通过 store.dispath 来分发 action。
- module module其实只是解决了当state中很复杂臃肿的时候,module可以将store分割成模块,每个模块中拥有自己的state、mutation、action和getter。
- </