飞书前端暑实处女面凉经(复盘)
全程没有问js相关的东西,也没有问框架,简历上写了也没问,就是抓着css,html,还有cookie,跨域方面的东西一直追问,人麻了,感觉就是专门找你不太会的点问。。。
自我介绍,问有没有了解过服务端(说了了解一点)
1. 问项目登录注册实现过程,用到了cookie,所以一直在问cookie,大坑
2. cookie的属性有哪些?(所有都说,然后一一列举都有什么作用)
3. 如何预防xss/csrf攻击?(开启httponly、samesite属性设置成lax,对用户输入内容进行过滤)
4. samesite属性说一下?
5. samesite属性的lax值?
6. domain属性说一下 ?
7. 如何配置跨域允许携带cookie?(withcredentials设置为true)
8. 子域也能携带cookie吗?(指定了domain就可以携带)
9. 行内元素设置padding有什么效果? (有左右边距,没有上下边距)
10. 行内块元素之间出现间隙的原因以及如何解决?(给出了具体案例,当时没看出来)
11 transfrom做动画和left做动画那个性能更高,为什么?(transform更高)
12. html多个空白字符合并成一个,为什么会这么做?(这里不太懂,有没有懂的大佬解释一下)
13. absolute相对于谁进行定位?(fixed、relative)
14. 说一些http状态码?
15. 301和302的区别?
16. 如何获取重定向后的地址?
17. 401和403的区别?
18. 前端如何判断服务端的具体错误(这里没太懂什么意思,捕获错误判断error里面的msg?)
算法题
1. 版本对比
var compareVersion = function (version1, version2) { let v1 = version1.split("."), v2 = version2.split(".") let n = v1.length, m = v2.length let i = 0, j = 0 while (i < n || j < m) { let a = 0, b = 0 if (i < n) a = parseInt(v1[i++]) if (j < m) b = parseInt(v2[j++]) if (a != b) return a > b ? 1 : -1 } return 0 };
2. 宇符串格式化
function format(s) { let res = "", k = 0 for (let i = s.length - 1; i >= 0; i--) { res = s[i] + res k++ if (k == 3) { res = "," + res k = 0 } } return res[0] == ',' ? res.slice(1) : res; } console.log(format("23456789")) // 显示效果: "23,456,789"
反问环节
1.问技术栈
2.学习建议
总结
面试内容偏基础一些吧 自己也确实太菜了 还有就是字节的面试官人很好 不会的东西都会引导我
#面试复盘##字节跳动##前端##实习##面经#