字节跳动抖音部门前端岗位一面面试题
网络
- 你对HTTP协议了解多少?
- 你知道HTTPS协议吗?加密方式什么的?
- 你知道tcp协议吧,为什么说tcp协议是可靠的呢?
- 在tcp连接断开时,客户端是在哪一步停止接受数据的呢?
- HTTP1.0和HTTP1.1有什么不同呢?新版本有什么变化?
- 控制强缓存的字段是什么?Expires和Cache-control有什么不同?为什么要做这样的改变?协商缓存的控制字段是什么?Last-Modified和ETag有什么不同?ETag一般在什么场景下使用?
CSS
- 手写代码,不定宽高的dom元素的水平垂直居中。
- 你知道什么是BFC吗?
- 你知道margin塌陷吗?
ES6
- 你知道generator函数吗?
- 给我讲一下Promise。
JavaScript
- 什么是预编译?预编译发生了什么?什么时候会进行变量提升?
- 介绍js事件循环,js是怎么执行的?
- js文件执行时,浏览器渲染发生在什么时候?浏览器有哪些线程?
- 手写代码,共享原型的继承模式和圣杯继承,共享原型继承的缺点?圣杯继承的缺点?
数据库
- MySql中第一范式,第二范式的内容?
- 你知道Redis吗?介绍一下。
React
- 受控组件和非受控组件的区别是什么呢?
- redux工作流程?
- 手写代码,createStore源码。
算法
- 手写代码,深度优先遍历二叉树,用递归与不递归两种方式做。
- 手写代码,链表的反转,每隔k位反转链表。
- 手写代码,数组扁平化。
- 手写代码,对象扁平化。
其他
- 你为什么学习前端?我的意思是你明明可以选择算法工程师或者java什么的。
面试心得
和面试官面了整整一个小时,最后我还是失败了,没有发挥好,这次面试真的不难,但是真的不简单,面试官的有些问题问的太大了,大的让我不知道该怎么回答,我真的很喜欢那些问我很多问题但是都是一个个小问题的面试官,但终究还是我太弱了,我真的非常遗憾,我觉得除了个别几个是真的没学过,绝大多数都是学过的,但是很多却忘了,我会继续努力,我还会再来的,直到我进入字节跳动!