Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • 前端面试

目录

  • Css类

    • BFC 的理解和应用★★★
    • c003-双飞翼★★★
    • css实现一个三角形
    • css禁用
    • em与rem的区别★★
    • line-height
    • margin塌陷
    • position 有哪些值
    • position: fixed 会失效吗?
    • 一行文字居中,多行文字左对齐★★
    • 三行情书(超出...)
    • 不设置宽高写个正方形
    • 伪类和伪元素区别
    • 利用html+css绘制opera浏览器的logo
    • 合成层
    • 基础篇
      CSS3 root 的使用CSS选择器及其优先级link和@import的区别
    • 实现一个元素水平垂直居中的方法★★★★
    • 小技巧
      aspect-ratio 优雅控制宽高比pointer-events 的妙用网站置灰
    • 手写clearfix
    • 朝花夕拾之---盒模型宽度的计算
    • 清除浮动的原理
    • 纯数字不换行问题
  • Html类

    • h001-前端语义化理解★★★
    • h002-块级元素和行内元素包含什么★★
    • h003-一些好玩的HTML的属性
  • Js类

    • DOM类
      DOM 事件分级property 和 attribute 的区别window.onload和DOMContentLoaded区别?事件委托(事件代理)的原理以及优缺点是什么?事件委托类事件捕获和事件冒泡
    • Event Loop类
      e001-执行打印001e002-promise和setTimeout执行e003-执行打印003e004-执行打印004e005-执行打印005优化执行
    • Promise类
      async await 的错误捕获P-001执行打印promise 的链式调用promise.all 和promise.allSettled 的区别promise执行打印中止promise的执行实现一个mergePromise实现一个异步加载图片的方法
    • This类
      T001-this指向T002-thisT003-this打印T004-this大全上篇T005-this大全下篇this的典型应用
    • 一面or二面类
      持久化连接and管线化★★
    • 其他类
      [9,8,7,6][1,2] 输出什么1.手写数组反转非reverse方法2-32的随机整数axios 的优点defer和async的区别fetch 的优缺点for in 和for of 的区别jquery中如何找到所有html中select标签的选中项?js new操作符都做了哪些事情JSON.stringfy和JSON.parse的弊端js动画与css动画差异性★★Object.getPrototypeOf()的使用Proxy类Q003-打印输出Q004-instanceof与typeof的区别★★Q005-document.ready与window.onloadQ006-typeof输出类Q007-call和apply及bind区别Q008-输出一个数的7的倍数Q009-判断一个元素是否在可视区中Q010 判断js的数据类型Q011-Object.prototype.toString().call为什么判断类型时候这么准require查包的过程sort 排序原理this和$(this)在jquery中会有何不同typeof的返回值两个 script ,第一个报错,第二个是否会继续解析★何时使用三等何时使用两等使元素消失的方法判断一个对象是否为空对象判断两个对象是否相等前端无障碍Accessibility动态执行js脚本图片类如何在b字符串中找到a字符串的位置,a, b字符串长度未知,不能使用字符串方法,不能使用数组方法★如何让 var [a, b] = {a: 1, b: 2} 解构赋值成功字符串去空格定义一个log方法,可以取代console将字符串转成特定树形结构嵌套的 ul-li 结构,根据 input 中输入的内容,去除相应的 li 节点,且如果某个嵌套的 ul 下面的 li 都被移除,则该 ul 的父 li 节点也要被移除打印输出编写函数获得对象中的值666,必须使用到 str = 'a.b.c'获取dom的几种方法★计算白屏时间设计模式
    • 函数类
      函数的副作用
    • 分号类
      F001-for后面加一个(;)F002-return换行后自动添加分号
    • 原型和原型链类
      y001-基础知识y002-创建对象的三种方式y004-执行打印
    • 变量类
      (a== 1 && a ==2 && a==3)可能为true吗?[] == ![]结果是什么?==的隐式转换B001-偶然创建的全局变量B002-变量的提升B003-变量提升2★B004-变量提升★B005-变量提升B006-truly和falsely变量B007-作用域和自由变量的场景题B008-变量提升★B009-变量提升B011-变量输出B012-变量提升B013-变量输出类B013-变量输出类B014-变量提升B015-检测一个变量是String类型B016-变量提升类B016-变量提升类B019-变量输出JS中变量提升与函数提升及其优先级Js输出类汇总分组选择符变量输出变量输出基础类输出类输出类
    • 基础类
      attribute 和 property 的区别event.target 和 event.currentTarget 的区别?isNAN 和 Number.isNAN 的区别what is NAN
    • 常见面试题精选汇总
      D001-return分号问题D002-打印输出D003-fetch封装最大并发请求★★★D006-作用域和作用域链★★★D008-DOM绑定事件的几种方式★★D009-递归类D010-[1,2,3].map(parseInt)D011-map和set的区别D012-垃圾回收机制及内存管理D013-开发中遇到的内存泄漏如何解决的D04-forEach不能中断的原因forEach究竟能不能改变数组的值★Vue中filter能不能写异步代码,能不能获取$vm?vue实现响应式原理即vue如何监听data的每个属性的变化★★★★
    • 异步
      async(eventLoop类问题)async/await 和 promise 关系。for-of循环Promise宏任务和微任务实现sleep一秒的几种方式实现一个promise.retry 方法异步打印类async function async1() {
    • 手写类
      054-手写一个惰性函数S001-实现浅拷贝★S002-数字转化为逗号金钱格式★S003-数组扁平化★S006-手写斐波那契数列s007-手写一个数据双向绑定s008-手写函数节流★★s009-手写函数防抖★★s010-手写深度比较s011-手写深拷贝★★s012-手写promiseAlls013-书写 promiseRaceS014-手写EventHub(发布订阅)★★★S015-手写map方法S017-字符串最长的不重复子串S019-在既定的数据源生成随机数组S020-手写虚拟Dom转化为真实Dom★★★★S022-手写 new ★S023手写一个寄生组合继承S024手写快排★S025手写promiseS026-一维数组转为树结构S027-函数柯理化★★S028-实现有并行限制的 Promise 调度器S029-异步控制并发数S030-获取url参数的方法S031-手写instanceofS032-手写Promise加载图片S033-创建10个标签,点击的时候弹出来对应的序号S034-函数实现一秒输出一个数S035-手写一个带并发限制的异步调度器SchdulerS036-手写constS037-实现一个LRU缓存函数S038-手写async,await的实现S039-单调递增子序列★★★S040-手写compose和pipe函数S041-手写call和applyS042-实现一个LazyManS043-Object.isS044-手写原生的ajax请求S045-手写JSON.parseS046-手写Promise.allSettledS047-多tab通信S048-观察者模式S049-手写下一个质数S050-链式调用实现 query 方法冷一些的手写可遇到的实现一个对象的 flatten手写 JSON.stringify手写 jsonp手写-setTimeout 模拟实现 setInterval手写bind函数手写冒泡排序手写基础函数树形结构转数组简单类
    • 数组类
      Arr001-数组的length属性Arr002-数组的直接赋值Arr003-数组的最大最小值Arr004-返回数组中所有真值元素的新数组Arr005-合并两个数组Arr006-判断是否是数组的几种方法Arr007-删除两个数组的相同元素Arr008-判断两数组是否相等Arr009-forEach终止遍历方法Arr010-forEach类面试题数组的交集并集和差级输出类
    • 树类
      删除树结构中无用的节点将树结构拍平为一维数组
    • 运算类
      toPrecisionY001-浮点运算Y002-console运算结果Y003-强制和隐式类型转换Y004-隐式转换2Y006-字符串转为数字Y007-精度丢失问题Y008-实现函数isIntegerY009-[1,2,3].map(parseInt)Y010-四舍五入保留两位有效数字Y011-后端返回大数作为唯一id精度失真两个大数相加
    • 闭包类
      B-001B-002经典闭包★★B-003B-004B-005B-006let a = 0, b = 0 function fn(a) { fn = function fn2(b) { console.log(++a+b); } console.log(a++); }B-006let a = 0, b = 0 function fn(a) { fn = function fn2(b) { console.log(++a+b); } console.log(a++); } fn(1) fn(2)B-007B-008任意写一个 Closure(闭包)如何理解闭包?
    • 高频次
      hash 与 history 的区别
  • Q1用户输入url到页面发生了什么★★★★

  • React篇

    • r001-setState是同步还是异步
    • r002-setState输出类面试题
    • r003-react-diff
    • r003-react的fiber架构
    • r004-react 是如何区分class和function
    • r005-介绍Redux数据流的流程
    • r006-JSX是什么,它和JS有什么区别?
    • r007-虚拟dom和真实dom区别
    • r008-react18 有哪些更新
    • 基础类
      002-函数组件与类组件的区别003-什么是受控组件和非受控组件
  • TS篇

    • any、never、unknown、null、undefined、void 有什么区别
    • Exclude和Omit的区别
    • implements和extends的区别
    • type 和 interface的区别
    • 基础类
      object, Object 和 {} 类型TS 中的数据类型类型保护
    • 手写篇
      Partial手写 pick手写Exclude手写Omit手写ReadOnly手写Required
    • 枚举和常量枚举的区别
    • 进阶篇
      逆变和协变
  • Vue3篇

    • provide 和 inject 是响应式数据吗?
    • reactive对象重新赋值后丢失响应而ref不会
    • ref 和 reactive 区别
    • Teleport是怎么实现选择性挂载的?
    • vue3 Diff 算法的优化
    • Vue3.0性能提升主要是通过哪几方面体现的?
    • vue3为什么要用Proxy替代defineProperty
    • vue3有哪些新特性
    • vue3的Fragment实现原理
    • Vuex 和 Pinia 实现原理,以及他们之间的区别
  • Vue篇

    • V001-vuerouter是怎么传值的
    • V002-v-if 和 v-for 一起使用的弊端及解决办法
    • V003-beforeDestory里面一般进行什么操作
    • V004-同级组件传值
    • V005-父组件如何获取子组件的属性和方法
    • V006-watch和computed的区别
    • V009-vue中父组件监听到子组件的生命周期
    • V010-vue中的keep-alive介绍下吧
    • V012-说一哈什么是MVVM
    • V014-vue组件通信的几种方式
    • V015-如果子组件改变props里面的数据会发生什么?
    • V015-如果子组件改变props里面的数据会发生什么?
    • V017-vue模版的编译原理
    • V018-watch的原理
    • V018-watch的原理
    • V020-什么是递归组件
    • V021-data为什么是函数
    • V022-vue中的数组是如何编译的
    • V023-vue的渲染过程
    • V025-vuerouter 的全局钩子函数
    • vue中如何解决页面不重新渲染问题
    • vue父组件和子组件的生命周期执行顺序
    • vue的事件修饰符和作用
    • 单页面和多页面区别
    • 简述数据绑定的原理
    • 较冷类
      VC001-v-html有哪些问题VC002-vue 事件中传入$event,使用 e.target 和 e.currentTarget 有什么区别.mdVC003-vue 的模版引擎用的是哪一个vue 中 watch 和 created 哪个先执行
qdleader
本站总访问量 129823次 | 本站访客数 12人