前端面试八股__必刷高频知识点(持续更新)

参考文章:
https://q.shanyue.tech/fe/ 前端常见面试题总结

浏览器

  1. 浏览器缓存通信
  2. 重绘是什么
  3. 从服务器拿来html是怎么渲染到页面上的
  4. 头部JS脚本执行的时候会发生什么
  5. 用到过什么前端性能优化,缓存之类的
  6. http有哪些请求方式,状态码
  7. get,post请求的区别
  8. 内存泄漏,怎么解决
  9. 前端安全,防范,xss,csrf,防范具体措施;前端的攻击方式;如何预防csrf
  10. V8垃圾回收机制
  11. 输入url到页面显示的过程
  12. http和https的区别。TLS握手
  13. web页面生命周期和dom生命周期
  14. tcp和udp
  15. dns解析过程,dns劫持了解吗
  16. 前端页面加载性能提升方法
  17. 跨域,前端跨域,项目中的跨域(代理),cors
  18. 怎么实现10个请求并发数为3的情况下请求接口
  19. cookie session,cookie的安全
  20. 图片懒加载:一万张图片懒加载如何优化
  21. js文件应该使用强缓存还是协商缓存

html+css

  1. px,em,rem区别
  2. 使用css实现一个三角形
  3. flex布局,说出父容器、子容器构成及其属性代表什么
  4. 用css实现单行截断字符串,最后以…结尾
  5. 说一说盒模型,定位
  6. 说一说display都有哪些属性,img是什么元素,div是什么元素,span是什么元素
  7. 怎么垂直居中
  8. flex怎么让三个子项目在横向上均等分 ;flex里的basis解释一下;设置主轴上的base size;basis为auto时,宽度是多少就是多少;如果设置basis的大小并且有width的情况下,basis生效;最终因素的优先级:max-width/max-height/min-width/min-height > flex-basis > width/height > 内容本身的size
  9. BFC相关。追问,那现在父元素相对定位,并且overflow:hidden,子元素相对定位top-100px,子元素在哪
  10. 圣杯布局
  11. css中实现单行多行文字截断
  12. html 中img alt和title属性
  13. seo方法
  14. 语义化标签
  15. css box-sizing
  16. display:none visibility:hidden opacity
  17. padding-bottom:30% 判断相对宽度的长度
  18. css实现九宫格
  19. 怎么实现左右定宽,中间适应的三栏布局
  20. 双飞翼布局
  21. span的padding margin
  22. 获取一个元素左上角距离浏览器的距离
  23. dom各种操作
  24. 介绍轮播图,递归组件 实现

js

  1. 手写一个类,list队列,包含push,pop,Search(index)要求时间复杂度o(1)
  2. 实现promise.all,参数是什么;promise 有什么api;promise代码输出;promise实现超时;promise实现race;isPromise
  3. 浏览器事件,onclick 和addEventListener
  4. 伪类和伪元素
  5. 怎么阻止冒泡
  6. 0.1+0.2 是0.3吗,为什么,解释一下二进制浮点数运算过程
  7. new是干什么的,写一个方法实现new
  8. 判断是不是Array
  9. 手写 reduce的polyfill,new的实现
  10. 怎么定义变量,(追问)那var,let,const有什么区别
  11. 基础数据类型有哪些,(我说到了symbol和bigint),详细说明
  12. 闭包概念?实现原理(概念背的很好啊,笑)来做几个题 - 第一题 概念,题目
  13. sessionStorage和localStorage的区别,(追问)那这两东西怎么设置过期时间 区别✔, 追问
  14. 原型链,修改原型的方法;prototype和proto;proto是非标准规范,后来的标准规范是什么?
  15. 事件循环概念,做题
  16. Flex布局实现header(左边back按钮 中间title)
  17. 渲染线程和解析js的线程
  18. position 和 display 相互影响的属性
  19. reduce实现map
  20. es6新特性,箭头函数,箭头函数和普通函数区别,说一说普通函数的this指向;class类的public、private、static介绍一下; 箭头函数转为es5时babel原理
  21. 手写嵌套数组展开
  22. 手写函数柯里化
  23. 防抖节流函数 有什么区别;滚动加载
  24. 字符串原型函数
  25. 手写题 写一个数组的原型函数,返回出现次数大于输入n的数组项
  26. map的实现思路
  27. weakmap和weakset的区别
  28. 手撕jsonp
  29. histroy会请求数据吗
  30. ul、li事件委托
  31. e.target相关
    常用的属性:
    event.target.nodeName    //获取事件触发元素标签name
    event.target.id       //获取事件触发元素id
    event.target.className   //获取事件触发元素classname
    event.target.innerHTML   //获取事件触发元素的内容
    e.currentTarget : 指的是绑定了事件监听的元素(可以理解为触发事件元素的父级元素)
    e.target: 指的是真正触发事件的那个元素
  32. onclick和addeventlistener的区别
  33. defer和async
  34. 回流重绘
  35. js一亿长度的number类型多少kb?

vue

  1. Vue的特性,对于响应式怎么理解
  2. 什么是双向绑定,底层原理,实现双向数据绑定。.组件通信
  3. 性能方面特点:虚拟DOM(是什么,做了什么,diff算法了解吗
  4. MVVM怎么理解
  5. vue的生命周期说一说,在哪一阶段请求数据 ,在哪一阶段获取元素属性,数据请求写在哪个生命周期函数中;computed watched methods区别
  6. vue里面用什么api获取元素的宽高
  7. vue2 和 3区别
  8. 模版编译
  9. Vue router两种模式,vue router 有哪些api
  10. 怎么实现一个eventBus
  11. vuex的理解;项目的vuex登录,拉取信息
  12. vue父子组件传值

node

  1. express,mongodb介绍

前端工程化,webpack

  1. 设计模式,会多少说多少,框架里用到了哪些设计模式,实现一下发布订阅
  2. 模块化,引用,修改模块变量时esmodule和commonjs的区别
  3. webpack了解吗,webpack5做了哪些更新。webpack4怎么拆分代码,咋配置
  4. 不使用loader,plugins会怎么样
  5. 宏任务微任务
  6. 对不同状态管理器的理解,hooks的出现给状态管理器带来的变化;怎么设计一个状态管理器;recoil感受

计算机基础(与浏览器有重复合并)

  1. 进程线程。浏览器几个进程,之间有什么关系,解释一下
  2. 强类型和弱类型语言他们的变量在内存中如何存储的
  3. 网络7层模型
  4. 死锁

项目相关

  1. 数据视图更新怎么做的
  2. 登陆认证
  3. 前端存储
  4. 项目异常处理等
  5. 用户保活
  6. 安全相关:对称加密,非对称加密;https过程;中间人攻击;CA机构数字证书怎么用的;rem适配原理
  7. 权限系统怎么设计
  8. 前端埋点方案(需要了解现有主流的方案)

判断输出题/ 具体的案例提问题

  1. 我实习的时候遇到的一个问题,来做一下?现在有一个数组(里面有对象,也有数组 - 并且深层嵌套),想向每个嵌套的对象内插入一个key,key的值在另一个对象里,怎么做?我:大概可能。。是用遍历和递归吧。。。嗯不错,那把完整代码写出来 - 直接跪了,脑袋停止了思考。面试官:啊没事,那我们问点基础吧 x
  2. 设计一个验证码模块
  3. settimeout代码看输出
  4. 考察变量 箭头函数返回还有对象赋值解构赋值
  5. this指向
  6. 场景题:vx扫码登录 服务端 前端 手机端 tb:轮询 优化?

算法题

  1. 力扣:反转链表,层序遍历树,无重复子串,三数之和
  2. 做个题,输入一组对象含权重,根据权重随机输出某组对象
  3. 写个数组拍平
  4. 十个同样的字符串 如何存储
  5. 给一个表达式字符串求值 4*5+(8/4)-3 (用两个栈存数字和计算符,存的时候遇到乘除直接计算,然后退栈计算加减,遇到括号直接将括号内的表达式传进该函数计算后返回)
  6. 给一颗树,求树上tag出现次数第k大的tag (先bfs遍历存值,然后用快排思想维护pos位置)
  7. bfs二维矩阵染色(每次扩散相邻四个节点,几次扩散完对应节点)
  8. 求数组最深深度
  9. 判断单向链表是否有环
  10. 数组reduce和map,并使用reduce实现map
  11. 解决0.1+0.2不准确的问题
  12. 快排
    A: https://www.cnblogs.com/hjx-blog/articles/9183453.html
  13. 保证数组中至少有一个正数:输入:[1,2,5,-7,8,-10];输出:9 (子数组为: [1, 2,5,-7,8])
  14. 版本号比较
  15. 数字组成的字符串:12345678910111213…第n位字符是什么?
  16. bus总线
  17. 判断字符串出现最多的字符和统计次数
  18. 模板渲染(正则

唠家常

  1. 问自己还有哪些亮点
  2. 最近学习的技术
  3. 未来的发展
  4. 可不可以来实习
  5. 讲讲前端学习经历
  6. 项目中遇到的难点
  7. 你觉得前端包括什么
  8. 反问
  • 3
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值