字节前端一面,等通知(大概率凉凉)

知道内推,准备了20天左右,剑指也没刷完,之前刷的leet也忘的差不多了,还是不太好,感觉要一轮游,主要就想说牛客面经还是可靠的,但是有些问题最好还是自己查一查,因为参考回答有的不太完整。
1. CDN是如何优化静态资源加载速度的。
其实不知道,答了印象里的CDN原理,还不是很全。然后追问是怎么进行缓存优化的。这个一脸懵了,然后强行问是不是强缓存和协商缓存,最后就强行改变了题目。
2. 强缓存和协商缓存。
先答了两个的原理和相应的请求过程。然后追问了强缓存和协商缓存的优先级,和除了设置cache-control的maxage还可以怎么设置缓存,答了使用expire字段,然后又追问cache-control和expire的优先级,然后追问ETag和last-modified优先级。
3. get和post的区别(准备时记得还好,答得时候不太完整,提示了传参长度有没有区别)
4. https加密原理是什么,简单介绍一下加密过程(这个答得还可以)
5. 举一个常见的网络攻击方式(有两种xss和csrf,答得csrf,然后追问怎么解决,忘掉了一种方法)
6. 第一道代码题,两个参数的深度克隆22分钟左右结束,由于题目中有个参数不太明白意思,写的过程中有提示,然后边问边提示勉强写完。
实现深度拷贝函数,并支持自定义拷贝
// target 为任意类型的值。
// customize 是一个函数,接受参数为深度拷贝过程中的属性(prop)、值(value),函数返回任意值作为当前属性的拷贝。
function deepCopy(target, customize) {
// your code
}
7. 二叉树所有根到叶子节点路径上所有节点,组成的数字之和。(想了6分钟左右没思路换题)

二叉树每个节点的value范围是1-9,例如:(格式不对就按层次遍历顺序构造这颗树)
1
2 3
4 5
从根到叶子共3条:1->2->4, 1->2->5, 1->3
构成的数字为124,125,13,求和124 + 125 + 13 = 262即为所求
8. Semantic Versioning 是一个前端通用的版本定义规范。格式为“{MAJOR}.{MINOR}.{PATCH}-{alpha|beta|rc}.{number}”,要求实现 compare(a, b) 方法,比较 a, b 两个版本大小。(讲了下思路,写了一半,改了个写法然后被提醒那样有问题,然后就没有了,继续问问题,整个过程13分钟左右)
当 a > b 是返回 1;
当 a = b 是返回 0;
当 a < b 是返回 -1;
其中,rc > beta > alpha,major > minor > patch;
例子,1.2.3 < 1.2.4 < 1.3.0.alpha.1 < 1.3.0.alpha.2 < 1.3.0.beta.1 < 1.3.0.rc.1 < 1.3.0
9. js有哪些数据类型。
10. 双等号和三等号的区别。
11. 重排和重绘。追问一个display:none的元素更改后会重绘或重排吗?
12. 伪类伪元素的区别(没答上来,面经里有相关的,没在意)
13. var let const三者的区别(答得不全)
14. 箭头函数和普通函数的区别(只答了this指向的不同,问还有没有其它的,不知道)
15. 浏览器的时间循环,宏任务队列和微任务队列的执行顺序,追问哪些属于宏任务,哪些属于微任务。
16. react有哪些生命周期(答得还可以),追问,react16里废弃了哪些生命周期(不知道),又追问reacthook有了解不(没有)

#字节提前批##字节跳动##前端工程师##校招##面经#
全部评论
楼主你好,请问你是什么岗位?开发的话,是Java方向还是C++方向?或者其他语言方向~
2 回复
分享
发布于 2020-07-08 22:35
一面就算法,难顶啊,其他题目都见怪不怪😂
1 回复
分享
发布于 2020-07-09 20:58
博乐游戏
校招火热招聘中
官网直投
请问楼主是哪个部门的前端啊
点赞 回复
分享
发布于 2020-07-09 08:23
楼主是抖音的吗
点赞 回复
分享
发布于 2020-07-09 09:31
楼主知道是哪个部门的么
点赞 回复
分享
发布于 2020-07-09 21:02
楼主知道是哪个部门的么,抖音还是data,还是今日头条什么的,还是飞书啥的?
点赞 回复
分享
发布于 2020-07-10 10:31
二叉树那个题应该是这样吧 let temp; let result; function FindPath(root) {     temp = [];     result = [];     if (root == null) {         return [];     }     find(root);     let sum = 0;     for(let item of result){         sum += Number(item.join(""));     }     console.log(sum); } function find(root) {     temp.push(root.value);     if (root.left == null && root.right == null) {         result.push(temp.slice());      } else {         if (root.left != null) {             find(root.left);         }         if (root.right != null) {             find(root.right);         }     }     temp.pop(); } FindPath(tree)
点赞 回复
分享
发布于 2020-07-10 18:01
楼主面的哪个部门的啊?这一面感觉有点难啊
点赞 回复
分享
发布于 2020-07-10 19:07
抖音的前端
点赞 回复
分享
发布于 2020-07-11 09:33
楼主情况怎么样了
点赞 回复
分享
发布于 2020-07-22 21:50

相关推荐

1 39 评论
分享
牛客网
牛客企业服务