字节跳动校招,抖音电商前端,一二面面经

3月3日 一面(50min)

原本定于2.25一面的,但是面试官临时有事。。。拖到了3.3

自我介绍

在学校参加了一些项目和比赛,然后有一段实习经历,去年九月系统学习前端
学习渠道:入门是同学带,系统学习是红宝书,b站,然后踩坑就找掘金思否CSDN

1.基本数据类型

多说了symbol和bigint,面试官稍微问了下用过没,是干啥的,symobol用过,bigint只在教程里看见过

2.一个原型链的输出题

    function Ctor(x){
      this.x=x
    }
    Ctor.prototype.x='12345'
    const a=new Ctor(4)
    a.x=undefined
    console.log(a.x)//这里我答的12345,以为赋值undefined会去原型链上找hhhh,实际上赋值啥就是啥(undefined)
    const b=new Ctor(5)
    delete b.x
    console.log(b.x)//这里是12345

3.事件循环,输出题

//1 3 4 5 2
new Promise(resolve=>{
  console.log(1)
  setTimeout(()=>{
    resolve()
  },0)
})
.then(()=>{
  console.log(4)
})
.then(()=>{
  console.log(5)
})
setTimeout(() => {
  console.log(2)
}, 0);
console.log(3)

4.web安全

xss,csrf,http劫持,dns劫持,ddos
仔细问了一下csrf的攻击原理

5.跨域的解决方法

简单说了下跨域的产生,和同源策略的限制
父子域名location.domain再设置端口号,代理服务器,websocket,cors,jsonp,cors问了怎么携带cookie,没答上来(withcredential)

6.ssl加密的过程

追问非对称加密加密的是什么(会话秘钥)

7.动画效果方案

transition(嘴瓢说了transiform),animation,requestAnimationFrame

8.手写一个深拷贝

自己没考虑数组,而且没用hasOwnProperty,复制了原型上的属性

9.为Array实现一个getReader

题目上是TS写法,然后我不会,就实现了一个函数返回一个Reader

10.反问

问了问哪里答得不好需要加强
学习建议

3月15日 二面(1h)

原本是3.11的,结果面试官也有事,然后跟hr小姐姐又换了好几个面试官都没空,最后又定到3.15

自我介绍

跟一面差不多的自我介绍
问了问实习项目中怎么解决eCharts没法用相对单位的问题

1.js的类型检测

回答了typeof instanceof constructor Object.prototype.toString().call()
追问了一下为啥要用Objcet原型上的toString,慌神了直接胡言乱语说不用原型找不到hhhh(实际上是别的toSrring经常被重写)

2.如何理解js动态类型,有什么优缺点

声明时类型不固定,可以修改,不用调用各种类型转换的函数,编码灵活但容易出错
又追问了一下js数组的内存分配,我这里猜测和c++数组动态内存一样动态分配,不够就翻倍之类的

3.判断this

//一开始被绕进去了,面试官提醒了一下,我重头开始分析,后来对了
var length=10;
function fn(){
  return this.length+1
};
var obj={
  length:5,
  test1(){
    return fn()
  }
}
console.log(obj.test1())//11
obj.test2=fn
console.log(obj.test1()===obj.test2())//11===6,false

4.new的原理,过程

这里我直接给面试官手写了一个

5.js代码在V8中怎么执行的

这里直接问蒙了,啥也不会啊hhhh,如实和面试官说了不会,但说了一下自己的看法,分为编译过程和运行过程
追问这两个过程干了些什么,回答了编译期有语法检查之类的

6.从url到页面呈现经历了那些过程

找缓存-dns解析-tcp链接-http请求-页面渲染
追问了dns解析的过程(递归和迭代)和页面渲染的过程(css,html同步解析,遇到js就请求执行)
再追问js阻塞怎么办(script写在body后面,async,defer)

7.事件传播

先捕获再冒泡,addEventLisener的第三个参数是干什么的(决定事件在哪个阶段执行,true是捕获,false冒泡),这个属性有没有改变事件传播的顺序(只是决定事件在哪执行,没有改变事件传播的顺序)

8.浏览器存储和调用它们的api

localStorage,SessionStorage,Cookie

9.vue解决了什么问题

不用操作dom,组件化
追问vue的响应式(Object.defineProperty)
然后又问了vue怎么做的依赖收集(不清楚)

10.webpack解决了什么问题

回答了less sass转css,babel转es5,热更新,混淆压缩
问了less-loader,css-loader和style-loader分别的作用,这里如实说了不清楚,但自己认为less-loader是把less转css,css-loader是为了解决css的模块化,样式隔离,style-loader真不知道

11.js的模块化了解多少

用过commonjs的require和es6的import

12.flex:1效果是什么

先回大了flex:1是三个属性的简写,然后回答了效果

13.box-sizing干什么的(盒模型)

14.并发和并行的区别(不知道,说了句废话,面试官说我说了等于没说,哈哈哈哈)

15.线程和进程的联系和区别,这里回答的比较详细

追问了线程间通信的方式(消息队列,共享内存,信号量)
然后又追问了一个进程的内存空间里会存些什么(运行时的状态,信号量)

16.tcp为什么三次握手

说话已经开始结巴了,一开始说了一点没说清楚,;捋了捋说清楚了,四次会造成资源浪费,两次无法确定

17.对称和非对称加密的优缺点

回答了安全和速度
追问浏览器和服务器加密算法谁更快(不知道)

18.V8垃圾回收

(自己对V8了解确实不够呀)
问了垃圾回收的时机,回答内存不够就运行
追问了新旧GC的区别,回答不清楚区别,但知道旧GC的原理和缺点,猜测新GC应该一定程度上有所解决
追问谁执行的更频繁(我回答老的不如新的,得多清理几次,没想到错了hhhhh)

19.算法题-括号生成,我用动态规划写的,力扣上有

20.反问

问了问哪里答得不好
哪里需要加强(并行并发,还说V8不感兴趣没关系,面试官人真的挺好的,还跟我讲了一些业务上的问题)
学习建议
直接问过没过,面试官笑嘻嘻跟我说,不能讲,我觉得还不错,你自己体会
后来等了会hr就跟我说过了

hr小姐姐人也特别好,特意写了这个面经,希望能帮到大家,也希望能攒攒人品,3.21三面,加油!

#字节跳动##面经##校招#
全部评论
祝成功
点赞 回复
分享
发布于 2022-03-16 18:53
我下周面这个部门,沾沾楼主喜气😁
点赞 回复
分享
发布于 2022-03-16 19:43
联易融
校招火热招聘中
官网直投
楼主是春招还是暑假实习呐😁
点赞 回复
分享
发布于 2022-03-16 19:45
楼主加油
点赞 回复
分享
发布于 2022-03-17 08:54
加油,成功了你就不光心会跳,字都会跳了
点赞 回复
分享
发布于 2022-03-18 16:18
这个难度也太大了吧,,,我直接被劝退,明天面试,想取消了😣
点赞 回复
分享
发布于 2022-03-20 22:51
楼主,一面多久后通知二面的呀?😁我等了挺久还没消息?
点赞 回复
分享
发布于 2022-03-21 17:10
蹲一个三面面评
点赞 回复
分享
发布于 2022-03-22 08:21
大佬,三面怎么样儿,今天能更新一下三面的面经吗
点赞 回复
分享
发布于 2022-03-24 17:44
m
点赞 回复
分享
发布于 2022-03-24 18:31
学长好
点赞 回复
分享
发布于 2022-03-24 22:47
兄弟 同燕大的 研究生还是本科啊?
点赞 回复
分享
发布于 2022-04-14 16:24
楼主前端学了多久
点赞 回复
分享
发布于 2022-04-19 12:49
楼主是实习吗?还是就业?
点赞 回复
分享
发布于 2022-04-25 19:02

相关推荐

三面业务主管面,最后的大boss,顺利过关!!希望offer快下来,太期待了项目+综合+算法,面试官很喜欢看问功能点的实现思路1.地图功能技术选型到最后落地的过程2.如果需要让产品能够绘制自己的路线图,那么往哪个方向去做迭代能实现这个功能?3.3D地图相比2D地图有挑战的点在哪?4.某个具体功能实现思路5.流程可视化编辑功能如何实现6.作为负责人应该做到哪些事情7.举一个项目过程中比较印象深刻或者有意思的事情8.如果一个项目给你要去做优化,你会从哪些方面做优化9.具体会关注哪些优化指标10.描述甘特图11.如果可视化过程中节点很多应该如何优化12. Vue3 Diff算法原理13.Vue的keep-alive14.webpack的vue文件是如何打包构建成html、js、css文件的?(webpack一问就寄,但是面试官让我大概猜一下思路,还是说了个7788)15.element-ui和elementplus的关系16.用伪代码大概说一下抽屉组件(也就是侧边栏的显示隐藏)怎么实现的17.希望给上面的组件传进去一个自定义的dom,希望在组件内显示,如何实现?代码题:1.最长无重复字符子串长度(LCR 016)2.求根节点到叶子节点数字之和(LCR 049)果然,最后又死在二叉树上,结果比正确答案多了一倍,debug的时候发现每个数字算了两遍,知道问题了但是最后没改出来,下来就改出来了,可惜哈哈哈#前端##25届暑期实习##软件开发2024笔面经##我的实习求职记录##字节##24届软开秋招面试经验大赏#
点赞 评论 收藏
转发
37 153 评论
分享
牛客网
牛客企业服务