前端面试八股__必刷高频知识点(持续更新)
作者:互联网
参考文章:
https://q.shanyue.tech/fe/ 前端常见面试题总结
浏览器
- 浏览器缓存通信
- 重绘是什么
- 从服务器拿来html是怎么渲染到页面上的
- 头部JS脚本执行的时候会发生什么
- 用到过什么前端性能优化,缓存之类的
- http有哪些请求方式,状态码
- get,post请求的区别
- 内存泄漏,怎么解决
- 前端安全,防范,xss,csrf,防范具体措施;前端的攻击方式;如何预防csrf
- V8垃圾回收机制
- 输入url到页面显示的过程
- http和https的区别。TLS握手
- web页面生命周期和dom生命周期
- tcp和udp
- dns解析过程,dns劫持了解吗
- 前端页面加载性能提升方法
- 跨域,前端跨域,项目中的跨域(代理),cors
- 怎么实现10个请求并发数为3的情况下请求接口
- cookie session,cookie的安全
- 图片懒加载:一万张图片懒加载如何优化
- js文件应该使用强缓存还是协商缓存
html+css
- px,em,rem区别
- 使用css实现一个三角形
- flex布局,说出父容器、子容器构成及其属性代表什么
- 用css实现单行截断字符串,最后以…结尾
- 说一说盒模型,定位
- 说一说display都有哪些属性,img是什么元素,div是什么元素,span是什么元素
- 怎么垂直居中
- flex怎么让三个子项目在横向上均等分 ;flex里的basis解释一下;设置主轴上的base size;basis为auto时,宽度是多少就是多少;如果设置basis的大小并且有width的情况下,basis生效;最终因素的优先级:max-width/max-height/min-width/min-height > flex-basis > width/height > 内容本身的size
- BFC相关。追问,那现在父元素相对定位,并且overflow:hidden,子元素相对定位top-100px,子元素在哪
- 圣杯布局
- css中实现单行多行文字截断
- html 中img alt和title属性
- seo方法
- 语义化标签
- css box-sizing
- display:none visibility:hidden opacity
- padding-bottom:30% 判断相对宽度的长度
- css实现九宫格
- 怎么实现左右定宽,中间适应的三栏布局
- 双飞翼布局
- span的padding margin
- 获取一个元素左上角距离浏览器的距离
- dom各种操作
- 介绍轮播图,递归组件 实现
js
- 手写一个类,list队列,包含push,pop,Search(index)要求时间复杂度o(1)
- 实现promise.all,参数是什么;promise 有什么api;promise代码输出;promise实现超时;promise实现race;isPromise
- 浏览器事件,onclick 和addEventListener
- 伪类和伪元素
- 怎么阻止冒泡
- 0.1+0.2 是0.3吗,为什么,解释一下二进制浮点数运算过程
- new是干什么的,写一个方法实现new
- 判断是不是Array
- 手写 reduce的polyfill,new的实现
- 怎么定义变量,(追问)那var,let,const有什么区别
- 基础数据类型有哪些,(我说到了symbol和bigint),详细说明
- 闭包概念?实现原理(概念背的很好啊,笑)来做几个题 - 第一题 概念,题目
- sessionStorage和localStorage的区别,(追问)那这两东西怎么设置过期时间 区别✔, 追问
- 原型链,修改原型的方法;prototype和proto;proto是非标准规范,后来的标准规范是什么?
- 事件循环概念,做题
- Flex布局实现header(左边back按钮 中间title)
- 渲染线程和解析js的线程
- position 和 display 相互影响的属性
- reduce实现map
- es6新特性,箭头函数,箭头函数和普通函数区别,说一说普通函数的this指向;class类的public、private、static介绍一下; 箭头函数转为es5时babel原理
- 手写嵌套数组展开
- 手写函数柯里化
- 防抖节流函数 有什么区别;滚动加载
- 字符串原型函数
- 手写题 写一个数组的原型函数,返回出现次数大于输入n的数组项
- map的实现思路
- weakmap和weakset的区别
- 手撕jsonp
- histroy会请求数据吗
- ul、li事件委托
- e.target相关
常用的属性:
event.target.nodeName //获取事件触发元素标签name
event.target.id //获取事件触发元素id
event.target.className //获取事件触发元素classname
event.target.innerHTML //获取事件触发元素的内容
e.currentTarget : 指的是绑定了事件监听的元素(可以理解为触发事件元素的父级元素)
e.target: 指的是真正触发事件的那个元素 - onclick和addeventlistener的区别
- defer和async
- 回流重绘
- js一亿长度的number类型多少kb?
vue
- Vue的特性,对于响应式怎么理解
- 什么是双向绑定,底层原理,实现双向数据绑定。.组件通信
- 性能方面特点:虚拟DOM(是什么,做了什么,diff算法了解吗
- MVVM怎么理解
- vue的生命周期说一说,在哪一阶段请求数据 ,在哪一阶段获取元素属性,数据请求写在哪个生命周期函数中;computed watched methods区别
- vue里面用什么api获取元素的宽高
- vue2 和 3区别
- 模版编译
- Vue router两种模式,vue router 有哪些api
- 怎么实现一个eventBus
- vuex的理解;项目的vuex登录,拉取信息
- vue父子组件传值
node
- express,mongodb介绍
前端工程化,webpack
- 设计模式,会多少说多少,框架里用到了哪些设计模式,实现一下发布订阅
- 模块化,引用,修改模块变量时esmodule和commonjs的区别
- webpack了解吗,webpack5做了哪些更新。webpack4怎么拆分代码,咋配置
- 不使用loader,plugins会怎么样
- 宏任务微任务
- 对不同状态管理器的理解,hooks的出现给状态管理器带来的变化;怎么设计一个状态管理器;recoil感受
计算机基础(与浏览器有重复合并)
- 进程线程。浏览器几个进程,之间有什么关系,解释一下
- 强类型和弱类型语言他们的变量在内存中如何存储的
- 网络7层模型
- 死锁
项目相关
- 数据视图更新怎么做的
- 登陆认证
- 前端存储
- 项目异常处理等
- 用户保活
- 安全相关:对称加密,非对称加密;https过程;中间人攻击;CA机构数字证书怎么用的;rem适配原理
- 权限系统怎么设计
- 前端埋点方案(需要了解现有主流的方案)
判断输出题/ 具体的案例提问题
- 我实习的时候遇到的一个问题,来做一下?现在有一个数组(里面有对象,也有数组 - 并且深层嵌套),想向每个嵌套的对象内插入一个key,key的值在另一个对象里,怎么做?我:大概可能。。是用遍历和递归吧。。。嗯不错,那把完整代码写出来 - 直接跪了,脑袋停止了思考。面试官:啊没事,那我们问点基础吧 x
- 设计一个验证码模块
- settimeout代码看输出
- 考察变量 箭头函数返回还有对象赋值解构赋值
- this指向
- 场景题:vx扫码登录 服务端 前端 手机端 tb:轮询 优化?
算法题
- 力扣:反转链表,层序遍历树,无重复子串,三数之和
- 做个题,输入一组对象含权重,根据权重随机输出某组对象
- 写个数组拍平
- 十个同样的字符串 如何存储
- 给一个表达式字符串求值 4*5+(8/4)-3 (用两个栈存数字和计算符,存的时候遇到乘除直接计算,然后退栈计算加减,遇到括号直接将括号内的表达式传进该函数计算后返回)
- 给一颗树,求树上tag出现次数第k大的tag (先bfs遍历存值,然后用快排思想维护pos位置)
- bfs二维矩阵染色(每次扩散相邻四个节点,几次扩散完对应节点)
- 求数组最深深度
- 判断单向链表是否有环
- 数组reduce和map,并使用reduce实现map
- 解决0.1+0.2不准确的问题
- 快排
- 保证数组中至少有一个正数:输入:[1,2,5,-7,8,-10];输出:9 (子数组为: [1, 2,5,-7,8])
- 版本号比较
- 数字组成的字符串:12345678910111213…第n位字符是什么?
- bus总线
- 判断字符串出现最多的字符和统计次数
- 模板渲染(正则
唠家常
- 问自己还有哪些亮点
- 最近学习的技术
- 未来的发展
- 可不可以来实习
- 讲讲前端学习经历
- 项目中遇到的难点
- 你觉得前端包括什么
- 反问
标签:__,知识点,区别,实现,前端,元素,怎么,数组,必刷 来源: https://blog.csdn.net/weixin_49834963/article/details/117535925