字节跳动前端一面面经
20200515字节跳动前端一面视频面试60分钟
1.自我介绍
2.详细介绍一下项目,各种功能都说一下
3.混合开发、小程序了解吗?
4.vue-router实现原理;hash跟histroy具体指什么
5.介绍一下vuex以及使用场景;更改state的方法
6.vue组件之间的通信
7.storge介绍一下,有什么区别?和cookie的区别是什么?cookie的字段介绍一下;介绍一下同源策略
8.TCP和UDP区别,TCP怎么保证传输可靠
9.JSON数据格式介绍一下,JS转JSON时要注意什么?对象转为JSON什么情况下JSON.stringfy会报错?
10.CSS的尺寸单位,分别介绍一下;移动端适配可以用哪些单位?
11.dom事件流,事件监听在什么阶段触发?dom上直接设置onclick跟addeventlistener的区别
12.(编程题)EventEmitter的实现。要求:两个方法on(eventname,callback),trigger(eventname,params),on绑定可以给eventname绑定多个callback,trigger触发eventname的callback,params是参数。另外口述了如何实现once功能(callback只允许调用一次)
function EventEmitter(){ this.eventList = {} } EventEmitter.prototype.on = function(eventname, callback){ if(!this.eventList[eventname]) { !this.eventList[eventname] = [] } this.eventList[eventname].push(callback) } EventEmitter.prototype.trigger = function(eventname, params){ if(!this.eventList[eventname]){ for(let i = 0; i < this.eventList[eventname].length; i++) { this.eventList[eventname][i](params) } } }13.反问环节
(嗯...问的东西不咋多,面试官人蛮好的。这种类型的编程题我还是第一次遇到,不过面试官也是在一步一步引导我,非常感谢嘿嘿嘿嘿嘿)
#字节跳动##前端工程师##实习##面经#