再战字节前端面试(成都offer+1)
  国际化电商,2.18一面,2.21二面  
   一面(68min)  
   1. 项目难点、解决方案 
   2. 数组存储怎么压缩(稀疏矩阵,三元组有关知识) 
   3. 数据类型有哪些,如何判断 
   4. let、const与栈、堆之间的关系,栈、堆哪个访问速度更快,为什么? 
   5. settimeout和settimeinterval哪个更准确,为什么?延时设为0ms会怎样?(最少4ms) 
   6. 事件循环 
   7. tcp、udp的区别 
   8. http如何建立连接,有哪些过程?(三次握手那些) 
   9. https如何防窃听和篡改,自己抓过包没,可以修改不?(面试官说实际上可以随便改,没试过🤣) 
   10. promise有哪些状态,fulfilled可以改成rejected不?常用的静态方法? 
   11. 前端安全,vue怎么防止xss攻击的? 
   12. 场景题:vue中如何渲染用户想要的自定义文本,比如有各种颜色,各种字体大小(类似于用vue实现一个文本编辑器) 
   13. 手写题1:settimeout(() => {console.log(1)},1000)怎么让1在2s后打印,不能直接修改时间 
   14. 手写题2:实例链式调用:如let a = new Man(); a.sleep(3000).sayHi().sleep(1000).sleep(2000).sayHi();写出Man()构造函数 
   15. 手写题3:遍历DOM树打印每个元素的tagName 
   16. 手写题4:打印数组全排列,[1,2,3] 打印[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 
   更新:字节效率还是一如既往的高,一面12:10分面试完,面试官吃完饭回来13:30就告知过了。
 
   二面(62min)  
   1. 项目难点、解决方案 
   2. canvas、svg的区别 
   3. canvas绘制的图像怎么用图片形式直接展示(toDataUrl转base64) 
   4. 图片类型和格式分别有哪些,对应的使用场景 
   5. 浏览器缓存 
   6. 虚拟内存 
   7. CDN 
   8. sessionstorage、localstorage 
   9. 进程、线程、chrome内核分别有哪些进程、线程,chrome内核把浏览器多标签设计的进程还是线程,为什么这么设计? 
   10. 事件循环输出题 
   11. 一面13题追问,怎么实现setTimeout的准时执行(裁剪时间戳,料到字节有补充追问的习惯) 
   12. vue keep-alive的作用和实现原理 
   13. 场景题:后端返回的64位大数,前端怎么处理精度丢失的问题 
   14. 手写题1:画0.5px的线 
   15. 手写题2:发布订阅模式实现event-bus 
   16. 手写题3:数组拍平,flat(3)代表拍平三层 
   更新:二面三小时后告知通过,这效率,真不错。
 
   三面(78min)  
   1. 项目难点、解决方案 
   2. 实习有关 
   3. offer情况 
   4. 从输入URL到渲染页面的全过程 
   5. 强缓存、协商缓存字段、状态码 
   6. 长连接、短连接 
   7. 场景题:同一个程序在不同客户端上运行结果不同(运行环境相同),你怎么排查原因? 
   8. 手写题:连续子数组的最大和,除了暴力写三种做法(这道题讨论了40分钟,DP、双指针、分治都用了) 
   三面面试官居然用自己的周末休息时间来给我面试,泪目,还带了人旁听(不知道是什么操作),  
   不过看到我有ACM经历,确实想为难我?感觉发挥的不是特别好。  
   最后挂了,后面转了部门重新面试,飞书人力套件,喜提成都offer。 
   第一个成都大厂offer!!!!!成都实在是太卷了!!!! 
 
   HR直接打电话约的面试,校招春招,2.18一面的,后面的面试了再补充。 
   至于为什么还在面试的话,就认为是闲的蛋疼,想找虐吧。 
  查看19道真题和解析
查看19道真题和解析