【字节内推码QXTNFPN】前端面经、笔记分享
去年的秋招面经
字节跳动 一面
-
自我介绍,介绍项目。
-
几个小题目,看代码说结果
-
[] == ![]和[] == []的值(事后发现自己完全答反,万恶的隐式转换,神奇的JS)
-
new 操作符原理
-
盒模型 content-box和border-box
-
display:none;visibility: hidden;opacity:0的区别
-
事件模型,看代码说结果
-
状态码301,302,304
-
知道referer头部吗,直接请求服务器时referer是多少,顺便聊了其在CSRF中的作用
-
后端怎么让浏览器中的Cookie过期
-
CSS动画,transition和animation,哪一个性能更好
-
Koa和Express的区别,以及Koa中间件的原理
-
Vue的v-model的原理,Vue实例是怎么拿到data属性的
-
Hash和History模式的区别,原理
-
React的Fiber的原理,知道怎么实现的吗,是否了解Hook的实现原理
-
聊了一下Redux和React-Redux
-
给定一个字符串,输出该字符串所有排列的可能。如输入“abc”,输出“abc,acb,bca,bac,cab,cba”。
function fullpermutate(str) { var result = []; return result;}
-
多行字符串转二维数组
const str=` 1 21 3 4 5 6 7 8 9 ` [ ['1', '12', '3'], ['4', '5', '6'], ['7', '8', '9'], ]
-
获得页面所有节点数
-
有什么问我的吗
#字节跳动 二面
-
聊了一下项目
-
算法题。判断堆栈的出栈顺序是否合理。
validStack(inArr, outArr)
-
两个同域的页面之间的通信。postMessage,storage(之前没了解过,原来这个可以监听的?)
-
如何统计用户的浏览时长,要考虑到用户会切换页面,缩放页面等。多个点进行上报时,如何区分这些数据来自于同一个会话?
-
实现一个sleep方法
-
函数防抖,函数节流
-
HTTP和Websocket的联系
-
重排,重绘,合成层
-
了解过puppeteer吗