• Stars
    star
    159
  • Rank 235,916 (Top 5 %)
  • Language
  • Created almost 2 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

前端面试题汇总资深

interview

前端面试题汇总中级前端

小满 中级前端面试题

自我介绍

CPU 执行原理 以及冯诺依曼体系结构

说一下 LHS RHS 是什么

100T 文件如何遍历里面的信息?

介绍一下dll 文件

HTML 的字符实体是什么

js底层数据结构如何存储在V8里面

H5新特性

如果提到localstorage 就追问 localstorage API 以及 localStorage 实现原理 以及 localStorage 存在哪儿 以及localStorage 跨域

如果提到PWA技术 就追问 PWA优点 继续追问 Service Workers 继续追问 PWA和hybrid的不同

如果提到canvas 就追问 canvas 常用API

如果提到webSocket 就追问 webSocket 的用法 以及手动实现ws协议 继续追问SSE技术 和 ws的区别

如果提到webWorker 就追问 webWorker 用法 以及实现原理

浏览器如何跨tab页通讯?

如何区分强网弱网

什么是灰度

async defer

SEO

BFC

回流与重绘 以及优化方案

webComponents 以及 微前端 以及 emp 模块联邦

Css盒模型 和 怪异盒模型区别 以及统一策略

css 伪类

为什么哔哩哔哩用vmin 不用 vh

css变量

css flex grid

Css 动画 关键帧等

bem架构

如果需要手动写动画,你认为最小时间间隔是多久,为什么? 答:多数显示器默认频率是60Hz,即1秒刷新60次,所以理论上最小间隔为1/60*1000ms=16.7ms

less scss 解决了什么问题

postCss 是干嘛的 是否用过 是否写过插件

是否用过tailwindCss 是否用过unoCss

typeOf null 是什么 原因是什么

比较两个对象是否相等

判断是不是数组

说说常用的es6

proxy Reflect 为什么要配合 proxy劫持 函数 劫持for in

迭代器 生成器 for of 以及 Iterator 以及数组解构原理 和对象解构原理(深入V8引擎)

Class 用法 super原理 继承 如何定义私有属性

AMD CMD UMD CJS ESM IIFE 的区别

Promise 静态方法 以及 all 实现原理 有限状态机

map set weakMap weakSet

微任务 宏任务 同步 异步 async await

装饰器 以及 装饰器解决了什么问题

ArrayBuffer 如何使用 以及跟webGl 的关系

讲一下 GLSL Shader 实现亮度(Brightness)、对比度(Contrast) 和边缘检测(Edge Detection) 是如何实现的回答的时候忘记了对比度的算法实现没答上来,讲了下明度 Luminance 的调节;亮度Brightness是RGB+亮度系数;边缘检测和图像锐化是使用 Convolution Kernel 卷积核加深中心像素与周围像素的色彩差值梯度,使边缘更加突出

计算机图形绘制原理

WebAssembly 工作原理 如何编译成wasm

webRTC 架构 如何 实现推流 拉流

垃圾回收 内存泄漏 堆栈

深拷贝 防抖 节流

实现深拷贝的几种方法 追问 对象群嵌套15层 我想用14层的一个属性 最优解决方案 引出 Immutable js 追问 Immutable js 实现原理 字典 位分区 及 树压缩算法

什么是纯函数 什么是副作用函数

浏览器输入一个url 发生了什么 DNS解析顺序 追问OSI 七层网络模型 三次握手 http https 区别 http1 2 3 区别 强缓存 协商缓存

TCP 跟 UDP 的区别

TCP 的 超时重传协议 滑动窗口思想

Ajax fetch navigator.sendBeacon 三个的区别

nodejs 是否用过

nodejs-napi addon

是否用过一些库 如 express koa nest 追问用的什么数据库 以及高速缓存 如 redis ,用的什么ORM框架,如果熟悉express 追问 中间件原理,熟悉nest 追问 ioc控制反转 DI 依赖注入 设计模式 以及MVC 架构 和MVVM 区别 继续追问nest rxjs 库用法 以及原理 继续追问nest 微服务 gRPC MQ 以及网关 。

聊聊数据库 mysql 底层数据结构 为什么使用B+ 树,继续追问 mysql事务以及四大特性 追问悲观锁和乐观锁

数据库的引擎?

聊聊redis redis是单线程还是多线程 以及底层原理

聊聊nodejs 的 vm虚拟机 以及PAI 以及 底层libuv openSSL

聊聊nodejs 子线程 进程守卫怎么做

聊聊 断点续传怎么做(前后端)

Npm 是什么 package-lock.json 是做什么的 npm 缓存原理

pnpm 实现原理 以及 monorepo 架构

如何发布 npm 包 有没有发过 自己的 npm包 周下载量多少

webpack vite rollup esbuild swc gulp

Webpack 脱口而出的配置 webpack 分包 webpack 打包优化 webpack打包原理 以及 HMR 原理

Vite原理 中间件原理 是否写过vite插件

rollup 和 webpack的区别

esBuild 常用命令 以及 为什么这么快

Vue2 3 区别

Diff算法 追问 最长递增子序列算法 以及 二分查找 和 贪心算法

响应式原理 追问 为什么使用位运算

Vue源码调度机制 以及nextTick执行机制

Vue3 新增2个内置组件 介绍

Vue3 keep-alive LRU 算法以及原理介绍

Vue-router 原理 hash 和 history 以及 对应微前端 以及monorepo 架构

Pinia vuex 设计模式 以及实现原理 为什么刷新数据丢失 以及解决方案

AOT 和 JIT 的区别

动态扩容 动态缩容 横向扩容 怎么做

nginx 四层LB负载均衡 nginx七层LSB 负载均衡怎么做 nginx多机房异地容灾怎么做

两地三中心 怎么做?

nginx源码中的unix域是怎么做的 做什么的

nginx lua插件怎么写

网关怎么做 网关熔断怎么做 网关分流怎么做 网关加密怎么做

FPS 帧率 requestIdleCallback performance

java面试题

什么是服务熔断?什么是服务降级?

Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?

SpringBoot和SpringCloud的区别?

SpringBoot和SpringCloud的区别?

什么是 feigin ?它的优点是什么?

Ribbon和Feign的区别?

springBoot

Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

运行Spring Boot有哪几种方式?

如何理解 Spring Boot 中的 Starters?

如何在Spring Boot启动的时候运行一些特定的代码?

Spring Boot 需要独立的容器运行吗?

Spring Boot中的监视器是什么?

如何使用Spring Boot实现异常处理?

你如何理解 Spring Boot 中的 Starters?

springboot常用的starter有哪些

SpringBoot 实现热部署有哪几种方式?

如何理解 Spring Boot 配置加载顺序?

Spring Boot 的核心配置文件有哪几个?它们的区别是什么?

如何集成 Spring Boot 和 ActiveMQ?

redis

Redis篇

为什么要用缓存

说说 Redis 的线程模型

Redis 持久化方式有哪些?以及有什么区别?

怎么使用 Redis 实现消息队列?

说说你对Redis事务的理解

熟悉哪些 Redis 集群模式?

Redis 常见性能问题和解决方案有哪些?

Redis 报内存不足怎么处理?

说说Redis持久化机制

缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问

redis的数据类型,以及每种数据类型的使用场景

Redis 为什么是单线程的

Redis 常见性能问题和解决方案?

了解Redis的事务吗?

Redis 的数据类型及使用场景

数据结构和算法

队列和栈是什么,列出它们的区别

BlockingQueue是什么

简述 ConcurrentLinkedQueue LinkedBlockingQueue 的用处和不同之处。

ByteBuffer 与 StringBuffer有什么区别

HashMap的工作原理是什么

HashMap 的 table的容量如何确定?loadFactor 是什么? 该容量如何变化?这种变化会带来什么问题?

HashMap 和 HashTable、ConcurrentHashMap 的区别

HashMap的遍历方式及效率

如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办

HashMap 是线程安全的吗?并发下使用的 Map 是什么,它们内部原理分别是什么,比如存储方式、 hashcode、扩容、 默认容量等

HashSet和TreeSet有什么区别

WeakHashMap 是怎么工作的?

LinkedHashMap 和 PriorityQueue 的区别是什么

LinkedList 是单向链表还是双向链表

LinkedList 与 ArrayList 有什么区别

ArrayList 和 HashMap 的默认大小是多数

ArrayList 和 LinkedList 的区别,什么时候用 ArrayList?

ArrayList 和 Set 的区别?