滴滴前端实习一面

  1. Vue3和Vue2的区别,vue3如何实现数据绑定的
    1. 性能更强,打包体积更小
    2. 更支持TS
    3. 生命周期函数改变,使用setup代替了之前的beforeCreated和created
    4. 使用proxy代替defineProperty
  2. vue3如何实现数据绑定的
    1. 对目标对象多设置一层拦截。无论对目标对象进行什么操作,都要经过这层拦截
    2. Proxy拦截的是整个对象,所以可以监听到一些数组或者对象属性的增删
  3. 事件循环
  4. XSS\CSRF攻击
    1. XSS 跨站脚本攻击,主要指向网页中注入恶意代码,然后用户加载执行来完成攻击
    2. CSRF 跨站为在哦请求攻击,指在用户不知情的情况下利用用户权限,构造特定HTTP请求,窃取或者修改用户信息  解决方法:token机制、区分get、post请求、samesite cookie(只有同源请求才能发送cookie)
  5. 跨域JSONP解决方案
JSONP:主要是利用浏览器加载script会不受同源机制限制二解决跨域问题的
过程:1. 注册一个函数 2. 构造一个请求URL 3. 生成一个script标签并把生成的URL加载src中 4. 服务端构造一个js函数调用表达式并返回
6. http2.0
7. http状态码 304
    1. 以3XX开头的状态码表示需要进行附加操作才完成请求
    2. 304是客户端发送请求条件请求时,服务器允许访问资源,但未满足条件的情况,比如命中强缓存或者协商缓存这些
8. http缓存
    1. 第一次访问返回200并缓存资源文件
    2. 下一次访问,强缓存优先级高,首先比较cache-control中的max-age是否过期,没有就命中强缓存
    3. 协商缓存首先根据Etag判断资源有无修改,Etag一致则命中协商缓存,否则返回新的资源和Etag
    4. 没有Etag,比较Last-Modified和被请求文件最后修改时间,一致则命中协商缓存,否则返回新的资源和Last-Modified
9. 原型链
JavaScript中每个实例对象都有一个私有属性指向它的构造函数的原型对象。该原型对象也是对象,所以他也有一个自己的原型对象,层层向上直到一个对象的原型对象是null
10. prototype和__proto__区别
    1. 每个对象都有__proto__属性
    2. 每个构造函数都有一个名为prototype的方法,既然是方法,那么就是一个对象,所以prototype同样带有__proto__属性
    3. 每个对象的__proto__指向它构造函数的prototype
11. 大数相加
12. 数据转换为树型


#前端##面试题目##滴滴#
全部评论
感谢大佬分享!!!!帮大忙了!!
点赞 回复 分享
发布于 2022-01-13 20:27

相关推荐

10-07 20:48
门头沟学院 Java
不敢追175女神:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:池是池,发是发,我曾池,我现黑
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
评论
6
26
分享
牛客网
牛客企业服务