关于javascript:2022金三银四前端面试题预告

9次阅读

共计 8222 个字符,预计需要花费 21 分钟才能阅读完成。

2022 金三银四前端面试题预报

马上就到了面试季了,明天整顿了一下前端常见的一些面试题。虽说面试的时候造火箭,须要你背好八股文,不过很多根底还是应该把握的,就算不面试,也应该多看一些根底,内功深厚了,未来说不定还开始写框架了,嘿嘿嘿

我的项目介绍
你感觉前端包含什么
自我介绍
为啥到职
聊我的项目(我的项目的背景、你的角色、团队状况、技术难点、怎么解决、我的项目收益、集体播种)
聊我的项目(聊的很深)
职业思考
你是怎么学习前端的
你想要实现一个性能时,你不晓得 vue 怎么实现,你是怎么查找材料的
面试官简略介绍本人,而后自我介绍
学前端怎么学,本人的亮点,劣势等等
介绍一下简历上的我的项目
本人软实力方面的毛病长处
前端学习了几年了,如何学习的前端
反诘面试官您平时怎么学习前端的(面试官又反诘我先问问我怎么学习的)
简略说说我的项目,没有细问,预计我的项目不是一面的重点。
如何辨别前端和后端的工作,也就是哪些事要给前端做,哪些事要给后端做。有点懵,轻易说了些。
说说自认为我的项目中体现得比拟好的中央。
说一说前端体系
我我的项目的设计构造
你感觉微信小程序和一般的 web 开发有什么区别呢
你是怎么学习前端的呢
对后续的倒退布局有什么想法
我的项目的背景是什么
以后我的项目的目标是什么
在开发过程中,你的角色是什么
在开发过程中有遇到过什么样的难题
遇到这些问题,你都是如何进行解决的
我的项目实现之后,获得了哪些成绩
你是如何提高效率的
我的项目中难点,为什么学前端
举一个值得说的点,通过本人的思考解决了什么交互难度
如何实现工程化建设 / 如何实现自动化建设?
怎么重构的,是不是不理解就重构的?
讲一下你做过的我的项目,在我的项目中负责什么
在我的项目中遇到了哪些艰难,是如何解决的
举一个值得说的点,通过本人的思考解决了什么交互难度
反诘阶段,问了部门的一些业务和技术栈。(因为我后面投递的起因,我不晓得这次面试的是哪个部门,又不好意思间接问是哪个部门🤣)
http1.0、http1.1、http2.0 的区别
介绍一下 http 缓存。
Etag 和 Last-modified 比拟。
encodeURI 和 encodeURIComponent 的区别
http 协定报文构造
http 状态码
协商缓存为什么做了 http1.1 header 字段的优化
http 状态码 400 是啥
http 缓存
http 和 https 区别
cookie 和 localstorage,cookie 个别用来做什么。外面的 domain 属性是干嘛的
www.baidu.com 发送一个申请 tieba.baidu.com。会携带以下哪个 cookie
http2.0 更新哪些。新的二进制什么意思。多路复用怎么做的。header 压缩怎么做的
大小端存储
讲一下 TCP 为什么牢靠
讲一下 DNS 解析
讲一下 HTTP 状态码都是干什么的
讲一下 304(讲了协商缓存和强缓存)
HTTP2 头部压缩是如何实现的,多路复用的原理?
tcp 拥塞管制
http 缓存。
http1.0、http1.1、http2、https 都有哪些理解。这部分比拟相熟,讲到一半面试官就掐了下一道。
Cache-control 字段有哪些?作用是什么?
代理跨域?
状态码和缓存
https 加密,什么是非对称加密?
浏览器的存储形式有哪些
cookie 的无效作用域
跨域的 cookie 要怎么做 怎么实现 SSO 单点登录?
http2.0
get 申请和 post 申请的区别
两者实质是一样的 get 申请能够用 post 申请代替 那有什么存在的必要呢
网络,浏览器篇
dns 解析
TCP 协定、IP 协定、HTTP 协定别离在哪一层吗?
tcp/ip 协定有几层
网络七层协定内容
浏览器过程和线程
谷歌浏览器为什么应用多过程
过程通信的形式
https 加密过程
url 到页面过程
http2 和 http1 的区别
如何实现有状态的 http 协定
强缓存和协商缓存(浏览器缓存机制)
强缓存
协商缓存
浏览器缓存过程
跨域申请
跨域形式
TCP 三次握手为什么不能两次
Tcp 为什么是 4 次挥手
get 和 post
http 申请头中 Referer 的含意和作用
HTTPS 和 HTTP 的次要区别
cookie、sessionStorage 和 localStorage 的区别
TCP 和 UDP 的区别
Cookie 和 Session 有什么区别?
浏览器如何做到 session 的性能的?
说一下浏览器缓存;
跨域的解决计划有哪些?
CORS 是如何做的?
有哪些晋升浏览器性能的形式
从输出 url 到页面渲染结束都经验了什么
重绘和重排怎么了解,如何缩小
http 有哪些申请形式,有什么区别
http 申请和收到的字段有哪些,有什么作用
localStorage 有大小限度,如果数据量过大,你有什么方法
TCP 和 UDP 各自的特点和区别(三次握手四次挥手等)
ip 地址是什么,ipv4 和 ipv6
DNS 协定理解吗
cookie local Storage sessionStorage 的区别
https 如何实现加密,数字证书中都包含哪些内容?
登录是怎么确定用户身份的?讲了 cookie 和 session。问了 cookie 上的 httponly 属性。
跨域
浏览器端的宏工作,微工作
我跨域的问题,如何解决,我说了后端响应时设置 Access-control-allow-origin 头部,还有 JSONP
要我写 JSONP,我是首先介绍了一下它的基本原理
对于 CORS,Get 和 POST 有区别吗?
理解 HTTPS 的过程吗?
websocket 和 http 比照,优缺点
跨域具体(小程序有没有跨域一说)
跨域解决方案,我说的数据代理,深刻问了原理以及浏览器的同源策略,而后引出了 xss 攻打和 csrf 攻打的原理以及进攻措施
原生 AJAX 和 Fetch 的区别。Fetch 怎么监听下载进度?我说忘了。而后问了一下,是通过接管一个一个 chunk,我随口说晓得 http 有个分块传输,而后让我说说。
跨域原理
ajax 和 fetch 区别
介绍一下跨域的解决方案
解决的办法
绕过的办法
说一下 jsonp 的实现原理
写出 axios 或 fetch 的根本用法
webpack 如何做性能优化?
介绍一下 webpack
webacpk 的罕用配置
webpack 的原理
webpack 是如何加载文件的?
webpakc 是如何实现热更新的
webpack 是如何监听文件变动的
webpack 是如何查找资源的
前端工程化外面怎么做到优化的(说了 webpack 的压缩代码、cdn 减速、tree shaking、提取公共代码
new 一个对象产生了什么
es6 新个性
如何判断一个对象为空
如何判断 symbol 对象为空
原型链,为什么要这么设计
ES5 继承,寄生组合式
ES6 继承,实例成员与动态成员解决
CommonJS 与 ES Module 差别
typeof 和 instanceof 的区别
什么是柯里化和尾递归
箭头函数和一般函数区别
说一说一般函数的 this 指向
说一下 new 的过程
class 类的 public、private、static 介绍一下
ul、li 事件委托
e.target 相干罕用的属性
onclick 和 addeventlistener 的区别
介绍一下 promise.all
commonJS 和 es6 模块化的区别
暂时性死区的定义
什么是事件循环,事件代理
装箱拆箱,隐式转换
事件循环,V8 与 Libuv 事件循环的差别
call apply bind
实现一个 bind
实现一个中间件
对于词法作用域的一道题目
实现洋葱模型
模仿实现 8 进制加法
判断数组类型
实现继承
js 阻塞
this 指向问题!!!
看两道输入题,一个无关 this,引出箭头函数相干
一个宏微工作 Promise 相干
过程与线程的关系与区别
js 数据类型
如何辨别援用类型(Object 等)
ES5 和 ES6 的继承
this 指向规定,并有一道对于 this 的题
如何创立一个闭包
promise 之前 js 如何实现异步操作,浏览器事件循环机制(宏工作和微工作)
用过 promise 是吧,手写一个 Promise.all
JS 怎么定义一个常量对象(外部属性无奈批改),答复 Object.freeze(),毛病是要递归,能不能不递归,一时没想起来,提醒:vue3 响应式是怎么实现的?
ES5 实现继承:为什么要改 Son.prototype.constructor = Son,如果不改行不行,不改会产生什么
手撕 Promise.all
怎么判断 array,写一下 instanceof 和 Object.toString 怎么判断
写一下一个空数组的原型链
模块化有哪几种(说了 ES6 和 commonjs),他俩什么区别
开发的时候能间接用 es6 语法吗,为什么。(浏览器不反对 ES6)诘问,所有浏览器都不反对吗?怎么反对 ES6(答 babel),那么 babel 会怎么操作 ES6 模块化的语法呢
js 根本数据类型,null 和 undefined 区别
数组办法有哪些,哪些扭转原数组,哪些不扭转原数组
手写一个 map 办法
如何判断一个数据是数组,讲一下数组和对象的关系
实现一个原型继承
基于 Promise 手写一个 promise.all
根本数据类型
如何判断数组?
instanceof 原理
讲原型链,如何判断属性是本身属性还是原型属性
es6 的模块化和 commenjs 模块化区别
js 中动画如何实现,造成页面梗塞如何解决,问了 requestAnimationFrame 这个 api
将一个一般函数封装成 promise 格调,或是将 ajax 封装成 promise 格调
一道简略的 this 绑定问题。
讲讲 JavaScript 执行上下文。
脚本的几种引入形式。晓得 script 标签的哪些个性。defer 和 async 脚本。问了 crossorigin 个性,不懂。
事件循环,依据代码剖析打印程序,并解释原理。
编程题,实现相似 lodash 的 get 办法。
一个函数修复 0.1+0.2 的问题
2 种办法实现 for 外面放 settimeout 正当输入
手写公布订阅
深拷贝和浅拷贝
事件冒泡捕捉
图片懒加载
场景题:js 加锁(开关)
什么是原型对象以及原型对象有什么长处。
判断数组
数据类型,如何判断数组是否为空
面向对象
函数式编程
diff 算法
JS 线程
如何用多线程防止 JS 单线程要解决的 DOM 元素操作抵触问题(死锁)
事件循环
保护一个定时器构造,它接管两个参数,一个是执行的工夫,一个是执行的工作。
问用什么数据结构去保护这个构造,优化
JS 类型判断
typeof 能检测 8 种值
es6 的 symbol,以及最新的 bigint
函数式编程
函数的副作用
纯函数
curry 的实现
偏函数
es6 扩大了哪些货色
数值扩大,函数扩大啊,比方剪头函数
Proxy,Reflect,Promise,class, 生成器函数,async/await
Proxy 对象能拦挡什么,我说总共 13 个吧
Promise 我给他讲了一下这个对象,而后又顺便扩大出 JS 实现异步的 5 种形式 callback, 公布订阅模式,Promise,生成器函数,async/await 等等
实现异步的 Event Loop
异步在其余语言上是怎么实现
公布订阅设计模式
原型链的题
节流函数
reduce 实现 map 的性能
设计模式,就让我敲一个单例模式
Es6 之前是用什么来模仿类
模仿一遍 new 关键字 写个函数
来一题原型链的
var let const 区别
let const 为块级作用域 申明的变量不在 window 上,所以申明后通过 window 拜访变量是 undefied
箭头函数特点 call 能够扭转吗
call apply bind 区别
javascript 内存机制
怎么防止 js,css 等资源阻塞
js 原理篇
prototype 和 proto 的关系是什么
手写 jsonp
js 继承
预编译
长列表优化
深浅拷贝
浅拷贝
深拷贝
object.create 和 object.assign
尾递归(防止栈溢出的办法)
typeof
js 原型和原型链
jsv8 引擎原理
编译型语言
解释性语言
比拟
v8 引擎
js 执行机制
单线程执行
宿主
执行栈
Event Loop
宏工作和微工作
js 为什么设计成单线程语言
手写节流,防抖
页面性能优化
defer 和 async 的区别
手写 new
手写 event 类
ES6 中 class 是语法还是语法糖
原型的起点
手写实现 promise,promise. all,promise. race
promise
promise.all
promise.race
闭包优缺点
function 和 object 的关系
手写 call
异步执行程序(易错)
setTimeout
promise
async/await
this 指向
this 绑定优先级
“硬绑定”bind 为什么在 new 之后
事件委托
regexp 正则,讲讲贪心模式
顺序存储构造和链式存储构造的优缺点
堆、栈和队列
写 new 的执行过程
写一个解决加法可能产生精度的函数,比方 0.1 + 0.2 = 0.3
1000000000 + 1000000000 容许返回字符串。解决大数。大数问题其实就是通过字符串来解决,从后往前加,而后解决进位的问题。
es module 和 commonjs 的区别
写一个 es6 的继承过程
写一个防抖函数
如何做谬误监控的
先介绍一下有那些谬误监控形式,如
try-cache
unhandleRejection
listener Event
vue error 钩子等等
介绍一下 typescript
ts 下的 never 如何了解
介绍一下 Promise.all
如何确保肯定进入 then 回调
介绍一下 Promise.allSettled
如果版本是一个超出平安范畴的字符串,应该如何解决呢
将 setTimeout 用 promise 封装,实现函数 delay
动静加载的原理是什么?
在构造函数中用 bind 绑定的函数,前后是不是同一个,this 指向考查
CSS 怎么实现边框宽度是 0.5px?
flex 具体介绍属性
什么是 BFC 和 IFC
伪类与伪元素差异
CSS 动画里的 GPU 减速开启(3d 属性)与原理(GPU)
怎么实现左右定宽,两头适应的三栏布局
双飞翼布局
flex 里的 basis 解释一下 `
实现三列布局,左右固定
各种布局 flex grid table-cell
革除浮动
垂直居中
CSS 盒模型
CSS 选择器及其优先级
CSS 实现一个三角形
flex 布局实现一个两边固定宽两头自适应的布局(三栏布局)
translate3d
CSS flex 布局实现一个两头居中,两边靠边的成果,其实就是 justify-content: space-between; 而后讲讲 flex 布局。
CSS 的 BFC 是什么,有什么利用。
暗藏元素的几种形式。
因为下面说到了重排重绘,就针对这个点问了什么时候会导致重排重绘,如何缩小。
Span 标签是否能够设置宽高,margin 和 padding 呢?
哪些操作会导致回流(重绘、回流)
三栏布局
图片存储在 cdn 如何获取宽高、像素
flex 前面三个属性
css 画圆
双栏布局
革除浮动
程度垂直居中
列表标签、段落标签、h 标签
css 文本属性高、多行文本、单行文本 … 解决
margin
盒子模型,规范盒子模型小试牛刀
HTML5 和 HTML4 相比有什么性能的优化或标签
PureComponent,flex 布局以及一些 css 的货色,比方程度垂直居中
css 实现一个模态窗口,要从窗口上面向上弹的动画
css 的单位比方 rem,em,问 css 的布局形式,就是只用盒子模型布局
position 的布局,flex 布局,grid 布局
实现一个右边固定左边自适应的款式
实现一个自适应正方形
css 篇
css 盒子模型
css3 新个性
css 动画
transition
transition-delay
transition-timing-function
animation
css 权重
三栏布局和二栏布局的实现
实现等比矩形
inline 和 inline-block
BFC
clientHeight, scrollHeight, offsetHeight ,scrollTop 和 offsetTop 的区别
clientHeight
scrollHeight
offsetHeight
scrollTop
offsetTop
css 渲染过程
display 有哪些属性
flex 是否实现元素竖排
css 的行内元素和块级元素区别
vue 和 jquery 的区别
vue 生命周期
什么时候会应用 keep-alive 组件
实现一个 vue 组件,底部能够滑入滑出。
防抖节流利用场景
路由怎么实现
histroy 会申请数据吗
渲染页面
vue 的官网文档有看吗
vue 怎么做到切换页面页面不刷新的
Vue 中的计算属性是怎么实现的
写一个图片加载的函数,传入 url 和 timeout,须要解决 error 和 timeout 超时
有一个曾经上线的我的项目,我的项目中呈现了一个 bug,如果在不影响用户的状况下实现我的项目的 bug 的修复,也就是重新部署
react 和 Vue 有什么区别
vue 中的 key
组件间通信形式
vue-cli 做过哪些配置,loader 和 plugins 的区别以及罕用 plugins
Vue 生命周期钩子。
Vuex 用过吗?简略说说。Vuex 上保留哪些变量?为什么不间接用全局变量?Vuex 上的状态最终保留到哪去?这真不知道,问了,面试官说是内存。(我:。。。)
computed、watch 区别
vue 复用伎俩
template 编译 render 过程(ast)
v-if、v-show
vue 如何解决回流重绘的问题
Vue 和 React 的区别
Vue 双向数据绑定原理
数组的绑定有什么非凡解决
Vue3.0 的双向数据绑定是怎么做的
DOM 树 和 渲染树 的区别
vue 双向绑定为什么数组采纳拦挡原型来实现
keep-alive 原理
vuex
源码思考
vue3 的相干改变
vue3 哪些方面变快了
vue3 patchFlags
vue 单向数据流
mvc 和 mvvm
父子组件执行程序
如何实现工程化和自动化
应用 webpack 搭建我的项目
应用 eslint 查看代码标准
应用 typescript 约定类型
应用 proxy 解决跨域
应用 babel 磨平差别
应用 githooks 拦挡提交
应用 plugins / loader 做自动化解决
应用 cicd 做主动打包
应用命令行工具实现主动登录
说一下 v-for 中 key 的作用
diff 的工夫复杂度是多少,如何晋升的
说一下 vue 的生命周期和父子程序
如果在父子组件的场景下,两个组件的生命周期程序大抵恪守 洋葱模型
readonly 和 const 的区别是什么
不同页面间通信的多种实现办法
scope 是怎么实现的
我的项目中动画的实现,
理解虚构 DOM 吗,用代码判断两个 element 是否全等
是否晓得 html 代码生成的 dom 树,写出对应代码
介绍一下 xss 和 csrf 攻打
前端的平安问题。我的弱项,简略说了一下,XSS 和 CSRF 和罕用的预防伎俩。问了 CSP,不懂,没听过。
XSS 攻打
CSRF
XSS 和 CSRF
XSS 防备办法
CSRF 防备办法
git 根本指令
git hook
前端埋点计划?
我的项目做了登录吗
购物车的记录保留在哪
我想让你实现下次进来还有购物车记录怎么实现
二维码登录(没看过没接触过)
前端优化有哪些
这里 cdn 减速具体怎么做的,tree shaking 的条件,提取公共代码是 webpack 间接就做了吗
DNS 解析过程
图片懒加载怎么实现,offsetTop 和 scrollTop 区别。监听事件怎么设置(vue 的什么阶段
图片曾经加载过了不心愿监听怎么办。滚动事件始终触发怎么办。
DNS 有几种查问形式
什么时候用递归查问,什么时候用迭代查问
阐明一下你对脚手架的了解
分页怎么做?在列表的当前页中删除了一条,怎么解决?如何缩小性能代价?减少一条呢?
一个滑动到底部主动加载下一页的长列表,当列表内容过长时,页面卡顿显著,怎么解决?我的想法是设置一个列表的最大值,达到最大值后,依据视窗,动静调整表格中加载的数据。又诘问了如何确定元素在视窗内。
React native 的劣势
还原树
unicode 和 utf- 8 编码
node.js 有哪些罕用 API
react 生命周期,虚构 dom,diff 算法,keys,路由,setState 原理(这个没答上来)
ajax 实现原理,以及和 fetch 的区别
数组,和大于等于 n 的间断最短子序列(一开始疏忽了间断,方向错导致没写完,让说了思路)
设计一个相似百度搜寻框那样随输随搜的,有哪些留神点
SSR
SPA
SEO
GraphQL
GraphQL 这种形式交互有什么益处
nodejs 中的几个事件循环阶段
如果不必 CORS 跨域呢 CORS 是异步的 不必 CORS 呢 有没有更好的办法
给定一个字符串,请你找出其中不含有反复字符的 最长子串 的长度。
我的项目中一个组合筛选的性能实现
npm 命令行工具:主动登录
约定大于配置(模拟 dvajs 下的主动生成路由 / 插件的实现)
plugins 主动上报 cdn/map 等
正文完
 0