面经

先这样看着吧,之后再整理一番格式以及答案

  1. 算法题:字母数组,输出出现最少次数的那个字母

  2. ts的东西

  3. Vue的 双向绑定 原理

  4. Vue指令的使用

  5. v-html有没有对xss做处理

  6. 组件间怎么通讯

  7. 发布订阅模式

  8. 业务设计:你一个带搜索框带显示列表带侧滑框的ui,你会怎么设计这个组件

  9. 用同步的写法,并且可以外部控制执行逻辑行进写一段异步代码, 对上一个请求有依赖的异步,请求之间还需要夹杂其他处理逻辑( es6里yield和next)

  10. webpack的东西,打包流程

  11. loader怎么写的

  12. 平时用过什么plugin

  13. 组件库构建,单个组件怎么设计

  14. 手写 Promise.all race

  15. 解释promise怎么做到链式调用

  16. css实现0.5px的线,以及0.5px的边框

  17. 实现一组依次排列的方形标签,标签间隔固定6px,宽度不定,能随着屏幕宽度变化,以及每行展示个数会变化,比如屏幕宽的时候一行4或5个,窄的时候3个2个等等

  18. setTimeout已经promise打印结果

  19. promise then 和事件循环的考察

  20. 箭头函数this绑定考察

  21. 变量提升考察

  22. hybrid原生和js的通信原理

  23. 算法题:树的遍历:给一个家族族谱和一个名字,查询族谱里该名字的人的年纪(族谱中有相关字段了)

  24. == 隐式类型转化

  25. vue v-model 原理,并手写

  26. deepclone实现

  27. vue组件通信

  28. vue async 原理

  29. 移动端优化点

  30. CDN原理

  31. https 如何保证安全

  32. http 缓存,强缓存,协商缓存

  33. http code码,强缓存 code多少,协商缓存 code多少

  34. 实现百度图片这种样式:数据由接口获取,图片不能裁剪,不能变化顺序,可以压缩,如何实现百度图片这样的布局效果

  35. vue 如何实现 view 层到viewmodel层绑定的?也就是说view变化了,怎么通知数据变化

  36. Vue双向绑定原理

  37. 单页应用怎么路由:hash 和 history的区别,各自的原理是什么

  38. 项目介绍

  39. 图片jpg、png、SVG、webp区别

  40. Webpack treeshaking 原理

  41. Webpack code split

  42. 项目介绍

  43. ES6用过哪些

  44. 手写Promise.all

  45. HTTPS 加密解密

  46. http 缓存

  47. 变量提升

  48. BFC 和 IFC布局

  49. css 实现等边三角

  50. ES6用过哪些

  51. 手写Promise.all

  52. HTTPS 加密解密

  53. http 缓存

  54. 变量提升 let var const class function

  55. Let 和 const 在浏览器层面的区别

  56. BFC 和 IFC布局

  57. css 实现等边三角

  58. 原型链

  59. Set Map weekMap,Map 的原理

转转一面
1、项目介绍
2、盒子模型、怪异盒子模型
3、块元素与行内元素区别
4、是在左中右三栏布局,左右固定,中间自适应
5、new 以及实现 new
5、继承,各自的缺点
6、promise基本原理
7、数组splice方法,就是在第二个与第三个中间插入一些数据
8、冒泡机制
9、介绍一下事件循环(eventloop)
10、vue-router介绍一下
11、介绍一下vue怎么实现双向数据绑定
12、优化
13、算法:找出数组中出现字符串最多的那个是什么
14、jsonp是干什么的?跨域
15、实现这么一个动画,前一秒钟扩大两倍、后一秒种背景变颜色
转转二面:
1、为所有的组件里面的mounted里面添加一段代码?
2、vue是怎么错误捕获的?

  1. 项目介绍
  2. hybrid native JS 通信原理
  3. promise 打印结果:
    var a = Promise.resolve(1)
    var b = Promise.reject(1)
    a.then(() => console.log(1))
    .catch(() => console.log(2))
    .then(() => console.log(3))
    b.then(() => console.log(1))
    .catch(() => console.log(2))
    .then(() => console.log(3))
  4. Promise 实现一个函数,把传进去的数组按顺序先后执行,并且把返回的结果顺序放到数组中
  5. 实现一个函数:isEqual(),传入两个多叉树,比较两个树是否相等
  6. 箭头函数this的考察
  7. 箭头函数和普通函数的区别

高德一面

  • 手写算法:两个数组一个升序一个降序,合并为一个升序数组,复杂度O(n)
  • margin坍塌
  • css标签类型优先级计算
  • 事件循环过程
  • Https 与Http 区别,SSL原理
  • TCP 与 Http 区别,讲下 TCP 三次握手、四次挥手过程
  • Vue 双向绑定原理
  • Vue slot源码如何实现
  • 项目中最具有挑战性的地方

跟谁学:
1、跨域
2、xscf攻击
3、vue-router异步
4、怎么判断一个变量是否是数组?instanceof是和谁比较
5、BFC
6、304代表什么,再引申说一下http缓存
7、实现一个三角,对角线是红色,1px宽
8、class extends是怎么实现的,原理

1、vue2.0与vue3.0的区别是什么?
2、给出海量数据,找到最大的那个值
3、webpack工作流程
3、loader与plugin的区别
4、项目的难点
5、promise写个类似于promise的

  1. 介绍主要的项目
  2. 下拉刷新组件的实现思路
  3. 用setTimeout实现setInterval,用两个setTimeout实现setInterval
  4. 给一个树,实现两个函数:1. transferTree 扁平化树,放到一个数组中,2. reverseTransferTree 把扁平化的树在复原
    树的节点结构如下:
    treeNode: {
    id: 1,
    pid: 2,
    children: []
    }

把扁平化的树进行还原: JS将扁平化的数据处理成Tree结构 - 杰哥斯坦森 - 博客园
不成熟的网罗的面经
不成熟的网罗的面经

  1. setTimeout & setInterval的区别
  2. position 的考察
  3. 实现元素的拖拽
    从面相过程的拖拽到面向对象的拖拽再到简易的组件拖拽 - 掘金
    class Dragable {
    constructor(node) {
    }
    mousedown() {
    }
    mousemove() {
    }
    mouseup() {
    }
    }
  4. Webpack dllPlugin 原理
  5. splitChunks 和 dllPlugin的区别

1、vue怎么实现双向数据绑定
2、vue-router,history与hash各自优缺点,404怎么办?
3、cookie,domain、path
4、如果语言放在服务器上面,怎么保证先执行
5、cors、jsonp各自优缺点
cors主要使用哪两个属性?区别,优缺点
Originreference
6、实现el函数

补充几个经常问的
mvvc怎么说,怎么实现怎么说
nextTick怎么说
http、HTTPS怎么说

性能优化

URL输入到输出发生了什么?

options请求方法有什么用

箭头函数和普通函数之间的区别

相关文章:

  • 2022-01-27
  • 2022-12-23
  • 2022-12-23
  • 2021-04-01
  • 2021-10-08
  • 2021-06-23
  • 2022-12-23
  • 2022-02-27
猜你喜欢
  • 2021-11-24
  • 2022-03-01
  • 2021-11-08
  • 2022-12-23
  • 2021-08-11
  • 2021-11-03
  • 2021-12-22
相关资源
相似解决方案