字节跳动前端凉经

滴,体验卡加一,面试官辛苦了
问项目
1.websocket兼容性问题
socket.io的解决方案,首选WebSocket,如果不支持则会使用下面的替代方案:
  • Adobe Flash Socket(在页面中内嵌入一个使用了Socket类的 Flash 程序JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript在收到服务器端传送的信息后控制页面的显示。优点:实现真正的即时通信,而不是伪即时。缺点:客户端必须安装Flash插件;非HTTP协议,无法自动穿越防火墙。实例:网络互动游戏)
  • Ajax long polling
  • Ajax multipart streaming(Ajax请求被发送给服务器端并保持打开状态(挂起状态),每次需要向客户端发送信息,就寻找一个挂起的的http请求响应给客户端)
  • Forever iframe
  • JSONP polling(基本上与HTTP轮询一样,不同之处则是JSONP可以发出跨域请求)
2. HTTP与websocket的不同
3. axios自定义头部
4. axios的拦截器
5. 微信小程序如何写的
6. 微信小程序调用接口的原理(没搞明白问什么)
7. 微信小程序和h5的区别
8. express的中间件
9.项目有没有部署
10.有没有遇到跨域
11.proxy实现原理
12.promise的三种状态,如何取消一个promise
13.一道题目,类似这种,说除实际渲染的宽度,说一下盒子模型
    <style>
        div{
            width:100px;
            height:50px;
            box-sizing:border-box;
            padding:0 10px;
            border:1px solid red;
            background:black;
        }
    </style>
    <div></div>
14.flex布局,flex:1
15.react生命周期
16.diff算法,如何改动,类似
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

<ul>
    <li>1</li>
    <li>3</li>
</ul>
17.输出顺序,类似这种
    for(var i=0;i<3;i++){
        setTimeout(function(){
            console.log(i)
        })
    }
    new Promise((resolve,reject)=>{
        console.log('promise1')
        for(var i=0;i<1000;i++){
            if(i==999){
                resolve()
            }
        }
    }).then(()=>{
        console.log('then')
    })
    console.log('5')
18.new操作符内部实现
19.实现方法
var str='abc'
str.fulfills()为'abcabc'
20.用reduce实现
[{name:'a',value:'a'},{name:'b',value:'b'}]
实现
{'a':'a','b':'b'}
let newstr=str.reduce((aur,cur)=>{
   aur[cur.name]=cur.value
    return aur
},{})
21.统计字符串出现字符最多的元素











#字节跳动##校招##面经##前端工程师#
全部评论
楼主流程是在几面啊_(:з」∠)_
点赞 回复
分享
发布于 2020-09-05 14:20

相关推荐

点赞 22 评论
分享
牛客网
牛客企业服务