字节跳动-前端暑期实习一二三hr面(已OC)
无笔试、2/28 一面、3/4二面、3/8三面、3/11HR面、3/12问卷、3/16oc(三个工作日)
一面 2022/2/28:48min
- 自我介绍
- 项目的轮播图怎么实现的
- transition 如何检测动画结束。不懂
- 讲一下 box-sizing 的值和对应的作用
- 如何实现水平垂直居中
- 讲一下防抖和节流和应用
- 写一个防抖第一次写没有把 timeout 赋值,面试官文 clearTimeout(undefined) 会怎么样,不清楚说了可能会报错,然后把 null 补上了
- 讲一下图片懒加载是怎么实现的
- 图片在加载的时候出现了抖动应该怎么解决
- 图片太多的话,可能会造成页面卡顿,如何解决这个问题
- 按你刚说的,每次都得进行图片的重新请求加载,有没有什么办法可以不请求
- 你项目上用了 websocket,讲一下
- 如果服务器是分布式的话,怎么保持客户端和服务器只有一个连接
- 讲一下 jwt 保存了什么 。
- 如果 jwt 被劫持了,别人用这个 jwt 发出请求,服务器如何鉴别出这个 jwt 是不合法的
- 除了 jwt 还有什么方式进行登录鉴权
- 用户名和密码怎么存储在数据库(绕了一圈才知道什么意思。。)
- 密码加密存在数据库的话,使用对称加密好还是非对称好
- 那 MD5 能不能解密
- 那如果你的数据库被盗取的话,加密了的密码安全嘛
- 讲一下跨域和解决方法
- CORS 要是想发 cookie 的话怎么设置。
- Promise代码:第二个答错了,一直在想 then 函数功能还是说错了。。。应该是 undefined
- 作用域考核11 11 6后面问把 var m 改成 let m 结果怎样:NaN NaN 6
- url 参数提取忘了写 decodeURICompoment,提示了补上了问:decodeURICompoment 和 decodeURI 有什么区别 ,应用场景
- 对称二叉树
- 反问
二面 2022/3/4:60min
- 自我介绍
- 项目有没有什么亮点
- 项目的轮播图怎么实现的前后添加两张图片
- 能不能只添加一张 分析如果添加一张的情况,好像没办法。面试官说那我现在就告诉你一张也行,怎么弄呢?思考了一会,突然茅塞顿开,和面试官讲了思路。面试官说现在很多人都用组件了,自己写轮播图也是个亮点
- 讲一下你知道的前端优化
- 前端怎样缓存
- 那强缓存如果时间没到期,可是文件修改了。
- 有没有看过webpack打包后的js、css文件试官讲了其实在文件名上加上通过对文件内容进行hash运算,生成一个文件的唯一hash字符串(如果文件修改则hash号会发生变化),替换文件名,生成一个带版本号的文件名 ,从而达到更改引用URL的目的
- 讲一下async和defer
- 在vue中的话使用async和defer会有什么缺点
- 讲一下事件循环
- 宏任务和微任务的优先级。宏任务优先
- 宏任务和微任务分别有哪些
- 一个事件循环输出题 √
- 讲一下MVVM的优缺点
- 讲一下虚拟DOM如何更新 讲了DIff算法
- DIff算法是广度的还是深度的
- 讲一下vue的key值
- vue组件间的通信
- vue的slot 讲了一下作用和作用域插槽
- 写个请求,能判断超时 √
- 10w条数据,1条请求能获取1000条数据,现在能同时发3个请求,写一个函数实现。其实就是写一个带并发限制的异步调制器,每次能并发三条请求面试官:那如果请求超时怎么办?使用上一题写的函数进行判断,超时则重新发送自己的请求面试官:其实不用写太多判断的,超时的时候把请求push回数组就行。茅塞顿开,问面试官还需不需要写,面试官说不用了,思路明白了就行
- 反问
三面 2022/3/8:40min
关于项目的偏多,面试体验很好,偏聊天
- 自我介绍
- 介绍项目和困难点项目实在水没啥好说的
- 项目如何重构的
- 项目的哪些模块是你做的
- 为什么用vue
- 有没有了解其它框架比如react
- 讲一讲react的思想只说了函数式编程和composition api,实在不懂说了vue和react都是基于MVVM框架开发的
- 讲一下MVVM框架讲了MVC和MVVM
- MVVM的好处
- 原生js很多功能都能实现,为什么要有这些框架
- 有没有看过vue或react的源码看过vue2的
- 讲一讲看了哪些双向绑定diff算法
- 讲一讲diff算法讲了虚拟dom和diff算法的过程
- 项目之后的目标
- 项目的拍板人是?导师
- 那如果有些功能导师觉得没必要之类的,你要怎么去说服导师去认可你们的想法
- 讲一讲你的微信小程序,是用来学习的嘛?是,用来学习如何做小程序,讲了为什么不使用原生的而是用 uni-app 写
- 讲一讲微信小程序和H5的渲染区别(答得不太好,对小程序不是很了解)说了微信小程序有个双线程的概念H5的渲染过程
- 项目用到jwt,讲一讲jwt讲了使用jwt鉴权的过程jwt的组成部分后端返回给前端的jwt是一串字符串,文本通过 "." 链接一起就构成了Jwt字符
- 讲一讲 token和jwt的区别。主要讲了token需要在后端保存数据,jwt不需要,保存在客户端都可以用来鉴权,记录用户信息
- 有没有了解数据库比较少
- 实习最想学到什么最后说了最想转正(面试官笑了hhh)
- 你觉得平时开发js 和写nodejs有什么区别实在不会,说思想应该差不多,但是引擎不一样说了 node 会有中间件和express和koa等框架
- 你想做前端还是nodejs都想,讲了之后如果能的话想前端和nodejs都做
- 有没有考虑后端,java这种说目前想先把前端这个方向做好
- 想在工作一年后到达什么水平把前端技术做扎实
- 有没有自己偏向产品,常用哪些app微博、虎扑、知乎等。面试官说那你可能比较适合做头条
- 反问
HR面 2022/3/11:30min
无自我介绍,都是常见的问题项目最难的点、实习最想学到什么、三五年规划、实习时间等
#字节跳动##面试题目#