【面试复盘】字节测开实习面经(一二面)已offer
2022.4.11一面
问的太杂了 就像拿了一张八股列表问我
自我介绍
讲讲你做的项目
鉴权怎么做的
Vue3和Vue2的区别
Vue2如果对对象进行属性添加,由于object.defineProperty的局限,你有什么办法去实现像Vue3一样的数据双向绑定
HTML文档解析过程讲一下,谁会阻塞谁?
回流和重绘讲一下
V-if和V-show有什么区别
js事件循环机制讲一下
事件循环代码题(很简单)
看代码输出(var和let的区别,简单)
手撕代码:promise实现一个红绿灯交替
let和var有什么区别
浏览器缓存策略
Http2.0和1.1有哪些优化
多路复用和1.1的keepalive有啥区别
进程和线程
进程通信方法
死锁是什么?死锁的必要条件?
数据库了解不
请求报文的组成
对content-type的理解,要传文件的话content-type怎么写
输入一个url到浏览器发生了什么
怎么看首屏渲染时间
-
白屏时间:从浏览器输入地址并回车后到页面开始有内容的时间;
-
首屏时间:从浏览器输入地址并回车后到首屏内容渲染完毕的时间;
-
用户可操作时间节点:domready触发节点,点击事件有反应;
-
总下载时间:window.onload的触发节点。
讲一下三次握手
TCP沾包是啥
TCP会启用延迟发送算法(Nagle算法)在数据发送前缓存他们,如果短时间内有多个数据发送,会缓存到一起作一次发送,减少IO提升性能。
假设A要向B发送两段数据(数据1和数据2),有几种情况:A、先接收到DATA1,再接收到DATA2;B、先接受到DATA1的一部分,再接收到DATA1的余下部分和DATA2;C、先接受到DATA1的全部和DATA2的一部分,再接收到DATA2的余下部分.;D、一次性接受DATA1和DATA2;
BCD就是粘包的情况
常见的解决粘包的方法
封包/拆包:给包的头部和末尾加上一些标识符
关闭nagle算法
多次发送前间隔一个等待时间。
为什么UDP不会沾包
TCP是面向流的协议,UDP是面向消息的协议,发送数据以消息为单位。
UDP具有保护信息边界,每条信息都有信息头,对接收端来说易于处理。
后续:进二面了
2022.4.15二面
自我介绍+讲一下你做过的项目(估计一开始是想问我项目,后来听完我项目,觉得有点简单,就没问)
啥时候能来实习?
src和herf的区别?
script标签中defer和async的区别?谁的优先级高?(这个是真不知道,后来听说是async)
flex布局有哪些常用属性
flex:1是什么?
一道flex布局的代码题(没答上来)
bind函数用过吧?自己手动实现一下
localstorage、sessionstorage、cookie、session的区别(问的挺细,问到了localstorage和sessionstorage的存储大小)
看代码说输出,一道this指向的题目,没啥问题
http缓存讲一讲
一道算法题,贼简单,秒了
反问:
base地
具体的业务?
我需要学习些什么?