front面试题汇总
# 前端 面试题
前端页面有哪三层构成
说说你对正则表达式的理解?应用场景?exec, 匹配一个手机号
Blob 是什么?文件 md5 的 hash 是根据什么生成的?
base64 怎么编码的
介绍一下浏览器的合成层
跨页面通信手段
说说浏览器的消息循环机制
知道单页和多页应用怎么通讯吗?
如何防范 iframe 被钓鱼网站嵌套导致的安全问题?iframe 如何判断是否被嵌套?
讲讲 MVVM,说说与 MVC 有什么区别
Chrome 插件如何屏蔽广告
懒加载怎么实现
做过离线包吗?H5 离线包的原理?客户端根据什么拦截静态资源请求?
有用过代码规范相关的吗?Eslint 和 Prettier 冲突怎么解决?
有用过 lerna 吗?多个项目之间共用的东西怎么共享?
鉴权有了解么,jwt 如何实现踢人,session 和 jwt 鉴权的区别
假如 npm 安装了一个模块 A、依赖 c 的 0.0.1 版本,又安装了一个模块 B,依赖 c 的 0.0.2 版本。请问 node_module 是怎么保证 A、B 正确的找到对应的 c 版本的包的?
移动端优化方式?离线包是如何实现的?
正则表达式如何匹配一段 url ?在正则表达式中有哪几种作用?
toB 和 toC 的区别
json 如何解析成对象,以及 json 解析的底层原理
OSS 防盗链与失效时间
# 前端类别面试题
# 前端布局
# 前端兼容
移动端如何实现屏幕适应,为什么 rem 能实现适应
a. 移动端 1px 问题是怎么解决的
b. 介绍一下 rem 方案和 vw 方案,分别有什么优点和缺点
c. rem 方案的 font-size 是挂在哪的
d. rem 方案时移动端字体是怎么处理的
移动端 300ms 延时的原因?如何处理?
fastclick 解决点击穿透的原理;
移动端适配?post-css 原理?postcss 配置
移动端适配方案 rem 原理?物理像素和独立像素?
怎么判断机型是 iphonx, 几种方案?
平常遇到过哪些 Pc 端兼容,怎么处理的?
# 浏览器渲染相关
详细说一下浏览器的渲染过程?重绘和重排在渲染过程中的哪一部分?
浏览器的控制台是怎么渲染的?说说在浏览器控制台输出 console 到输出显示的过程?
什么情况下会阻塞 DOM 渲染
浏览器处理 AJAX 请求和渲染页面是同一个进程吗,为什么
link 标签会不会阻塞页面的渲染?说一下原因?
为什么 css 推荐放上面,js 推荐放下面?
script 标签的位置会影响首屏时间么?
js 会阻塞页面的渲染吗?说一下原因?什么场景下 js 会放在 body 的首部而不是尾部?
js 会阻塞加载,怎么阻塞的?
css 会阻塞 html 的解析吗?为什么?
css 会阻塞 html 的渲染吗?为什么?
DOM 树上有 10 个节点,渲染树上一定有 10 个节点吗?
图层,分层,绘制,栅格化线程池,GPU 加速,能不能说一下
了解浏览器渲染引擎有哪些,渲染机制是怎样的吗,举例说明一下
浏览器中渲染引擎跟 JavaScript 引擎是怎么通信的
浏览器单线程怎么优化的?
浏览器里除了 js 还能运行什么
浏览器架构,都有什么进程和线程
如何监听一个 html 页面加载完毕,如何监听页面资源加载完毕
JS 异步加载的三种方案,除了 async 和 defer 还有一种你知道吗
浏览器加载页面比较耗时的是哪一阶段
# babel 面试题
Babel 有什么作用?介绍一下 babel,使用过 babel 的哪些插件
你能说说 babel 是怎么解析语法的吗?
词法分析和语法分析的作用? a=1;会进行词法分析吗? 怎么进行词法分析的?(关键字)
词法和语法谁先执行? 哪些算是词法哪些算是语法? const const a=1;词法分析能通过吗?是到语法分析才报错吗?
- 对于工程化你有什么了解?怎么实现代码向下兼容?babel 为什么没实现所有代码的向下兼容?
简述一下 babel 和 ast?可以用 ast 做一些什么事?
babel.config.js 和.babelrc 有什么区别,应该在什么场景使用,同时使用的话会出现什么现象
babel 转换代码的过程,箭头函数转普通函数的时候,是如何处理 this 的?
babel 的原理了解吗,babel 是用来干嘛的。
说一说常见的 babel 库,你有使用过哪些。
写过 babel 插件吗?用来干啥的?怎么写的 babel 插件
知道怎么转化成 AST 的吗?
babel 在 转义 const 的时候 会转成什么 但是 在运行的时候 为什么会有 const 的属性
# 前端名词技术
serverless 有多少了解,它适合做什么,都用它写过什么
REST 是什么,为什么使用它?
介绍下 Restful
Service Worker 有哪些作用
serviceworker 如何保证离线缓存资源更新
简单说一下 pwa
谈谈你对前后端分离的看法
Web Worker 的局限性;如何使用动态的 JS 代码生成动态的 Web Worker 实例(ArrayBuffer + URL.createObjectURL)
Web Worker 是什么,Echarts 和 Web Worker 结合使用场景
JSON Web Token(JWT),JWT 的实现原理,JWT 的构成,JWT 的优点和缺点
客户端在请求服务端的时候 token 会被怎么携带,通过什么方式携带
token 一旦被颁发很难被撤销,如果我想让一个用户失去登录状态应该怎么做
# 多端面试题
JS Bridge 通信原理?有没有安全漏洞?
明明不是同一个语言,为什么 js 和 native 可以通信? js 和 native 是如何通信的?
怎么实现 js bridge 跨多个 app 共用?
怎么判断 webview 是否加载完成?你们 WebView 加载一般耗时多久?
你们开发的 h5 项目依赖的安卓和苹果的 webview 的内核分别都是什么
bridge 的原理有了解么,有遇到过什么问题么,在一些没有 bridge 的场景里有没有做过特殊处理
Hubuilder 可以一转三的原理是什么,小程序和 Hbuilder 区别
了解多端的原理吗?
前端的 native 方案设计
app 嵌套 h5 的方式
- Android 与 IOS 加载资源有什么区别
# taro
Taro 多平台的兼容是怎样做的,Taro 是怎么把 react 代码编译成运行时,运行时是什么样的代码,又是如何让它在原生小程序的 DSL 中执行的
tarojs 原理?以前的版本和现在有什么区别?重运行时的优缺点?轻编译重运行时优缺点?