tikTok 前端2面(已通过)
1、你接触过的网络协议?
2、http1和2的区别,https是什么?
3、对称加密和非对称加密算法具体是怎么样的,数字签名是什么,具体的业务场景?
4、常见的网络模型(每一层都是做什么的)
5、说一下常见的数据结构(数组,set,map),对应的业务场景
6、你提到map,说一说weak Map和map的区别。
7、数组有哪些变体(队列,堆,栈),堆是怎么实现的。
8、排序算法有哪些(哪些是稳定的,哪些是不稳定的)
9、很多时候我们需要调度任务,你是怎么实现任务调度的
10、有了解过数据库吗?关系型数据库和非关系型的数据库有哪些?
11、关系型数据库和非关系型的数据库有什么区别?
13、你项目里写到你实现过vue的底层源码?讲一讲你的实现思路
12、vue底层响应式实现逻辑,为什么要用proxy?
13、vue2用的Object.definedPropoty不好吗?vue2数组这一块,响应式怎么处理的?
14、diff算法如何实现?
14、你实现的源码中是如何实现模版替换原理?
15、既然你谈到attribute和Property要做特殊处理,为什么?如何做处理
手撕代码(很简单):
1、实现两边自适应,中间固定
2、数组扁平瓜且不重复(使用三种方法)
3、二叉树的层序遍历
写的很快,那我再回到你的项目中来吧
1、你写的这个插件系统,rpc通信具体如何实现了什么,细节讲一下?
2、为啥使用ifram,为啥不用微前端?
3、你用rpc + iframe有考虑内存泄漏吗?
4、iframe加载延迟,这个有想过如何优化吗?
5、你在这个项目中的成就?你遇到过哪些困难,如何解决的?
最后反问环节。
真滴难啊,面了1个小时30多分钟,面到最后大家都累了
#字节跳动##提前批##前端工程师#