javascript 腾讯ABS云平台面试题及面试经历
1既然说到面试前端肯定是Javascript各种问,只好各种答。 2面试题肯定离不了,最近热门的Vue.js,React.js,Angular.js,Gulp,Webpack还有各种Js问题,还有令人头痛的算法问题,还好统统答上。 3到了腾讯大厦面试官还挺客套,开始让我做了个自我介绍,本想会问面试问题,结果聊了10多分钟的天,然后进入面试。 4直接就问项目当中vue的问题: 5 让我说了一些vue组件的生命周期: 6 new Vue({ 7 el:'.container', 8 methods:{ 9 beforeCreate: function () { 10 console.log('准备创建组件'); 11 }, 12 created: function () { 13 console.log('组件创建完毕'); 14 }, 15 beforeMount: function () { 16 console.log('组件的模板准备挂载到DOM'); 17 }, 18 mounted: function () { 19 console.log('挂载完毕'); 20 }, 21 beforeUpdate: function () { 22 console.log('准备更新了'); 23 }, 24 updated:function(){ 25 console.log('更新完成'); 26 } 27 beforeDestroy: function () { 28 console.log('准备destroy'); 29 }, 30 destroyed: function () { 31 console.log('destroy完成'); 32 } 34 }) 36 面试官又扔过一道题来:vue组件中的updated,和wath那个会在组件更新的时候先触发还好之前自己研究过,要不真不知怎么回答。 37 vue路由的实现原理,vue父子组件通信。 38 问了一下es6 import模块导入问题例如: 39 import {Button,Select} from 'element-ui' 40 有前文可知import会先转换为commonjs即 41 var a=require('element-ui'); 42 var b=a.Button; 43 var c=a.Select;有此可知element-ui全部被引进了; 44 所以babel-plugin-component就做了一件事将 import 45 {Button,Select} from 'element-ui' 转换成了 46 import Button from "element-ui"; ui/lib/button 47 import Select from "element-ui"; ui/lib/select 48 之后又问了Js 存储问题问题这些算是一些老生常谈的问题了: 49 Gulp和Webpack前端自动化工具不一 一列举了 50 (1)本地数据存储:一般存储的都是数据 51 Cookie:浏览器均支持,容量为4KB 52 Web存储机制(Web Storage):H5,容量为5M 53 localStorage 54 sessionStorage 55 globalStorage(Firefox独有,Firefox13起就不再支持) 56 (2)数据库存储: 57 IndexDB 58 Web SQL 59 (3)离线存储(应用缓存):一般存储的是网页 60 Cache Storage:定义在 Service Worker 的规范中,配合 Service Worker 进行离线缓存 61 Application Cache:在定稿的 HTML 5.1 中被拿到了. 62 Javascript一些DOM和BOM问题。 63 跨域有几种方式 64 React 问了一下组件的生命周期和路由有没有用过并没有深问。 65 又问了php后端的问题 只是一些简单的如:cookie session区别 数据库的一些数据查询问题. 66 算法中问了 一些:两个变量在不借助第三方变量的帮助下实现两个值交换,和一些物体碰撞算法。 67 然后问了一些最近关注什么技术:webGl 白鹭之类的引擎也没有什么深问。 68 最后面试官说了一下现在公司项目运用的技术和团队情况。 69 大概面试了1个小时,面试官问了一些薪资待遇和上家公司为什么离职。出来之后天黑了差点迷路还好有百度地图本人可是第一次去深圳啊!