字节商业化技术提前批前端一二三面,已oc

一面8.4,二面8.5,三面8.12,oc 8.18

人生第一次面试,其实挺紧张的,问的感觉都知道,但是我太菜了说着说着就不知道还有啥可以说了,然后就和面试官面面相觑(感谢面试小哥不杀之恩)
面了40min左右,题目如下,顺序不固定(有些忘记了,想到什么写什么)

1、css盒模型,对应css属性和值是啥
2、常见状态码及其含义
3、get/post的区别
4、xss攻击原理及其防御方式
5、vue中key的作用
6、回流重绘含义,如何优化
7、代码题:请为所有数组对象添加findDuplicate(n)方法,用于返回该数组中出现频率大于等于n的元素列表
8、问输出
var F = function () { }
Object.prototype.a = function () {
    console.log('a')
}
Function.prototype.b = function () {
    console.log('b')
}
var f = new F();
f.a();//a
f.b();//会报错,因为没有没有f.b
F.a();//a
F.b();//b
9、问输出
var A = { n: 1 };
var B = function () {
    this.n = 2
};
var C = function () {
    var n = 3
    };

B.prototype = A;
C.prototype = A;
var b = new B();
var c = new C();
A.n++
console.log(b.n);//2
console.log(c.n);//2
10、箭头函数和普通函数的区别
11、Map和Set的区别(就说了一点存储数据的区别,别的还真不知道)
接着又问Map和Weakmap的区别,null能不能作为Weakmap的键(我还是不知道,一会去试试看)
12、常用的git命令及其含义
13、应该还有啥的,但是我不太记得了,就酱吧qwq

补:1、还问了如何不使用额外变量交换变量a,b的值
2、vue中组建通信的几种方式


-----------------------------我是分隔符----------------------------------

二面约的8.5,人生第二次面试,充分体验到了自己的菜,觉得面试小哥都已经看不下去了qwq

1、自我介绍
2、做过哪些项目,说一说
3、咦?你不是来应聘实习?那给你出几个题目吧
给定一棵树,请你输出所有从根节点到叶子节点的路径组成的数字之和
   let tree = {
        val: 1,
        left: {
            val: 2,
            left: {
                val: 4,
                left: null,
                right: null
            },
            right: {
                val: 5,
                left: null,
                right: null
            }
        },
        right: {
            val: 3,
            left: null,
            right: null
        }
    }

// 例如以上的树,总共有从根节点到叶子节点的路径3条,分别为:1->2->4,1->2->5,1->3
// 则计算方法为:124+125+13=262
原谅我一开始看错题目了,组成的数字之和是124而不是1+2+4=7,然后又跑回去改,磨磨蹭蹭下写完了
4、问输出
async function async1(){
  console.log('async1 start');
  await async2();
  console.log('async1 end')
}

async function async2(){
  console.log('async2')
}

console.log('script start');

setTimeout(function(){
  console.log('setTimeout')
},0);

async1();

new Promise(function(resolve){
    console.log('promise1');
    resolve();
}).then(function(){
    console.log('promise2')
});

console.log('script end')
5、写代码
实现一个EventBus(发布订阅模式),具有on, emit, off 方法
```
const emitter = new EventBus();

function onFoo(e) {
  console.log('foo', e);
}

function onBar(e) {
  console.log('bar', e);
}

emitter.on('type', onFoo);

emitter.on('type', onBar);

emitter.emit('type', {a: 'b'}); // foo {a: "b"} bar {a: "b"}

emitter.off('type', onBar);

emitter.emit('type', {a: 'b'}); // foo {a: "b"}

6、嗯,既然你写完了那我们来问问基础?
7、BFC知道吧,讲讲
8、vue源码看过没(没看过,但看过一些对源码的分析)
9、vue3源码看过没,它相比于vue2有哪些优势?(讲了点composition api的好处,响应式的区别,但其实我真没特别了解过)
10、vue3的性能优化了解吗(不了解)
11、node用过没(没用过),express,koa框架知道不(不知道)
12、serverless  xxxx(没听清)听说过没(没听说)
13、微前端有了解吗(不了解)
14、有写过公共组件库吗?(没写过)
15、ES6的模块化,AMD,CMD知道吗(不知道)

反问:说实话最后几题下来我已经没脸反问了,问啥啥不会,知道自己大概率是凉了,但还是反问了一下对以后学习的建议,就建议多了解了解业内的新技术,拓宽视野,不要只局限在基础
qwq秋招加油吧,这段时间要好好学习新技术相关的,还要多了解了解node


------------------------我是又一个分隔符--------------------------------
hr打电话来约三面了,没想到我能过二面,好好准备吧,下周五下午四点,冲冲冲
-------------------------------分隔符++--------------------------------------------------------
三面提前了一天,毫无思想准备就突然被拉上去面试了😂

1、自我介绍
2、项目+项目追问
3、浏览器输入url之后发生的全过程,这是主问题,后面的问题全是追问
DNS解析开始,这部分我仓促之下一开始答错了,本地域名服务器应该先去找根服务器,一激动说成了顶级域名服务器,后面才反应过来
追问3.1:顶级域名服务器是一个集群吗?(emm,之前有了解域名服务器分为主域名服务器,和辅域名服务器,不知道是不是想问这个,但是看反应好像是答歪了qwq)
追问3.2:HTTPS握手的过程
追问3.3:TCP握手过程
追问3.4:https加密方式
追问3.5:我提到了非对称加密要比对称加密的时间代价更高,问为什么更高,有了解过非对称加密的原理吗?
追问3.6:客户端断开连接的时机?(这块我不太明白,我以为是问tcp四次挥手,然后我就说客户端数据发完了就可以断开连接了,小哥笑了笑,于是就有了下一个问题,其实还是不太明白 ̄□ ̄||)
追问3.7:http1.1中connection:keep-alive有什么作用(为了使http请求能够复用已经建立的TCP连接)
追问3.8:http2多路复用解决了什么问题(引入帧的概念,解决队头阻塞)
追问3.9:http3了解过吗,也叫QUIC协议
追问3.10:https数字证书的作用说一下(解决中间人攻击,然后说了说数字证书的操作方式)
追问3.11:那如果中间人攻击不是更换客户的公钥,而是劫持了数字证书,发了个假证书过去怎么办呢(啊这。。。。我试图说明这样好像是不合理的,但是小哥举了个例子说这也是可能发生的,emm)
追问3.12:知道CSRF攻击吗,有哪些防御方式,我说了Referer,小哥说这个字段也是可以被更改的,于是又说了samesite的几种模式,以及双重认证(token或者干脆把cookie放到url里带上),有问CSRF具体是怎么操作的,我举了个例子说明了一下,但是不知道举得恰不恰当。。。
大概是这么多追问,一直想不起来更多的了
4、为什么想来字节?
5、为什么想学前端?
6、之后的学习规划?

反问:部门业务+技术栈+面评,之前项目追问问到后端的一些东西,不知道该怎么回答,说也要对服务端的知识做了解
面试的时候全程脑袋有点懵,希望能过吧,其实应该再问一下为什么三面不考算法的,不考算法我总觉得很慌😂,希望能有个好结果~
#字节跳动内推提前批##面经##校招##字节跳动##前端工程师#
全部评论
tql
1 回复 分享
发布于 2021-08-04 21:17
楼主手写的实现了嘛
点赞 回复 分享
发布于 2021-08-05 12:23
lz面试的不是实习吗?
点赞 回复 分享
发布于 2021-08-05 18:55
校友😶
点赞 回复 分享
发布于 2021-08-06 22:18
同学,三面后有HR联系你吗😂
点赞 回复 分享
发布于 2021-08-14 07:44
http2.0没有完全解决队投阻塞。应该只是提高带宽的利用率吧
点赞 回复 分享
发布于 2021-09-12 09:51
楼主是商业化哪个部门呀
点赞 回复 分享
发布于 2022-10-11 15:00 湖北

相关推荐

10-31 15:29
青岛大学 Java
Fluffy_ChiXing:全方位复刻,我实习结束后凭回忆,大概把公司项目重建了一遍(只是结构上,不能细究)
点赞 评论 收藏
分享
评论
10
72
分享
牛客网
牛客企业服务