From 92c59169a0c41a86fbae8c73e75aae08772a08f0 Mon Sep 17 00:00:00 2001 From: YuanHui <31339626+alsesa@users.noreply.github.com> Date: Thu, 25 Dec 2025 21:05:14 +0800 Subject: [PATCH] initial commit --- .DS_Store | Bin 0 -> 10244 bytes .idea/.gitignore | 8 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/mianshiya.iml | 11 + .idea/misc.xml | 7 + .idea/modules.xml | 8 + 26 届秋招 Go 热题.md | 58 + 26 届秋招 Java 热题.md | 104 + 26 届秋招 React 热题.md | 22 + 26 届秋招 Vue 热题.md | 38 + 26 届秋招前端热题.md | 98 + 26 届秋招后端热题.md | 164 + 408考研面试题.md | 2983 +++++++++++++++++ AI 应用面试题.md | 26 + AI 答题平台项目面试题.md | 112 + AI 超级智能体项目面试题.md | 110 + AI 零代码应用生成平台项目面试题.md | 124 + AI大模型原理和应用面试题.md | 254 ++ API 开放平台项目面试题.md | 61 + Airflow 面试题.md | 88 + Ambari 面试题.md | 100 + Android UI 面试题.md | 60 + Android 原理面试题.md | 26 + Android 基础面试题.md | 54 + Android 库面试题.md | 54 + Android 性能优化面试题.md | 42 + Android 数据存储面试题.md | 26 + Android 网络通信面试题.md | 20 + Android 进阶面试题.md | 246 ++ Atlas 面试题.md | 98 + Azkaban 面试题.md | 112 + C# .NET 面试题.md | 140 + C# WPF 面试题.md | 106 + C# 基础面试题.md | 390 +++ C# 并发面试题库.md | 186 + C# 底层原理面试题.md | 114 + C# 框架面试题.md | 110 + C# 集合面试题.md | 224 ++ C# 面向对象面试题.md | 122 + C# 面试题.md | 1392 ++++++++ C++ STL面试题.md | 14 + C++ 基础面试题.md | 132 + C++ 并发编程面试题.md | 36 + C++ 新特性面试题.md | 48 + C++ 进阶面试题.md | 94 + C++ 面向对象面试题.md | 24 + C++ 面试题.md | 226 ++ CI_CD 面试题.md | 62 + Cassandra 面试题.md | 80 + ClickHouse 面试题.md | 98 + DBA 数据库运维面试题.md | 210 ++ DevOps 运维面试题.md | 300 ++ Docker 面试题.md | 56 + DolphinScheduler 面试题.md | 92 + Doris 面试题.md | 116 + Drill 面试题.md | 84 + Druid 面试题.md | 92 + Dubbo 原理面试题.md | 22 + Dubbo 性能优化面试题.md | 20 + Dubbo 配置面试题.md | 58 + Dubbo 面试题.md | 133 + ElasticSearch 面试题.md | 354 ++ Elasticsearch 优化面试题.md | 66 + Elasticsearch 原理面试题.md | 58 + Elasticsearch 应用面试题.md | 110 + Elasticsearch 评分面试题.md | 48 + Elasticsearch 配置面试题.md | 56 + Elasticsearch 集群面试题.md | 62 + Express 框架面试题.md | 118 + Flink 面试题.md | 148 + Flume 面试题.md | 110 + Git 协作应用面试题.md | 58 + Git 基础面试题.md | 118 + Git 操作面试题.md | 264 ++ Git 概念面试题.md | 64 + Git 进阶面试题.md | 246 ++ Go 代码分析面试题.md | 36 + Go 垃圾回收面试题.md | 50 + Go 基础面试题.md | 134 + Go 并发编程面试题.md | 122 + Go 底层原理面试题.md | 66 + Go 性能优化面试题.md | 16 + Go 标准库面试题.md | 28 + Go 面向对象面试题.md | 22 + Go 面试题.md | 462 +++ HBase 面试题.md | 144 + HDFS 面试题.md | 92 + HR 面试题.md | 110 + Hadoop 面试题.md | 102 + Hive 面试题.md | 126 + Hudi 面试题.md | 82 + IT 运维工程师面试题.md | 202 ++ Iac 面试题.md | 62 + Iceberg 面试题.md | 84 + Impala 面试题.md | 90 + JMeter 面试题.md | 74 + Java 基础面试题.md | 131 + Java 并发面试题.md | 126 + Java 手写代码面试题.md | 8 + Java 热门面试题 200 道.md | 401 +++ Java 虚拟机面试题.md | 92 + Java 集合面试题.md | 52 + Java 面试题.md | 401 +++ Kafka 面试题.md | 118 + Koa 框架面试题.md | 104 + Kubernetes 面试题.md | 54 + Kudu 面试题.md | 88 + Kylin 面试题.md | 96 + Linux 系统面试题.md | 88 + Logstash 面试题.md | 74 + Mahout 面试题.md | 102 + MapReduce 面试题.md | 100 + Metacat 面试题.md | 76 + MongoDB 面试题.md | 144 + MyBatis 面试题.md | 35 + MySQL 面试题.md | 162 + Netty 面试题.md | 26 + Nginx 原理面试题.md | 40 + Nginx 应用面试题.md | 78 + Nginx 配置面试题.md | 134 + Nginx 面试题.md | 230 ++ Node.js 框架面试题.md | 220 ++ Node.js 面试题.md | 270 ++ OJ 判题项目面试题.md | 87 + Oracle 数据库面试题.md | 80 + PHP 基础面试题.md | 102 + PHP 应用场景面试题.md | 48 + PHP 框架面试题.md | 120 + PHP 面向对象面试题.md | 40 + PHP 面试题.md | 302 ++ PostgreSQL 数据库面试题.md | 64 + Presto 面试题.md | 84 + PySpark 面试题.md | 96 + Python 代码分析面试题.md | 16 + Python 手写代码面试题.md | 50 + Python 面试题.md | 186 + RabbitMQ 面试题.md | 62 + React Router 面试题.md | 36 + React 基础面试题.md | 214 ++ React 工具和库面试题.md | 180 + React 状态管理面试题.md | 134 + React 进阶面试题.md | 454 +++ Redis 面试题.md | 106 + RocketMQ 面试题.md | 60 + SQL 基础查询面试题.md | 64 + SQL 电商场景面试题.md | 68 + SQL 网站场景面试题.md | 90 + SQL 进阶查询面试题.md | 94 + Scala 面试题.md | 110 + Selenium 面试题.md | 76 + Shell 面试题.md | 48 + Spark SQL 面试题.md | 114 + Spark Streaming 面试题.md | 84 + Spark 面试题.md | 120 + Spring 面试题.md | 142 + SpringBoot 面试题.md | 52 + SpringCloud 面试题.md | 110 + Sqoop 面试题.md | 118 + Storm 面试题.md | 134 + TDengine 面试题.md | 80 + Tableau 面试题.md | 104 + Transformer 面试题.md | 56 + Trie面试题.md | 4 + Vue Router 面试题.md | 72 + Vue 基础面试题.md | 148 + Vue 工具和库面试题.md | 192 ++ Vue 状态管理面试题.md | 48 + Vue 进阶面试题.md | 412 +++ Vue3 面试题.md | 30 + Web 测试面试题.md | 182 + Webpack 面试题.md | 112 + Windows 系统面试题.md | 50 + Yarn 面试题.md | 92 + ZooKeeper 原理面试题.md | 70 + ZooKeeper 客户端面试题.md | 42 + ZooKeeper 集群面试题.md | 20 + Zookeeper 面试题.md | 186 + pyproject.toml | 9 + requirements.txt | 0 sample.ipynb | 815 +++++ uv.lock | 1491 ++++++++ 中小公司面经.md | 95 + 二分法面试题.md | 16 + 云服务面试题.md | 60 + 京东 Java 面经.md | 66 + 代码生成器平台项目面试题.md | 112 + 伙伴匹配项目面试题.md | 58 + 位运算面试题.md | 30 + 前端 CSS 面试题.md | 130 + 前端 ES6 面试题.md | 28 + 前端 HTML 面试题.md | 36 + 前端 JavaScript 基础面试题.md | 104 + 前端 JavaScript 进阶面试题.md | 100 + 前端 TypeScript 面试题.md | 86 + 前端代码分析面试题.md | 124 + 前端场景面试题.md | 120 + 前端工程化面试题.md | 312 ++ 前端性能优化面试题.md | 98 + 前端手写代码面试题.md | 108 + 前端热门面试题 200 道.md | 396 +++ 前端系统设计面试题.md | 58 + 前端经典面试题合集.md | 182 + 前缀和面试题.md | 6 + 动态规划面试题.md | 46 + 华为 OD 面试题.md | 418 +++ 双指针面试题.md | 16 + 后端场景面试题.md | 220 ++ 后端系统设计面试题.md | 44 + 后端经典面试题合集.md | 164 + 回溯面试题.md | 20 + 国企面试真题.md | 8 + 图面试题.md | 30 + 大厂算法真题面试题.md | 126 + 字符串面试题.md | 16 + 字节跳动 Java 面经.md | 116 + 安全测试面试题.md | 12 + 小米 Java 面经.md | 18 + 小红书 Java 面经.md | 2 + 差分面试题.md | 2 + 并查集面试题.md | 8 + 应用服务器面试题.md | 38 + 强化学习面试题.md | 20 + 得物面经.md | 2 + 快手 Java 面经.md | 16 + 性能测试面试题.md | 100 + 手写 RPC 框架项目面试题.md | 63 + 拼多多 Java 面经.md | 38 + 排序面试题.md | 16 + 接口测试面试题.md | 118 + 操作系统面试题.md | 44 + 数学面试题.md | 16 + 数据仓库面试题.md | 102 + 数据分析面试题.md | 150 + 数据备份恢复面试题.md | 44 + 数据库体系结构面试题.md | 44 + 数据库性能优化面试题.md | 84 + 数据库高可用面试题.md | 44 + 数据挖掘面试题.md | 96 + 数据结构面试题.md | 136 + 智力题.md | 120 + 智能 BI 项目面试题.md | 67 + 智能协同云图库项目面试题.md | 154 + 机器学习面试题.md | 144 + 栈面试题.md | 22 + 树面试题.md | 38 + 测试场景面试题.md | 134 + 测试基础理论面试题.md | 130 + 测试工具面试题.md | 236 ++ 消息队列面试题.md | 62 + 深度学习面试题.md | 82 + 游戏服务端开发面试题.md | 68 + 滑动窗口面试题.md | 10 + 滴滴出行 Java 面经.md | 2 + 用户中心项目面试题.md | 51 + 百度 C++ 面经.md | 4 + 百度 Java 面经.md | 10 + 移动端测试面试题.md | 76 + 算法和数据结构面试题.md | 352 ++ 系统故障排查面试题.md | 40 + 系统监控面试题.md | 40 + 系统管理面试题.md | 40 + 系统运维面试题.md | 202 ++ 网易 Java 面经.md | 4 + 网络协议面试题.md | 68 + 网络安全面试题.md | 42 + 网络工程师面试题.md | 236 ++ 网络故障排查面试题.md | 38 + 网络配置面试题.md | 40 + 美团 Java 面经.md | 40 + 聚合搜索项目面试题.md | 57 + 脚本编写面试题.md | 100 + 腾讯 C++ 面经.md | 2 + 腾讯 Java 面经.md | 28 + 自动化测试面试题.md | 304 ++ 自然语言处理面试题.md | 66 + 计算机网络面试题.md | 74 + 计算机视觉面试题.md | 50 + 设计模式面试题.md | 72 + 贪心面试题.md | 26 + 遍历面试题.md | 18 + 银行面试真题.md | 8 + 链表面试题.md | 28 + 阿里巴巴 Java 面经.md | 70 + 面试刷题平台面试题.md | 98 + 面试技巧.md | 10 + 面试鸭 Java 后端面试题.md | 68 + 286 files changed, 33888 insertions(+) create mode 100644 .DS_Store create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/mianshiya.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 26 届秋招 Go 热题.md create mode 100644 26 届秋招 Java 热题.md create mode 100644 26 届秋招 React 热题.md create mode 100644 26 届秋招 Vue 热题.md create mode 100644 26 届秋招前端热题.md create mode 100644 26 届秋招后端热题.md create mode 100644 408考研面试题.md create mode 100644 AI 应用面试题.md create mode 100644 AI 答题平台项目面试题.md create mode 100644 AI 超级智能体项目面试题.md create mode 100644 AI 零代码应用生成平台项目面试题.md create mode 100644 AI大模型原理和应用面试题.md create mode 100644 API 开放平台项目面试题.md create mode 100644 Airflow 面试题.md create mode 100644 Ambari 面试题.md create mode 100644 Android UI 面试题.md create mode 100644 Android 原理面试题.md create mode 100644 Android 基础面试题.md create mode 100644 Android 库面试题.md create mode 100644 Android 性能优化面试题.md create mode 100644 Android 数据存储面试题.md create mode 100644 Android 网络通信面试题.md create mode 100644 Android 进阶面试题.md create mode 100644 Atlas 面试题.md create mode 100644 Azkaban 面试题.md create mode 100644 C# .NET 面试题.md create mode 100644 C# WPF 面试题.md create mode 100644 C# 基础面试题.md create mode 100644 C# 并发面试题库.md create mode 100644 C# 底层原理面试题.md create mode 100644 C# 框架面试题.md create mode 100644 C# 集合面试题.md create mode 100644 C# 面向对象面试题.md create mode 100644 C# 面试题.md create mode 100644 C++ STL面试题.md create mode 100644 C++ 基础面试题.md create mode 100644 C++ 并发编程面试题.md create mode 100644 C++ 新特性面试题.md create mode 100644 C++ 进阶面试题.md create mode 100644 C++ 面向对象面试题.md create mode 100644 C++ 面试题.md create mode 100644 CI_CD 面试题.md create mode 100644 Cassandra 面试题.md create mode 100644 ClickHouse 面试题.md create mode 100644 DBA 数据库运维面试题.md create mode 100644 DevOps 运维面试题.md create mode 100644 Docker 面试题.md create mode 100644 DolphinScheduler 面试题.md create mode 100644 Doris 面试题.md create mode 100644 Drill 面试题.md create mode 100644 Druid 面试题.md create mode 100644 Dubbo 原理面试题.md create mode 100644 Dubbo 性能优化面试题.md create mode 100644 Dubbo 配置面试题.md create mode 100644 Dubbo 面试题.md create mode 100644 ElasticSearch 面试题.md create mode 100644 Elasticsearch 优化面试题.md create mode 100644 Elasticsearch 原理面试题.md create mode 100644 Elasticsearch 应用面试题.md create mode 100644 Elasticsearch 评分面试题.md create mode 100644 Elasticsearch 配置面试题.md create mode 100644 Elasticsearch 集群面试题.md create mode 100644 Express 框架面试题.md create mode 100644 Flink 面试题.md create mode 100644 Flume 面试题.md create mode 100644 Git 协作应用面试题.md create mode 100644 Git 基础面试题.md create mode 100644 Git 操作面试题.md create mode 100644 Git 概念面试题.md create mode 100644 Git 进阶面试题.md create mode 100644 Go 代码分析面试题.md create mode 100644 Go 垃圾回收面试题.md create mode 100644 Go 基础面试题.md create mode 100644 Go 并发编程面试题.md create mode 100644 Go 底层原理面试题.md create mode 100644 Go 性能优化面试题.md create mode 100644 Go 标准库面试题.md create mode 100644 Go 面向对象面试题.md create mode 100644 Go 面试题.md create mode 100644 HBase 面试题.md create mode 100644 HDFS 面试题.md create mode 100644 HR 面试题.md create mode 100644 Hadoop 面试题.md create mode 100644 Hive 面试题.md create mode 100644 Hudi 面试题.md create mode 100644 IT 运维工程师面试题.md create mode 100644 Iac 面试题.md create mode 100644 Iceberg 面试题.md create mode 100644 Impala 面试题.md create mode 100644 JMeter 面试题.md create mode 100644 Java 基础面试题.md create mode 100644 Java 并发面试题.md create mode 100644 Java 手写代码面试题.md create mode 100644 Java 热门面试题 200 道.md create mode 100644 Java 虚拟机面试题.md create mode 100644 Java 集合面试题.md create mode 100644 Java 面试题.md create mode 100644 Kafka 面试题.md create mode 100644 Koa 框架面试题.md create mode 100644 Kubernetes 面试题.md create mode 100644 Kudu 面试题.md create mode 100644 Kylin 面试题.md create mode 100644 Linux 系统面试题.md create mode 100644 Logstash 面试题.md create mode 100644 Mahout 面试题.md create mode 100644 MapReduce 面试题.md create mode 100644 Metacat 面试题.md create mode 100644 MongoDB 面试题.md create mode 100644 MyBatis 面试题.md create mode 100644 MySQL 面试题.md create mode 100644 Netty 面试题.md create mode 100644 Nginx 原理面试题.md create mode 100644 Nginx 应用面试题.md create mode 100644 Nginx 配置面试题.md create mode 100644 Nginx 面试题.md create mode 100644 Node.js 框架面试题.md create mode 100644 Node.js 面试题.md create mode 100644 OJ 判题项目面试题.md create mode 100644 Oracle 数据库面试题.md create mode 100644 PHP 基础面试题.md create mode 100644 PHP 应用场景面试题.md create mode 100644 PHP 框架面试题.md create mode 100644 PHP 面向对象面试题.md create mode 100644 PHP 面试题.md create mode 100644 PostgreSQL 数据库面试题.md create mode 100644 Presto 面试题.md create mode 100644 PySpark 面试题.md create mode 100644 Python 代码分析面试题.md create mode 100644 Python 手写代码面试题.md create mode 100644 Python 面试题.md create mode 100644 RabbitMQ 面试题.md create mode 100644 React Router 面试题.md create mode 100644 React 基础面试题.md create mode 100644 React 工具和库面试题.md create mode 100644 React 状态管理面试题.md create mode 100644 React 进阶面试题.md create mode 100644 Redis 面试题.md create mode 100644 RocketMQ 面试题.md create mode 100644 SQL 基础查询面试题.md create mode 100644 SQL 电商场景面试题.md create mode 100644 SQL 网站场景面试题.md create mode 100644 SQL 进阶查询面试题.md create mode 100644 Scala 面试题.md create mode 100644 Selenium 面试题.md create mode 100644 Shell 面试题.md create mode 100644 Spark SQL 面试题.md create mode 100644 Spark Streaming 面试题.md create mode 100644 Spark 面试题.md create mode 100644 Spring 面试题.md create mode 100644 SpringBoot 面试题.md create mode 100644 SpringCloud 面试题.md create mode 100644 Sqoop 面试题.md create mode 100644 Storm 面试题.md create mode 100644 TDengine 面试题.md create mode 100644 Tableau 面试题.md create mode 100644 Transformer 面试题.md create mode 100644 Trie面试题.md create mode 100644 Vue Router 面试题.md create mode 100644 Vue 基础面试题.md create mode 100644 Vue 工具和库面试题.md create mode 100644 Vue 状态管理面试题.md create mode 100644 Vue 进阶面试题.md create mode 100644 Vue3 面试题.md create mode 100644 Web 测试面试题.md create mode 100644 Webpack 面试题.md create mode 100644 Windows 系统面试题.md create mode 100644 Yarn 面试题.md create mode 100644 ZooKeeper 原理面试题.md create mode 100644 ZooKeeper 客户端面试题.md create mode 100644 ZooKeeper 集群面试题.md create mode 100644 Zookeeper 面试题.md create mode 100644 pyproject.toml create mode 100644 requirements.txt create mode 100644 sample.ipynb create mode 100644 uv.lock create mode 100644 中小公司面经.md create mode 100644 二分法面试题.md create mode 100644 云服务面试题.md create mode 100644 京东 Java 面经.md create mode 100644 代码生成器平台项目面试题.md create mode 100644 伙伴匹配项目面试题.md create mode 100644 位运算面试题.md create mode 100644 前端 CSS 面试题.md create mode 100644 前端 ES6 面试题.md create mode 100644 前端 HTML 面试题.md create mode 100644 前端 JavaScript 基础面试题.md create mode 100644 前端 JavaScript 进阶面试题.md create mode 100644 前端 TypeScript 面试题.md create mode 100644 前端代码分析面试题.md create mode 100644 前端场景面试题.md create mode 100644 前端工程化面试题.md create mode 100644 前端性能优化面试题.md create mode 100644 前端手写代码面试题.md create mode 100644 前端热门面试题 200 道.md create mode 100644 前端系统设计面试题.md create mode 100644 前端经典面试题合集.md create mode 100644 前缀和面试题.md create mode 100644 动态规划面试题.md create mode 100644 华为 OD 面试题.md create mode 100644 双指针面试题.md create mode 100644 后端场景面试题.md create mode 100644 后端系统设计面试题.md create mode 100644 后端经典面试题合集.md create mode 100644 回溯面试题.md create mode 100644 国企面试真题.md create mode 100644 图面试题.md create mode 100644 大厂算法真题面试题.md create mode 100644 字符串面试题.md create mode 100644 字节跳动 Java 面经.md create mode 100644 安全测试面试题.md create mode 100644 小米 Java 面经.md create mode 100644 小红书 Java 面经.md create mode 100644 差分面试题.md create mode 100644 并查集面试题.md create mode 100644 应用服务器面试题.md create mode 100644 强化学习面试题.md create mode 100644 得物面经.md create mode 100644 快手 Java 面经.md create mode 100644 性能测试面试题.md create mode 100644 手写 RPC 框架项目面试题.md create mode 100644 拼多多 Java 面经.md create mode 100644 排序面试题.md create mode 100644 接口测试面试题.md create mode 100644 操作系统面试题.md create mode 100644 数学面试题.md create mode 100644 数据仓库面试题.md create mode 100644 数据分析面试题.md create mode 100644 数据备份恢复面试题.md create mode 100644 数据库体系结构面试题.md create mode 100644 数据库性能优化面试题.md create mode 100644 数据库高可用面试题.md create mode 100644 数据挖掘面试题.md create mode 100644 数据结构面试题.md create mode 100644 智力题.md create mode 100644 智能 BI 项目面试题.md create mode 100644 智能协同云图库项目面试题.md create mode 100644 机器学习面试题.md create mode 100644 栈面试题.md create mode 100644 树面试题.md create mode 100644 测试场景面试题.md create mode 100644 测试基础理论面试题.md create mode 100644 测试工具面试题.md create mode 100644 消息队列面试题.md create mode 100644 深度学习面试题.md create mode 100644 游戏服务端开发面试题.md create mode 100644 滑动窗口面试题.md create mode 100644 滴滴出行 Java 面经.md create mode 100644 用户中心项目面试题.md create mode 100644 百度 C++ 面经.md create mode 100644 百度 Java 面经.md create mode 100644 移动端测试面试题.md create mode 100644 算法和数据结构面试题.md create mode 100644 系统故障排查面试题.md create mode 100644 系统监控面试题.md create mode 100644 系统管理面试题.md create mode 100644 系统运维面试题.md create mode 100644 网易 Java 面经.md create mode 100644 网络协议面试题.md create mode 100644 网络安全面试题.md create mode 100644 网络工程师面试题.md create mode 100644 网络故障排查面试题.md create mode 100644 网络配置面试题.md create mode 100644 美团 Java 面经.md create mode 100644 聚合搜索项目面试题.md create mode 100644 脚本编写面试题.md create mode 100644 腾讯 C++ 面经.md create mode 100644 腾讯 Java 面经.md create mode 100644 自动化测试面试题.md create mode 100644 自然语言处理面试题.md create mode 100644 计算机网络面试题.md create mode 100644 计算机视觉面试题.md create mode 100644 设计模式面试题.md create mode 100644 贪心面试题.md create mode 100644 遍历面试题.md create mode 100644 银行面试真题.md create mode 100644 链表面试题.md create mode 100644 阿里巴巴 Java 面经.md create mode 100644 面试刷题平台面试题.md create mode 100644 面试技巧.md create mode 100644 面试鸭 Java 后端面试题.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..82d2a145520a7ac494474decaf3745c04377fb6f GIT binary patch literal 10244 zcmeHMU2GIp6uxI#=nMlgt>st7ZmrN-R%xLH5ryrx)dDRPwxvJ(l-Zr3oiIDI?96T{ zO|?Av1DfcA|37a;eL#((;**I#XkvUINQ9V(G4YASXapZfjOX4vTXq*3;)4d_OmgqJ z=bm%!ne**AGjs0}LLi#a8wm*!LPTtoDzmY>&PC<4U2_TkOeIo4dqOm8xG|P+lBsKS zgNXov0D%C30D%C30D+qW0eolEOO!bc`T&6dfdGLi1nBc2gpJaOPbWELj}GkE7654} zPO}TgxDQ}9A)iKkI>{+B#Wnfv0en;Nw-~_9Q68e|NFzR-)_T&})R7+5Gc^+1;^+3#Iw~4;zO%Ueu=i`}Rras{iY2Bykw-7IEXFZpz2@WISb=uGi3T7KD=0 z88geuq%yf|cWlHNjd_}vaidy#C*^t^$BO61T6~9Tj1DQ4t&Z(!rfsB|fvFp)va8Ru zb!Rl{WNh7KwlOY{BvBet7LAWLt!)m6Ry8$GghS(vjSVZqp*4-GCnh9uUd@Vi+lTgB zN!vNXZyfw*Fqz{Ak|RfPP!Lr9&*>`_%H3=$54t3l3;Mhtv?$Gzvl1CpHd-tzW**|&iL_%` z-HvN|rehEEd&WVJ%IHD`qW(eGNqenqv3?WR=UNri$JP`zc6S(Q7pWv2zimO)-F5e_ zT=QV0ePh?QGjo;l3b|6A- znl`ZK({jBUmK06waWQ1R#0t4lQe3HLKjsEEZIV}uiZ1n9THLVs)LMC+sBD({vOHow zSt)N2rG7lhjz#@12H%$!B1D6*ds z=c!4%ZhB6dp|Pb}RR`!&ExK;#81&+Wiz?KZ+AAuj(MB=ttckUNzX2}^u_l*ZfzRM`_!3URS@;nyz)x@yF2QB^Q;>uTVTqs$cM7#a zolq|<7uE|KgbrbwFenTOBRmWtSB|^$!@_T~G31NO&40!S$FE;*RgZLR+_bs#rY*N~ zx6uN-y>j0C1)-(&E1K?qsAVb*dDi9 zEne{q)vmrvu2N=T*>HAQEwVGQWH`G#TveqASgD+CXsnWz60Ads**1rf1)o{_fGjJe zSdm<|UPYGpOtcl3q4g#HTbcefIZeJN7sy4-^uM44L|6bJSO#It?DY`A>~4d0%^L47dOlc(jq3UvZ#ItjbCaAhbJStxNcn00fBI)Yu>WUgjQqGQ L*#G}u_WyqaS92N- literal 0 HcmV?d00001 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/mianshiya.iml b/.idea/mianshiya.iml new file mode 100644 index 0000000..b6f7991 --- /dev/null +++ b/.idea/mianshiya.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6cd399b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..5a86f40 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/26 届秋招 Go 热题.md b/26 届秋招 Go 热题.md new file mode 100644 index 0000000..a9a5f3b --- /dev/null +++ b/26 届秋招 Go 热题.md @@ -0,0 +1,58 @@ +Go 语言中如何访问私有成员? +--- +Go 语言使用断言时会发生拷贝吗? +--- +Go 语言的接口是怎么实现的? +--- +Go 语言中怎么实现闭包?闭包的主要应用场景是什么? +--- +Go 语言中触发异常的场景有哪些? +--- +Go 语言中通过指针变量 p 访问其成员变量 title,有哪几种方式? +--- +Go 语言中 defer 的变量快照在什么情况下会失效? +--- +不分配内存的指针类型能在 Go 语言中使用吗? +--- +Go 语言中的局部变量是分配在栈上还是堆上? +--- +Go 语言中所有的 T 类型都有 *T 类型吗? +--- +Go 语言中数组与切片有什么异同? +--- +Go 语言中 init() 函数在什么时候执行? +--- +GO语言中非接口的任意类型T都能调用*T的方法么?反过来呢? +--- +Go 语言中函数返回局部变量的指针是否安全? +--- +Go 语言切片的容量是如何增长的? +--- +Go 语言切片作为函数参数,有哪些注意事项? +--- +Go 语言中的 = 和 := 有什么区别? +--- +Go 语言中的指针的意义是什么? +--- +Go 语言中的 rune 类型是什么? +--- +什么是 Go 语言中的深拷贝和浅拷贝? +--- +Go 语言中逃逸分析是怎么进行的? +--- +Go 语言的 GoRoot 和 GoPath 有什么用? +--- +Go 语言 channel 底层的数据结构是什么? +--- +如何利用 Go 语言特性设计一个 QPS 为 500 的服务器? +--- +如何对 Go 语言的 GC 进行调优? +--- +Go 语言的 context 是什么?有什么作用? +--- +协程可以自己主动让出 CPU 吗? +--- +协程与进程、线程的区别是什么?协程有什么优势? +--- +Go 语言中,为什么小对象多了会造成 GC 压力? +--- diff --git a/26 届秋招 Java 热题.md b/26 届秋招 Java 热题.md new file mode 100644 index 0000000..275acdd --- /dev/null +++ b/26 届秋招 Java 热题.md @@ -0,0 +1,104 @@ +Java 中的序列化和反序列化是什么? +--- +什么是 Java 中的不可变类? +--- +Java8 有哪些新特性? +--- +JDK 动态代理和 CGLIB 动态代理有什么区别? +--- +什么是 Java 的 SPI(Service Provider Interface)机制? +--- +Java 的类加载过程是怎样的? +--- +什么是 Java 中的双亲委派模型? +--- +Java 中有哪些集合类?请简单介绍 +--- +数组和链表在 Java 中的区别是什么? +--- +Java 中的 HashMap 和 Hashtable 有什么区别? +--- +说说 Java 中 HashMap 的原理? +--- +Java 中 HashMap 的扩容机制是怎样的? +--- +为什么 HashMap 在 Java 中扩容时采用 2 的 n 次方倍? +--- +为什么 Java 中 HashMap 的默认负载因子是 0.75? +--- +为什么 JDK 1.8 对 HashMap 进行了红黑树的改动? +--- +JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动? +--- +Java 中的 LinkedHashMap 是什么? +--- +Java 中 ConcurrentHashMap 1.7 和 1.8 之间有哪些区别? +--- +Java 中 ConcurrentHashMap 的 get 方法是否需要加锁? +--- +什么是 Hash 碰撞?怎么解决哈希碰撞? +--- +使用 HashMap 时,有哪些提升性能的技巧? +--- +线程的生命周期在 Java 中是如何定义的? +--- +你了解 Java 线程池的原理吗? +--- +如何合理地设置 Java 线程池的线程数? +--- +Java 线程池有哪些拒绝策略? +--- +Java 并发库中提供了哪些线程池实现?它们有什么区别? +--- +你使用过哪些 Java 并发工具类? +--- +如何在 Java 中控制多个线程的执行顺序? +--- +什么是 Java 的 CAS(Compare-And-Swap)操作? +--- +说说 AQS 吧? +--- +Java 中 ReentrantLock 的实现原理是什么? +--- +Java 的 synchronized 是怎么实现的? +--- +Synchronized 和 ReentrantLock 有什么区别? +--- +什么是 Java 中的原子性、可见性和有序性? +--- +Java 中什么情况会导致死锁?如何避免? +--- +Java 中 volatile 关键字的作用是什么? +--- +什么是 Java 中的 ABA 问题? +--- +你了解 Java 的类加载器吗? +--- +Java 中的强引用、软引用、弱引用和虚引用分别是什么? +--- +为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)? +--- +Java 中有哪些垃圾回收算法? +--- +什么是循环依赖(常问)? +--- +Spring 如何解决循环依赖? +--- +为什么 Spring 循环依赖需要三级缓存,二级不够吗? +--- +说下 Spring Bean 的生命周期? +--- +Spring IOC 容器初始化过程? +--- +你了解的 Spring 都用到哪些设计模式? +--- +Spring 事务有几个隔离级别? +--- +Spring 有哪几种事务传播行为? +--- +Spring 事务在什么情况下会失效? +--- +如何理解 Spring Boot 中的 starter? +--- +SpringBoot(Spring)中为什么不推荐使用 @Autowired ? +--- diff --git a/26 届秋招 React 热题.md b/26 届秋招 React 热题.md new file mode 100644 index 0000000..94364e9 --- /dev/null +++ b/26 届秋招 React 热题.md @@ -0,0 +1,22 @@ +如果 React 组件的属性没有传值,它的默认值是什么? +--- +React 中除了在构造函数中绑定 this,还有其他绑定 this 的方式么? +--- +为什么在 React 中遍历时不建议使用索引作为唯一的 key 值? +--- +React Router 中的 Router 组件有几种类型? +--- +在 React 的 render 函数中,是否可以直接写 if else 判断?为什么? +--- +如何在 React 项目中引入图片?哪种方式更好? +--- +在 React 的 JSX 中,属性是否可以被覆盖?覆盖的原则是什么? +--- +什么是 React 中的受控组件?它的应用场景是什么? +--- +在 React Router 的 history 模式中,push 和 replace 方法有什么区别? +--- +为什么 React 使用虚拟 DOM 来提高性能? +--- +Redux 如何实现多个组件之间的通信?多个组件使用相同状态时如何进行管理? +--- diff --git a/26 届秋招 Vue 热题.md b/26 届秋招 Vue 热题.md new file mode 100644 index 0000000..aea1a51 --- /dev/null +++ b/26 届秋招 Vue 热题.md @@ -0,0 +1,38 @@ +Vue 计算属性的函数名和 data 中的属性可以同名吗?为什么? +--- +Vue 的 v-show 和 v-if 有什么区别?使用场景分别是什么? +--- +在 Vue 组件中写 name 选项有什么作用? +--- +为什么不建议在 Vue 中同时使用 v-if 和 v-for? +--- +在 Vue 渲染模板时,如何保留模板中的 HTML 注释? +--- +为什么 Vue 中的 data 属性是一个函数而不是一个对象? +--- +Vue 的 template 标签有什么用? +--- +Vue Router 如何配置 404 页面? +--- +你了解 Vue 中的过滤器吗?它有哪些应用场景? +--- +Vue Router 中如何获取路由传递过来的参数? +--- +Vue 的 v-cloak 和 v-pre 指令有什么作用? +--- +什么是 Vue 中的 slot?它有什么作用? +--- +在 Vue 自定义事件中,父组件如何接收子组件传递的多个参数? +--- +DIFF 算法的原理是什么? +--- +如何监听 Vuex 数据的变化? +--- +如何在 Vue 3 中使用 defineAsyncComponent 实现异步组件加载? +--- +如何在 Vue 3 中实现一个复杂的表单验证和提交逻辑? +--- +如果要实现一个 Vue3 的弹窗组件,你会如何设计? +--- +你在项目中使用了 Vue Router 全局路由守卫,请解释一下路由守卫的概念和用法,并介绍一下它在你项目中的实际应用场景? +--- diff --git a/26 届秋招前端热题.md b/26 届秋招前端热题.md new file mode 100644 index 0000000..c3c1b67 --- /dev/null +++ b/26 届秋招前端热题.md @@ -0,0 +1,98 @@ +HTML 的 src 和 href 属性有什么区别? +--- +什么是 HTML 语义化? +--- +DOCTYPE(文档类型)的作用是什么? +--- +HTML 的 script 标签中 defer 和 async 有什么区别? +--- +常用的 HTML meta 标签有哪些? +--- +HTML5 相比于 HTML 有哪些更新? +--- +HTML 中,img 标签 srcset 属性的作用是什么? +--- +HTML 行内元素有哪些?块级元素有哪些?空(void)元素有哪些? +--- +HTML 中,title 与 h1 标签的区别是什么? +--- +Canvas 和 SVG 有什么区别? +--- +有哪些 CSS 选择器?请分别介绍 +--- +如何计算 CSS 的优先级? +--- +CSS 中可继承与不可继承属性有哪些? +--- +CSS 中 display 属性的值及其作用 +--- +使用 link 和 @import 引用 CSS 的区别 +--- +JavaScript 有哪些数据类型?它们的区别是什么? +--- +如何判断 JavaScript 变量是数组? +--- +JavaScript 中 null 和 undefined 的区别是什么? +--- +typeof null 的结果是什么?为什么? +--- +typeof 和 instanceof 有什么区别? +--- +为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等? +--- +说说你对 fetch 的理解,它有哪些优点和不足? +--- +JavaScript 中 Object.keys 的返回值是无序的吗? +--- +JavaScript 的 BigInt 和 Number 类型有什么区别? +--- +什么是 JavaScript 的尾调用?使用尾调用有什么好处? +--- +使用 let 全局声明变量,能通过 window 对象取到吗? +--- +let、const 和 var 的区别是什么? +--- +说说你对 JS 作用域的理解? +--- +ES6 箭头函数和普通函数有什么区别? +--- +️ES6 箭头函数能当构造函数吗? +--- +️ES6 有哪些新特性? +--- +️ TypeScript 有哪些常用类型? +--- +️ 什么是 TypeScript 的对象类型?怎么定义对象类型? +--- +到底什么是 TCP 连接? +--- +HTTP 1.0 和 2.0 有什么区别? +--- +HTTP 2.0 和 3.0 有什么区别? +--- +HTTP 和 HTTPS 有什么区别? +--- +TCP 是用来解决什么问题? +--- +TCP 和 UDP 有什么区别? +--- +TCP 的粘包和拆包能说说吗? +--- +说说 TCP 的三次握手? +--- +说说 TCP 的四次挥手? +--- +为什么 TCP 挥手需要有 TIME_WAIT 状态? +--- +TCP 超时重传机制是为了解决什么问题? +--- +TCP 滑动窗口的作用是什么? +--- +TCP/IP 四层模型是什么? +--- +OSI 七层模型是什么? +--- +Cookie、Session、Token 之间有什么区别? +--- +如何解决⻚⾯请求接⼝⼤规模并发问题 +--- diff --git a/26 届秋招后端热题.md b/26 届秋招后端热题.md new file mode 100644 index 0000000..d4577a5 --- /dev/null +++ b/26 届秋招后端热题.md @@ -0,0 +1,164 @@ +详细描述一条 SQL 语句在 MySQL 中的执行过程。 +--- +MySQL 的存储引擎有哪些?它们之间有什么区别? +--- +MySQL 的索引类型有哪些? +--- +MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别? +--- +MySQL 中的回表是什么? +--- +MySQL 索引的最左前缀匹配原则是什么? +--- +MySQL 的覆盖索引是什么? +--- +MySQL 的索引下推是什么? +--- +在 MySQL 中建索引时需要注意哪些事项? +--- +MySQL 中使用索引一定有效吗?如何排查索引效果? +--- +MySQL 中的索引数量是否越多越好?为什么? +--- +请详细描述 MySQL 的 B+ 树中查询数据的全过程 +--- +为什么 MySQL 选择使用 B+ 树作为索引结构? +--- +MySQL 是如何实现事务的? +--- +MySQL 中长事务可能会导致哪些问题? +--- +MySQL 中的 MVCC 是什么? +--- +MySQL 中的事务隔离级别有哪些? +--- +MySQL 中有哪些锁类型? +--- +MySQL 的乐观锁和悲观锁是什么? +--- +MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别? +--- +MySQL 中如何进行 SQL 调优? +--- +MySQL 中的数据排序是怎么实现的? +--- +什么是 MySQL 的主从同步机制?它是如何实现的? +--- +MySQL 的 Change Buffer 是什么?它有什么作用? +--- +Redis 通常应用于哪些场景? +--- +Redis 为什么这么快? +--- +为什么 Redis 设计为单线程?6.0 版本为何引入多线程? +--- +Redis 中常见的数据类型有哪些? +--- +Redis 中跳表的实现原理是什么? +--- +Redis 的 hash 是什么? +--- +Redis 和 Memcached 有哪些区别? +--- +Redis 支持事务吗?如何实现? +--- +Redis 数据过期后的删除策略是什么? +--- +Redis 中有哪些内存淘汰策略? +--- +Redis 的 Lua 脚本功能是什么?如何使用? +--- +Redis 的 Pipeline 功能是什么? +--- +Redis 中的 Big Key 问题是什么?如何解决? +--- +如何解决 Redis 中的热点 key 问题? +--- +Redis 的持久化机制有哪些? +--- +Redis 在生成 RDB 文件时如何处理请求? +--- +Redis 的哨兵机制是什么? +--- +Redis 主从复制的实现原理是什么? +--- +Redis 集群的实现原理是什么? +--- +Redis 集群会出现脑裂问题吗? +--- +Redis 中如何实现分布式锁? +--- +Redis 实现分布式锁时可能遇到的问题有哪些? +--- +Redis 中的缓存击穿、缓存穿透和缓存雪崩是什么? +--- +Redis 中如何保证缓存与数据库的数据一致性? +--- +如何使用 Redis 快速实现排行榜? +--- +如何使用 Redis 快速实现布隆过滤器? +--- +你在项目中使用的 Redis 客户端是什么? +--- +Redis 性能瓶颈时如何处理? +--- +说说你知道的几种 I/O 模型 +--- +到底什么是 TCP 连接? +--- +HTTP 1.0 和 2.0 有什么区别? +--- +HTTP 2.0 和 3.0 有什么区别? +--- +HTTP 和 HTTPS 有什么区别? +--- +TCP 是用来解决什么问题? +--- +TCP 和 UDP 有什么区别? +--- +TCP 的粘包和拆包能说说吗? +--- +说说 TCP 的三次握手? +--- +说说 TCP 的四次挥手? +--- +为什么 TCP 挥手需要有 TIME_WAIT 状态? +--- +TCP 超时重传机制是为了解决什么问题? +--- +TCP 滑动窗口的作用是什么? +--- +TCP/IP 四层模型是什么? +--- +OSI 七层模型是什么? +--- +Cookie、Session、Token 之间有什么区别? +--- +线程和进程有什么区别? +--- +什么是物理地址,什么是逻辑地址? +--- +Select、Poll、Epoll 之间有什么区别? +--- +消息队列如何处理重复消息(保证消息的幂等性)? +--- +消息队列如何保证消息的有序性(顺序性)? +--- +消息队列如何处理消息堆积? +--- +消息队列如何保证消息不丢失? +--- +什么是设计模式?请简述其作用。 +--- +单例模式有哪几种实现?如何保证线程安全? +--- +如何设计一个秒杀功能? +--- +让你设计一个短链系统,怎么设计? +--- +分布式锁一般都怎样实现? +--- +如何设计一个点赞系统? +--- +让你设计一个 RPC 框架,怎么设计? +--- diff --git a/408考研面试题.md b/408考研面试题.md new file mode 100644 index 0000000..5ece514 --- /dev/null +++ b/408考研面试题.md @@ -0,0 +1,2983 @@ +【2010 统考真题】某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,于网掩码为255.255.255.248,则该网络中的最大子网个数、每个子网内的最大可分配地址个数分別是 () + +A. 32, 8 + +B. 32, 6 + +C. 8, 32 + +D. 8, 30 +--- +【2014统考真题】循环队列放在一维数组A[0...M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳 M - 1 个元素。初始时为空。下列判断队空和队滿的条件中,正确的是 ( )。 + +A. 队空:end1 == end2; 队满:end1 == (end2 + 1) mod M + +B. 队空:end1 == end2; 队满:end2 == (end1 + 1) mod (M-1) + +C. 队空:end2 == (end1 + 1) mod M; 队满:end1 == (end2 + 1) mod M + +D. 队空:end1 == (end2 + 1) mod M; 队满:end2 == (end1 + 1) mod (M - 1) +--- +【2010统考真题】假定有4个整数用8位补码分别表示:r1 = FEH、r2 = F2H、r3 = 90H、r4 = F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是() + +A. r1 * r2 + +B. r2 * r3 + +C. r1 * r4 + +D. r2 * r4 +--- +【2014统考真题】将森林F转换为对应的二叉树T,F中叶节点的个数等于() + +A. T中叶结点的个数 + +B. T中度为1的结点个数 + +C. T中左孩子指针为空的结点个数 + +D. T中右孩子指针为空的结点个数 +--- +【2012统考真题】下列关于虚拟存储器的叙述中,正确的是() + +A. 虚拟存储只能基于连续分配技术 + +B. 虚拟存储只能基于非连续分配技术 + +C. 虚拟存储只受外存容量限制 + +D. 虚拟存储只受内存容量限制 +--- +【2014统考真题】某容量为256MB的存储器由若干4M*8位的DRAM芯片构成,该DRAM芯片的地址引脚和数据引脚的总数是() + +A. 19 + +B. 22 + +C. 30 + +D. 36 +--- +【2019 统考真题】下列关于DMA方式的叙述中,正确的是()。 + +I. DMA传送前由设备驱动程序设置传送参数 + +II. 数据传送前由DMA控制器请求总线使用杈 + +III. 数据传送由DMA控制器直接控制总线完成 + +IV. DMA传送结束后的处理由中断服务程序完成 + +A. 仅I、II B. 仅I、III、IV C. 仅II、III、IV D. I、II、III、IV +--- +【2019统考真题】若主机甲主动发起一个与主机乙的TCP连接,甲、乙选择的初始序列号分别是2018和2046,则第三次握手TCP段的确认序列号是() + +A. 2018 + +B. 2019 + +C. 2046 + +D. 2047 +--- +要发送的数据是0100 1100 1011,来用CRC校验,生成多项式是x^3 + x + 1,那么最终发送的数据应是() + +A. 0100 1100 1011 111 + +B. 0100 1100 1011 110 + +C. 0100 1100 1011 100 + +D. 0100 1100 1011 010 +--- +已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项大小为8B。假设系统使用纯页式存储,则要采用()级页表,页内偏移量()位 + +A. 3, 12 + +B. 3, 14 + +C. 4, 12 + +D. 4, 14 +--- +【2011 统考真题】某计算机有五级中断L4~L0,中断屏蔽字为M4 M3 M2 M1 M0,Mi = 1( 0 ≤ i ≤ 4 ) 表示对Li级中断进行屏蔽。若中断响应优先级从高到低的顺序是L4 -> L0 -> L2 -> L1 -> L3,则L1的中断处理程序中设置的中断屏蔽字是()。 + +A. 11110 + +B. 01101 + +C. 00011 + +D. 01010 +--- +【2015 统考真题】内部异常 (内中断)可分为故障 (fault)、陷阱 (trap)和终止 (abort)三类。下列有关内部异常的叙述中,错误的是( )。 + +A. 内部异常的产生与当前执行指令相关 + +B. 内部异常的检测由CPU 内部逻辑实现 + +C. 内部异常的响应发生在指令执行过程中 + +D. 内部异常处理后返回到发生异常的指令继续执行 +--- +对于10位要传输的数据,如果采用海明校验码要实现1比特的纠错能力,那么需要增加的冗余信息位数是(),此时的海明距为多大() + +A. 3, 3 + +B. 3, 4 + +C. 4, 3 + +D. 4, 4 +--- +【2011统考真题】float型数据通常用IEEE754单精度格式表示。若编译器将float型变量×分配在一32位浮点寄存器FR1中,且x = -8.25,则FR1的内容是( ) 。 + +A. C104 0000H + +B. C242 0000H + +C. C184 0000H + +D. C1C2 0000H +--- +若浮点数的尾数用补码表示,则下列( )中的尾数是规格化数形式。 + +A. 1.11000 + +B. 0.01110 + +C. 0.01010 + +D. 1.00010 +--- +计算机的启动过程是()。1. CPU加电,CS:IP指向FFFFOE; 2. 进行操作系统引导; 3. 执行JMP 指令跳转到BIOS;4. 登记BIOS 中断例程入口地址; 5. 硬件自检。 + +A. 12345 + +B. 13542 + +C. 13452 + +D. 15342 +--- +【2020统考真题】若主机甲与主机乙已建立一条TCP连接,最大段长(MSS)为 1KB,往返时间(RTT)为2ms,则在不出现拥塞的前提下,拥塞窗口从8KB增长到32KB所需的最长时间是( ). + +A. 4ms + +B. 8ms + +C. 24ms + +D. 48ms +--- +【2010统考真题】主机甲和主机乙之间已建立一个TCP连接,TCP最大段长为1000B。若主机甲的当前拥塞窗口为4000B,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为2000B,则此时主机甲还可以向主机乙发送的最大字节数是( )。 + +A. 1000 + +B. 2000 + +C. 3000 + +D. 4000 +--- +【2009统考真题】设文件F1的当前引用计数值为1,先建立文件F1的符号链接(软链接)文件F2,再建立文件F1的硬链接文件F3,然后删除文件F1。此时,文件F2和文件F3的引用计数值分別是 ( )。 + +A. 0, 1 + +B. 1, 1 + +C. 1, 2 + +D. 2, 1 +--- +【2016统考真题】有如下C语言程序段: + +for(k=0; k<1000; k++) + +​ a[k] = a[k] + 32; + +若数组a和变量k均为int型,int型数据占4B,数据Cache采用直接映射方式,数据区大小为1KB、块大小为16B,该程序段执行前Cache为空,则该程序段执行过程中访问数组a的Cache缺失率约为( ) + +A. 1.25% + +B. 2.5% + +C. 12.5% + +D. 25% +--- +【2009统考真题】某计算机的Cache共有16块,采用二路组相联映射方式(即每组2块)。每个主存块大小为 32B,按字节编址,主存129号单元所在主存块应装入的Cache组号是( )。 + +A. 0 + +B. 2 + +C. 4 + +D. 6 +--- +【2012统考真题(改)】假设某计算机按字编址,Cache有4行,Cache和主存之间交换的块大小为1个字。若Cache的内容初始为空,采用二路组相联映射方式和LRU替换策略,则访问的主存地址依次为0, 2, 4, 1, 0, 3, 4, 3, 2, 4 时,命中Cache的次数是()。 + +A. 1 + +B. 2 + +C. 3 + +D. 4 +--- +【2021 统考真题】若计算机主存地址为32位,按字节编址,Cache数据区大小为32KB,主存块大小为32B,来用直接映射方式和回写(Write Back)策略,则Cache行的位数至少是( )。 + +A. 275 + +B. 274 + +C. 258 + +D. 257 +--- +【2012统考真题】若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是()。 + +I.若该文件的数据不在内存,则该进程进入睡眠等待状态; + +II.请求read系统调用会导致CPU从用户态切换到核心态 + +III.read系统调用的参数应包含文件的名称 + +A. 仅I, II + +B. 仅I, III + +C. 仅II, III + +D. I、II和III +--- +【2013 统考真题】为支持 CD-ROM 中视频文件的快速随机播放,播放性能最好的文件数据块组织方式是( )。 + +A. 连续结构 + +B. 链式结构 + +C. 直接索引结构 + +D. 多级索引结构 +--- +【2010 统考真题】设文件索引结点中有7个地址项,其中4个地址项是直接地址索引,2个地址项是一级间接地址索引,1 个地址项是二级间接地址索引,每个地址项大小为4B,若磁盘索引块和磁盘数据块大小均为 256B,则可表示的单个文件最大长度是 ( )。 + +A. 33KB + +B. 519KB + +C. 1057KB + +D. 16516KB +--- +【2009 统考真题】假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35, 45, 12, 68, 110, 180, 170, 195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是 ( )。 + +A. 110, 170, 180, 195, 68, 45, 35, 12 + +B. 110, 68, 45, 35, 12, 170, 180, 195 + +C. 110, 170, 180, 195, 12, 35, 45, 68 + +D. 12, 35, 45, 68, 110, 170, 180, 195 +--- +【2016 统考真题】某单CPU系统中有输入和输出设备各1台,现有3个并发执行的作业,每个作业的输入、计算和输出时间均分别为2ms,3ms和4ms,且都按输入、计算和输出的顺序执行,则执行完3个作业需要的时间最少是()。 + +A. 15ms + +B. 17ms + +C. 22ms + +D. 27ms +--- +【2019统考真题】系统采用二级反馈队列调度算法进行进程调度。就绪队列Q1采用时间片轮转调度算法,时间片为10ms;就绪队列Q2采用短进程优先调度算法;系统优先调度Q1队列中的进程,当Q1为空时系统才会调度Q2中的进程;新创建的进程首先进入Q1;Q1中的进程执行一个时间片后,若未结束,则转入Q2。若当前Q1,Q2为空,系统依次创建进程P1,P2后即开始进程调度,P1,P2需要的CPU时间分别为30ms和20ms, 则进程P1,P2在系统中的平均等待时间为()。 + +A. 25ms + +B. 20ms + +C. 15ms + +D. 10ms +--- +【2012统考真题】若一棵二叉树的前序遍历序列为a, e, b, d, c,后序遍历序列为b, c, d, e, a,则根结点的孩子结点() + +A. 只有e + +B. 有e, b + +C. 有e, c + +D. 无法确定 +--- +【2015统考真题】现有一棵无重复关键字的平衡二叉树(AVL),对其进行中序遍历可得一个降序序列。下列关于该平衡二叉树的叙述中,正确的是()。 + +A. 根结点的度一定为2 + +B. 树中最小元素一定是叶结点 + +C. 最后插入的元素一定是叶结点 + +D. 树中最大元素一定是无左子树 +--- +设散列表长m = 14,散列函数为H(key)=key%11,表中仅有4个结点H(15)=4,H(38)=5,H(61)=6,H(84)=7,若采用线性探测法处理冲突,则关键值为49的结点地址是()。 + +A. 8 + +B. 3 + +C. 5 + +D. 9 +--- +【2019统考真题】某设备以中断方式与CPU进行数据交换,CPU主频为1GHz,设备接口中的数据缓冲寄存器为32位,设备的数据传输率为50KB/s。若每次中断开销(包括中断响应和中断处理)为 1000 个时钟周期,则 CPU 用于该设备输入/输出的时间占整个CPU时间的百分比最多是 ( )。 + +A. 1.25% + +B. 2.5% + +C. 5% + +D. 12.5% +--- +【2019统考真题】现有长度为11、初始为空的散列表HT,散列函数H(Key)=Key%7,用线性探测再散列法解决冲突。将关键字序列87, 40, 30, 6, 11, 22, 98, 20依次插入HT后,查找失败的平均查找长度是( )。 + +A. 4 + +B. 5.25 + +C. 6 + +D. 6.29 +--- +【2012統考真题】某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有()。 + +A. 5位 + +B. 6位 + +C. 15位 + +D. 33位 +--- +【2014统考真题】某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条徽指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是( )。 + +A. 5 + +B. 6 + +C. 8 + +D. 9 +--- +【2019 统考真题】OSI参考模型的第5层(自下而上)完成的主要功能是() + +A. 差错控制 + +B. 路由选择 + +C. 会话管理 + +D. 数据表示转换 +--- +【2016 统考真题】在OSI参考模型中,路由器、交换机(Switch)、集线器(Hub)实现的最高功能层次分别是()。 + +A. 2, 2, 1 + +B. 2, 2, 2 + +C. 3, 2, 1 + +D. 3, 2, 2 +--- +【2015统考真题】若系统S1采用死锁避免方法,S2采用死锁检测方法. 下列叙述中,正确的是()。 + +I. S1会限制用户申请资源的顺序,而S2不会 + +II. S1需要进程运行所需的资源总量信息,而S2不需要 + +III. S1不会给可能导致死锁的进程分配资源,而S2会 + +A. 仅I、II + +B. 仅II、III + +C. 仅I. III + +D. I, II, II +--- +【2021统考真题】下列关于数据通路的叙述中,错误的是()。 + +A. 数据通路包含ALU等组合逻辑 (操作)元件 + +B. 数据通路包含寄存器等时序逻辑(状态)元件 + +C. 数据通路不包含用于异常事件检测及响应的电路 + +D. 数据通路中的数据流动路径由控制信号进行控制 +--- +【2011统考真题】某文件占10个磁盘块,现要把该文件的磁盘块逐个读入主存缓冲区,并且送到用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100us,将缓冲区的数据传送到用户区的时间是50us,CPU对一块数据进行分析的时间为50us。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是( )。 + +A. 1500us, 1000us + +B. 1550us, 1100us + +C. 1550us, 1550us + +D. 2000us, 2000us +--- +可以用( )定义一个完整的数据结构。 + +A 数据元素 +B 数据对象 +C 数据关系 +D 抽象数据类型 +--- +以下数据结构中,( )是非线性数据结构。 + +A 树 +B 字符串 +C 队列 +D 栈 +--- +以下属于逻辑结构的是( )。 + +A 顺序表 +B 哈希表 +C 有序表 +D 单链表 +--- +以下与数据的存储结构无关的术语是( )。 + +A 循环队列 +B 链表 +C 哈希表 +D 栈 +--- +以下关于数据结构的说法中,正确的是( ) + +A 数据的逻辑结构独立于其存储结构 +B 数据的存储结构独立于其逻辑结构 +C 数据的逻辑结构唯一决定了其存储结构 +D 数据结构仅由其逻辑结构和存储结构决定 +--- +在存储数据时,通常不仅要存储各数据元素的值,而且要存储( )。 + +A 数据的操作方法 +B 数据元素的类型 +C 数据元素之间的关系 +D 数据的存取方法 +--- +链式存储设计时,结点内的存储单元地址( )。 + +A 一定连续 +B 一定不连续 +C 不一定连续 +D 部分连续,部分不连续 +--- +一个算法应该是( ) + +A 程序 +B 问题求解步骤的描述 +C 要满足五个基本特性 +D A和C +--- +下面说法中,错误的是()。 +--- +线性表是具有n个( )的有限序列。 + +A 数据表 +B 字符 +C 数据元素 +D 数据项 +--- +以下()是一个线性表。 + +A 由n个实数组成的集合 +B 由100个字符组成的序列 +C 所有整数组成的序列 +D 邻接表 +--- +在线性表中,除开始元素外,每个元素( )。 + +A 只有唯一的前驱元素 +B 只有唯一的后继元素 +C 有多个前驱元素 +D 有多个后继元素 +--- +下述( )是顺序存储结构的优点。 + +A 存储密度大 +B 插入运算方便 +C 删除运算方便 +D 方便地运用于各种逻辑结构的存储表示 +--- +线性表的顺序存储结构是一种( )。 + +A 随机存取的存储结构 +B 顺序存取的存储结构 +C 索引存取的存储结构 +D 散列存取的存储结构 +--- +一个顺序表所占用的存储空间大小与( )无关。 + +A 表的长度 +B 元素的存放顺序 +C 元素的类型 +D 元素总各字段的类型 +--- +一个线性表最常用的操作是存取任一指定序号的元素并在最后进行插入、删除操作,则利用( )存储方式可以节省时间。 + +A 顺序表 +B 双链表 +C 带头结点的双循环链表 +D 单循环链表 +--- +在n个元素的线性表的数组表示中,时间复杂度为 O(1) 的操作是( )。 + +Ⅰ. 访问第 i(1 ≤ i ≤ n)个结点和求第 i(2 ≤ i ≤ n)个结点的直接前驱 + +Ⅱ. 在最后一个结点后插入一个新的结点 + +Ⅲ. 删除第 1 个结点 + +Ⅳ. 在第 i(1 ≤ i ≤ n)个结点后插入一个结点 + +A I +B Ⅱ、Ⅲ +C I、Ⅱ +D I、Ⅱ、Ⅲ +--- +设线性表有n个元素,严格说来,以下操作中,( )在顺序表上实现要比在链表上实现的效率高。 + +Ⅰ. 输出第 i(1 ≤ i ≤n)个元素值 + +Ⅱ. 交换第 3 个元素与第 4 个元素的值 + +Ⅲ. 顺序输出这 n 个元素的值 + +A Ⅰ +B Ⅰ、Ⅲ +C Ⅰ、Ⅱ +D Ⅱ、Ⅲ +--- +在一个长度为n的顺序表中删除第 i(1 ≤ i ≤ n)个元素时,需向前移动( )个元素。 + +A n +B i-1 +C n-i +D n-i+1 +--- +对于顺序表,访问第i个位置的元素和在第i个位置插入一个元素的时间复杂度为( )。 + +A O(n),O(n) +B O(n),O(1) +C O(1),O(n) +D O(1),O(1) +--- +若长度为n的非空线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i的合法值应该是( )。 + +A 1≤i≤n +B 1≤i≤n+1 +C 0≤i≤n-1 +D 0≤i≤n +--- +顺序表的插入算法中,当n个空间已满时,可再申请增加分配m个空间,若申请失败,则说明系统没有( )可分配的存储空间。 + +A m个 +B m个连续 +C n+m个 +D n+m个连续 +--- +关于线性表的顺序存储结构和链式存储结构的描述中,正确的是( )。 + +Ⅰ. 线性表的顺序存储结构优于其链式存储结构 + +Ⅱ. 链式存储结构比顺序存储结构能更方便地表示各种逻辑结构 + +Ⅲ. 若频繁使用插入和删除结点操作,则顺序存储结构更优于链式存储结构 + +Ⅳ. 顺序存储结构和链式存储结构都可以进行顺序存取 + +A I、Ⅱ、Ⅲ +B Ⅱ、IV +C Ⅱ、Ⅲ +D Ⅲ、IV +--- +对于一个线性表,既要求能够进行较快速地插入和删除,又要求存储结构能反映数据之间的逻辑关系,则应该用( )。 + +A 顺序存储方式 +B 链式存储方式 +C 散列存储方式 +D 以上均可以 +--- +对于顺序存储的线性表,其算法时间复杂度为 O(1) 的运算应该是( )。 + +A 将n个元素从小到大排序 +B 删除第i(1≤i≤n)个元素 +C 改变第ⅰ(1≤ⅰ≤n)个元素的值 +D 在第ⅰ(1≤i≤n)个元素后插入一个新元素 +--- +下列关于线性表的说法中,正确的是( )。 + +Ⅰ. 顺序存储方式只能用于存储线性结构 + +Ⅱ. 取线性表的第 i 个元素的时间与 i 的大小有关 + +Ⅲ. 静态链表需要分配较大的连续空间,插入和删除不需要移动元素 + +Ⅳ. 在一个长度为 n 的有序单链表中插入一个新结点并仍保持有序的时间复杂度为 O(n) + +Ⅴ. 若用单链表来表示队列,则应该选用带尾指针的循环链表 + +A I、Ⅱ +B I、Ⅲ、IV、V +C IV、V +D Ⅲ、IV、V +--- +设线性表中有 2n 个元素,( )在单链表上实现要比在顺序表上实现效率更高。 + +A 删除所有值为X的元素 +B 在最后一个元素的后面插入一个新元素 +C 顺序输出前k个元素 +D 交换第ⅰ个元素和第2n-i-1个元素的值(i = 0,...,n-1) +--- +在一个单链表中,已知 q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入结点 s,则执行( )。 + +A s->next p->next;p->next s; +B p->next s->next;s->next p; +C q->next =s;s->next p; +D p->next s;s->next q; +--- +将长度为 n 的单链表链接在长度为 m 的单链表后面,其算法的时间复杂度采用大 O 形式表示应该是( )。 + +A O(1) +B O(n) +C O(m) +D O(n+m) +--- +单链表中,增加一个头结点的目的是为了( )。 + +A 使单链表至少有一个结点 +B 标识表结点中首结点的位置 +C 方便运算的实现 +D 说明单链表是线性表的链式存储 +--- +在一个长度为 n 的带头结点的单链表 h 上,设有尾指针 r,则执行( )操作与链表的表长有关。 + +A 删除单链表中的第一个元素 +B 删除单链表中最后一个元素 +C 在单链表第一个元素之前插入一个新元素 +D 在单链表最后一个元素之后插入一个新元素 +--- +对于一个头指针为 head 的带头结点的单链表,判定该表为空表的条件是( )。 + +A head ==NULL +B head->next ==NULL +C head->next ==head +D head !=NULL +--- +指针 head 指向不带头结点的单链表,判定其为空表的条件为( )。 + +A head ==NULL +B head->next ==NULL +C head->next ==head +D head !=NULL +--- +下面关于线性表的一些说法中,正确的是( )。 + +A 对一个设有头指针和尾指针的单链表执行删除最后一个元素的操作与链表长度无关 +B 线性表中每个元素都有一个直接前驱和一个直接后继 +C 为了方便插入和删除数据,可以使用双链表存放数据 +D 取线性表第ⅰ个元素的时间与ⅰ的大小有关 +--- +在双链表中向 p 所指的结点之前插入一个结点 q 的操作为( )。 + +A p->prior =q;q->next p;p->prior->next =q;q->prior= p->prior; +B q->prior =p->prior;p->prior->next=q;q->next= p;p->prior= q->next; +C q->next =p;p->next =q;q->prior->next =q;q->next= p; +D p->prior->next =q;q->next =p;q->prior =p->prior;p->prior= q; +--- +在双向链表存储结构中,删除 p 所指的结点时必须修改指针( )。 + +A p->Llink->Rlink = p->Rlink;p->Rlink->Llink = p->Llink; +B p->Llink = p->Llink->Llink;p->Llink->Rlink = p; +C p->Rlink->Llink = p;p->Rlink = p->Rlink->Rlink; +D p->Rlink = p->Llink->Llink;p->Llink = p->Rlink->Rlink; +--- +与单链表相比,双链表的优点之一是( )。 + +A 插入、删除操作更方便 +B 可以进行随机访问 +C 可以省略表头指针或表尾指针 +D 访问前后相邻结点更灵活 +--- +带头结点的双循环链表 L 为空的条件是( )。 + +A L->prior ==L &&L->next ==NULL +B L->prior ==NULL &&L->next ==NULL +C L->prior ==NULL &&L->next ==L +D L->prior ==L &&L->next ==L +--- +一个链表最常用的操作是在末尾插入结点和删除结点,则选用( )最节省时间。 + +A 带头结点的双循环链表 +B 单循环链表 +C 带尾指针的单循环链表 +D 单链表 +--- +设对 n(n>1)个元素的线性表的运算只有 4 种:删除第一个元素;删除最后一个元素;在第一个元素之前插入新元素;在最后一个元素之后插入新元素,则最好使用( )。 + +A 只有尾结点指针、没有头结点指针的循环单链表 +B 只有尾结点指针、没有头结点指针的非循环双链表 +C 只有头结点指针、没有尾结点指针的循环双链表 +D 既有头结点指针、又有尾结点指针的循环单链表 +--- +一个链表最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则选用( )最节省时间。 + +A 不带头结点的单循环链表 +B 双链表 +C 不带头结点且有尾指针的单循环链表 +D 单链表 +--- +静态链表中指针表示的是( )。 + +A 下一个元素的地址 +B 内存储器地址 +C 下一个元素在数组中的位置 +D 左链或右链指向的元素的地址 +--- +需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构为( )。 + +A 单链表 +B 静态链表 +C 顺序表 +D 双链表 +--- +某线性表用带头结点的循环单链表存储,头指针为 head,当 head->next->next == head 成立时,线性表长度可能是( )。 + +A 0 +B 1 +C 2 +D 可能为0或1 +--- +栈和队列具有相同的( )。 + +A 抽象数据类型 +B 逻辑结构 +C 存储结构 +D 运算 +--- +数据结构中的栈是( )。 + +A 顺序存储的线性结构 +B 链式存储的非线性结构 +C 限制存取点的线性结构 +D 限制存储点的非线性结构 +--- +( )不是栈的基本操作。 + +A 删除栈顶元素 +B 删除栈底元素 +C 判断栈是否为空 +D 将栈置为空栈 +--- +假定利用数组 a[n] 顺序存储一个栈,用 top 表示栈顶指针,用 top == -1 表示栈空,并已知栈未满,当元素 x 进栈时所执行的操作为( )。 + +A a[--top]=x +B a[top--]=x +C a[++top]=x +D a[top++]=x +--- +设有一个空栈,栈顶指针为 1000H,每个元素需要一个存储单元,执行 Push、Push、Pop、Push、Pop、Push、Pop、Push 操作后,栈顶指针的值为( )。其中,Push 为一次进栈,Pop 为一次出栈。 + +A1002H +B1003H +C1004H +D1005H +--- +和顺序栈相比,链栈有一个比较明显的优势,即( )。 + +A 通常不会出现栈满的情况 +B 通常不会出现栈空的情况 +C 插入操作更容易实现 +D 删除操作更容易实现 +--- +设链表不带头结点且所有操作均在表头进行,则下列最不适合作为链栈的是( )。 + +A 只有表头结点指针,没有表尾指针的双向循环链表 +B 只有表尾结点指针,没有表头指针的双向循环链表 +C 只有表头结点指针,没有表尾指针的单向循环链表 +D 只有表尾结点指针,没有表头指针的单向循环链表 +--- +向一个栈顶指针为 top 的不带头结点的链栈中插入一个新结点 x,则执行( )。 + +A top->next =x; +B x->next =top->next;top->next =x; +C x->next= top;top =x; +D x->next =top;top=top->next; +--- +不带头结点的链栈执行出栈(Pop)操作,并将出栈的元素存在 x 中,应该执行( )。 + +A x =top;top= top->next; +B x =top->data; +c top =top->next;x =top->data; +D x =top->data;top= top->next; +--- +经过以下栈的操作后,变量 x 的值为( )。 +InitStack(st); Push(st, a); Push(st, b); Pop(st, x); GetTop(st, x); + +A a +B b +C NULL +D FALSE +--- +3 个不同的元素依次进栈,能得到( )种不同的出栈序列。 + +A 4 +B 5 +C 6 +D 7 +--- +设a,b,c,d,e,f以所给的次序进栈,若在进栈操作时,允许出栈操作,则下面得不到的序列为( )。 + +A fedcba +B bcafed +C dcefba +D cabdef +--- +用S表示进栈操作,用X表示出栈操作,若元素的进栈顺序是1234,为了得到1342的出栈顺序,相应的S和X的操作序列为( )。 + +A SXSXSSXX +B SSSXXSXX +C SXSSXXSX +D SXSSXSXX +--- +若一个栈的输入序列是是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是( )。 + +A 不确定 +B n-i +C n-i-1 +D n-i+1 +--- +若一个栈的输入序列是是1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是( )。 + +A i-j-1 +B i-j +C j-i+1 +D 不确定 +--- +某栈的输入序列为a,b,c,d,下面的 4 个序列中,不可能为其输出序列的是( )。 + +A a,b,c,d +B c,b,d,a +C d,c,a,b +D a,c,b,d +--- +设栈的初始状态为空,当字符序列“n2_”作为栈的输入时,输出长度为3,且可用做C语言标识符的序列有( )个。 + +A 3 +B 4 +C 5 +D 6 +--- +采用共享栈的好处是( )。 + +A 减少存取时间,降低发生上溢的可能 +B 节省存储空间,降低发生上溢的可能 +C 减少存取时间,降低发生下溢的可能 +D 节省存储空间,降低发生下溢的可能 +--- +设有一个顺序共享栈 Share[0:n-1],其中第一个栈顶指针 top1 的初值为 -1,第二个栈顶指针 top2 的初值为 n,则判断共享栈满的条件是( )。 + +A top2-top1 ==1 +B top1-top2 ==1 +C top1 == top2 +D 以上都不对 +--- +栈和队列的主要区别在于( )。 + +A 它们的逻辑结构不一样 +B 它们的存储结构不一样 +C 所包含的元素不一样 +D 插入、删除操作的限定不一样 +--- +队列的“先进先出”特性是指( )。 + +Ⅰ. 最后插入队列的元素总是最后被删除 + +Ⅱ. 当同时进行插入、删除操作时,总是插入操作优先 + +Ⅲ. 每当有删除操作时,总要先做一次插入操作 + +Ⅳ. 每次从队列中删除的总是最早插入的元素 + +A I +B I、IV +C Ⅱ、Ⅲ +D IV +--- +允许对队列进行的操作有( )。 + +A 对队列中的元素进行排序 +B 取出最近进队的元素 +C 在队列元素之间插入元素 +D 删除队头元素 +--- +一个队列的入队顺序是1, 2, 3, 4,出队的输出顺序是( )。 + +A 4,3,2,1 +B 1,2,3,4 +C 1,4,3,2 +D 3,2,4,1 +--- +循环队列存储在数组 A[0…n] 中,入队时的操作为( )。 + +A rear = rear+1 +B rear =(rear+1) mod (n-1) +C rear = (rear+1) mod n +D rear = (rear+1) mod (n+1) +--- +已知循环队列的存储空间为数组 A[21],front指向队头元素的前一个位置,rear指向队尾元素,假设当前front和rear的值分别为8和3,则该队列的长度为( )。 + +A 5 +B 6 +C 16 +D 17 +--- +若用数组 A[0…5] 来实现循环队列,且当前rear和front的值分别为1和5,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )。 + +A 3和4 +B 3和0 +C 5和0 +D 5和1 +--- +假设一个循环队列 Q[MaxSize] 的队头指针为front,队尾指针为rear,队列的最大容量为MaxSize,除此之外,该队列再没有其他数据成员,则判断该队的列满条件是( )。 + +A Q.front ==Q.rear +B Q.front +Q.rear ≥ MaxSize +C Q.front ==(Q.rear +1)%MaxSize +D Q.rear ==(Q.front +1)%MaxSize +--- +最适合用做链队的链表是( )。 + +A 带队首指针和队尾指针的循环单链表 +B 带队首指针和队尾指针的非循环单链表 +C 只带队首指针的非循环单链表 +D 只带队首指针的循环单链表 +--- +最不适合用做链式队列的链表是( )。 + +A 只带队首指针的非循环双链表 +B 只带队首指针的循环双链表 +C 只带队尾指针的循环双链表 +D 只带队尾指针的循环单链表 +--- +在用单链表实现队列时,队头设在链表的( )位置。 + +A 链头 +B 链尾 +C 链中 +D 以上都可以 +--- +用链式存储方式的队列进行删除操作时需要( )。 + +A 仅修改头指针 +B 仅修改尾指针 +C 头尾指针都要修改 +D 头尾指针可能都要修改 +--- +在一个链队列中,假设队头指针为front,队尾指针为rear,x所指向的元素需要入队,则需要执行的操作为( )。 + +A front = x;front = front->next; +B x->next = front->next;front =x; +C rear->next = x;rear =x; +D rear->next = x;x->next = null;rear = x; +--- +若以1, 2, 3, 4作为双端队列的输入序列,则既不能由输入受限的双端队列得到、又不能由输出受限的双端队列得到的输出序列是( )。 + +A 1,2,3,4 +B 4,1,3,2 +C 4,2,3,1 +D 4,2,1,3 +--- +栈的应用不包括( )。 + +A 递归 +B 进制转换 +C 迷宫求解 +D 缓冲区 +--- +表达式 a * (b + c) - d 的后缀表达式是( )。 + +A abcd*+- +B abc+*d- +C abc*+d- +D -+*abcd +--- +下面( )用到了队列。 + +A 括号匹配 +B 迷宫求解 +C 页面替换算法 +D 递归 +--- +利用栈求表达式的值时,设立运算数栈 OPEN。假设 OPEN 只有两个存储单元,则在下列 +表达式中,不会发生溢出的是( )。 + +A A-B * (C-D) +B (A-B)*C-D +C (A-B*C)-D +D (A-B)*(C-D) +--- +执行完下列语句段后,i 的值为( )。 + +int f(int x){ +return((x>0)?x*f(x-1):2); +} +int i; +i=f(f(1)); + +A 2 +B 4 +C 8 +D 无限递归 +--- +对于一个问题的递归算法求解和其相对应的非递归算法求解( )。 + +A 递归算法通常效率高一些 +B 非递归算法通常效率高一些 +C 两者相同 +D 无法比较 +--- +执行函数时,其局部变量一般采用( )进行存储。 + +A 树形结构 +B 静态链表 +C 栈结构 +D 队列结构 +--- +执行( )操作时,需要使用队列作为辅助存储空间。 + +A 查找散列(哈希)表 +B 广度优先搜索图 +C 前序(根)遍历二叉树 +D 深度优先搜索图 +--- +下列说法中,正确的是( )。 + +A 消除递归不一定需要使用栈 +B 对同一输入序列进行两组不同的合法入栈和出栈组合操作,所得的输出序列也一定相同 +C 通常使用队列来处理函数和过程调用 +D 队列和栈都是运算受限的线性表,只允许在表的两端进行运算 +--- +对特殊矩阵采用压缩存储的主要目的是( )。 + +A 表达变得简单 +B 对矩阵元素的存取变得简单 +C 去掉矩阵中的多余元素 +D 减少不必要的存储空间 +--- +对 n 阶对称矩阵压缩存储时,需要表长为( )的顺序表 + +A n/2 +B n×n/2 +C n×(n+1)/2 +D n×(n-1)/2 +--- +有一个 n×n 的对称矩阵 A,将其下三角部分按行存放在一维数组 B 中,而且 A[0][0] 存放于 B[0] 中,则第 i 行的对角元素 A[i][i] 存放于 B 中的( )处。 + +A (i+3)×i/2 +B (i+1)×i/2 +C (2n-i+1)×i/2 +D (2n-i-1)×i/2 +--- +在一个二维数组 A 中,假设每个数组元素的长度为 3 个存储单元,行下标 i 为 0~8,列下标 j 为 0~9,从首地址 SA 开始连续存放。在这种情况下,元素 A[8][5] 的起始地址为( )。 + +A SA+141 +B SA+144 +C SA+222 +D SA+255 +--- +将三对角矩阵 A[1…100][1.…100] 按行优先存入一维数组 B[1…298] 中,A 中元素 A[66][65] 在数组 B 中的位置 k 为( )。 + +A 198 +B 195 +C 197 +D 196 +--- +KMP 算法的特点是在模式匹配时指示主串的指针( )。 + +A 不会变大 +B 不会变小 +C 都有可能 +D 无法判断 +--- +设主串的长度为 n,子串的长度为 m,则简单的模式匹配算法和 KMP 算法的时间复杂度分别为( )。 + +A O(m),O(n) +B O(n),O(m+n) +C O(mn),O(m+n) +D O(m+n),O(n) +--- +已知串 S = ‘aaab’,其 next 数组值为()。 + +A 0123 +B 1112 +C 1231 +D 1211 +--- +串 ‘ababaaababaa’ 的 next 数组值为( )。 + +A 01234567899 +B 012121111212 +C 011234223456 +D 0123012322345 +--- +串 ‘ababaaababaa’ 的 next 数组为( )。 + +A -1,0,1,2,3,4,5,6,7,8,8,8 +B -1,0,1,0,1,0,0,0,0,1,0,1 +C -1,0,0,1,2,3,1,1,2,3,4,5 +D -1,0,1,2,-1,0,1,2,1,1,2,3 +--- +串 ‘ababaaababaa’ 的 nextval 数组为( )。 + +A 0,1,0,1,1,2,0,1,0,1,0,2 +B 0,1,0,1,1,4,1,1,0,1,0,2 +C 0,1,0,1,0,4,2,1,0,1,0,4 +D 0,1,1,1,0,2,1,1,0,1,0,4 +--- +KMP 算法的特点是在模式匹配时指示主串的指针( )。 + +A 不会变大 +B 不会变小 +C 都有可能 +D 无法判断 +--- +设主串的长度为 n,子串的长度为 m,则简单的模式匹配算法的时间复杂度为( ),KMP算法的时间复杂度为( )。 + +A O(m、O(n) +B O(n)、O(m +C O(mn、O(m+n) +D O(m+n)、O(mn) +--- +已知串 S = aaab,其 next 数组值为( )。 + +A 0123 +B 0112 +C 0231 +D 1211 +--- +串ababaaababaa的 next 数组值为( )。 + +A 01234567899 +B 012121111212 +C 011234223456 +D 0123012322345 +--- +串 ababaaababaa的 next 数组为( )。 + +A -1,0,1,2,3,4,567,8.8.8 +B -1,0,1,0,1,0,0,0,0,1,0,1 +C -1,0,0,1,2,3,1,1,2,3,4,5 +D -1,0,1,2,-1,0,1,2,1,1,2,3 +--- +串ababaaababaa的 nextval 数组为( )。 + +A 0,1,0,1,1,2,0,1,0,1,0,2 +B 0,1,0,1,1,4,1,1,0,1,0,2 +C 0.1,0,1,0,4,2,1,0,1,0,4 +D 0,1,1,1,0,2,1,1,0,1,0,4 +--- +树最适合用来表示( )的数据。 + +A 有序 +B 无序 +C 任意元素之间具有多种联系 +D 元素之间具有分支层次关系 +--- +一棵有 n 个结点的树的所有结点的度之和为( )。 + +A n-1 +B n +C n+1 +D 2n +--- +树的路径长度是从树根到每个结点的路径长度的( )。 + +A 总和 +B 最小值 +C 最大值 +D 平均值 +--- +对于一棵具有 n 个结点、度为 4 的树来说,( )。 + +A 树的高度至多是n-3 +B 树的高度至多是n-4 +C 第ⅰ层上至多有4(i-1)个结点 +D 至少在某一层上正好有4个结点 +--- +度为 4,高度为 h 的树,( )。 + +A 至少有h+3个结点 +B 至多有4h-1个结点 +C 至多有4h个结点 +D 至少有h+4个结点 +--- +假定一棵度为 3 的树中,结点数为 50,则其最小高度为( )。 + +A 3 +B 4 +C 5 +D 6 +--- +具有 10 个叶子结点的二叉树中有( )个度为 2 的结点。 + +A 8 +B 9 +C 10 +D 11 +--- +设高度为 h 的二叉树上只有度为 0 和度为 2 的结点,则此类二叉树中所包含的结点数至少为( )。 + +A h +B 2h-1 +C 2h+1 +D h +1 +--- +假设一棵二叉树的结点个数为 50,则它的最小高度是( )。 + +A 4 +B 5 +C 6 +D 7 +--- +设二叉树有 2n 个结点,且 mrchild !=NULL +C p->rtag ==0 +D p->rtag ==1 +--- +一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是( )。 + +A 不确定 +B 0个 +C 1个 +D 2个 +--- +在线索二叉树中,下列说法不正确的是( )。 + +A 在中序线索树中,若某结点有右孩子,则其后继结点是它的右子树的最左下结点 +B 在中序线索树中,若某结点有左孩子,则其前驱结点是它的左子树的最右下结点 +C 线索二叉树是利用二叉树的n+1个空指针来存放结点的前驱和后继信息的 +D 每个结点通过线索都可以直接找到它的前驱和后继 +--- +二叉树在线索化后,仍不能有效求解的问题是( )。 + +A 先序线索二叉树中求先序后继 +B 中序线索二叉树中求中序后继 +C 中序线索二叉树中求中序前驱 +D 后序线索二叉树中求后序后继 +--- +若 X 是二叉中序线索树中一个有左孩子的结点,且 X 不为根,则 X 的前驱为( )。 + +A X的双亲 +B X的右子树中最左的结点 +C X的左子树中最右的结点 +D X的左子树中最右的叶结点 +--- +( )的遍历仍需要栈的支持。 + +A 前序线索树 +B 中序线索树 +C 后序线索树 +D 所有线索树 +--- +某二叉树的先序序列和后序序列正好相反,则该二叉树一定是( )。 + +A 空或只有一个结点 +B 高度等于其结点数 +C 任意一个结点无左孩子 +D 任意一个结点无右孩子 +--- +利用二叉链表存储森林时,根结点的右指针是( )。 + +A 指向最左兄弟 +B 指向最右兄弟 +C 一定为空 +D 不一定为空 +--- +【2020 统考真题】假设下图所示网络中的本地域名服务器只提供递归查询服务,其他域名服务器均只提供迭代查询服务;局域网内主机访问 internet 上各服务器的往返时间(RTT)均 为 10ms,忽略其他各种时延。若主机H通过超链接 http://www.abc.com/index.html 请求浏览纯文本 Web 页 index.html,则从单击超链接开始到浏览器接收到 index.html 页面为止,所需的最短时间与最长时间分别是 ()。 +--- +【2010统考真题】进程P0和进程P1的共享变量初值及其定义如下: +--- +【2019统考真题】某客户通过一个TCP连接向服务器发送数据的部分过程如图所示。客户在t时刻第一次收到确认序列号ack_seq = 100的段,并发送序列号seq = 100的段,但发生丢失。若TCP支持快速重传,则客户重新发送seq = 100段的时刻是()。 + +A. t1 + +B. t2 + +C. t3 + +D. t4 +--- +【2015 统考真题改】某网络拓扑如下图所示,其中路由器内网接口、DHCP服务器、WWW服务器与主机1均采用静态IP地址配置,相关地址信息见图中标注;主机2~ 主机N通过DHCP服务器动态获取IP地址等配置信息。若主机2的ARP表为空,则该主机访问Internet时,发出的第一个以太网帧的目的MAC地址是什么?封装主机2发往Intemet的IP分组的以太网帧的目的MAC地址是什么? +--- +【2020统考真题】下列给定的关键字输入序列中,不能生成下边二叉排序树的是()。 + +A. 4, 5, 2, 1, 3 + +B. 4, 5, 1, 2, 3 + +C. 4, 2, 5, 3, 1 + +D. 4, 2, 1, 3, 5 +--- +【2011统考真题】某网络拓扑如下图所示,路由器R1只有到达子网192.168.1.0/24的路由。为使R1可以将IP分组正确地路由到图中的所有子网,则在R1中需要增加的一条路由(目的网络,子网掩码,下一跳)是()。 +--- +某算法的时间复杂度为 O(n^2^),表明该算法的( )。 + +--- +以下算法的时间复杂度为( )。 +--- +有以下算法,其时间复杂度为( )。 +--- +有如下程序段,其中n为正整数,则最后一行语句的频度在最坏情况下是( )。 +--- +以下算法中最后一行的语句的执行次数为()。 +int m =0,i,j; +for (i=1;i<=n; i++) +for (int j=1;j <=2 *i;j++) +m++; +--- +给定有n个元素的一维数组,建立一个有序单链表的最低时间复杂度是( )。 +--- +在长度为 n 的有序单链表中插入一个新结点,并仍然保持有序的时间复杂度是( )。 +--- +假设循环单链表表示的队列长度为n,队头固定在链表表尾,若只设头指针,则进队操作的时间复杂度为()。 +--- +若将 n 阶上三角矩阵 A 按列优先顺序压缩存放在一维数组 B[1…n(n+1)/2+1] 中,则存放到 B[k] 中的非零元素 a~i,j~(1 ≤ i, j ≤ n)的下标 i, j 与 k 的对应关系是( )。 +--- +若将 n 阶下三角矩阵 A 按列优先顺序压缩存放在一维数组 B[1…n(n+1)/2+1] 中,则存放到 B[k] 中的非零元素 a~i,j~(1 ≤ i, j ≤ n)的下标 i, j 与 k 的对应关系是( )。 + +--- +设有两个串 S~1~ 和 S~2~,求 S~2~ 在 S~1~ 中首次出现的位置的运算称为( )。 + +--- +设有两个串 S~1~ 和 S~2~,求 S~1~ 在 S~1~ 中首次出现的位置的运算称为( )。 +--- +下列关于二叉树的说法中,正确的是( ) +--- +以下说法中,正确的是( )。 +--- +高度为 h 的完全二叉树最少有( )个结点。 +--- +在一棵完全二叉树中,其根的序号为 1,( )可判定序号为 p 和 q 的两个结点是否在同一层。 +--- +对于一棵满二叉树,共有 n 个结点和 m 个叶子结点,深度为 h,则( )。 +--- +下列关于树的说法中,正确的是( )。 +Ⅰ. 对于有 n 个结点的二叉树,其高度为 log~2~n + +Ⅱ. 完全二叉树中,若一个结点没有左孩子,则它必是叶结点 + +Ⅲ. 高度为 h(h>0)的完全二叉树对应的森林所含的树的个数一定是 h + +Ⅳ. 一棵树中的叶子数一定等于与其对应的二叉树的叶子数 + +--- +设森林 F 中有 3 棵树,第一、第二、第三棵树的结点个数分别为 M~1~, M~2~ 和 M~3~,与森林 F 对应的二叉树根结点的右子树上的结点个数是( )。 +--- +设森林 F 对应的二叉树为 B,它有 m 个结点,B 的根为 p,p 的右子树结点个数为 n,森林 F 中第一棵树的结点个数是( )。 +A m-n +B m-n-1 +C n+1 +D 条件不足,无法确定 +--- +森林 T = (T~1~, T~2~, …, T~m~) 转化为二叉树 BT 的过程为:若 m = 0,则 BT 为空,若 m ≠ 0,则( )。 +--- +设 F 是一个森林,B 是由 F 变换来的二叉树。若 F 中有 n 个非终端结点,则 B 中右指针域为空的结点有( )个。 +A n-1 +B n +C n+1 +D n+2 +--- +若 T~1~ 是由有序树 T 转换而来的二叉树,则 T 中结点的后根序列就是 T~1~ 中结点的( )序列。 +--- +某二叉树结点的中序序列为 BDAECF,后序序列为 DBEFCA,则该二叉树对应的森林包括( )棵树。 +A 1 +B 2 +C 3 +D 4 +--- +设 X 是树 T 中的一个非根结点,B 是 T 所对应的二叉树。在 B 中,X 是其双亲结点的右孩子,下列结论中正确的是( )。 +A 在树T中,X是其双亲结点的第一个孩子 +B 在树T中,X一定无右边兄弟 +C 在树T中,X一定是叶子结点 +D 在树T中,X一定有左边兄弟 +--- +在森林的二叉树表示中,结点 M 和结点 N 是同一父结点的左儿子和右儿子,则在该森林中( )。 +A M和N有同一双亲 +B M和N可能无公共祖先 +C M是N的儿子 +D M是N的左兄弟 +--- +在有 n 个叶子结点的哈夫曼树中,非叶子结点的总数是( )。 +A n-1 +B n +C 2n-1 +D 2n +--- +给定整数集合 {3, 5, 6, 9, 12},与之对应的哈夫曼树是( )。 + +--- +下列编码中,( )不是前缀码。 +A {00,01,10,11} + +B {0,1,00,11} + +C {0,10,110,111} + +D {10,110,1110,1111} +--- +设哈夫曼编码的长度不超过 4,若已对两个字符编码为 1 和 01,则还最多可对( )个字符编码。 +A 2 +B 3 +C 4 +D 5 +--- +一棵哈夫曼树共有 215 个结点,对其进行哈夫曼编码,共能得到( )个不同的码字。 +A 107 +B 108 +C 214 +D 215 +--- +以下对于哈夫曼树的说法中,错误的是( )。 +A 对应一组权值构造出来的哈夫曼树一般不是唯一的 +B 哈夫曼树具有最小的带权路径长度 +C 哈夫曼树中没有度为1的结点 +D 哈夫曼树中除了度为1的结点外,还有度为2的结点和叶结点 +--- +若度为m的哈夫曼树中,叶子结点个数为n,则非叶子结点的个数为( )。 +A n-1 +B [n/m]-1 +C [(n-1)/(m-1)] +D [n/(m-1)]-1 +--- +并查集的结构是一种( )。 +A 二叉链表存储的二叉树 +B 双亲表示法存储的树 +C 顺序存储的二叉树 +D 孩子表示法存储的树 +--- +并查集中最核心的两个操作是:①查找,查找两个元素是否属于同一个集合;②合并,如果两个元素不属于同一个集合,且所在的两个集合互不相交,则合并这两个集合。假设初始长度为 10(0~9)的并查集,按 1-2、3-4、5-6、7-8、8-9、1-8、0-5、1-9 的顺序进行查找和合并操作,最终并查集共有( )个集合。 +A 1 +B 2 +C 3 +D 4 +--- +下列关于并查集的叙述中,( )是错误的(注意:本题涉及图的考点)。 +--- +图中有关路径的定义是( )。 +A 由顶点和相邻顶点序偶构成的边所形成的序列 +B 由不同顶点所形成的序列 +C 由不同边所形成的序列 +D 上述定义都不是 +--- +一个有 n 个顶点和 n 条边的无向图一定是( )。 +A 连通的 +B 不连通的 +C 无环的 +D 有环的 +--- +若从无向图的任意顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是( )。 +A 强连通图 +B 连通图 +C 有回路 +D 一棵树 +--- +以下关于图的叙述中,正确的是( )。 +A 图与树的区别在于图的边数大于等于顶点数 +B 假设有图G={V,{E}},顶点集V'是V的子集,E'是E的子集,则V'和{E'}构成G的子图 +C 无向图的连通分量是指无向图中的极大连通子图 +D 图的遍历就是从图中某一顶点出发访遍图中其余顶点 +--- +以下关于图的叙述中,正确的是( )。 +A 强连通有向图的任何顶点到其他所有顶点都有孤 +B 图的任意顶点的入度等于出度 +C 有向完全图一定是强连通有向图 +D 有向图的边集的子集和顶点集的子集可构成原有向图的子图 +--- +一个有 28 条边的非连通无向图至少有( )个顶点。 +A 7 +B 8 +C 9 +D 10 +--- +对于一个有 n 个顶点的图:若是连通无向图,其边的个数至少为( );若是强连通有向图,其边的个数至少为( )。 +A n-1,n +B n-1,n(n-1) +C n,n +D n,n(n-1) +--- +无向图 G 有 23 条边,度为 4 的顶点有 5 个,度为 3 的顶点有 4 个,其余都是度为 2 的顶点,则图 G 有( )个顶点。 +A 11 +B 12 +C 15 +D 16 +--- +在有 n 个顶点的有向图中,每个顶点的度最大可达( )。 +A n +B n-1 +C 2n +D 2n-2 +--- +具有 6 个顶点的无向图,当有( )条边时能确保是一个连通图。 +A 8 +B 9 +C 10 +D 11 +--- +设有无向图 G = (V, E) 和 G’ = (V’, E’),若 G’ 是 G 的生成树,则下列不正确的是( )。 +Ⅰ. G’ 为 G 的连通分量 +Ⅱ. G’ 为 G 的无环子图 +Ⅲ. G’ 为 G 的极小连通子图且 V’ = V +A Ⅰ、Ⅱ +B 只有Ⅲ +C Ⅱ、Ⅲ +D 只有Ⅰ +--- +若具有 n 个顶点的图是一个环,则它有( )棵生成树。 +--- +若一个具有 n 个顶点、e 条边的无向图是一个森林,则该森林中必有( )棵树。 + +A n +B e +C n-e +D 1 +--- +关于图的存储结构,( )是错误的。 +A 使用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中的顶点数有关,与边数无关 +B 邻接表只用于有向图的存储,邻接矩阵适用于有向图和无向图 +C 若一个有向图的邻接矩阵的对角线以下的元素为0,则该图的拓扑序列必定存在 +D 存储无向图的邻接矩阵是对称的,故只需存储邻接矩阵的下(或上)三角部分 +--- +若图的邻接矩阵中主对角线上的元素皆为 0,其余元素全为 1,则可以断定该图一定( )。 +A 是无向图 +B 是有向图 +C 是完全图 +D 不是带权图 +--- +在含有 n 个顶点和 e 条边的无向图的邻接矩阵中,零元素的个数为( )。 + +--- +带权有向图 G 用邻接矩阵存储,则 νi 的入度等于邻接矩阵中( )。 +A 第i行非∞的元素个数 +B 第ⅰ列非∞的元素个数 +C 第ⅰ行非∞且非0的元素个数 +D 第ⅰ列非∞且非0的元素个数 +--- +下列哪种图的邻接矩阵是对称矩阵?( )。 +A 有向图 +B 无向图 +C AOV网 +D AOE网 +--- +以下关于图的存储结构的叙述中,正确的是( )。 +A 一个图的邻接矩阵表示唯一,邻接表表示唯一 +B 一个图的邻接矩阵表示唯一,邻接表表示不唯一 +C 一个图的邻接矩阵表示不唯一,邻接表表示唯一 +D 一个图的邻接矩阵表示不唯一,邻接表表示不唯一 +--- +用邻接表法存储图所用的空间大小( )。 +A 与图的顶点数和边数有关 +B 只与图的边数有关 +C 只与图的顶点数有关 +D 与边数的平方有关 +--- +若邻接表中有奇数个边表结点,则( )。 +A 图中有奇数个结点 +B 图中有偶数个结点 +C 图为无向图 +D 图为有向图 +--- +在有向图的邻接表存储结构中,顶点 ν 在边表中出现的次数是( )。 +A 顶点V的度 +B 顶点V的出度 +C 顶点V的入度 +D 依附于顶点V的边数 +--- +n 个顶点的无向图的邻接表最多有( )个边表结点。 + +--- +假设有 n 个顶点、e 条边的有向图用邻接表表示,则删除与某个顶点 ν 相关的所有边的时间复杂度为( )。 +A O(n) +B O(e) +C O(n+e) +D O(ne) +--- +对邻接表的叙述中,( )是正确的。 +A 无向图的邻接表中,第ⅰ个顶点的度为第ⅰ个链表中结点数的两倍 +B 邻接表比冷邻接矩阵的操作更简便 +C 邻接矩阵比冷邻接表的操作更简便 +D 求有向图结点的度,必须遍历整个邻接表 +--- +邻接多重表是( )的存储结构。 +A 无向图 +B 有向图 +C 无向图和有向图 +D 都不是 +--- +十字链表是( )的存储结构。 +A 无向图 +B 有向图 +C 无向图和有向图 +D 都不是 +--- +下列关于广度优先算法的说法中,正确的是( )。 +Ⅰ. 当各边的权值相等时,广度优先算法可以解决单源最短路径问题 +Ⅱ. 当各边的权值不等时,广度优先算法可用来解决单源最短路径问题 +Ⅲ. 广度优先遍历算法类似于树中的后序遍历算法 +Ⅳ. 实现图的广度优先算法时,使用的数据结构是队列 +A Ⅰ、IV +B Ⅱ、Ⅲ、IV +C Ⅱ、IV +D Ⅰ、Ⅲ、IV +--- +对于一个非连通无向图 G,采用深度优先遍历访问所有顶点,在 DFSTraverse 函数中调用 DFS 的次数正好等于( )。 +A 顶点数 +B 边数 +C 连通分量数 +D 不确定 +--- +无向图 G = (V, E),其中 V = {a, b, c, d, e, f},E = {(a, b),(a, e), (a, c), (b, e),(c, f),(f, d),(e, d)},对该图从 a 开始进行深度优先遍历,得到的顶点序列正确的是( )。 +A a,b,e,c,d,f +B a,c,f, e,b,d +C a,e,b,c,f, d +D a,e,d,f,c, b +--- +如下图所示,在下面的 5 个序列中,符合深度优先遍历的序列个数是( )。 + +Ⅰ. aebfdc Ⅱ. acfdeb Ⅲ. aedfcb Ⅳ. aefdbc Ⅴ. aecfdb +--- +无向图 G = (V, E),其中 V = {a, b, c, d, e, f},E = {(a, b), (a, e), (a, c), (b, e), (c, f), (f, d), (e, d)}。对该图进行深度优先遍历,不能得到的序列是( )。 +A a c f d e b +B a e b d f c +C a e d f c b +D a b e c d f + +--- +判断有向图中是否存在回路,除可以利用拓扑排序外,还可以利用( )。 +A 求关键路径的方法 +B 求最短路径的Dijkstra算法 +C 深度优先遍历算法 +D 广度优先遍历算法 +--- +使用 DFS 算法递归地遍历一个无环有向图,并在退出递归时输出相应顶点,这样得到的顶点序列是( )。 +A 逆拓扑有序 +B 拓扑有序 +C 无序的 +D 都不是 +--- +设无向图 G = (V, E)和 G’ = (V, E),若 G’ 是 G 的生成树,则下列说法中错误的是( )。 +A G'为G的子图 +B G'为G的连通分量 +C G'为G的极小连通子图且V=V' +D G'是G的一个无环子图 +--- +图的广度优先生成树的树高比深度优先生成树的树高( )。 +A 小或相等 +B 小 +C 大或相等 +D 大 +--- +对有 n 个顶点、e 条边且使用邻接表存储的有向图进行广度优先遍历,其算法的时间复杂度是( )。 +A O(n) +B O(e) +C O(n + e) +D O(ne) +--- +任何一个无向连通图的最小生成树( )。 +A 有一棵或多棵 +B 只有一棵 +C 一定有多棵 +D 可能不存在 +--- +用 Prim 算法和 Kruskal 算法构造图的最小生成树,所得到的最小生成树( )。 +A 相同 +B 不相同 +C 可能相同,可能不同 +D 无法比较 +--- +以下叙述中,正确的是( )。 +A 只要无向连通图中没有权值相同的边,则其最小生成树唯一 +B 只要无向图中有权值相同的边,则其最小生成树一定不唯一 +C 从n个顶点的连通图中选取n-1条权值最小的边,即可构成最小生成树 +D 设连通图G含有n个顶点,则含有n个顶点、n-1条边的子图一定是G的生成树 +--- +以下叙述中,正确的是( )。 + +--- +已知带权连通无向图 G = (V, E),其中 V = {ν1, ν2, ν3, ν4, ν5, ν6, ν7},E = {(ν1, ν2)10, (ν1, ν3)2, (ν3, ν4)2, (ν3, ν6)11, (ν2, ν5)1, (ν4, ν5)4, (ν4, ν6)6, (ν5, ν7)7, (ν6, ν7)3}(注:顶点偶对括号外的数据表示边上的权值),从源点 ν1 到顶点 ν7 的最短路径上经过的顶点序列是( )。 +A V1,V2,V5,V7 +B V1,V3,V4,V6,V7 +C V1,V3,V4,V5,V7 +D V1,V2,V5,V4,V6, V7 +--- +下面的( )方法可以判断出一个有向图是否有环(回路)。 +Ⅰ. 深度优先遍历 +Ⅱ. 拓扑排序 +Ⅲ. 求最短路径 +Ⅳ. 求关键路径 +A Ⅰ、Ⅱ、IV +B Ⅰ、Ⅲ、IV +C Ⅰ、Ⅱ、Ⅲ +D 全都可以 +--- +在有向图 G 的拓扑序列中,若顶点 v~i~ 在顶点 v~j~ 之前,则下列情形不可能出现的是( ) +--- +若一个有向图的顶点不能排在一个拓扑序列中,则可判定该有向图( )。 +A 是一个有根的有向图 +B 是一个强连通图 +C 含有多个入度为0的顶点 +D 含有顶点数目大于1的强连通分量 +--- +以下关于拓扑排序的说法中,错误的是( )。 +Ⅰ. 若某有向图存在环路,则该有向图一定不存在拓扑排序 +Ⅱ. 在拓扑排序算法中为暂存入度为零的顶点,可以使用栈,也可以使用队列 +Ⅲ. 若有向图的拓扑有序序列唯一,则图中每个顶点的入度和出度最多为 1 +A Ⅰ、Ⅲ +B Ⅱ、Ⅲ +C Ⅱ +D Ⅲ +--- +若一个有向图的顶点不能排成一个拓扑序列,则判定该有向图()。 +A 含有多个出度为0的顶点 +B 是个强连通图 +C 含有多个入度为0的顶点 +D 含有顶点数大于1的强连通分量 +--- +下图所示有向图的所有拓扑序列共有( )个。 + +--- +若一个有向图具有有序的拓扑排序序列,则它的邻接矩阵必定为( )。 +A 对称 +B 稀疏 +C 三角 +D 一般 +--- +若某带权图为 G = (V, E),其中 V = {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10},E = {5, 6, 3, 6, 3, 3, 1, 4, 4, 2, 4, 5, 2, 2}(注:边括号外的数据表示边上的权值),则 G 的关键路径的长度为( )。 +A 19 +B 20 +C 21 +D 22 +--- +下列关于图的说法中,正确的是( )。 +Ⅰ. 有向图中顶点 V 的度等于其邻接矩阵中第 V 行中 1 的个数 +Ⅱ. 无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵 +Ⅲ. 在图 G 的最小生成树 G 中,某条边的权值可能会超过未选边的权值 +Ⅳ. 若有向无环图的拓扑序列唯一,则可以唯一确定该图 +A Ⅰ、Ⅱ和Ⅲ +B Ⅲ和Ⅳ +C Ⅲ +D Ⅳ +--- +下面关于求关键路径的说法中,不正确的是( )。 +A 求关键路径是以拓扑排序为基础的 +B 一个事件的最早发生时间与以该事件为始的弧的活动的最早开始时间相同 +C 一个事件的最迟发生时间是以该事件为尾的弧的活动的最迟开始时涧与该活动的持续时间的差 +D 关键活动一定位于关键路径上 +--- +下列关于关键路径的说法中,正确的是( )。 +Ⅰ. 改变网上某一关键路径上的任一关键活动后,必将产生不同的关键路径 +Ⅱ. 在 AOE 图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多少 +Ⅲ. 缩短关键路径上任意一个关键活动的持续时间可缩短关键路径长度 +Ⅳ. 缩短所有关键路径上共有的任意一个关键活动的持续时间可缩短关键路径长度 +Ⅴ. 缩短多条关键路径上共有的任意一个关键活动的持续时间可缩短关键路径长度 +A Ⅱ和Ⅴ +B Ⅰ、Ⅱ和Ⅳ +C Ⅱ和Ⅳ +D Ⅰ和Ⅳ +--- +用 DFS 遍历一个无环有向图,并在 DFS 算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。 +A 逆拓扑有序 +B 拓扑有序 +C 无序的 +D 无法确定 +--- +顺序查找适合于存储结构为( )的线性表。 +A 顺序存储结构或链式存储结构 +B 散列存储结构 +C 索引存储结构 +D 压缩存储结构 +--- +由 n 个数据元素组成的两个表:一个递增有序,一个无序。采用顺序查找算法,对有序表从头开始查找,发现当前元素已不小于待查元素时,停止查找,确定查找不成功,已知查找任一元素的概率是相同的,则在两种表中成功查找( )。 +A 平均时间后者小 +B 平均时间两者相同 +C 平均时间前者小 +D 无法确定 +--- +对长度为 n 的有序单链表,若查找每个元素的概率相等,则顺序查找表中任一元素的查找成功的平均查找长度为( )。 +A n/2 +B (n+1)/2 +C (n-1)/2 +D n/4 +--- +对长度为 3 的顺序表进行查找,若查找第一个元素的概率为 1/2,查找第二个元素的概率为 1/3,查找第三个元素的概率为 1/6,则查找任一元素的平均查找长度为( )。 +A 5/3 +B 2 +C 7/3 +D 4/3 +--- +下列关于二分查找的叙述中,正确的是( )。 +A 表必须有序,表可以顺序方式存储,也可以链表方式存储 +B 表必须有序且表中数据必须是整型、实型或字符型 +C 表必须有序,而且只能从小到大排列 +D 表必须有序,且表只能以顺序方式存储 +--- +在一个顺序存储的有序线性表上查找一个数据时,既可以采用折半查找,也可以采用顺序查找,但前者比后者的查找速度( )。 +A 必然快 +B 取决于表是递增还是递减 +C 在大部分情况下要快 +D 必然不快 +--- +折半查找过程所对应的判定树是一棵( )。 +A 最小生成树 +B 平衡二叉树 +C 完全二叉树 +D 满二叉树 +--- +折半查找和二叉排序树的时间性能( )。 +A 相同 +B 有时不相同 +C 完全不同 +D 无法比较 +--- +在有 11 个元素的有序表 A[1, 2, …, 11] 中进行折半查找(⌊(low+high)/2⌋),查找元素 A[11] 时,被比较的元素下标依次是( )。 +A 6,8,10,11 +B 6,9,10,11 +C 6,7,9,11 +D 6,8,9,11 +--- +已知有序表 (13, 18, 24, 35, 47, 50, 62, 83, 90, 115, 134),当二分查找值为 90 的元素时,查找成功的比较次数为( )。 +A1 +B 2 +C 4 +D 6 +--- +对表长为 n 的有序表进行折半查找,其判定树的高度为( )。 +--- +采用分块查找时,数据的组织方式为( )。 +A 数据分成若干块,每块内数据有序 +B 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 +C 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 +D 数据分成若干块,每块(除最后一块外)中数据个数需相同 +--- +对有 2500 个记录的索引顺序表(分块表)进行查找,最理想的块长为( )。 + +--- +设顺序存储的某线性表共有 123 个元素,按分块查找的要求等分为 3 块。若对索引表采用顺序查找法来确定子块,且在确定的子块中也采用顺序查找法,则在等概率情况下,分块查找成功的平均查找长度为( )。 +A 21 +B 23 +C 41 +D 62 +--- +为提高查找效率,对有 65025 个元素的有序顺序表建立索引顺序结构,在最好情况下查找到表中已有元素最多需要执行( )次关键字比较。 +A 10 +B 14 +C 16 +D 21 +--- +对于二叉排序树,下面的说法中,( )是正确的。 +A 二叉排序树是动态树表,查找失败时插入新结点,会引起树的重新分裂和组合 +B 对二叉排序树进行层序遍历可得到有序序列 +C 用逐点插入法构造二叉排序树,若先后插入的关键字有序,二叉排序树的深度最大 +D 在二叉排序树中进行查找,关键字的比较次数不超过结点数的1/2 +--- +按( )遍历二叉排序树得到的序列是一个有序序列。 +A 先序 +B 中序 +C 后序 +D 层次 +--- +在二叉排序树中进行查找的效率与( )有关。 +A 二叉排序树的深度 +B 二叉排序树的结点的个数 +C 被查找结点的度 +D 二叉排序树的存储结构 +--- +在常用的描述二叉排序树的存储结构中,关键字值最大的结点( )。 +A 左指针一定为空 +B 右指针一定为空 +C 左右指针均为空 +D 左右指针均不为空 +--- +设二叉排序树中关键字由 1 到 1000 的整数构成,现要查找关键字为 363 的结点,下述关键字序列中,不可能是在二叉排序树上查找的序列是( )。 +A 2,252,401,398,330,344,397,363 +B 924,220,911,244,898,258,362,363 +C 925,202,911,240,912,245,363 +D 399,387,219,266,382,381,278,363 +--- +分别以下列序列构造二叉排序树,与用其他 3 个序列所构造的结果不同的是( )。 +A (100,80,90,60,120,110,130) +B (100,120,110,130,80,60,90) +C (100,60,80,90,120,110,130) +D (100,80,60,90,120,130,110) +--- +从空树开始,依次插入元素 52, 26, 14, 32, 71, 60, 93, 58, 24 和 41 后构成了一棵二叉排序树。在该树查找 60 要进行比较的次数为( )。 +A 3 +B 4 +C 5 +D 6 +--- +在含有 n 个结点的二叉排序树中查找某个关键字的结点时,最多进行( )次比较。 +--- +构造一棵具有 n 个结点的二叉排序树时,最理想情况下的深度为( )。 +--- +不可能生成如下图所示的二叉排序树的关键字序列是( )。 + +--- +含有 20 个结点的平衡二叉树的最大深度为( )。 +A 4 +B 5 +C 6 +D 7 +--- +具有 5 层结点的 AVL 至少有( )个结点。 +A 10 +B 12 +C 15 +D 17 +--- +下列关于红黑树的说法中,不正确的是( )。 +--- +下列关于红黑树和 AVL 树的描述中,不正确的是( )。 +A 两者都属于自平衡的二叉树 +B 两者查找、插入、删除的时间复杂度都相同 +C 红黑树插入和删除过程至多有2次旋转操作 +D 红黑树的任一结点的左右子树高度之差不超过2倍 +--- +下列关于红黑树的说法中,正确的是( )。 +A 红黑树本质上是一棵二叉树 +B 红黑树适合于增删多而查询少的场景 +C 红黑树的查询时间复杂度是nlog(n) +D 在红黑树中,新添的节点的颜色可以是黑色的 +--- +将关键字 1, 2, 3, 4, 5, 6, 7 依次插入初始为空的红黑树 T,则 T 中红结点的个数是( )。 +A 1 +B 2 +C 3 +D 4 +--- +下图所示是一棵( )。 + +--- +下列关于 m 阶 B 树的说法中,错误的是( )。 +A 根结点至多有m棵子树 +B 所有叶结点都在同一层次上 +C 非叶结点至少有m/2(m为偶数)或(m+1)/2(m为奇数)棵子树 +D 根结点中的数据是有序的 +--- +以下关于 m 阶 B 树的说法中,正确的是( )。 +Ⅰ. 每个结点至少有两棵非空子树 +Ⅱ. 树中每个结点至多有 m-1 个关键字 +Ⅲ. 所有叶结点在同一层 +Ⅳ. 插入一个元素引起 B 树结点分裂后,树长高一层 +A Ⅰ、Ⅱ +B Ⅱ、Ⅲ +C Ⅲ、IV +D Ⅰ、Ⅱ、IV +--- +在一棵 m 阶 B 树中做插入操作前,若一个结点中的关键字个数等于( ),则必须分裂成两个结点;向一棵 m 阶的 B 树做删除操作前,若一个结点中的关键字个数等于( ),则可能需要同它的左兄弟或右兄弟结点合并成一个结点。 +A m,[m/2]-2 +B m-1,[m/2]-1 +c m+1,[m/2] +D m/2,[m/2]+1 +--- +具有 n 个关键字的 m 阶 B 树,应有( )个叶结点。 +A n+1 +B n-1 +C mn +D nm/2 +--- +含有 n 个非叶结点的 m 阶 B 树中至少包含( )个关键字。 +A n(m+1) +B n +C n([m/2]-1) +D (n-1)([m/2]-1)+1 +--- +下列关于 B 树和 B+ 树的叙述中,不正确的是( )。 +A B树和B+树都能有效地支持顺序查找 +B B树和B+树都能有效地支持随机查找 +C B树和B+树都是平衡的多叉树 +D B树和B+树都可以用于文件索引结构 +--- +只能在顺序存储结构上进行的查找方法是( )。 +A 顺序查找法 +B 折半查找法 +C 树型查找法 +D 散列查找法 +--- +散列查找一般适用于( )的情况下的查找。 +A 查找表为链表 +B 查找表为有序表 +C 关键字集合比地址集合大得多 +D 关键字集合与地址集合之间存在对应关系 +--- +下列关于散列表的说法中,正确的是( )。 +Ⅰ. 若散列表的填装因子 a<1,则可避免碰撞的产生 +Ⅱ. 散列查找中不需要任何关键字的比较 +Ⅲ. 散列表在查找成功时平均查找长度与表长有关 +Ⅳ. 若在散列表中删除一个元素,不能简单地将该元素删除 +AI和IV +B Ⅱ 和 Ⅲ +C Ⅲ +D IV +--- +在开放定址法中散列到同一个地址而引起的“堆积”问题是由于( )引起的。 +A 同义词之间发生冲突 +B 非同义词之间发生冲突 +C 同义词之间或非同义词之间发生冲突 +D 散列表”溢出” +--- +下列关于散列冲突处理方法的说法中,正确的有( )。 +Ⅰ. 采用再散列法处理冲突时不易产生聚集 +Ⅱ. 采用线性探测法处理冲突时,所有同义词在散列表中一定相邻 +Ⅲ. 采用链地址法处理冲突时,若限定在链首插入,则插入任一个元素的时间是相同的 +Ⅳ. 采用链地址法处理冲突易引起聚集现象 +A I和Ⅲ +B I、Ⅱ和Ⅲ +C Ⅲ和IV +D I和IV +--- +设有一个含有 200 个表项的散列表,用线性探测法解决冲突,按关键字查询时找到一个表项的平均探测次数不超过 1.5,则散列表项应能够容纳( )个表项(设查找成功的平均查找长度为 ASL = [1+1/(1-α)]/2,其中 α 为装填因子)。 +A 400 +B 526 +C 624 +D 676 +--- +假定有 K 个关键字互为同义词,若用线性探测法把这 K 个关键字填入散列表,至少要进行( )次探测。 +A K-1 +B K +C K+1 +D K(K+1)/2 +--- +对包含 n 个元素的散列表进行查找,平均查找长度( )。 + +--- +采用开放定址法解决冲突的散列查找中,发生聚集的原因主要是( )。 +A 数据元素过多 +B 负载因子过大 +C 散列函数选择不当 +D 解决冲突的方法选择不当 +--- +一组记录的关键字为 {19, 14, 23, 1, 68, 20, 84, 27, 55, 11, 10, 79},用链地址法构造散列表,散列函数为 H(key) = key MOD 13,散列地址为 1 的链中有( )个记录。 +A 1 +B 2 +C 3 +D 4 +--- +设散列表长 m = 14,散列函数为 H(key) = key%11,表中仅有 4 个结点 H(15) = 4,H(38) = 5,H(61)=6,H(84) = 7,若采用线性探测法处理冲突,则关键字为 49 的结点地址是( )。 +A 8 +B 3 +C 5 +D 9 +--- +将 10 个元素散列到 100000 个单元的散列表中,则( )产生冲突。 +A 一定会 +B 一定不会 +C 仍可能会 +D 不确定 +--- +下述排序方法中,不属于内部排序方法的是( )。 +A 插入排序 +B 选择排序 +C 拓扑排序 +D 冒泡排序 +--- +排序算法的稳定性是指( )。 +A 经过排序后,能使关键字相同的元素保持原顺序中的相对位置不变 +B 经过排序后,能使关键字相同的元素保持原顺序中的绝对位置不变 +C 排序算法的性能与被排序元素个数关系不大 +D 排序算法的性能与被排序元素的个数关系密切 +--- +下列关于排序的叙述中,正确的是( )。 +A 稳定的排序方法优于不稳定的排序方法 +B 对同一线性表使用不同的排序方法进行排序得到的排序结果可能不同 +C 排序方法都是在顺序表上实现的,在链表上无法实现排序方法 +D 在顺序表上实现的排序方法在链表上也可以实现 +--- +对任意 7 个关键字进行基于比较的排序,至少要进行( )次关键字之间的两两比较。 +A 13 +B 14 +C 15 +D 6 +--- +对 5 个不同的数据元素进行直接插入排序,最多需要进行的比较次数是( )。 +A 8 +B 10 +C 15 +D 25 +--- +在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。 +A 直接插入排序 +B 简单选择排序 +C 快速排序 +D 归并排序 +--- +数据序列 {8, 10, 13, 4, 6, 7, 22, 2, 3} 只能是( )两趟排序后的结果。 +A 简单选择排序 +B 冒泡排序 +C 直接插入排序 +D 堆排序 +--- +用直接插入排序算法对下列 4 个表进行(从小到大)排序,比较次数最少的是( )。 +A 94,32,40,90,80,46,21,69 +B 21,32,46,40,80,69,90,94 +C 32,40,21,46,69,94,90,80 +D 90,69,80,46,21,32.94,40 +--- +在下列算法中,( )算法可能出现下列情况:在最后一趟开始之前,所有元素都不在最终位置上。 +A 堆排序 +B 冒泡排序 +C 直接插入排序 +D 快速排序 +--- +希尔排序属于( )。 +A 插入排序 +B 交换排序 +C 选择排序 +D 归并排序 +--- +对序列 {15, 9, 7, 8, 20, -1, 4} 用希尔排序方法排序,经一趟后序列变为 {15, -1, 4, 8, 20, 9, 7},则该次采用的增量是( )。 +A 1 +B 4 +C 3 +D 2 +--- +对序列 {15, 9, 7, 8, 20, -1, 4},经一趟排序后序列变成 {9, 15, 7, 8, 20, -1, 4},则采用的是下列的( )。 +A 选择排序 +B 快速排序 +C 直接插入排序 +D 冒泡排序 +--- +对序列 {98, 36, -9, 0, 47, 23, 1, 8, 10, 7} 采用希尔排序,下列序列( )是增量为 4 的一趟排序结果。 +A {10,7,-9,0,47,23,1,8,98,36} +B {-9,0,36,98,1,8,23,47,7,10} +C {36,98,-9,0,23,47,1,8,7,10} +D 以上都不对 +--- +折半插入排序算法的时间复杂度为( )。 + +--- +有些排序算法在每趟排序过程中,都会有一个元素被放置到其最终位置上,( )算法不会出现此种情况。 +A 希尔排序 +B 堆排序 +C 冒泡排序 +D 快速排序 +--- +以下排序算法中,不稳定的是( )。 +A 冒泡排序 +B 直接插入排序 +C 希尔排序 +D 归并排序 +--- +以下排序算法中,稳定的是( )。 +A 快速排序 +B 堆排序 +C 直接插入排序 +D 简单选择排序 +--- +对 n 个不同的元素利用冒泡法从小到大排序,在( )情况下元素交换的次数最多。 +A 从大到小排列好的 +B 从小到大排列好的 +C 元素无序 +D 元素基本有序 +--- +若用冒泡排序算法对序列 {10, 14, 26, 29, 41, 52} 从大到小排序,则需进行( )次比较。 +A 3 +B 10 +C 15 +D 25 +--- +用某种排序方法对线性表 {25, 84, 21, 47, 15, 27, 68, 35, 20} 进行排序时,元素序列的变化情况如下: +第一趟:25, 84, 21, 47, 15, 27, 68, 35, 20 +第二趟:20, 15, 21, 25, 47, 27, 68, 35, 84 +第三趟:15, 20, 21, 25, 35, 27, 47, 68, 84 +第四趟:15, 20, 21, 25, 27, 35, 47, 68, 84 +则所采用的排序方法是( )。 +A 选择排序 +B 插入排序 +C 二路归并排序 +D 快速排序 +--- +一组记录的关键码为 (46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准,从小到大得到的一次划分结果为( )。 +A (38,40,46,56,79,84) +B (40,38.46,79,56,84) +C (40,38,46,56,79,84) +D (40,38,46,84,56,79) +--- +快速排序算法在( )情况下最不利于发挥其长处。 +A 要排序的数据量太大 +B 要排序的数据中含有多个相同值 +C 要排序的数据个数为奇数 +D 要排序的数据已基本有序 +--- +就平均性能而言,目前最好的内部排序方法是( )。 +A 冒泡排序 +B 直接插入排序 +C 希尔排序 +D 快速排序 +--- +数据序列 F = {2, 1, 4, 9, 8, 10, 6, 20} 只能是下列排序算法中的( )两趟排序后的结果。 +A 快速排序 +B 冒泡排序 +C 选择排序 +D 插入排序 +--- +对数据序列 {8, 9, 10, 4, 5, 6, 20, 1, 2} 采用冒泡排序(从后向前次序进行,要求升序),需要进行的趟数至少是( )。 +A 3 +B 4 +C 5 +D 8 +--- +对下列 4 个序列,以第一个关键字为基准用快速排序算法进行排序,在第一趟过程中移动记录次数最多的是( )。 +A 92,96,88,42,30,35,110,100 +B 92,96,100,110,42,35,30,88 +C100,96,92,35,30,110,88,42 +D 42,30,35,92,100,96,88,110 +--- +下列序列中,( )可能是执行第一趟快速排序后所得到的序列。 +Ⅰ. {68, 11, 18, 69, 23, 93, 73} +Ⅱ. {68, 11, 69, 23, 18, 93, 73} +Ⅲ. {93, 73, 68, 11, 69, 23, 18} +Ⅳ. {68, 11, 69, 23, 18, 73, 93} +A I、IV +B Ⅱ、Ⅲ +C Ⅲ、IV +D 只有IV +--- +在以下排序算法中,每次从未排序的记录中选取最小关键字的记录,加入已排序记录的末尾,该排序方法是( )。 +A 简单选择排序 +B 冒泡排序 +C 堆排序 +D 直接插入排序 +--- +简单选择排序算法的比较次数和移动次数分别为( )。 +--- +设线性表中每个元素有两个数据项 k1 和 k2,现对线性表按以下规则进行排序:先看数据项 k1,k1 值小的元素在前,大的元素在后;在 k1 值相同的情况下,再看 k2,k2 值小的在前,大的在后。满足这种要求的排序方法是( )。 +A 先按k1进行直接插入排序,再按k2进行简单选择排序 +B 先按k2进行直接插入排序,再按k1进行简单选择排序 +C 先按k1进行简单选择排序,再按k2进行直接插入排序 +D 先按k2进行简单选择排序,再按k1进行直接插入排序 +--- +若只想得到 1000 个元素组成的序列中第 10 个最小元素之前的部分排序的序列,用( )方法最快。 +A 冒泡排序 +B 快速排序 +C 希尔排序 +D 堆排序 +--- +下列( )是一个堆。 +A 19,75,34,26,97,56 +B 97,26,34,75,19,56 +C 19,56,26,97,34,75 +D 19,34,26,97,56,75 +--- +有一组数据 (15, 9, 7, 8, 20, -1, 7, 4),用堆排序的筛选方法建立的初始小根堆为( )。 +A -1,4,8,9,20,7,15,7 +B -1,7,15,7,4,8,20,9 +C -1,4,7,8,20,15,7,9 +D A、B、C均不对 +--- +在含有 n 个关键字的小根堆中,关键字最大的记录有可能存储在( )位置。 +A n/2 +B n/2+2 +C 1 +D n/2-1 +--- +对关键码序列 {23, 17, 72, 60, 25, 8, 68, 71, 52} 进行堆排序,输出两个最小关键码后的剩余堆是( )。 +A {23,72,60,25,68,71,52} +B {23,25,52,60,71,72,68} +C {71,25,23,52,60,72,68} +D {23,25,68,52,60,72,71} +--- +下列 4 种排序方法中,排序过程中的比较次数与序列初始状态无关的是( )。 +A 选择排序法 +B 插入排序法 +C 快速排序法 +D 冒泡排序法 +--- +以下排序方法中,( )在一趟结束后不一定能选出一个元素放在其最终位置上。 +A 简单选择排序 +B 冒泡排序 +C 归并排序 +D 堆排序 +--- +以下排序算法中,( )不需要进行关键字的比较。 +A 快速排序 +B 归并排序 +C 基数排序 +D 堆排序 + +--- +下列排序方法中,排序过程中比较次数的数量级与序列初始状态无关的是( )。 +A 归并排序 +B 插入排序 +C 快速排序 +D 冒泡排序 +--- +若对 27 个元素只进行三趟多路归并排序,则选取的归并路数最少为( )。 +A 2 +B 3 +C 4 +D 5 +--- +2 路归并排序中,归并趟数的数量级是( )。 + +--- +一组经过第一趟 2 路归并排序后的记录的关键字为 {25, 50, 15, 35, 80, 85, 20, 40, 36, 70},其中包含 5 个长度为 2 的有序表,用 2 路归并排序方法对该序列进行第二趟归并后的结果为( )。 +A 15,25,35,50,80,20,85,40,70,36 +B 15,25,35,50,20,40,80,85,36,70 +C 15,25,50,35,80,85,20,36,40,70 +D 15,25,35,50,80,20,36,40,70,85 +--- +若将中国人按照生日(不考虑年份,只考虑月、日)来排序,则使用下列排序算法时,最快的是( )。 +A 归并排序 +B 希尔排序 +C 快速排序 +D 基数排序 +--- +对 {05, 46, 13, 55, 94, 17, 42} 进行基数排序,一趟排序的结果是( )。 +A 05,46,13,55,94,17,42 +B 05,13,17,42,46,55,94 +C 42,13,94,05,55,46,17 +D 05,13,46,55,17,42,94 +--- +若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选( )。 +A 直接插入排序 +B 选择排序 +C 基数排序 +D 快速排序 +--- +以下排序方法中时间复杂度为 O(nlog~2~n) 且稳定的是( )。 +--- +设被排序的结点序列共有 n 个结点,在该序列中的结点已十分接近有序的情况下,用直接插入排序、归并排序和快速排序对其进行排序,这些算法的时间复杂度应为( )。 + +--- +就排序算法所用的辅助空间而言,堆排序、快速排序和归并排序的关系是( )。 +A 堆排序<快速排序<归并排序 +B 堆排序<归并排序<快速排序 +C 堆排序>归并排序>快速排序 +D 堆排序>快速排序>归并排序 +--- +排序趟数与序列的原始状态无关的排序方法是( )。 +Ⅰ.直接插入排序 Ⅱ.简单选择排序 Ⅲ.冒泡排序 Ⅳ.基数排序 +A I、Ⅲ +B I、Ⅱ、IV +C I、Ⅱ、Ⅲ +D I、IV +--- +若序列的原始状态为 {1, 2, 3, 4, 5, 10, 6, 7, 8, 9},要想使得排序过程中的元素比较次数最少,则应该采用( )方法。 +A 插入排序 +B 选择排序 +C 希尔排序 +D 冒泡排序 +--- +一般情况下,以下查找效率最低的数据结构是( )。 +A 有序顺序表 +B 二叉排序树 +C 堆 +D 平衡二叉树 +--- +排序趟数与序列的原始状态有关的排序方法是( )排序法。 +A 插入 +B 选择 +C 冒泡 +D 基数 +--- +设在磁盘上存放有 375000 个记录,做 5 路平衡归并排序,内存工作区能容纳 600 个记录,为把所有记录排好序,需要做( )趟归并排序。 +A 3 +B 4 +C 5 +D 6 +--- +置换选择排序的作用是( )。 +A 用于生成外部排序的初始归并段 +B 完成将一个磁盘文件排序成有序文件的有效的外部排序算法 +C 生成的初始归并段的长度是内存工作区的2倍 +D 对外部排序中输入/归并/输出的并行处理 +--- +最佳归并树在外部排序中的作用是( )。 +A 完成m路归并排序 +B 设计m路归并排序的优化方案 +C 产生初始归并段 +D 与锦标赛树的作用类似 +--- +在下列关于外部排序过程输入/输出缓冲区作用的叙述中,不正确的是( )。 +A 暂存输入/输出记录 +B 内部归并的工作区 +C 产生初始归并段的工作区 +D 传送用户界面的消息 +--- +操作系统是对( )进行管理的软件。 +A 软件 +B 硬件 +C 计算机资源 +D 应用程序 +--- +下面的( )资源不是操作系统应该管理的。 +A CPU +B 内存 +C 外存 +D 源程序 +--- +下列选项中,( )不是操作系统关心的问题。 +A 管理计算机裸机 +B 设计、提供用户程序与硬件系统的界面 +C 管理计算机系统资源 +D 高级程序设计语言的编译器 +--- +操作系统的基本功能是( ) +A 提供功能强大的网络管理工具 +B 提供用户界面方便用户使用 +C 提供方便的可视化编辑程序 +D 控制和管理系统内的各种资源 +--- +现代操作系统中最基本的两个特征是( )。 +A 并发和不确定 +B 并发和共享 +C 共享和虚拟 +D 虚拟和不确定 +--- +下列关于并发性的叙述中,正确的是( )。 +A 并发性是指若干事件在同一时刻发生 +B 并发性是指若干事件在不同时刻发生 +C 并发性是指若干事件在同一时间间隔内发生 +D 并发性是指若干事件在不同时间间隔内发生 +--- +用户可以通过( )两种方式来使用计算机。 +A 命令接口和函数 +B 命令接口和系统调用 +C 命令接口和文件管理 +D 设备管理方式和系统调用 + +--- +系统调用是由操作系统提供给用户的,它( )。 +A 直接通过键盘交互方式使用 +B 只能通过用户程序间接使用 +C 是命令接口中的命令 +D 与系统的命令一样 +--- +操作系统提供给编程人员的接口是( )。 +A 库函数 +B 高级语言 +C 系统调用 +D 子程序 + +--- +系统调用的目的是( )。 +A 请求系统服务 +B 中止系统服务 +C 申请系统资源 +D 释放系统资源 +--- +为了方便用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口又可进一步分为( )。 +A 联机用户接口和脱机用户接口 +B 程序接口和图形接口 +C 联机用户接口和程序接口 +D 脱机用户接口和图形接口 +--- +用户在程序中试图读某文件的第 100 个逻辑块,使用操作系统提供的( )接口。 +A 系统调用 +B 键盘命令 +C 原语 +D 图形用户接口 +--- +操作系统与用户通信接口通常不包括( )。 +A shell +B 命令解释器 +C 广义指令 +D 缓存管理指令 +--- +下列选项中,不属于多道程序设计的基本特征是( )。 +A 制约性 +B 间断性 +C 顺序性 +D 共享性 +--- +以下关于操作系统的叙述中,错误的是( )。 +A 操作系统是管理资源的程序 +B 操作系统是管理用户程序执行的程序 +C 操作系统是能使系统资源提高效率的程序 +D 操作系统是用来编程的程序 +--- +提高单片机资源利用率的关键技术是( )。 +A 脱机技术 +B 虚拟技术 +C 交换技术 +D 多道程序设计技术 +--- +批处理系统的主要缺点是( )。 +A 系统吞吐量小 +B CPU利用率不高 +C 资源利用率低 +D 无交互能力 +--- +下列选项中,不属于多道程序设计的基本特征的是( )。 +A 制约性 +B 间断性 +C 顺序性 +D 共享性 +--- +操作系统的基本类型主要有( )。 +A 批外理操作系统、分时操作系统和多任务系统 +B 批处理操作系统、分时操作系统和实时操作系统 +C 单用户系统、多用户系统和批处理操作系统 +D 实时操作系统、分时操作系统和多用户系统 +--- +实时操作系统必须在( )内处理来自外部的事件。 +A 一个机器周期 +B 被控制对象规定时间 +C 周转时间 +D 时间片 +--- +实时系统的进程调度,通常采用( )算法 +A 先来先服务 +B 时间片轮转 +C 抢占式的优先级高者优先 +D 高响应比优先 +--- +( )不是设计实时操作系统的主要追求目标。 +A 安全可靠 +B 资源利用率 +C 及时响应 +D 快速处理 +--- +下列( )应用工作最好采用实时操作系统平台。 +Ⅰ.航空订票 Ⅱ.办公自动化 Ⅲ.机床控制 +Ⅳ. AutoCAD Ⅴ.工资管理系统 Ⅵ.股票交易系统 + +A I、Ⅱ和Ⅲ +B I、Ⅲ、IV +C I、V和IV +D I、Ⅲ和VI +--- +分时系统的一个重要性能是系统的响应时间,对操作系统的( )因素进行改进有利于改善系统的响应时间。 +A 加大时间片 +B 采用静态页式管理 +C 优先级+非抢占式调度算法 +D 代码可重入 +--- +分时系统追求的目标是( )。 +A 充分利用I/O设备 +B 快速响应用户 +C 提高系统吞吐率 +D 充分利用内存 +--- +在分时系统中,时间片一定时,( )响应时间越长。 +A 内存越多 +B 内存越少 +C 用户数越多 +D 用户数越少 +--- +在分时系统中,为使多个进程能够及时与系统交互,最关键的问题是能在短时间内,使所有就绪进程都能运行。当就绪进程数为 100 时,为保证响应时间不超过 2s,此时的时间片最大应为()。 +A 10ms +B 20ms +C 50ms +D 100ms +--- +下列关于操作系统的说法中,错误的是( )。 +Ⅰ. 在通用操作系统管理下的计算机上运行程序,需要向操作系统预订运行时间 +Ⅱ. 在通用操作系统管理下的计算机上运行程序,需要确定起始地址,并从这个地址开始执行 +Ⅲ. 操作系统需要提供高级程序设计语言的编译器 +Ⅳ.管理计算机系统资源是操作系统关心的主要问题 +A I、Ⅲ +B Ⅱ、Ⅲ +C I、Ⅱ、Ⅲ、IV +D 以上答案都正确 +--- +下列说法中,正确的是( )。 +Ⅰ. 批处理的主要缺点是需要大量内存 +Ⅱ.当计算机提供了核心态和用户态时,输入/输出指令必须在核心态下执行 +Ⅲ. 操作系统中采用多道程序设计技术的最主要原因是提高CPU和外部设备的可靠性 +Ⅳ.操作系统中,通道技术是一种硬件技术 +A I、Ⅱ +B I、Ⅲ +C Ⅱ、IV +D Ⅱ、Ⅲ、IV +--- +下列关于系统调用的说法中,正确的是( )。 +Ⅰ. 用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和陷入(trap)指令 +Ⅱ. 用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和屏蔽中断指令 +Ⅲ.系统调用功能是操作系统向用户程序提供的接口 +Ⅳ. 用户及其应用程序和应用系统是通过系统调用提供的支持和服务来使用系统资源完成其操作的 +A I、Ⅲ +B Ⅱ、IV +C I、Ⅲ、IV +D Ⅱ、Ⅲ、IV +--- +( )是操作系统必须提供的功能。 +A 图形用户界面(GUI) +B 为进程提供系统调用命令 +C 中断处理 +D 编译源程序 +--- +用户程序在用户态下要使用特权指令引起的中断属于( )。 +A 硬件故障中断 +B 程序中断 +C 外部中断 +D 访管中断 +--- +处理器执行的指令被分为两类,其中有一类称为特权指令,它只允许( )使用。 +A 操作员 +B 联机用户 +C 目标程序 +D 操作系统 +--- +下列操作系统的各个功能组成部分中,( )可不需要硬件的支持。 +A 进程调度 +B 时钟管理 +C 地址映射 +D 中断系统 +--- +在中断发生后,进入中断处理的程序属于( )。 +A 用户程序 +B 可能是用户程序,也可能是OS程序 +C 操作系统程序 +D 单独的程序,即不是用户程序也不是OS程序 +--- +计算机区分核心态和用户态指令后,从核心态到用户态的转换是由操作系统程序执行后完成的,而用户态到核心态的转换则是由( )完成的。 +A 硬件 +B 核心态程序 +C 用户程序 +D 中断处理程序 +--- +在操作系统中,只能在核心态下运行的指令是( )。 +A 读时钟指令 +B 置时钟指令 +C 取数指令 +D 寄存器清零 +--- +“访管”指令( )使用。 +A 仅在用户态下 +B 仅在核心态下 +C 在规定时间内 +D 在调度时间内 +--- +当 CPU 执行操作系统代码时,处理器处于( )。 +A 自由态 +B 用户态 +C 核心态 +D 就绪态 +--- +在操作系统中,只能在核心态下执行的指令是( )。 +A 读时钟 +B 取数 +C 广义指令 +D 寄存器清"0” +--- +下列选项中,必须在核心态下执行的指令是( )。 +A 从内存中取数 +B 将运算结果装入内存 +C 算术运算 +D 输入/输出 +--- +CPU 处于核心态时,它可以执行的指令是( )。 +A 只有特权指令 +B 只有非特权指令 +C 只有”访管"指令 +D 除”访管”指令的全部指令 +--- +( )程序可执行特权指令。 +A 同组用户 +B 操作系统 +C 特权用户 +D 一般用户 +--- +用( )设计的操作系统结构清晰且便于调试。 +A 分层式构架 +B 模块化构架 +C 微内核构架 +D 宏内核构架 +--- +下列关于分层式结构操作系统的说法中,( )是错误的。 +A 各层之间只能是单向依赖或单向调用 +B 容易实现在系统中增加或替换一层而不影响其他层 +C 具有非常灵活的依赖关系 +D 系统效率较低 +--- +相对于微内核系统,( )不属于大内核操作系统的缺点。 +A 占用内存空间大 +B 缺乏可扩展性而不方便移植 +C 内核切换太慢 +D 可靠性较低 +--- +下列说法中,( )不适合描述微内核操作系统。 +A 内核足够小 +B 功能分层设计 +C 基于C/S模式 +D 策略与机制分离 +--- +对于以下四种服务,在采用微内核结构的操作系统中,( )不宜放在微内核中。 +Ⅰ. 进程间通信机制 Ⅱ.低级 I/O Ⅲ.低级进程管理和调度 Ⅳ. 中断和陷入处理 Ⅴ. 文件系统服务 +A I、Ⅱ和Ⅲ +B Ⅱ和V +C 仅V +D IV和V +--- +相对于传统操作系统结构,采用微内核结构设计和实现操作系统有诸多好处,下列( )是微内核结构的特点。 +Ⅰ. 使系统更高效 Ⅱ.添加系统服务时,不必修改内核 Ⅲ. 微内核结构没有单一内核稳定 Ⅳ.使系统更可靠 +A I、Ⅲ、V +B I、Ⅱ、IV +C Ⅱ、IV +D I、IV +--- +下列关于操作系统结构的说法中,正确的是( )。 +Ⅰ. 当前广泛使用的 Windows XP操作系统,采用的是分层式 OS 结构 +Ⅱ. 模块化的OS结构设计的基本原则是,每一层都仅使用其底层所提供的功能和服务,这样就使系统的调试和验证都变得容易 +Ⅲ.由于微内核结构能有效支持多处理机运行,故非常适合于分布式系统环境 +Ⅳ.采用微内核结构设计和实现操作系统具有诸多好处,如添加系统服务时,不必修改内核、使系统更高效。 +A I 和 Ⅱ +B I 和 Ⅲ +C Ⅲ +D Ⅲ 和 Ⅳ +--- +对于计算机操作系统引导,描述不正确的是( )。 +A 计算机的引导程序驻留在ROM中,开机后自动执行 +B 引导程序先做关键部位的自检,并识别已连接的外设 +C 引导程序会将硬盘中存储的操作系统全部加载到内存中 +D 若计算机中安装了双系统,引导程序会与用户交互加载有关系统 +--- +计算机操作系统的引导程序位于( )中。 +A 主板BIOS +B 片外Cache +C 主存ROM区 +D 硬盘 +--- +计算机的启动过程是( )。①CPU 加电,CS:IP 指向FFFF0H;②进行操作系统引导;③执行 JMP 指令跳转到 BIOS;④登记 BIOS 中断例程入口地址;⑤硬件自检。 +A ①②③④⑤ +B ①③⑤④② +C ①③④⑤② +D ①⑤③④② +--- +若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为了提高效率,应采用( )的存储方式。 + +A 单链表 +B 双向链表 +C 单循环链表 +D 顺序表 +--- diff --git a/AI 应用面试题.md b/AI 应用面试题.md new file mode 100644 index 0000000..92aad80 --- /dev/null +++ b/AI 应用面试题.md @@ -0,0 +1,26 @@ +请举例说明一个 AI 项目从需求分析到部署的完整流程。 +--- +在生产环境中,如何监控和维护 AI 模型的性能? +--- +如何处理 AI 模型的公平性和透明性问题? +--- +请解释如何使用 TensorFlow 或 PyTorch 构建和训练一个深度学习模型。 +--- +在 AI 项目中,如何选择合适的硬件和软件架构来支持高效计算? +--- +了解哪些大模型微调技术? +--- +LoRA 的原理了解吗? +--- +聊聊你对 Q-LoRA(Quantized Low-Rank Adaptation)的理解。 +--- +大模型的多轮对话数据集如何构建及训练? +--- +对话上下文太长了怎么处理? +--- +你了解 RAG 技术吗? +--- +什么样的 prompt 是好的 prompt? +--- +如何评测大模型的幻觉? +--- diff --git a/AI 答题平台项目面试题.md b/AI 答题平台项目面试题.md new file mode 100644 index 0000000..105cb3d --- /dev/null +++ b/AI 答题平台项目面试题.md @@ -0,0 +1,112 @@ +请介绍整个系统后端的架构设计,有哪些模块以及各模块之间的关系? +--- +你在项目中是如何设计库表的?可以从字段、索引、关联等方面回答。 +--- +为什么使用策略模式来封装不同的应用评分算法?它有哪些好处?具体如何实现? +--- +你是怎么根据应用来选取要执行的评分算法的?是用 if else 么? +--- +你的平台支持哪些类型的应用?支持哪些评分算法? +--- +如何实现测评类应用的评分算法?请详细讲解。 +--- +你是怎么快速开发项目后端的,如何避免重复编码? +--- +你是怎么实现 AI 生成题目功能的? +--- +你是如何封装通用 AI 模块的?提供了哪些方法? +--- +如何流式调用 AI 并实时获取到 AI 返回的内容? +--- +你是如何实现 “一道一道” 流式生成题目的,用到了什么算法? +--- +什么是 RxJava?为什么使用 RxJava 来处理流?它有什么优点? +--- +什么是 SSE 技术?它有什么优点和不足?适用于哪些场景? +--- +为什么用 SSE 技术将生成的题目实时返回给前端?有没有其他实现方案? +--- +你是怎么实现 AI 评分功能的? +--- +使用 AI 的过程中,有没有出现不稳定的情况?如果有,你又是如何处理的? +--- +你为什么要使用缓存来优化 AI 评分功能?这么做有什么好处? +--- +你了解哪些缓存技术?在项目中又是如何运用缓存的?比如怎么设计缓存? +--- +什么是缓存击穿?你如何解决缓存击穿问题? +--- +什么是 Redisson?你在项目中如何使用 Redisson 实现了分布式锁? +--- +什么是分布式锁?使用分布式锁时有哪些注意事项? +--- +什么是分库分表?为什么你要在项目中使用分库分表? +--- +你为什么使用 Sharding JDBC 技术实现分库分表?它的大致原理是什么? +--- +你是如何使用 Sharding JDBC 实现分库分表的?具体怎么分表、用了什么分表算法? +--- +什么是幂等设计?你项目的哪个功能使用了幂等设计? +--- +有哪些实现幂等设计的方法?你在项目中具体又是怎么实现的? +--- +什么是雪花算法?为什么它能生成分布式全局唯一 id? +--- +什么是线程池隔离?你在项目中为什么要使用线程池隔离,有什么好处? +--- +你具体怎么实现线程池隔离?怎么设置线程池的参数? +--- +你的项目支持哪些统计分析功能?后端如何查询出要统计分析的数据? +--- +项目中使用了 Vue-CLI 脚手架来初始化项目,请解释一下脚手架的作用? +--- +在项目中使用了 TypeScript、ESLint、Prettier 来保证项目的编码规范,解释一下它们各自的作用? +--- +请介绍一下你自定义的前端项目模板的主要功能? +--- +项目中使用了 Vue Router 来进行全局导航生成,请详细解释一下如何根据路由配置文件自动生成导航菜单? +--- +项目中使用了全局权限管理,请详细描述如何通过 Vue Router 的路由守卫来实现全局权限控制? +--- +项目中使用 Pinia 来进行全局状态管理,请解释为什么在项目中需要全局状态管理以及如何使用 Pinia? +--- +项目中使用了 Arco Design 的 Table 组件,请介绍下你是如何使用 Table 组件的、使用了其哪些功能? +--- +项目中使用了 ByteMD 文本编辑器组件,请解释下你是如何封装了可复用的 Editor 和 Viewer 组件? +--- +什么是前端的组件?组件之间如何传递属性和事件? +--- +什么是 OpenAPI 工具?它是如何生成接口调用代码的? +--- +请介绍一下 Vue 3 的新特性和与 Vue 2 相比有哪些变化? +--- +什么是 Vue 中的响应式变量? +--- +项目是否有上线?你是如何实现前端页面部署的? +--- +为什么要自定义 Axios 实例?自定义的实例有哪些功能? +--- +你如何实现了前端复杂的动态嵌套表单? +--- +你如何实现了前端统计分析图表的展示? +--- +你如何实现了应用搜索功能?每次搜索条件变化时,都要重新调用函数触发搜索么? +--- +你如何实现了移动端扫码分享功能? +--- +你使用哪些技术实现了 Mbti 性格测试小程序?为什么使用这些技术? +--- +请介绍一下本项目的完整业务流程? +--- +为什么想做这样一个 AI 回答应用平台? +--- +为什么要开发 MBTI 性格测试小程序?它和你的答题应用平台有什么联系? +--- +你有使用过 AI 工具来辅助编程么?都是如何帮你提高开发效率的? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- +你是如何通过优化 SQL 减少查询接口响应时长的? +--- +有哪些 AI 应用开发的技巧?尤其是如何编写出回答准确度较高的 Prompt? +--- diff --git a/AI 超级智能体项目面试题.md b/AI 超级智能体项目面试题.md new file mode 100644 index 0000000..9fcbbdb --- /dev/null +++ b/AI 超级智能体项目面试题.md @@ -0,0 +1,110 @@ +请介绍一下 AI 超级智能体项目的整体架构设计,有哪些模块? +--- +什么是 Spring AI 框架?它有哪些核心特性? +--- +你在 AI 超级智能体项目中如何利用 Spring AI 开发应用?用到了哪些特性? +--- +如何实现程序和 AI 大模型的集成?有哪些方式? +--- +你在 AI 超级智能体项目中集成了哪些大模型,遇到了什么挑战? +--- +如何实现 AI 多轮对话功能?如何解决对话记忆持久化问题? +--- +你在 AI 超级智能体项目中如何实现对话记忆持久化? +--- +什么是结构化输出?Spring AI 是怎么实现结构化输出的? +--- +什么是 Re-Reading?如何基于 Spring AI 实现 Re-Reading Advisor? +--- +在 AI 超级智能体项目中你是如何实现 RAG 知识库构建的? +--- +RAG 的文档处理流程是怎样的? +--- +什么是 ETL 数据处理?在构建 RAG 知识库时有什么作用?你是如何利用 Spring AI 实现 ETL 的? +--- +在 AI 超级智能体项目中,你是如何实现 RAG 向量存储的?为什么这么实现? +--- +在 AI 超级智能体项目中,你为什么要设计批处理优化策略?它解决了什么问题? +--- +在 AI 超级智能体项目中,你怎么实现自动元信息标注?元信息有什么作用? +--- +基于 Spring AI 的 KeywordMetadataEnricher 实现的关键词元信息提取器具体是如何工作的?有哪些优势? +--- +什么是多查询扩展?它有什么作用?如何基于 Spring AI 实现多查询扩展? +--- +什么是查询重写?它有什么作用?如何基于 Spring AI 实现查询重写? +--- +在 AI 超级智能体项目中,你为什么要使用动态 RAG Advisor 工厂? +--- +什么是上下文查询增强?它有什么作用?如何基于 Spring AI 实现上下文查询增强来处理无关问题? +--- +什么是 Spring AI 提出的模块化 RAG 架构?预检索、检索和后检索阶段各自负责什么? +--- +什么是工具调用 Tool Calling?如何利用 Spring AI 实现工具调用? +--- +在 AI 超级智能体项目中,你实现了哪些工具调用功能? +--- +在 AI 超级智能体项目中,你开发的联网搜索工具是如何实现的? +--- +在 AI 超级智能体项目中,你开发的 PDF 生成工具是如何实现的? +--- +在 AI 超级智能体项目中,你是如何管理多种工具的?如何提高工具管理的可维护性? +--- +什么是 Spring AI 的工具上下文传递机制?它有什么作用? +--- +什么是 MCP 模型上下文协议?如何利用 Spring AI 实现 MCP 客户端和服务端? +--- +在 AI 超级智能体项目中,你是怎么集成地图 MCP 服务的? +--- +在 AI 超级智能体项目中,你是怎么实现图片搜索 MCP 服务的? +--- +如何利用 Serverless 平台部署 MCP 服务? +--- +什么是 ReAct?如何基于 ReAct 模式构建具备自主规划能力的 AI 智能体? +--- +什么是 OpenManus?它的实现原理是什么? +--- +在 AI 超级智能体项目中,你是怎么实现分层智能体架构的? +--- +什么是 CoT 思维链?如何实现 CoT 思维链? +--- +在 AI 超级智能体项目中,你如何解决 Agent Loop 可能出现的死循环问题? +--- +在 AI 超级智能体项目中,你如何合理地让任务退出? +--- +什么是 SSE?为什么 AI 应用接口选择 SSE 而不是 WebSocket? +--- +什么是 SseEmitter? 如何使用 SseEmitter 实现 AI 流式响应? +--- +如何保证 AI 应用的性能和稳定性? +--- +如何将 AI 超级智能体项目的后端部署上线?你选择 Serverless 部署的原因是什么? +--- +你是如何实现 AI 超级智能体项目前端的?经历了哪些过程? +--- +前端如何调用 SSE 流式响应的接口? +--- +AI 超级智能体项目前端如何管理不同的聊天室和会话状态?如何实现会话隔离? +--- +前端项目是如何处理不同环境的 API 请求地址的? +--- +如何将 AI 超级智能体项目的前端部署上线?有哪些可行的部署方式? +--- +什么是大模型 Agent?它与传统的 AI 系统有什么不同? +--- +有哪些设计和优化 Prompt 的技巧?请举例说明 +--- +什么是 RAG?RAG 的主要流程是什么? +--- +如何优化 RAG 的检索效果? +--- +什么是 CoT 思维链和 ReAct 模式?它们如何提高 AI 推理能力? +--- +本地部署大模型和调用云端大模型各有什么优缺点? +--- +什么是向量数据库?在基于大模型的应用开发中,向量数据库主要解决什么问题? +--- +如何进行 AI 应用的测试和效果评估? +--- +在 AI 超级智能体项目开发过程中,你遇到的最大挑战是什么?如何解决的? +--- diff --git a/AI 零代码应用生成平台项目面试题.md b/AI 零代码应用生成平台项目面试题.md new file mode 100644 index 0000000..4cfdfec --- /dev/null +++ b/AI 零代码应用生成平台项目面试题.md @@ -0,0 +1,124 @@ +介绍 AI 零代码应用生成项目的后端整体架构,有哪些核心模块,它们之间是如何交互的? +--- +MyBatis Flex 和 MyBatis Plus 的区别?为什么在项目中选择它? +--- +什么是策略模式?AI 零代码应用生成项目中,你如何使用策略模式处理代码解析逻辑? +--- +什么是模板方法模式?AI 零代码应用生成项目中,你如何使用模板方法模式处理文件保存逻辑? +--- +为什么基于 Selenium 实现浏览器自动化操作时,建议搭配 WebDriverManager 使用?什么是 WebDriver? +--- +AI 零代码应用生成项目中,你是如何实现集中式工具管理的? +--- +项目支持多种 AI 代码生成模式,从架构层面是如何设计和隔离不同模式的生成逻辑的? +--- +如何为不同的 AI 代码生成模式设计和优化系统提示词?有哪些技巧? +--- +LangChain4j 在项目中有什么作用?你是如何将 AI 大模型能力集成到业务代码中的? +--- +如何实现将 AI 大模型的输出稳定地转换为结构化对象? +--- +描述一下 AI 大模型生成 Vue 工程项目的过程? +--- +给 AI 的文件写入工具是怎么实现的?如何确保每个应用的文件都写入到隔离的目录下? +--- +什么是 AI 智能路由?你如何利用 AI 根据用户需求自动选择最合适的代码生成方案? +--- +什么是 LangChain4j 的护轨机制?你是如何利用输入护轨来防止恶意 Prompt 输入和注入攻击的? +--- +在 AI 大模型响应不稳定时,你如何利用输出护轨实现自动重试? +--- +为什么 AI 零代码应用生成项目中要配置多种不同的 AI 大模型? +--- +当 AI 大模型调用工具时,可能会陷入无限循环,你是如何避免这个问题的? +--- +为什么在查询对话历史时,你选择使用游标分页而不是传统的分页? +--- +AI 零代码应用生成项目的对话历史表的索引是如何设计的? +--- +在实现 AI 的对话记忆时,为什么选择 Redis 进行持久化? +--- +AI 零代码应用生成项目中,如何实现不同应用之间的对话记忆隔离? +--- +AI 零代码应用生成项目中,为什么要从数据库加载对话历史到记忆中?完整流程是怎样的? +--- +AI 零代码应用生成项目中,你如何配置 Caffeine 的缓存策略? +--- +AI 零代码应用生成项目中,你在后端如何实现可视化修改功能? +--- +在为 AI 大模型设计文件操作工具时,如何保证安全性? +--- +AI 零代码应用生成项目后期为什么要引入 LangGraph4j 来构建 AI 工作流?和之前的方式相比,解决了什么问题? +--- +描述一下 AI 代码生成工作流的核心节点、以及它们之间的数据流转? +--- +在 AI 工作流的图片收集节点中,你是如何实现对多个图片工具的并发调用的? +--- +AI 零代码应用生成项目中,如何实现应用封面图自动生成?Selenium 有什么作用?为什么选择它? +--- +AI 零代码应用生成项目中,为什么截图服务要设计为异步执行?如何实现异步? +--- +AI 零代码应用生成项目中,如何实现项目代码的打包下载功能?如何过滤掉不必要文件和目录的? +--- +AI 零代码应用生成项目中,你采用了 Spring Boot 接口预览、Nginx 部署的混合方案,这两种方式分别解决了什么问题? +--- +AI 零代码应用生成项目中,Nginx 承担了哪些职责?具体如何配置? +--- +AI 零代码应用生成项目中,AI 调用性能存在瓶颈的根本原因是什么? +--- +AI 零代码应用生成项目中,Redis 主要用在哪些场景? +--- +什么是 SSE?为什么 AI 生成代码时选择 SSE ? +--- +如何优化调用 AI 接口的 SSE 流式输出效果? +--- +AI 零代码应用生成项目中,你如何实现工具调用信息的流式输出? +--- +AI 零代码应用生成项目中,如何为 AI 对话接口实现限流?解释一下原理? +--- +什么是可观测性?为什么需要为 AI 项目构建一套可观测性体系? +--- +什么是 ARMS?如何利用 ARMS 实现系统监控?它主要监控了哪些指标? +--- +为什么除了 ARMS,你还需要引入 Prometheus 和 Grafana?这两套监控方案有什么不同? +--- +你如何在 AI 项目中实现自定义业务指标的监控? +--- +AI 零代码应用生成项目中,微服务架构主要有哪些模块?介绍每个模块的作用? +--- +描述 AI 零代码应用生成项目前端的核心业务流程,以及如何实现? +--- +前端如何处理与后端的 SSE 流式通信,并实时展示 AI 的打字机效果? +--- +AI 零代码应用生成项目中,如何实现对生成后网站的实时预览? +--- +AI 零代码应用生成项目中,实现对话历史功能时,前端如何配合后端游标分页机制进行数据请求? +--- +AI 零代码应用生成项目中,实现可视化编辑功能时,前端如何捕获并传递 iframe 内的用户点击事件给父页面? +--- +AI 零代码应用生成项目中,当用户开启可视化编辑并选中元素后,前端如何生成稳定且唯一的选择器? +--- +AI 零代码应用生成项目中,哪些部分被抽象成了可复用的 Vue 组件?举例说明你开发一个组件时的主要思路。 +--- +你是如何设计前端路由的?对于需要管理员权限的页面,在前端层面做了哪些访问控制? +--- +AI 返回的 Markdown 内容包含代码块,前端是如何解析并实现代码高亮的? +--- +从前端性能优化的角度看,你觉得这个项目还有哪些可以改进的地方? +--- +AI 零代码应用生成项目中,你如何实现了前后端项目的部署上线?请介绍完整流程 +--- +AI 零代码应用生成项目中,从哪些方面进行了系统优化?请举例说明 +--- +如果要为平台增加多人实时协作编辑同一个应用的功能,你会怎么做? +--- +项目大量使用 AI 辅助编程,你如何看待这种 Vibe Coding 开发模式? +--- +你认为本项目中最具技术挑战性的功能是哪一个?描述你解决这个挑战的完整过程。 +--- +将项目从单体架构改造为微服务架构,有哪些好处?又有哪些问题? +--- +AI 零代码应用生成项目中,为什么选择 Higress 而不是更常见的 Spring Cloud Gateway 作为微服务网关?它在项目中有哪些作用? +--- +拆分微服务时有哪些核心原则?请结合你的项目说明 +--- diff --git a/AI大模型原理和应用面试题.md b/AI大模型原理和应用面试题.md new file mode 100644 index 0000000..4c0aef6 --- /dev/null +++ b/AI大模型原理和应用面试题.md @@ -0,0 +1,254 @@ +什么是 RAG?RAG 的主要流程是什么? +--- +什么是 RAG 中的 Rerank?具体需要怎么做? +--- +A2A 协议有哪五大设计原则? +--- +什么混合检索?在基于大模型的应用开发中,混合检索主要解决什么问题? +--- +什么是 Google ADK? +--- +RAG 的完整流程是怎么样的? +--- +A2A 协议的工作原理是怎样的? +--- +在 RAG 应用中为了优化检索精度,其中的数据清洗和预处理怎么做? +--- +A2A 协议的工作流程是怎样的? +--- +什么查询扩展?为什么在 RAG 应用中需要查询扩展? +--- + A2A 协议 与 MCP 协议的关系是怎样的? +--- +什么自查询?为什么在 RAG 中需要自查询? +--- +什么提示压缩?为什么在 RAG 中需要提示压缩? +--- +如何进行 RAG 调优后的效果评估?请给出真实应用场景中采用的效果评估标准与方法 +--- + 什么是 RAG 中的分块?为什么需要分块? +--- +在 RAG 中,常见的分块策略有哪些?分别有什么区别? +--- +在 RAG 中的 Embedding 嵌入是什么? +--- +在 RAG 中,你知道有哪些 Embedding Model 嵌入模型? +--- +在 RAG 中,你如何选择 Embedding Model 嵌入模型,需要考虑哪些因素? +--- +在 RAG 中,索引流程中的文档解析你们怎么做的? +--- +在 RAG 应用的过程中,关于提示工程的设计有什么心得和技巧吗? +--- +什么是 Advanced RAG? +--- +什么是 Modular RAG? +--- +什么是护栏技术? +--- +什么是 GPTCache? +--- +大模型的结构化输出指的是什么? +--- +什么是 GPT Structured Outputs? +--- +什么是 LangChain? +--- +LangChain 的核心组件有哪些? +--- +LangChain核心架构是什么样的 +--- +什么是 LangChain Agent? +--- +什么是 LangChain model? +--- +LlamaIndex 如何与 LangChain 结合? +--- +什么是 LangGraph ? +--- +LangGraph 编排的原理是什么? +--- +​LangChain 和 LangGraph 有什么区别? +--- +什么是 Manus?说说你对它的了解 +--- +Computer Use 是什么?说说它的原理 +--- +ReAct 是什么?说说它的原理 +--- +在大模型应用中,通常如何实现长短期记忆机制? +--- +Copilot 模式和 Agent 模式的区别是什么? +--- +什么是向量数据库?在基于大模型的应用开发中,向量数据库主要解决什么问题? +--- +你都了解哪些向量数据库?如何选型? +--- +向量数据库原理是什么? 请简述下它的原理 +--- +向量数据库中的 HNSW、LSH、PQ 分别是什么意思? +--- +向量数据库中的 ANN 是什么?为什么需要用它? +--- +向量数据库中,常见的向量搜索方法:余弦相似度、欧几里得距离和曼哈顿距离分别是什么?有什么区别? +--- +向量数据库的工作流程有哪些?请简述下 +--- +什么是 MCP 协议,它在 AI 大模型系统中的作用是什么? +--- +MCP 架构包含哪些核心组件? +--- +MCP 协议支持哪两种模式? +--- +MCP 与 Function Calling 的区别是什么? +--- +MCP 的工作流程是什么? +--- +在 Spring AI 框架中如何集成 MCP? +--- +MCP 协议安全性设计包含哪些层面? +--- +如何将已有的应用转换成 MCP 服务? +--- +什么是大模型微调?与预训练的核心区别是什么? +--- +常见的微调任务有哪些? +--- +常见的微调方法有哪些? +--- +PEFT 是什么?为什么需要 PEFT? +--- +参数高效微调(PEFT)的核心思路是什么?列举 3 种典型方法 +--- +PEFT 和全量微调的区别? +--- +在进行 Fine-Tuning 时,如何选择适合的预训练模型? +--- +微调中常用的优化器有哪些? +--- +如何判断微调效果是否达到预期? +--- +介绍几种常见的微调策略的优缺点 +--- +什么是低秩适配(LoRA)技术?如何结合 LoRA 技术进行微调? +--- +微调的过拟合风险如何通过正则化缓解? +--- +请详细讨论微调时如何防止灾难性遗忘问题? +--- +在多模态微调(如图文生成)中,如何确保文本和图像数据的对齐质量? +--- +请解释大模型微调(Fine-tuning)的原理,并说明在什么业务场景下需要微调而不是直接使用基础模型? +--- +解释LangChain框架中的Chain和Agent概念,并举例说明各自的应用场景 +--- +什么是大模型的"涌现能力"?列举三种典型表现并解释其可能成因 +--- +要让AI生成一个带表单验证的Vue3组件,请写出包含以下要素的Prompt +--- +假设需要让大模型生成一个React表单组件代码,请设计一个包含上下文约束的Prompt(需包含数据验证、错误提示等要求) +--- +请描述使用LangChain构建一个文档问答系统的关键技术组件及实现步骤 +--- +假设要开发一个智能工单分类系统,请拆解AI可参与的环节并说明技术选型思路 +--- +当需要处理超长大模型上下文窗口限制时,有哪些可行的工程解决方案? +--- +请举例说明假设在电商系统中,哪些功能适合直接使用大模型完成,哪些需要结合工程化手段? +--- +假设请你设计一个医疗问诊系统,如何平衡AI幻觉带来的风险与效率提升?需要哪些技术手段? +--- +设计智能客服系统时,如何通过知识库构建解决长尾问题?请描述具体实现步骤 +--- +当大模型API响应延迟超过1秒时,前端可以采取哪些优化策略保证用户体验? +--- +使用LangChain时,如何实现多路召回结果的动态权重分配? +--- +当大模型上下文窗口扩展到100万token时,哪些现有业务场景可能发生质变? +--- +当发现RAG系统召回结果与用户query意图不匹配时,有哪些可能的改进方向? +--- +使用LangChain实现RAG系统时,如何处理PDF文档中的表格数据召回问题? +--- +现场实操:给定一个包含数据Schema的API文档,请使用AI工具在15分钟内生成符合RESTful规范的CRUD接口代码,并解释关键实现逻辑 +--- +参数高效微调(PEFT)如何减少计算成本? +--- +冻结层在微调中的作用是什么? +--- +为什么需要混合精度训练? +--- +模型输出重复和幻觉如何微调解决? +--- +SFT 指令微调数据如何构建? +--- +指令微调的好处? +--- +什么是大模型 Agent?它与传统的 AI 系统有什么不同? +--- +LLM Agent 的基本架构有哪些组成部分? +--- +LLM Agent 常见功能有哪些? +--- +Agent智能体的工作过程是怎样的? +--- +如何让 LLM Agent 具备长期记忆能力? +--- +LLM Agent 如何进行动态 API 调用? +--- +LLM Agent 在多模态任务中如何执行推理? +--- +市面上有哪些主流的 LLM Agent 框架?各自的特点是什么? +--- +AutoGPT 如何实现自主决策? +--- +什么是 A2A 协议,它的核心架构及主要组件有哪些? +--- +什么是查询重写?它有什么作用?如何基于 Spring AI 实现查询重写? +--- +什么是上下文查询增强?它有什么作用?如何基于 Spring AI 实现上下文查询增强来处理无关问题? +--- +什么是 Spring AI 提出的模块化 RAG 架构?预检索、检索和后检索阶段各自负责什么? +--- +什么是工具调用 Tool Calling?如何利用 Spring AI 实现工具调用? +--- +什么是 ReAct?如何基于 ReAct 模式构建具备自主规划能力的 AI 智能体? +--- +什么是 OpenManus?它的实现原理是什么? +--- +什么是 CoT 思维链?如何实现 CoT 思维链? +--- +如何保证 AI 应用的性能和稳定性? +--- +有哪些设计和优化 Prompt 的技巧?请举例说明 +--- +如何优化 RAG 的检索效果? +--- +什么是 CoT 思维链和 ReAct 模式?它们如何提高 AI 推理能力? +--- +本地部署大模型和调用云端大模型各有什么优缺点? +--- +如何进行 AI 应用的测试和效果评估? +--- +RAG 的文档处理流程是怎样的? +--- +提示词优化考虑哪些维度?你们提示词模板有哪些字段? +--- +你在 AI 超级智能体项目中如何利用 Spring AI 开发应用?用到了哪些特性? +--- +你有多个知识库,做 RAG 的时候,怎么保证查询效率和准确性兼容,并尽可能减少幻觉? +--- +如何实现程序和 AI 大模型的集成?有哪些方式? +--- +Agent 死循环问题有遇到过吗?如何解决? +--- +如何实现 AI 多轮对话功能?如何解决对话记忆持久化问题? +--- +如果一个GPU集群的LLM处理能力为1000tokens/s,那1000个用户同时并发访问,响应给每个用户的性能只有1 token/s吗?怎么分析性能瓶颈 +--- +什么是结构化输出?Spring AI 是怎么实现结构化输出的? +--- +什么是 Re-Reading?如何基于 Spring AI 实现 Re-Reading Advisor? +--- +什么是 Spring AI 框架?它有哪些核心特性? +--- diff --git a/API 开放平台项目面试题.md b/API 开放平台项目面试题.md new file mode 100644 index 0000000..a4e5050 --- /dev/null +++ b/API 开放平台项目面试题.md @@ -0,0 +1,61 @@ +你的项目中使用了哪些技术栈?请分别介绍一下 Spring Boot、Dubbo、Gateway 在项目中的作用。 +--- +你将后端项目划分为了多个子项目,请分别介绍这几个子项目的作用、以及它们之间是如何协作和交互的? +--- +请简要介绍 Maven 的基本概念、作用以及如何使用 Maven 进行多模块依赖管理和打包? +--- +请介绍一下你是如何使用 MyBatis Plus 框架的 QueryWrapper 实现了对 MySQL 的灵活查询? +--- +什么是 OpenAPI 规范?它有什么作用或好处? +--- +你在项目中使用了 Swagger + Knife4j 自动生成接口文档,请谈谈 Swagger 和 Knife4j 的作用和它们对项目开发的影响。 +--- +什么是 API 签名认证算法?它有什么作用?你又是如何实现它的? +--- +你在项目中使用了 Spring Cloud Gateway 作为 API 网关,请解释一下 API 网关的应用场景,以及它在项目中的实际应用? + +--- +你是如何基于 Spring Boot Starter 开发了客户端 SDK 的,讲述一下实现过程? +--- +用户如何使用你开发的客户端 SDK?讲述一下流程。 + +--- +有哪些客户端 SDK 的设计技巧? +--- +什么是 RPC?为什么要使用 Dubbo RPC 框架,它有什么优势? +--- +你在项目中是如何使用 Dubbo RPC 框架的,讲述一下使用流程? + +--- +你在公共模块中抽象了模型层和业务层代码,请解释一下模型层和业务层的概念,并说明抽象公共模块的目的和好处。 +--- +你通过 API 网关实现了流量染色技术,请介绍一下流量染色的概念、以及它的作用? +--- +请介绍你在项目中使用的 React 框架的优势和适用场景? +--- +项目中为什么选择了 Ant Design Pro 脚手架?可以谈谈你对 Ant Design Pro 的使用体会和优缺点 +--- +umi-request 请求库和其他前端常见的请求库(比如 Axios)有什么区别? +--- +你提到对 umi-request 请求库进行改造和封装,能否详细说明你添加的全局请求拦截和全局异常处理逻辑是如何实现的? +--- +你在项目中使用了 ECharts 可视化库来实现接口调用的分析图表,请解释一下 ECharts 的主要功能,以及你是如何在项目中使用 ECharts 的? + +--- +你是如何实现前端多环境的?如何区分本地和生产环境的请求域名? +--- +请解释什么是 React 组件的生命周期,以及生命周期函数的执行顺序是怎样的? + +--- +在 React 中,什么是 Virtual DOM?它的作用是什么?与真实 DOM 相比,Virtual DOM 有什么优势? +--- +在前端开发中,如何处理跨域请求?请描述常见的跨域解决方案以及它们的优缺点。 +--- +请解释一下 React Hooks,并举例说明如何使用 useState 和 useEffect 这两个常用的 Hooks。 +--- +在前端开发中,如何优化网页的加载性能和渲染性能?请提供一些常见的优化策略和技巧? +--- +请介绍一下本项目的完整业务流程? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- diff --git a/Airflow 面试题.md b/Airflow 面试题.md new file mode 100644 index 0000000..d7850a0 --- /dev/null +++ b/Airflow 面试题.md @@ -0,0 +1,88 @@ +什么是 Apache Airflow?它的主要用途是什么? +--- +在 Airflow 中,什么是 DAG?它的作用是什么? +--- +如何在 Airflow 中定义一个简单的 DAG? +--- +Airflow 支持哪些常见的任务调度类型? +--- +在 Airflow 中,如何设置任务的依赖关系? +--- +什么是 Airflow 中的 Operator?有哪些常用的 Operators? +--- +Airflow 是如何处理任务的重试和失败的? +--- +在 Airflow 中,如何设置任务的执行时间和调度间隔? +--- +什么是 Airflow 中的 Task Instance?它与 Task 有什么区别? +--- +如何在 Airflow 中实现任务的并行执行? +--- +在 Airflow 中,如何配置和管理 DAG 的优先级和权重? +--- +Airflow 是如何实现跨平台和跨环境任务调度的? +--- +如何在 Airflow 中配置任务的依赖关系以实现复杂的调度逻辑? +--- +Airflow 如何与 Hadoop、Hive 等大数据平台集成? +--- +在 Airflow 中,如何处理任务失败后的自动重试?如何配置重试策略? +--- +什么是 Airflow 中的 SLA?如何在 DAG 中实现? +--- +Airflow 的 XCom 是什么?它在任务之间传递数据的过程中起什么作用? +--- +在 Airflow 中,如何使用 Sensors 监控外部条件? +--- +Airflow 是如何处理 DAG 的依赖管理和版本控制的? +--- +在 Airflow 中,如何优化 DAG 的执行性能? +--- +Airflow 如何进行日志管理和任务监控? +--- +在 Airflow 中,如何通过 REST API 执行任务和监控 DAG? +--- +如何在 Airflow 中配置并管理不同的任务队列和资源池? +--- +Airflow 是如何通过 Celery 实现分布式调度的? +--- +在 Airflow 中,如何处理 DAG 中的循环依赖问题? +--- +如何在 Airflow 中配置并行度限制?如何避免过载任务调度? +--- +在 Airflow 中,如何通过钩子与外部系统交互? +--- +Airflow 中的 backfill 是什么?如何实现历史任务的重新执行? +--- +在 Airflow 中,如何使用 DAG 参数化实现动态调度? +--- +Airflow 如何与 Kubernetes 集成进行容器化任务调度? +--- +在 Airflow 中,如何进行任务的自动化重启和失败恢复? +--- +Airflow 中的任务队列和资源池是如何配置和使用的? +--- +在 Airflow 中,如何实现 DAG 的动态生成和模板化? +--- +Airflow 如何通过 DAG 的依赖树实现复杂的任务调度? +--- +如何在 Airflow 中处理跨系统的任务调度和数据流管理? +--- +在 Airflow 中,如何通过分布式架构处理大规模并发任务? +--- +如何在 Airflow 中处理长时间运行的任务?如何优化这些任务的执行? +--- +Airflow 中的任务优先级调度机制是如何实现的?如何配置优先级策略? +--- +在 Airflow 中,如何通过 SubDAG 实现子任务的独立调度? +--- +Airflow 如何支持多租户环境下的任务调度和资源隔离? +--- +在 Airflow 中,如何通过插件机制扩展 Airflow 的功能? +--- +Airflow 是如何通过事件驱动机制实现任务的触发和调度的? +--- +在 Airflow 中,如何通过自定义 Operator 实现复杂业务逻辑? +--- +如何在 Airflow 中处理和优化 DAG 的依赖解析和调度效率? +--- diff --git a/Ambari 面试题.md b/Ambari 面试题.md new file mode 100644 index 0000000..bfbbe6e --- /dev/null +++ b/Ambari 面试题.md @@ -0,0 +1,100 @@ +什么是 Apache Ambari?它的主要功能是什么? +--- +在 Ambari 中,如何安装和配置一个 Hadoop 集群? +--- +Ambari 是如何监控 Hadoop 集群状态的?有哪些常用的监控指标? +--- +Ambari 的基本架构由哪些组件组成?各自的作用是什么? +--- +如何通过 Ambari 添加新节点到已有 Hadoop 集群中? +--- +在 Ambari 中,如何启动和停止 Hadoop 集群的各个服务? +--- +Ambari 是如何实现自动化集群配置管理的? +--- +在 Ambari 中,如何通过 Web 界面查看集群的运行状态? +--- +Ambari 支持哪些大数据组件的管理?常见组件有哪些? +--- +在 Ambari 中,如何配置和管理集群的告警机制? +--- +Ambari 是如何管理 Hadoop 集群中的服务依赖的? +--- +在 Ambari 中,如何进行服务的滚动升级?滚动升级的优势是什么? +--- +Ambari 的 Alert 告警系统是如何设计的?如何自定义告警规则? +--- +在 Ambari 中,如何通过 Ambari Metrics System 监控集群性能? +--- +如何通过 Ambari API 进行集群的自动化管理?常见的 API 使用场景有哪些? +--- +在 Ambari 中,如何配置和管理 Kerberos 认证? +--- +Ambari 是如何与 LDAP 或 Active Directory 集成的?有哪些常见的配置步骤? +--- +在 Ambari 中,如何监控和管理 YARN 和 HDFS 的资源使用情况? +--- +Ambari 中的服务配置是如何进行版本控制的?如何回滚配置? +--- +如何在 Ambari 中管理不同版本的 Hadoop 服务?如何进行版本升级? +--- +Ambari 是如何处理集群扩展和缩减的?如何通过 Ambari 动态调整集群规模? +--- +在 Ambari 中,如何配置资源队列以优化 YARN 的调度性能? +--- +Ambari 如何支持多租户集群管理?如何为不同租户配置资源和权限? +--- +在 Ambari 中,如何通过 Metrics System 分析集群性能瓶颈? +--- +Ambari 中的 Ganglia 集成是如何实现的?如何通过 Ganglia 监控集群性能? +--- +Ambari 的权限管理机制是如何设计的?如何配置不同用户的访问权限? +--- +Ambari 是如何处理集群节点的故障恢复的?有哪些自动恢复机制? +--- +在 Ambari 中,如何通过自定义 Metrics 进行集群监控? +--- +Ambari 的蓝图功能是什么?如何通过蓝图实现集群自动化部署? +--- +在 Ambari 中,如何通过定制 Alert 规则优化集群监控和告警? +--- +如何通过 Ambari 实现集群服务的安全加固?常见的安全配置有哪些? +--- +Ambari 中的日志管理是如何设计的?如何查看和分析集群服务的日志? +--- +Ambari 是如何处理集群服务依赖的?如何管理服务之间的依赖关系? +--- +在 Ambari 中,如何通过角色访问控制(RBAC)配置用户和角色权限? +--- +Ambari 的 REST API 是如何工作的?如何通过 API 管理和监控集群? +--- +在 Ambari 中,如何通过 Kerberos 实现集群服务的安全认证? +--- +Ambari 如何与 Apache Ranger 集成?如何实现集群服务的细粒度权限控制? +--- +在 Ambari 中,如何监控和管理 HDFS 的存储和性能? +--- +Ambari 是如何实现跨集群的监控和管理的?如何在多集群环境中管理服务? +--- +在 Ambari 中,如何实现集群的备份和恢复? +--- +Ambari 中的服务间依赖是如何管理的?如何优化依赖关系以提高集群性能? +--- +Ambari 是如何进行集群扩展的?如何通过 Ambari 进行跨数据中心的集群扩展? +--- +在 Ambari 中,如何通过自定义插件扩展功能?插件开发的核心流程是什么? +--- +Ambari 如何与第三方监控系统(如 Prometheus)集成?如何通过外部系统扩展集群监控? +--- +Ambari 是如何处理集群服务的滚动升级的?如何在不停机的情况下升级集群服务? +--- +在 Ambari 中,如何优化 YARN 和 HDFS 的资源分配?有哪些调优策略? +--- +Ambari 的多租户支持是如何设计的?如何通过资源池管理不同租户的资源? +--- +在 Ambari 中,如何通过 Metrics System 监控大规模集群的性能? +--- +Ambari 是如何实现跨数据中心的集群管理和监控的? +--- +在 Ambari 中,如何通过自定义 Metrics 和 Alerts 实现集群性能的精细化监控? +--- diff --git a/Android UI 面试题.md b/Android UI 面试题.md new file mode 100644 index 0000000..4508c82 --- /dev/null +++ b/Android UI 面试题.md @@ -0,0 +1,60 @@ +在 Android 中 RecyclerView 和 ListView 的区别是什么?如何优化? +--- +请问在 Android UI 中 Data Binding 和 View Binding 的区别及使用场景是什么? +--- +请问 Android 桌面小组件如何开发? +--- +在 Android 中,什么是 ComposeUI,它与传统 UI 有何不同? +--- +Android 屏幕像素的单位有哪些? +--- +什么是 SurfaceView?其使用场景及示例有哪些? +--- +请问 Android 中 RecyclerView 的工作原理和使用场景是什么? +--- +如何在 Android 中实现自定义 View?请简要说明步骤和注意事项。 +--- +在 Android 中,什么是 ConstraintLayout?它相比其他布局有什么优势? +--- +如何在 Android 中实现动画效果?有哪些常用的方法和类? +--- +请问 Android 的主题和样式系统有哪些?并举例说明如何使用。 +--- +Android 中 VelocityTracker 的作用是什么? +--- +Android 中 GestureDetector 的作用是什么? +--- +如何实现 Android 中 View 的弹性滑动和普通滑动? +--- +如何在 Android Activity 中获取某个 View 的宽高? +--- +请问 Android 界面绘制的原理是什么? +--- +请问 Android 中 ComposeUI 如何精细化控制重组实现局部刷新? +--- +请问 Android 中常用的 UI 组件有哪些?分为传统 UI 和 ComposeUI。 +--- +如何在 Android 中更新非 UI 线程中的 UI? +--- +如何在 Android 中渲染动画? +--- +如何实现 Android 机型大小适配? +--- +如何在 Android 中实现多语言适配? +--- +如何实现 Android 的深色、浅色模式适配? +--- +Android 传统 UI 布局嵌套层级过深有何影响? +--- +什么是 Android 中的 Window? +--- +请问 Android 中 Window 的内部机制是什么? +--- +请问 Android 中 Window 的创建过程是什么? +--- +请问如何解决 Android 中 Fragment 重叠问题? +--- +什么是 Android 的流式布局? +--- +请问 Android 布局实现的底层原理是什么? +--- diff --git a/Android 原理面试题.md b/Android 原理面试题.md new file mode 100644 index 0000000..02f550b --- /dev/null +++ b/Android 原理面试题.md @@ -0,0 +1,26 @@ +Android 中 Dalvik 虚拟机和 ART 虚拟机是什么?两者有什么区别? +--- +请问 Android ViewGroup 事件分发机制的原理是什么? +--- +请解释 Android 中 onTouch 和 onTouchEvent 的区别及其调用顺序是什么? +--- +在 Android 中当用户触摸屏幕时,事件沿视图层次结构传递的路径和经过的方法有哪些?请简要介绍这些方法。 +--- +请问如何解决 Android 滑动冲突问题? +--- +请问 Android 的消息机制及其工作原理是什么? +--- +请问 Android 的广播类型有哪些? +--- +请问 Android 广播的注册方式有哪些? +--- +请问 Android 广播的优先级如何设置? +--- +请问 Android 广播的底层实现原理是什么? +--- +如何解决 Android 广播的安全性问题? +--- +如何确保 Android 中有序广播按顺序接收? +--- +请问 Android 启动流程的四个阶段是什么? +--- diff --git a/Android 基础面试题.md b/Android 基础面试题.md new file mode 100644 index 0000000..b7a3ef9 --- /dev/null +++ b/Android 基础面试题.md @@ -0,0 +1,54 @@ +请问 Android 中 AsyncTask 是什么及其原理? +--- +请解释 Android 中线程和进程的区别? +--- +如何在 Android 中申请权限?有什么需要注意的? +--- +请解释 Android 中 onTouch 和 onTouchEvent 的区别及其调用顺序是什么? +--- +请问 Android 的广播类型有哪些? +--- +请问 Android 广播的注册方式有哪些? +--- +请问 Android 广播的优先级如何设置? +--- +什么是 Android 的四大组件? +--- +Android 中服务的启动方法有哪些? +--- +Android 中服务的类型有哪些? +--- +Android Service 的生命周期是什么? +--- +在 Android 中什么是 Intent?请描述显式 Intent 和隐式 Intent 的区别。 +--- +请问 Android 中的 Intent.Action 是什么?并举出几种常见用法 +--- +Android 中 Activity 的生命周期有哪些?并举例说明每个生命周期方法的用途。 +--- +在 Android 中 Fragment 和 Activity 如何通信? +--- +在 Android 中 Fragment 之间如何通信? +--- +在 Android 中 Activity 的启动方式有哪些? +--- +Android 屏幕像素的单位有哪些? +--- +请问 Android 中 RecyclerView 的工作原理和使用场景是什么? +--- +在 Android 中,什么是 ConstraintLayout?它相比其他布局有什么优势? +--- +请问 Android 的主题和样式系统有哪些?并举例说明如何使用。 +--- +如何在 Android Activity 中获取某个 View 的宽高? +--- +请问 Android 中常用的 UI 组件有哪些?分为传统 UI 和 ComposeUI。 +--- +什么是 Android 中的 Window? +--- +请问 Android 中 SharedPreferences 是什么?以及其优缺点。 +--- +如何使用 SQLite 数据库在 Android 应用中存储数据?请举例说明。 +--- +什么是 Android 的冷启动和热启动? +--- diff --git a/Android 库面试题.md b/Android 库面试题.md new file mode 100644 index 0000000..892793a --- /dev/null +++ b/Android 库面试题.md @@ -0,0 +1,54 @@ +在 Android 中,什么是 ComposeUI,它与传统 UI 有何不同? +--- +请问 Android 中 Okhttp 的原理及其使用方法是什么? +--- +Android 中 Okhttp 的设计模式是什么? +--- +Android 开发中 Okhttp 如何进行同步和异步请求? +--- +请问 Okhttp 的连接池实现原理及其使用方法是什么? +--- +如何使用 Okhttp 的拦截器?它的实现原理是什么? +--- +Android 中 Retrofit 库的使用方法和原理是什么? +--- +Android 开发中 Retrofit 库用到了哪些设计模式? +--- +请问 Android 中 EventBus 的原理及其使用方法是什么? +--- +请问 Android 中 LeakCanary 的原理及其使用方法是什么? +--- +请问 Android 中 RxJava 的原理及其使用方法是什么? +--- +请问 Android 中 GreenDao 的原理及其使用方法是什么? +--- +请问 Android 中 Glide 的原理及其使用方法是什么? +--- +请问 Android 中 Coil 的原理及其使用方法是什么? +--- +请问 Android 中 Okio 的原理及其使用方法是什么? +--- +请问 Android 中 ARouter 的原理及其使用方法是什么? +--- +请问 Hilt 在 Android 应用中的作用和基本用法是什么? +--- +请问 Dagger 2 在 Android 应用中的作用和基本用法是什么? +--- +如何实现 Android 工程的组件化和插件化? +--- +如何优化 Android 中 SharedPreferences 的性能? +--- +如何使用 SQLite 数据库在 Android 应用中存储数据?请举例说明。 +--- +在 Android 中什么是 DataStore?它的使用场景及如何使用? +--- +在 Android 中 SharedPreferences 和 DataStore 有何区别? +--- +如何在 Android 中使用 Room 持久化库?请简要描述其优点。 +--- +如何在 Android 中使用 Room 执行加密数据库操作? +--- +请问 Android 中 CamerX 是什么?如何使用? +--- +请问 Android 中 CamerX 对比 Camera1 与 Camera2 又何区别? +--- diff --git a/Android 性能优化面试题.md b/Android 性能优化面试题.md new file mode 100644 index 0000000..ab03dca --- /dev/null +++ b/Android 性能优化面试题.md @@ -0,0 +1,42 @@ +请问 Android 中 LeakCanary 的原理及其使用方法是什么? +--- +如何优化 Android 中 SharedPreferences 的性能? +--- +如何优化 Android 应用的功耗? +--- +如何避免 Android 应用的内存泄漏? +--- +什么是 OOM?Android 开发中应通过哪些措施避免 OOM? +--- +如何优化 Android 应用的包体积? +--- +在 Android 编译中什么是 Proguard?有什么作用?使用时需要注意什么? +--- +在 Android 中 StrictMode 是什么? +--- +在 Android 中什么是 ANR?如何避免? +--- +如何优化 Android 应用的启动速度? +--- +如何优化 Android 布局? +--- +如何避免 Android 中 Webview 内存泄漏? +--- +请问 Android 缓存机制是什么? +--- +Android 中升级 minSdkVersion >= 23 时,apk 包体积变大的原因是什么? +--- +在 Android 中如何用 Kotlin 协程优化 AsyncLayoutInflater? +--- +Android 传统 UI 布局嵌套层级过深有何影响? +--- +在 Android 中 RecyclerView 和 ListView 的区别是什么?如何优化? +--- +如何分析 Android 应用的内存泄漏? +--- +如何使用 Profiler 工具分析和优化 Android 应用的性能? +--- +如何避免 Android 中的大图查看引发 OOM? +--- +如何优化 Android 的冷启动速度? +--- diff --git a/Android 数据存储面试题.md b/Android 数据存储面试题.md new file mode 100644 index 0000000..0f75d01 --- /dev/null +++ b/Android 数据存储面试题.md @@ -0,0 +1,26 @@ +请问 Android 中 GreenDao 的原理及其使用方法是什么? +--- +请问 Android 持久化数据存储方案有哪些? +--- +请问 Android 中 SharedPreferences 是什么?以及其优缺点。 +--- +如何优化 Android 中 SharedPreferences 的性能? +--- +请简述 Android 数据库的实现方案有哪些? +--- +Android 提供的一种跨进程访问数据的机制是什么?它的原理是什么? +--- +请问 Android 中 ContentProvider 的使用方法是什么? +--- +请问 Android 中微信分享等类似分享功能的原理是什么? +--- +如何使用 SQLite 数据库在 Android 应用中存储数据?请举例说明。 +--- +在 Android 中什么是 DataStore?它的使用场景及如何使用? +--- +在 Android 中 SharedPreferences 和 DataStore 有何区别? +--- +如何在 Android 中使用 Room 持久化库?请简要描述其优点。 +--- +如何在 Android 中使用 Room 执行加密数据库操作? +--- diff --git a/Android 网络通信面试题.md b/Android 网络通信面试题.md new file mode 100644 index 0000000..3bc046d --- /dev/null +++ b/Android 网络通信面试题.md @@ -0,0 +1,20 @@ +Android 网络通信主要涉及哪些核心组件? +--- +在 Android 如果项目源码泄漏,在客户端使用什么方法可以帮助后端判断来自正确的客户端? +--- +请问 Android 中 Okhttp 的原理及其使用方法是什么? +--- +Android 中 Okhttp 的设计模式是什么? +--- +Android 开发中 Okhttp 如何进行同步和异步请求? +--- +请问 Okhttp 的连接池实现原理及其使用方法是什么? +--- +如何使用 Okhttp 的拦截器?它的实现原理是什么? +--- +Android 中 Retrofit 库的使用方法和原理是什么? +--- +Android 开发中 Retrofit 库用到了哪些设计模式? +--- +请问 Android 中 Okio 的原理及其使用方法是什么? +--- diff --git a/Android 进阶面试题.md b/Android 进阶面试题.md new file mode 100644 index 0000000..115afb3 --- /dev/null +++ b/Android 进阶面试题.md @@ -0,0 +1,246 @@ +如何优化 Android 应用的功耗? +--- +如何解决 Gradle 打包 Android 项目时报错 “方法数超出 65K” 的问题? +--- +Android 中 Dalvik 虚拟机和 ART 虚拟机是什么?两者有什么区别? +--- +如何避免 Android 应用的内存泄漏? +--- +什么是 OOM?Android 开发中应通过哪些措施避免 OOM? +--- +如何优化 Android 应用的包体积? +--- +在 Android 中什么是 Hook?如何在 Android 中使用?有什么风险? +--- +在 Android 编译中什么是 Proguard?有什么作用?使用时需要注意什么? +--- +在 Android 中 StrictMode 是什么? +--- +在 Android 中什么是 ANR?如何避免? +--- +如何优化 Android 应用的启动速度? +--- +如何优化 Android 布局? +--- +如何避免 Android 中 Webview 内存泄漏? +--- +在 Android 中 MessageQueue 的基本原理及其作用是什么? +--- +如何在 Android 中实现生产者 - 消费者模式? +--- +Android 中如何在子线程中创建 Handler? +--- +在 Android 中 Handler 机制及其使用场景是什么? +--- +Android 线程间通信有哪些方法? +--- +Android 进程间通信(IPC)有哪些方法? +--- +请根据类型简述 Android 进程的生命周期有哪些? +--- +请问 Android 进程保活的原理和实现方法有哪些? +--- +如何在 Android 中实现线程池? +--- +在 Android 中 Looper 与线程是如何保证一对一的? +--- +在 Android 中实现 Parcelable 接口有什么用处? +--- +请问 Android 中 JobScheduler 机制是什么? +--- +在 Android 中为什么要使用事件总线机制来替代广播? +--- +Android 中常用的数据交换格式有哪些? +--- +什么是 Protobuf ?在 Android 中,它对比其他数据格式的优势是什么? +--- +请问 Android 的热修复方案有哪些?其原理分别是什么? +--- +请问 Android 的 AOP 开发是什么? +--- +请问 Android 缓存机制是什么? +--- +请问在 Android 中 WebView 的如何使用呢? +--- +如何在移动端进行产品优化和改进? +--- +Android 中升级 minSdkVersion >= 23 时,apk 包体积变大的原因是什么? +--- +Android 的签名等级有几种?有什么区别? +--- +Android 网络通信主要涉及哪些核心组件? +--- +在 Android 如果项目源码泄漏,在客户端使用什么方法可以帮助后端判断来自正确的客户端? +--- +请问 Android 中 Okhttp 的原理及其使用方法是什么? +--- +Android 中 Okhttp 的设计模式是什么? +--- +Android 开发中 Okhttp 如何进行同步和异步请求? +--- +请问 Okhttp 的连接池实现原理及其使用方法是什么? +--- +如何使用 Okhttp 的拦截器?它的实现原理是什么? +--- +Android 中 Retrofit 库的使用方法和原理是什么? +--- +Android 开发中 Retrofit 库用到了哪些设计模式? +--- +请问 Android 中 EventBus 的原理及其使用方法是什么? +--- +请问 Android 中 LeakCanary 的原理及其使用方法是什么? +--- +请问 Android 中 RxJava 的原理及其使用方法是什么? +--- +请问 Android 中 GreenDao 的原理及其使用方法是什么? +--- +请问 Android 中 Glide 的原理及其使用方法是什么? +--- +请问 Android 中 Coil 的原理及其使用方法是什么? +--- +请问 Android 中 Okio 的原理及其使用方法是什么? +--- +请问 Android 中 ARouter 的原理及其使用方法是什么? +--- +在 Android 中 Kotlin 与 Java 的区别是什么? +--- +Kotlin 的协程是什么?在 Android 中如何使用? +--- +在 Android 中 Kotlin 协程的创建过程是怎样的? +--- +在 Android 中 Kotlin 协程的挂起与恢复机制是怎样的? +--- +在 Android 中如何在 Kotlin 协程中配合使用 Okhttp? +--- +在 Android 中如何使用 Retrofit 配合 Kotlin 协程? +--- +在 Android 中 Kotlin 的协程与 Java 线程有什么区别与联系? +--- +在 Android 中如何用 Kotlin 协程优化 AsyncLayoutInflater? +--- +请问 Android ViewGroup 事件分发机制的原理是什么? +--- +在 Android 中当用户触摸屏幕时,事件沿视图层次结构传递的路径和经过的方法有哪些?请简要介绍这些方法。 +--- +请问如何解决 Android 滑动冲突问题? +--- +请问 Android 的消息机制及其工作原理是什么? +--- +请问 Android 广播的底层实现原理是什么? +--- +如何解决 Android 广播的安全性问题? +--- +如何确保 Android 中有序广播按顺序接收? +--- +请问 Android 启动流程的四个阶段是什么? +--- +请问 Android 常见的设计模式并比较其优缺点是什么? +--- +如何在 Android 中使用 ViewModel 和 LiveData?请举例说明。 +--- +Android 中使用依赖注入的作用是什么? +--- +Android 中常用的依赖注入库有哪些?请提供简单示例。 +--- +请问 Hilt 在 Android 应用中的作用和基本用法是什么? +--- +请问 Dagger 2 在 Android 应用中的作用和基本用法是什么? +--- +在 Android 中使用 Service 时有哪些关键点需要注意? +--- +Android 中 Fragment 的生命周期和 Activity 的生命周期有何不同? +--- +在 Android 中,类加载器主要分为哪几种类型? +--- +如何实现 Android 工程的组件化和插件化? +--- +在 Android 组件化时,组件间如何通信?如何跳转? +--- +在 Android 中,栈亲和性是指什么? +--- +在 Android 中,什么是 ComposeUI,它与传统 UI 有何不同? +--- +什么是 SurfaceView?其使用场景及示例有哪些? +--- +如何在 Android 中实现自定义 View?请简要说明步骤和注意事项。 +--- +如何在 Android 中实现动画效果?有哪些常用的方法和类? +--- +Android 中 VelocityTracker 的作用是什么? +--- +Android 中 GestureDetector 的作用是什么? +--- +如何实现 Android 中 View 的弹性滑动和普通滑动? +--- +请问 Android 界面绘制的原理是什么? +--- +请问 Android 中 ComposeUI 如何精细化控制重组实现局部刷新? +--- +如何在 Android 中更新非 UI 线程中的 UI? +--- +如何在 Android 中渲染动画? +--- +如何实现 Android 机型大小适配? +--- +如何在 Android 中实现多语言适配? +--- +如何实现 Android 的深色、浅色模式适配? +--- +Android 传统 UI 布局嵌套层级过深有何影响? +--- +请问 Android 中 Window 的内部机制是什么? +--- +请问 Android 中 Window 的创建过程是什么? +--- +请问如何解决 Android 中 Fragment 重叠问题? +--- +什么是 Android 的流式布局? +--- +请问 Android 布局实现的底层原理是什么? +--- +在 Android 中 RecyclerView 和 ListView 的区别是什么?如何优化? +--- +请问在 Android UI 中 Data Binding 和 View Binding 的区别及使用场景是什么? +--- +请问 Android 桌面小组件如何开发? +--- +请问 Android 持久化数据存储方案有哪些? +--- +如何优化 Android 中 SharedPreferences 的性能? +--- +请简述 Android 数据库的实现方案有哪些? +--- +Android 提供的一种跨进程访问数据的机制是什么?它的原理是什么? +--- +请问 Android 中 ContentProvider 的使用方法是什么? +--- +请问 Android 中微信分享等类似分享功能的原理是什么? +--- +在 Android 中什么是 DataStore?它的使用场景及如何使用? +--- +在 Android 中 SharedPreferences 和 DataStore 有何区别? +--- +如何在 Android 中使用 Room 持久化库?请简要描述其优点。 +--- +如何在 Android 中使用 Room 执行加密数据库操作? +--- +请问 Android 中 CamerX 是什么?如何使用? +--- +请问 Android 中 CamerX 对比 Camera1 与 Camera2 又何区别? +--- +请问 Android 编译中的 R8 优化是什么? +--- +请问 Android 编译文件中的 namespace 是什么? +--- +如何分析 Android 应用的内存泄漏? +--- +如何使用 Profiler 工具分析和优化 Android 应用的性能? +--- +如何避免 Android 中的大图查看引发 OOM? +--- +如何优化 Android 的冷启动速度? +--- +请问 Android JNI是什么?简要介绍如何使用及其作用 +--- +请问 Android 15 中 16K 适配是什么?简要介绍如何实现 +--- diff --git a/Atlas 面试题.md b/Atlas 面试题.md new file mode 100644 index 0000000..5afbef6 --- /dev/null +++ b/Atlas 面试题.md @@ -0,0 +1,98 @@ +什么是 Apache Atlas?它的主要功能是什么? +--- +在 Atlas 中,元数据管理的核心概念是什么? +--- +Atlas 是如何与 Hadoop 生态系统集成的? +--- +Atlas 支持哪些元数据类型? +--- +在 Atlas 中,如何定义一个实体? +--- +Atlas 中的分类是什么?它在元数据管理中的作用是什么? +--- +如何在 Atlas 中创建和管理标签? +--- +在 Atlas 中,如何为数据资源添加标签和分类? +--- +Atlas 是如何支持数据血缘追踪的? +--- +在 Atlas 中,如何进行数据血缘关系的查询? +--- +Atlas 中的元数据搜索功能是如何实现的? +--- +在 Atlas 中,如何与 Hive 集成实现元数据管理? +--- +Atlas 中的类型系统是如何设计的?如何定义自定义类型? +--- +在 Atlas 中,如何配置基于角色的访问控制(RBAC)? +--- +Atlas 是如何实现数据资产的分类和管理的? +--- +在 Atlas 中,如何进行批量的元数据导入和导出? +--- +Atlas 如何处理与 Kafka 的集成,实现实时数据元数据跟踪? +--- +在 Atlas 中,如何管理和审计元数据的修改记录? +--- +Atlas 的 REST API 是如何工作的?如何通过 API 进行元数据操作? +--- +在 Atlas 中,如何通过 DSL 查询语言进行元数据的自定义搜索? +--- +Atlas 中的数据血缘是如何计算的?如何可视化数据血缘? +--- +如何在 Atlas 中创建自定义的实体类型和关系? +--- +在 Atlas 中,如何进行元数据的版本控制和恢复? +--- +Atlas 如何与 Ranger 集成实现数据的安全性管理? +--- +在 Atlas 中,如何进行跨集群的元数据管理? +--- +Atlas 是如何处理数据治理的?有哪些关键特性支持数据治理? +--- +在 Atlas 中,如何进行数据资产的生命周期管理? +--- +Atlas 中的实体关系是如何表示的?如何定义自定义关系类型? +--- +在 Atlas 中,如何与 HBase 集成实现数据元数据的管理? +--- +Atlas 中的复杂查询如何通过 DSL 语言编写?有哪些常见的查询语法? +--- +Atlas 中的标签继承机制是如何实现的?如何管理标签的层次结构? +--- +在 Atlas 中,如何为不同数据源配置和管理元数据? +--- +Atlas 是如何与 Spark 集成的?如何实现 Spark 作业的元数据跟踪? +--- +Atlas 中的元数据审计机制是如何设计的?如何跟踪元数据变更历史? +--- +在 Atlas 中,如何进行自定义实体的生命周期管理? +--- +Atlas 是如何支持元数据的分布式存储和查询的? +--- +在 Atlas 中,如何定义和查询复杂的数据血缘关系? +--- +Atlas 如何与 Flink 集成实现流数据元数据的管理? +--- +在 Atlas 中,如何通过多租户支持实现数据资产的隔离和管理? +--- +Atlas 如何与数据湖集成,实现湖仓一体的元数据管理? +--- +在 Atlas 中,如何处理大规模元数据的存储和查询性能问题? +--- +Atlas 是如何支持跨集群的数据治理的?如何实现跨集群的元数据同步? +--- +在 Atlas 中,如何使用分类标签进行敏感数据管理? +--- +Atlas 中的数据血缘图是如何生成的?如何基于数据血缘进行数据依赖分析? +--- +Atlas 是如何处理数据血缘中的变更传播的?如何确保数据依赖的准确性? +--- +在 Atlas 中,如何处理复杂的数据治理需求,如多层次的数据权限控制? +--- +Atlas 如何与 Hive、HBase 和 Kafka 等多个大数据组件联动实现统一元数据管理? +--- +在 Atlas 中,如何通过自定义 DSL 查询语言进行高级的元数据分析? +--- +Atlas 中的元数据模式演化是如何处理的?如何保证数据兼容性? +--- diff --git a/Azkaban 面试题.md b/Azkaban 面试题.md new file mode 100644 index 0000000..f0bdcf9 --- /dev/null +++ b/Azkaban 面试题.md @@ -0,0 +1,112 @@ +Azkaban 是什么?它的主要用途是什么? +--- +在 Azkaban 中,如何定义一个工作流? +--- +Azkaban 中的 Job 是什么?它在工作流中扮演什么角色? +--- +在 Azkaban 中,如何设置任务的依赖关系? +--- +Azkaban 支持哪些类型的任务?常见的任务类型有哪些? +--- +在 Azkaban 中,如何通过 Web 界面提交一个工作流? +--- +Azkaban 中的调度功能如何实现?如何设置定时任务? +--- +如何在 Azkaban 中监控任务的执行状态? +--- +Azkaban 如何保证任务执行的顺序性? +--- +在 Azkaban 中,如何通过配置文件定义一个任务? +--- +在 Azkaban 中,如何处理任务执行失败的情况?有哪些重试策略? +--- +Azkaban 中的日志系统是如何设计的?如何查看任务执行日志? +--- +在 Azkaban 中,如何设置任务的最大重试次数? +--- +Azkaban 的 Job 类型包括哪些?如何在工作流中配置不同的任务类型? +--- +Azkaban 是如何管理任务的并发执行的?如何配置任务并发度? +--- +在 Azkaban 中,如何通过 SLA 监控任务的执行时长? +--- +Azkaban 如何处理任务之间的依赖关系?依赖关系出错时如何处理? +--- +在 Azkaban 中,如何配置全局参数并传递给任务? +--- +在 Azkaban 中,如何实现任务之间的并行执行? +--- +Azkaban 中的 Flow 是如何定义的?如何通过 Flow 实现复杂的任务调度? +--- +Azkaban 的 REST API 是如何工作的?如何通过 API 提交任务? +--- +在 Azkaban 中,如何处理工作流失败后的告警和通知? +--- +Azkaban 是如何实现任务的状态存储和恢复的? +--- +在 Azkaban 中,如何配置多个工作流的依赖关系? +--- +Azkaban 是如何与 HDFS 集成的?如何通过 Azkaban 调度 HDFS 任务? +--- +Azkaban 中的任务超时是如何处理的?如何配置任务的超时时间? +--- +在 Azkaban 中,如何通过动态参数传递实现灵活的任务配置? +--- +如何在 Azkaban 中设置任务的优先级?任务优先级如何影响调度? +--- +Azkaban 中的任务重试机制是如何设计的?如何设置重试策略? +--- +在 Azkaban 中,如何实现跨集群的任务调度? +--- +Azkaban 如何与 Hive 集成?如何通过 Azkaban 调度 Hive 任务? +--- +在 Azkaban 中,如何管理多个任务的依赖和执行顺序? +--- +Azkaban 是如何处理任务的执行优先级和资源分配的? +--- +在 Azkaban 中,如何通过日志分析任务执行的性能问题? +--- +如何在 Azkaban 中实现任务的自动化恢复?任务失败后如何自动重试? +--- +Azkaban 中的 SLA 监控机制是如何工作的?如何通过 SLA 设置任务告警? +--- +在 Azkaban 中,如何通过定时任务调度大数据作业? +--- +如何在 Azkaban 中通过自定义插件扩展任务类型? +--- +Azkaban 的任务失败恢复机制是如何实现的?如何配置自动恢复? +--- +在 Azkaban 中,如何处理任务的循环依赖问题? +--- +如何在 Azkaban 中通过 Job Chaining 实现多个任务的依次执行? +--- +Azkaban 如何与 Kafka 集成?如何调度 Kafka 消息处理任务? +--- +在 Azkaban 中,如何通过动态配置实现任务参数的灵活传递? +--- +在 Azkaban 中,如何监控和管理集群的资源使用情况? +--- +Azkaban 的任务调度机制如何优化大规模作业的性能? +--- +在 Azkaban 中,如何通过依赖分析工具优化任务的执行顺序? +--- +如何在 Azkaban 中通过自定义调度策略实现任务的高效调度? +--- +Azkaban 是如何实现任务的高可用调度的?有哪些机制保证任务不丢失? +--- +在 Azkaban 中,如何通过负载均衡提高任务调度的吞吐量? +--- +如何在 Azkaban 中处理复杂的依赖关系,避免循环依赖? +--- +Azkaban 如何保证跨数据中心的任务调度一致性? +--- +如何在 Azkaban 中进行任务调度的全局优化?有哪些常见的优化策略? +--- +在 Azkaban 中,如何通过多租户机制实现资源隔离和任务独立调度? +--- +Azkaban 是如何处理任务的并发执行与资源竞争的? +--- +如何在 Azkaban 中通过历史运行数据优化调度策略? +--- +在 Azkaban 中,如何通过集群模式实现大规模任务的调度和监控? +--- diff --git a/C# .NET 面试题.md b/C# .NET 面试题.md new file mode 100644 index 0000000..79f08fd --- /dev/null +++ b/C# .NET 面试题.md @@ -0,0 +1,140 @@ +什么是 .NET Standard,它的作用是什么? +--- +什么是 .NET Core,它与 .NET Framework 有何不同? +--- +什么是 Kestrel 服务器,它在 .NET Core 中的作用是什么? +--- +什么是 ASP.NET Core 的 Razor Pages,它与 MVC 模式有何不同? +--- +如何在 .NET Core 中进行配置管理?appsettings.json 文件的作用是什么? +--- +如何在 .NET Core 中处理静态文件? +--- +在 .NET 中,什么是程序集和模块?它们的作用是什么? +--- +.NET 中的 CTS(公共类型系统)和 CLS(公共语言规范)是什么? +--- +在 .NET 中,什么是 GAC(全局程序集缓存),如何使用它? +--- +什么是 MSIL(Microsoft Intermediate Language),它在 .NET 中的作用是什么? +--- +在 .NET 中,如何使用 NuGet 包管理器来管理项目依赖? +--- +什么是 .NET 中的命名空间?它有什么作用? +--- +什么是 .NET 中的垃圾回收机制?它如何管理内存? +--- +在 .NET 中,如何使用 ILDasm 工具查看程序集的 IL 代码? +--- +什么是 .NET Core CLI,它有哪些常用命令? +--- +在 .NET 中,如何自定义和使用特性(Attribute)? +--- +什么是 .NET 中的强名称和签名机制? +--- +什么是 .NET 中的反射,它有哪些应用场景? +--- +在 .NET 中,如何处理应用程序的配置文件(App.config 或 web.config)? +--- +什么是 .NET 中的托管代码和非托管代码? +--- +在 .NET 中,如何实现跨平台开发? +--- +什么是 .NET 中的程序集版本控制?如何解决程序集冲突? +--- +在 .NET 中,如何使用异步编程模型和任务并行库进行并发编程? +--- +.NET 中的 IL 代码优化策略是怎样的? +--- +什么是 .NET 中的代码访问安全?如何使用它进行安全控制? +--- +在 .NET 中,如何实现程序集的强名称签名? +--- +什么是 .NET 中的 AppDomain,它的作用是什么? +--- +什么是 .NET 中的序列化和反序列化机制,如何自定义序列化过程? +--- +在 .NET 中,如何使用依赖注入容器管理对象的生命周期? +--- +什么是 .NET 中的动态语言运行时(DLR),它如何支持动态类型? +--- +在 .NET 中,如何使用委托和事件实现观察者模式? +--- +.NET 中的线程池是如何工作的?如何优化多线程应用? +--- +什么是 .NET 中的内存映射文件?如何使用它进行文件操作? +--- +在 .NET 中,如何使用 Task 和 async/await 实现异步编程? +--- +什么是 .NET 中的跨语言互操作性,如何在不同语言之间共享代码? +--- +.NET 中的 CLR 如何进行异常处理和异常安全? +--- +在 .NET 中,如何使用反射动态加载程序集和类型? +--- +什么是 .NET 中的应用程序域,如何实现隔离和卸载? +--- +在 .NET 中,如何进行性能分析和优化,常用的工具和方法有哪些? +--- +请介绍 .NET 的内存模型,对多线程编程有何影响? +--- +什么是 .NET 中的 IL 合并?如何合并多个程序集? +--- +在 .NET 中,如何使用 Span 和 Memory 优化内存操作? +--- +什么是 .NET 中的源生成器,如何使用它们提高编译时性能? +--- +什么是 .NET Core 的 HostBuilder 和 WebHostBuilder? +--- +如何在 .NET Core 中进行单元测试?如何使用 xUnit 框架? +--- +如何在 .NET Core 中实现依赖注入? +--- +什么是 .NET Core 的中间件?它的工作原理是什么? +--- +.NET 中的 GC 压缩和大对象堆是如何管理的? +--- +在 .NET 中,CLR 的执行引擎是如何加载和执行程序集的? +--- +什么是 .NET 中的元数据和元数据表?它们在运行时有何作用? +--- +.NET 中的代码访问安全策略级别和权限集是如何定义的? +--- +在 .NET 中,如何使用 CLR Hosting 实现自定义的运行时环境? +--- +什么是 .NET 中的 IL Rewriting,如何进行 IL 级别的代码修改? +--- +.NET 中的多域应用程序如何共享程序集和类型? +--- +在 .NET 中,如何使用 Profiling API 进行性能分析和诊断? +--- +什么是 .NET 中的本机映像生成?它如何影响应用程序的启动性能? +--- +请解释 .NET 中的代码缓存机制,JIT 编译器如何缓存已编译的代码? +--- +在 .NET 中,如何使用 CoreCLR 和 CoreFX 构建自定义的运行时? +--- +什么是 .NET 中的运行时特性?如何检测和适配不同的运行时环境? +--- +什么是 .NET 中的安全透明性模型? +--- +在 .NET 中,如何实现 IL Weaving?常用的工具有哪些? +--- +什么是 .NET 中的轻量级代码生成?如何使用它动态生成代码? +--- +.NET 中的线程静态变量在运行时是如何管理的? +--- +在 .NET 中,如何使用本机互操作(P/Invoke)调用非托管代码,需注意哪些问题? +--- +什么是 .NET 中的 ReadyToRun(R2R)格式?如何提高应用程序的启动速度? +--- +.NET 中的元数据和 IL 有什么关系?如何通过修改元数据影响程序行为? +--- +在 .NET 中,CLR 是如何实现垃圾回收的,代数(Generations)有什么作用? +--- +什么是 .NET 中的托管扩展性框架(MEF),如何实现可扩展应用程序? +--- +什么是 .NET 的程序集加载上下文?如何进行插件化开发? +--- +在 .NET 中,如何利用 IL Emit 动态生成和执行代码? +--- diff --git a/C# WPF 面试题.md b/C# WPF 面试题.md new file mode 100644 index 0000000..63624b4 --- /dev/null +++ b/C# WPF 面试题.md @@ -0,0 +1,106 @@ +什么是 WPF,WPF 的主要特点和优势有哪些? +--- +在 WPF 中,如何使用 XAML 来定义用户界面? +--- +什么是 WPF 中的依赖属性?有什么作用? +--- +在 WPF 中,绑定机制是如何工作的? +--- +如何在 WPF 中实现按钮的点击事件处理? +--- +什么是 WPF 中的路由事件,它与普通事件有什么区别? +--- +在 WPF 中,如何使用资源和样式来统一界面风格? +--- +什么是 WPF 的布局系统?常用的布局控件有哪些? +--- +什么是 WPF 中的模板?如何自定义控件的外观? +--- +在 WPF 中,如何使用命令来替代事件处理? +--- +WPF 中的数据模板和控件模板有什么区别? +--- +在 WPF 中,如何实现数据的双向绑定? +--- +什么是 WPF 中的转换器?如何自定义一个值转换器? +--- +在 WPF 中,如何使用触发器来响应属性或事件的变化? +--- +什么是 WPF 中的依赖属性的元数据和属性改变回调? +--- +在 WPF 中,如何实现动画效果? +--- +什么是 WPF 中的可视树和逻辑树?它们有什么区别? +--- +在 WPF 中,如何自定义控件? +--- +什么是 WPF 中的绑定模式和更新源触发器? +--- +在 WPF 中,如何处理线程间的界面更新问题? +--- +什么是 WPF 中的 MVVM 模式?如何在项目中应用它? +--- +在 WPF 中,如何使用命令绑定实现按钮的功能? +--- +什么是 WPF 中的依赖属性继承? +--- +在 WPF 中,如何优化应用程序的性能? +--- +什么是 WPF 中的 Freezable 对象?如何使用它们? +--- +在 WPF 中,如何实现多语言支持? +--- +什么是 WPF 中的 Attached Property?有什么应用场景? +--- +在 WPF 中,如何使用 Visual State Manager 管理控件的状态? +--- +什么是 WPF 中的模板绑定,如何使用? +--- +在 WPF 中,如何实现拖放功能? +--- +什么是 WPF 中的 Dispatcher 对象?如何在 UI 线程上执行代码? +--- +在 WPF 中,如何自定义路由事件? +--- +什么是 WPF 中的 Adorner?如何使用它来装饰控件? +--- +在 WPF 中,如何创建和使用附加行为? +--- +WPF 中的 Measure 和 Arrange 布局过程是如何工作的? +--- +在 WPF 中,如何实现像素级别的图形绘制? +--- +什么是 WPF 中的 WeakEvent Pattern?为什么需要它? +--- +在 WPF 中,如何使用 ShaderEffect 创建自定义的像素着色器效果? +--- +WPF 中基于时间的动画和帧动画有什么区别? +--- +在 WPF 中,如何优化大型数据集合的显示性能?比如使用虚拟化技术? +--- +什么是 WPF 中的 Binding Expressions?如何在代码中操作绑定? +--- +在 WPF 中,如何实现自定义 MarkupExtension? +--- +什么是 WPF 中的资源字典合并和分离的机制? +--- +在 WPF 中,如何使用 ItemsControl 自定义控件的数据呈现? +--- +什么是 WPF 中的依赖属性的线程安全问题,如何解决? +--- +在 WPF 中,如何实现自定义的布局面板? +--- +WPF 中的视图模型如何与视图进行通信? +--- +在 WPF 中,如何使用多线程来加载数据而不阻塞 UI 线程? +--- +什么是 WPF 中的类层次结构继承?如何影响依赖属性的行为? +--- +在 WPF 中,如何使用 Prism 框架构建模块化应用程序? +--- +WPF 中的视觉层和逻辑层有什么区别? +--- +在 WPF 中,如何实现触控和手势支持? +--- +WPF 中,可扩展应用标记语言(XAML)的解析过程是怎样的? +--- diff --git a/C# 基础面试题.md b/C# 基础面试题.md new file mode 100644 index 0000000..d9431f0 --- /dev/null +++ b/C# 基础面试题.md @@ -0,0 +1,390 @@ +C# 中的值类型和引用类型有什么区别? +--- +请解释一下 C# 中的 foreach 循环是如何使用的? +--- +如何在 C# 中声明和使用数组? +--- +C# 中的字符串是不可变的吗?为什么? +--- +C# 中的可空类型是什么? +--- +在 C# 中,如何使用命名空间来组织代码? +--- +什么是 C# 中的委托,它的基本用法是什么? +--- +C# 中的 using 语句有什么作用? +--- +如何在 C# 中定义和调用方法(函数)? +--- +C# 中的 var 关键字有什么作用? +--- +请解释 C# 中的条件运算符 ?: 是如何工作的? +--- +在 C# 中,const 和 readonly 有什么区别? +--- +什么是 C# 中的结构(struct),它与类有什么区别? +--- +什么是 C# 的异常处理机制,如何使用 try-catch 语句? +--- +如何在 C# 中使用接口? +--- +C# 中的可变参数列表(params 关键字)是如何使用的? +--- +如何在 C# 中实现一个枚举,并在代码中使用它? +--- +什么是 C# 中的访问修饰符?public、private、protected、internal 和 protected internal 有什么区别? +--- +在 C# 中,如何使用 this 关键字?它有哪些应用场景? +--- +在 C# 中,public、private、protected 修饰符分别有什么作用? +--- +在 C# 中,break、continue 和 goto 语句的作用是什么? +--- +什么是 C# 的条件编译指令 region 和 endregion,它们有什么作用? +--- +C# 的隐式类型转换和显式类型转换有什么区别? +--- +在 C# 中,如何使用 using 指令来引用命名空间? +--- +什么是 C# 中的 System.Object?它在面向对象编程中有什么作用? +--- +什么是 C# 中的预处理器指令 if 和 endif,如何使用它们进行条件编译? +--- +什么是 C# 中的无符号整数类型,如何声明和使用它? +--- +在 C# 中,readonly 和 const 字段能否在运行时修改? +--- +C# 中的静态成员和实例成员有什么区别,如何访问它们? +--- +什么是 C# 中的匿名函数,如何使用它? +--- +在 C# 中,如何使用 goto 语句,有哪些注意事项? +--- +什么是 C# 中的基元类型?请列举一些常见的基元类型 +--- +什么是 C# 中,条件逻辑运算符 && 和 || 的短路特性? +--- +什么是 C# 中的可空类型?如何判断一个可空类型是否有值? +--- +什么是 C# 的默认参数值?如何在方法中使用它们? +--- +请描述 C# 中的事件机制是如何实现的? +--- +在 C# 中,什么是 Lambda 表达式,它的用法是什么? +--- +C# 中的异步编程是如何实现的,async 和 await 关键字的作用是什么? +--- +什么是扩展方法,它在 C# 中是如何实现的? +--- +什么是 LINQ,如何在 C# 中使用它? +--- +C# 中的匿名类型是什么,有什么用处? +--- +什么是 C# 中的泛型,如何使用它? +--- +在 C# 中,如何实现接口的显式实现? +--- +C# 中的迭代器(iterator)和 yield 关键字有什么作用? +--- +请解释 C# 中的动态类型是什么,什么时候使用它? +--- +什么是 C# 中的属性,它与字段有什么区别? +--- +C# 中的索引器是如何工作的? +--- +C# 中的元组是什么,如何使用? +--- +在 C# 中,如何实现操作符重载? +--- +什么是 C# 中的可空引用类型?它有什么作用? +--- +如何在 C# 中使用反射来获取类型信息? +--- +什么是 C# 中的特性(Attribute),如何自定义和应用特性? +--- +C# 中的动态语言功能(如 dynamic 关键字),与静态类型有什么区别? +--- +什么是 C# 中的可迭代对象?如何实现它? +--- +在 C# 中,如何实现多线程编程,Task 和 Thread 有什么区别? +--- +什么是 C# 中的默认接口方法? +--- +如何在 C# 中使用指针(unsafe 代码块)? +--- +C# 的 partial 关键字有什么作用? +--- +C# 中的预处理器指令(如 define、if 等)如何使用? +--- +C# 中 sealed 关键字的作用是什么,如何使用? +--- +什么是 C# 中的协变和逆变? +--- +C# 中的静态构造函数有什么作用? +--- +如何在 C# 中实现自定义异常? +--- +在 C# 中,lock 语句的作用是什么,如何使用它来避免线程同步问题? +--- +什么是 C# 的 async Main 方法,有什么作用? +--- +C# 中的默认参数值和命名参数是如何使用的? +--- +什么是 C# 的局部函数,它的作用是什么? +--- +什么是 C# 的条件编译符号?如何使用它? +--- +C# 的匿名方法和 Lambda 表达式之间有什么关系? +--- +在 C# 中,什么时候应该使用抽象类而不是接口? +--- +如何使用 C# 的静态类和静态成员? +--- +什么是 C# 中的装箱和拆箱,它们对性能有什么影响? +--- +在 C# 中,使用 using 语句管理资源的原理是什么? +--- +如何在 C# 中实现一个单例模式? +--- +如何使用 C# 的条件访问运算符(?.)和空合并运算符(??)? +--- +什么是 C# 中的元组解构?如何使用? +--- +在 C# 中,nameof 运算符的作用是什么,如何使用? +--- +C# 中的动态绑定和静态绑定有什么区别? +--- +如何在 C# 中实现事件的订阅和解除订阅? +--- +C# 中的字符串插值是如何实现的? +--- +C# 的位移运算符 << 和 >> 如何使用? +--- +在 C# 中,如何使用 dynamic 类型处理 COM 对象或动态语言运行时? +--- +C# 的初始器语法是怎样的?比如集合初始器 +--- +C# 中如何实现隐式类型转换和显式类型转换? +--- +什么是 C# 的 nullable 上下文?如何控制它? +--- +在 C# 中,如何使用参数化属性(索引器带参数)? +--- +C# 中的自定义迭代器与 yield return/yield break 的用法是什么? +--- +C# 中的枚举类型可以使用 Flags 特性来实现位域操作吗?如何实现? +--- +在 C# 中,什么时候会发生方法的重载和重写? +--- +C# 中的默认字面量是什么?如何使用? +--- +在 C# 中,如何使用静态导入? +--- +什么是 C# 中的空指针异常,如何防止它? +--- +如何在 C# 中使用泛型约束? +--- +C# 中的异常过滤器是如何工作的? +--- +什么是 C# 中的模式匹配?如何使用它? +--- +C# 中的 switch 表达式和传统的 switch 语句之间有什么区别? +--- +什么是 C# 中的异步匿名方法?如何使用它们? +--- +在 C# 中,如何使用 using 声明来管理资源? +--- +C# 的静态局部函数是什么?它有什么作用? +--- +C# 中的默认接口实现如何影响接口的设计? +--- +什么是 C# 中的空合并赋值运算符(??=),如何使用? +--- +在 C# 中,如何使用索引和范围操作符? +--- +C# 中自定义操作符重载需要注意哪些问题? +--- +C# 中的 record 类型是什么?如何使用它? +--- +什么是 C# 9 中的初始化器特性,例如 init 关键字? +--- +C# 的扩展方法在静态类中的定义规则是什么? +--- +什么是 C# 中的全局命名空间?如何使用它? +--- +在 C# 中,如何利用反射创建对象实例? +--- +C# 的可变和不可变类型有什么区别? +--- +什么是 C# 中的多播委托?如何使用它? +--- +在 C# 中,如何实现自定义索引器以支持多维索引? +--- +C# 中的 try-finally 语句与 using 语句之间的区别是什么? +--- +什么是 C# 中的隐式类型局部变量?如何使用它? +--- +在 C# 中,如何定义一个方法的可选参数? +--- +C# 中的可变参数数组与可选参数有什么区别? +--- +什么是 C# 中的委托的协变和逆变? +--- +在 C# 中,如何实现事件的线程安全? +--- +C# 中的结构能否有无参数构造函数?为什么? +--- +在 C# 中,如何为泛型类型参数添加多个约束? +--- +C# 中的可空值类型与可空引用类型有什么区别? +--- +在 C# 中,async 方法可以没有 await 关键字吗?为什么? +--- +C# 的事件处理程序为什么使用 += 和 -= 操作符? +--- +在 C# 中,如何阻止方法被子类重写? +--- +C# 中的局部静态变量是什么? +--- +在 C# 中,如何在类中实现索引器以允许对象像数组一样被索引? +--- +C# 中的外部别名指令是什么?如何使用? +--- +在 C# 中,如何实现类型的显式转换运算符? +--- +在 C# 中,ref 和 out 关键字在参数传递中有什么区别? +--- +C# 中的 is 和 as 运算符如何使用?它们有什么区别? +--- +C# 中的 virtual 关键字有什么作用?以及如何进行方法的重写? +--- +什么是 C# 的隐藏?如何使用 new 关键字来隐藏继承的方法? +--- +在 C# 中处理异常时,throw 和 throw ex 有什么区别? +--- +如何在 C# 中实现一个抽象类?它与接口有什么不同? +--- +C# 中的 readonly 字段与 const 常量有什么区别? +--- +什么是 C# 中的预定义类型转换和用户定义的类型转换?如何实现用户定义的类型转换? +--- +在 C# 中,string 与 StringBuilder 有什么区别?什么时候应该使用 StringBuilder? +--- +C# 中的委托和事件有什么区别? +--- +什么是 C# 中的 volatile 关键字,什么时候需要使用它? +--- +如何在 C# 中定义和使用自定义属性? +--- +C# 中的 IEnumerable 和 IEnumerator 接口有什么区别和联系? +--- +C# 中的 lock 关键字是如何实现线程同步的? +--- +在 C# 中,Equals() 方法和 == 操作符在比较引用类型时有什么区别? +--- +在 C# 中,如何实现一个枚举类型的迭代? +--- +C# 的 params 关键字和可选参数有什么区别? +--- +什么是 C# 中的表达式树,它有什么用途? +--- +在 C# 中,typeof 和 GetType() 有什么区别? +--- +C# 中的静态构造函数何时被调用?它有什么作用? +--- +什么是 C# 的集合初始器?如何使用? +--- +在 C# 中,Array 和 ArrayList 有什么区别? +--- +C# 的 fixed 关键字在 unsafe 代码中有什么作用? +--- +什么是 C# 中的表达式主体成员?如何使用它们简化代码? +--- +在 C# 中,如何使用 LINQ 查询语法和方法语法来查询数据? +--- +C# 的 await 运算符只能用于返回 Task 的方法么?为什么? +--- +C# 的 dynamic 类型有哪些优点和缺点? +--- +在 C# 中,如何使用 in、ref、out 参数修饰符?分别有什么作用? +--- +什么是 C# 的协程?如何实现简单的协程功能? +--- +在 C# 中,Array.Copy() 和 Array.Clone() 有什么区别? +--- +什么是 C# 的 checked 和 unchecked 关键字?如何控制算术运算的溢出检测? +--- +在 C# 中,如何使用 nameof 运算符获取代码元素的名称字符串? +--- +什么是 C# 的 Guid 类型?如何生成全局唯一标识符? +--- +什么是 C# 中的元数据,如何通过反射获取类型的元数据? +--- +C# 的 string 是引用类型,为什么可以像值类型一样进行比较和赋值? +--- +什么是 C# 中的序列化和反序列化,如何实现对象的持久化? +--- +什么是 C# 的事件访问器?如何自定义事件的添加和移除行为? +--- +在 C# 中,如何使用异步流和 IAsyncEnumerable 接口? +--- +什么是 C# 的局部变量类型推断?什么时候应该使用 var? +--- +什么是 C# 的预定义委托类型(如 Action、Func、Predicate),如何使用它们? +--- +在 C# 中,如何使用协程和异步编程提高应用程序的性能? +--- +什么是 C# 的 Expression 类型?如何构建和编译动态表达式树? +--- +什么是 C# 中的泛型委托?如何定义和使用它? +--- +C# 中如何实现类型的比较?什么时候应该重写 Equals 和 GetHashCode 方法? +--- +C# 中的基类构造函数调用规则是什么?如何在派生类中调用基类的构造函数? +--- +C# 中,如何在编译时获取变量或类型的名称? +--- +在 C# 中,partial 方法的用途是什么?如何使用它? +--- +什么是 C# 中的数组协变,为什么数组是协变的? +--- +什么是 C# 中的显式实现接口成员,有什么应用场景? +--- +在 C# 中,如何使用 await 在 catch 和 finally 块中处理异步异常? +--- +什么是 C# 的泛型方法?如何定义和调用它? +--- +什么是 C# 的解构赋值?如何在元组和用户定义的类型中使用它? +--- +在 C# 中,如何实现类型的深拷贝和浅拷贝? +--- +什么是 C# 的默认接口成员实现?有哪些限制和注意事项? +--- +C# 有哪些集合类型?如何选择合适的集合类型? +--- +什么是 C# 中的闭包?如何在委托和匿名方法中使用它们? +--- +在 C# 中,如何捕获并处理未处理的异常? +--- +C# 的 String.Format 方法和字符串插值有什么区别? +--- +什么是 C# 的命名参数?如何在方法调用中使用它? +--- +在 C# 中,如何使用委托链调用多个方法? +--- +什么是 C# 的溢出检查? +--- +什么是 C# 中的动态对象,如何使用 ExpandoObject 和 DynamicObject 创建动态类型? +--- +在 C# 中,如何实现接口的显式实现,避免成员的命名冲突? +--- +C# 的条件操作符 ?? 和 ?: 有什么区别,分别怎么用? +--- +在 C# 中,如何使用 foreach 循环遍历自定义集合,需要实现哪些接口? +--- +什么是 C# 的自定义异常类?如何创建和使用它? +--- +在 C# 中,如何使用反射调用方法或访问字段? +--- +C# 中的异步编程模式和任务并行库之间有什么区别? +--- diff --git a/C# 并发面试题库.md b/C# 并发面试题库.md new file mode 100644 index 0000000..a3cdb00 --- /dev/null +++ b/C# 并发面试题库.md @@ -0,0 +1,186 @@ +什么是多线程编程?在 C# 中如何创建一个线程? +--- +在 C# 中,如何使用 Thread 类启动和停止线程? +--- +C# 中的 Thread.Sleep 方法有什么作用? +--- +在 C# 中,如何使用 lock 关键字实现线程同步? +--- +什么是死锁,如何避免在 C# 多线程编程中发生死锁? +--- +什么是线程池,如何在 C# 中使用它? +--- +C# 的 Task 类有什么作用?如何使用它进行异步操作? +--- +在 C# 中,如何使用 async 和 await 关键字实现异步编程? +--- +在 C# 中,如何使用 Thread.Join 方法,为什么需要它? +--- +C# 的 Thread.Priority 属性在多线程编程中有什么作用? +--- +什么是线程安全?C 中如何确保代码是线程安全的? +--- +在 C# 中,如何使用 Monitor 类实现线程同步? +--- +C# 中 Mutex 和 Semaphore 有什么区别?使用场景分别是什么? +--- +在 C# 中,如何使用 AutoResetEvent 和 ManualResetEvent 控制线程执行? +--- +什么是线程局部存储,如何在 C# 中使用? +--- +什么是 C# 的并行编程库,如何使用 Parallel 类? +--- +在 C# 中,如何使用 CancellationToken 取消异步操作? +--- +什么是 C# 中的线程上下文切换,对性能有什么影响? +--- +C# 的 Interlocked 类在多线程编程中有什么作用? +--- +在 C# 中,如何使用 SemaphoreSlim 控制并发访问? +--- +什么是异步方法的同步上下文,在 C# 中如何使用? +--- +C# 中的 Task.Run 和 Task.Factory.StartNew 有什么区别? +--- +在 C# 中,如何使用 ConcurrentDictionary 实现线程安全的集合? +--- +C# 的 async/await 底层是如何实现的? +--- +在 C# 中,如何处理异步方法中的异常? +--- +什么是并发和并行的区别?C 中如何实现并发和并行? +--- +C# 的 Task.WhenAll 和 Task.WhenAny 有哪些使用场景? +--- +在 C# 中,如何实现生产者-消费者模式? +--- +什么是并行 LINQ(PLINQ),如何在 C# 中使用它? +--- +C# 中的 BlockingCollection 类有什么作用?如何用于线程间通信? +--- +在 C# 中,volatile 关键字的作用是什么? +--- +什么是线程的后台和前台模式,C 中如何设置? +--- +什么是 C# 中的 ReaderWriterLockSlim?何时使用它? +--- +什么是 C# 的 SpinLock 和 SpinWait?在什么情况下使用它们? +--- +什么是 C# 异步编程中的上下文捕获?如何避免死锁? +--- +在 C# 中,如何使用 TaskCompletionSource 自定义任务的完成? +--- +什么是异步委托,如何在 C# 中使用它们? +--- +线程安全集合与非线程安全集合有什么区别?C 中如何使用它们? +--- +在 C# 中,如何检测和避免竞争条件? +--- +什么是信号量,如何在 C# 中使用它控制资源访问? +--- +C# 的 CountdownEvent 有什么作用?如何在多线程任务中使用? +--- +在 C# 中,如何使用 TaskScheduler 自定义任务调度? +--- +在 C# 中,如何使用 Lazy 实现线程安全的延迟初始化? +--- +什么是线程间通信,C 中有哪些方式可以实现? +--- +在 C# 中,如何实现线程间的事件通知机制? +--- +在 C# 中,如何使用 Parallel.For 和 Parallel.ForEach 进行并行循环? +--- +在 C# 中,如何使用异步流(IAsyncEnumerable)处理数据流? +--- +C# 的 Monitor.Wait、Monitor.Pulse、Monitor.PulseAll 分别有什么用法? +--- +在 C# 中,如何使用 Barrier 类同步多线程的执行步骤? +--- +C# 的 SemaphoreSlim 和 Semaphore 有什么区别? +--- +在 C# 中,如何使用 Task.WaitAll 和 Task.WaitAny? +--- +C# 中,如何实现线程安全的 Singleton 单例模式? +--- +在 C# 中,Task 和 ValueTask 有何区别,如何选择? +--- +C# 的 CancellationTokenSource 如何与 CancellationToken 协同工作? +--- +在 C# 中,如何使用 await 关键字等待多个异步操作的完成? +--- +C# 中,异步方法的返回类型可以定义为 void 么?有哪些注意事项? +--- +在 C# 中,如何使用 Interlocked.Exchange 实现线程安全的变量更新? +--- +在 C# 中,如何实现异步工厂方法? +--- +什么是线程安全的懒加载,如何在 C# 中实现? +--- +在 C# 中,如何使用 ConcurrentBag 实现线程安全的无序集合? +--- +在 C# 中,如何使用 Parallel.Invoke 并行执行多个操作? +--- +C# 的 ThreadPool.QueueUserWorkItem 有什么作用和使用场景? +--- +在 C# 中,如何使用 Task 和 await 实现异步递归调用? +--- +什么是 C# 的 Thread.Abort 方法?为什么应避免使用它? +--- +C# 异步编程中的 SynchronizationContext 是什么?如何避免上下文捕获导致的性能问题? +--- +什么是并发集合中的 ABA 问题,C 中如何解决? +--- +什么是 C# 中的内存屏障,它如何影响并发编程? +--- +什么是 .NET 的 TPL Dataflow 库,如何用于并发数据处理? +--- +什么是并发编程中的锁粒度,C 中如何优化锁的性能? +--- +C# 的 AsyncLocal 有什么作用?如何在异步方法中使用它? +--- +什么是线程上下文切换,C 中如何减少上下文切换的开销? +--- +C# 的 Thread.Yield 方法有什么作用?何时使用? +--- +什么是乐观并发控制和悲观并发控制,如何在 C# 中实现? +--- +什么是 C# 的 SpinLock?在什么场景下使用比 lock 更有效? +--- +什么是 C# 的 ManualResetEventSlim?它的性能优势是什么? +--- +什么是锁的竞争,C 中如何减少它? +--- +什么是 C# 的 ThreadStatic 属性,如何使用? +--- +在 C# 中,如何避免异步方法中的死锁问题? +--- +什么是 C# 的 Task.Yield 方法?何时需要使用? +--- +C# 中的内存模型对多线程编程有什么影响? +--- +如何在 C# 中实现线程池的自定义调整? +--- +在 C# 中,如何使用 System.Threading.Channels 实现高性能的生产者-消费者模式? +--- +什么是原子操作,C 中哪些操作是原子的? +--- +什么是并行编程中的负载均衡问题?如何在 C# 中解决? +--- +在 C# 中,如何使用 LockRecursionPolicy 控制锁的递归行为? +--- +什么是多线程编程中的内存可见性问题,如何在 C# 中解决? +--- +Parallel LINQ (PLINQ) 如何进行查询优化? +--- +什么是 C# 多线程编程中的活锁和饥饿问题? +--- +在 C# 中,如何使用 BlockingCollection 实现有限容量的缓冲区? +--- +什么是多线程编程中的假共享问题,C 中如何避免? +--- +C# 的 ThreadPool 工作原理是什么? +--- +C# 中 ConfigureAwait(true) 和 ConfigureAwait(false) 有什么区别? +--- +什么是多线程编程中的优先级反转,如何在 C# 中避免? +--- diff --git a/C# 底层原理面试题.md b/C# 底层原理面试题.md new file mode 100644 index 0000000..656bebc --- /dev/null +++ b/C# 底层原理面试题.md @@ -0,0 +1,114 @@ +什么是 C# 中的值类型和引用类型,它们的内存分配有何不同? +--- +在 C# 中,什么是装箱和拆箱,它们对性能有何影响? +--- +请解释 C# 的垃圾回收机制是如何工作的? +--- +什么是中间语言,C 代码是如何编译成 IL 的? +--- +在 C# 中,字符串的不可变性在底层是如何实现的? +--- +C# 中的委托在底层是如何实现的? +--- +请解释 C# 中的事件机制在底层是如何实现的? +--- +什么是 CLR(Common Language Runtime),它在 C# 程序执行中扮演什么角色? +--- +在 C# 中,lock 语句的底层实现是什么?如何避免死锁? +--- +什么是 C# 中的反射?其底层实现原理是什么? +--- +C# 的类型加载过程是怎样的?CLR 是如何加载类型的? +--- +在 C# 中,异常处理机制在底层是如何实现的? +--- +什么是 C# 中的元数据?它在程序集中有什么作用? +--- +在 C# 中,泛型的底层实现机制是什么? +--- +C# 中的动态类型在底层是如何实现的? +--- +什么是 C# 中的托管代码和非托管代码,它们在运行时有何区别? +--- +在 C# 中,async 和 await 异步编程模型的底层原理是什么? +--- +什么是 JIT 编译器?C 的 JIT 是如何工作的? +--- +C# 中的委托是如何实现多播的? +--- +在 C# 中,lambda 表达式的底层实现机制是什么? +--- +什么是 C# 中的字符串驻留?它是如何工作的? +--- +在 C# 中,foreach 循环的底层实现机制是什么? +--- +C# 中的 yield return 和迭代器方法在底层是如何实现的? +--- +什么是 C# 中的弱引用?其底层原理是什么? +--- +在 C# 中,using 语句的底层实现机制是什么? +--- +C# 中的可空类型在底层是如何实现的? +--- +C# 中的值类型(结构体)与引用类型在内存布局上有什么区别? +--- +C# 中的内存泄漏是如何产生的?如何检测和避免? +--- +在 C# 中,内存对齐和数据填充是如何处理的?它们对性能有何影响? +--- +什么是 C# 中的虚方法表?它在多态调用中如何发挥作用? +--- +什么是 CLR 的异常处理机制?它是如何捕获和处理异常的? +--- +在 C# 中,泛型在运行时是如何实现和处理的? +--- +C# 中的闭包在底层是如何实现的? +--- +C# 中的协程和异步方法在底层是怎么实现的? +--- +在 C# 中,lock 和其他同步原语在底层是如何实现的? +--- +C# 中的内存模型对多线程编程有什么影响? +--- +什么是 C# 中的内存屏障?它在并发编程中有什么作用? +--- +在 C# 中,volatile 关键字的底层实现原理是什么? +--- +C# 中的多线程同步原语(如 Monitor、Mutex)在底层是如何工作的? +--- +什么是 C# 中的尾调用优化?CLR 是否支持? +--- +在 C# 中,委托的协变和逆变在底层如何实现? +--- +C# 中的类型加载器是如何解析和加载类型的? +--- +什么是 C# 中的 IL?如何查看和理解编译后的 IL 指令? +--- +在 C# 中,CLR 是如何进行垃圾回收的?代(Generation)有什么作用? +--- +C# 的 async/await 异步模型的底层状态机是如何实现的? +--- +什么是 C# 中的托管堆和非托管堆?它们如何协同工作? +--- +在 C# 中,unsafe 代码块和指针在底层是如何工作的? +--- +C# 中的泛型类型在 IL 中是如何表示和处理的? +--- +什么是 C# 中的托管执行环境,它如何影响代码的运行? +--- +在 C# 中,字段和属性在 IL 中有何区别? +--- +C# 中的元数据头和元数据表在程序集中有什么作用? +--- +什么是 C# 中的代码访问安全性?它在底层是如何实现的? +--- +在 C# 中,异常的抛出和捕获在 IL 中是如何实现的? +--- +C# 的 MethodImpl 特性在底层的作用是什么? +--- +什么是 C# 中的元编程?如何利用它实现代码生成? +--- +什么是 IL.Emit,如何在 C# 中动态生成代码? +--- +请说明 C# 中的编译器优化,对程序性能有什么影响? +--- diff --git a/C# 框架面试题.md b/C# 框架面试题.md new file mode 100644 index 0000000..6f2de07 --- /dev/null +++ b/C# 框架面试题.md @@ -0,0 +1,110 @@ +什么是 .NET 运行时和 .NET 框架?它们之间有什么关系? +--- +在 C# 中,如何使用 ADO.NET 连接和操作数据库? +--- +什么是 ASP.NET Core?与 ASP.NET MVC 有什么区别? +--- +什么是 Blazor,在 C# 中如何使用它进行 Web 开发? +--- +在 C# 中,如何使用 SignalR 实现实时通信? +--- +什么是 .NET MAUI?它的主要功能是什么? +--- +Entity Framework Core 与 Entity Framework 6 有什么区别? +--- +在 C# 中,如何使用 Dapper 进行数据库访问? +--- +什么是 WCF,在 C# 中如何使用? +--- +在 C# 中,如何使用 AutoMapper 进行对象映射? +--- +在 ASP.NET Core 中,如何使用 Identity 进行身份认证和授权? +--- +在 .NET Core 中,如何使用配置系统读取应用设置? +--- +在 ASP.NET Core 中,如何实现跨域请求? +--- +什么是 ASP.NET Core 中的环境?如何根据环境配置应用程序? +--- +在 .NET 中,如何使用 ILogger 接口记录日志? +--- +在 Entity Framework Core 中,如何使用 Fluent API 配置实体? +--- +什么是 .NET Core 中的 Hosting Model?有哪些类型? +--- +在 ASP.NET Core 中,如何使用 gRPC 实现高性能的 RPC 通信? +--- +什么是 .NET Core 中的全局工具?如何创建和使用? +--- +在 ASP.NET Core 中,如何使用 Health Checks 实现健康检查? +--- +在 ASP.NET Core 中,如何使用 Response Compression Middleware 优化性能? +--- +什么是 ASP.NET Core 中的过滤器?有哪些类型? +--- +在 Entity Framework Core 中,如何进行数据库迁移? +--- +什么是 ASP.NET Core 中的依赖注入生命周期?如何选择合适的生命周期? +--- +在 .NET Core 中,如何使用 IHttpClientFactory 管理 HTTP 请求? +--- +什么是 .NET 中的中间件?如何在 ASP.NET Core 中创建自定义中间件? +--- +在 .NET Core 中,如何使用 Hosting Startup 实现程序集级别的服务注册? +--- +.NET Core 中的泛型主机和 Web 主机有什么区别? +--- +在 ASP.NET Core 中,如何实现自定义的模型绑定? +--- +什么是 .NET Core 中的 Host Builder,如何定制化它? +--- +在 .NET 中,如何进行性能分析和诊断,常用的工具有哪些? +--- +什么是 .NET 中的 AOT 编译,与 JIT 有何区别? +--- +请解释 .NET Core 中的内存管理机制,如何避免内存泄漏? +--- +在 .NET 中,如何使用 MassTransit 或 RabbitMQ 实现消息队列? +--- +什么是 ASP.NET Core 中的 Endpoint Routing,如何配置路由策略? +--- +在 .NET Core 中,如何使用 Microsoft.Extensions.Logging 进行日志记录? +--- +什么是 ASP.NET Core 中的 URL 重写和重定向策略? +--- +在 .NET Core 中,如何使用 GZipStream 或 BrotliStream 压缩数据? +--- +.NET 中有哪些 JSON 序列化库(如 Newtonsoft.Json),有什么区别? +--- +什么是 ASP.NET Core 中的认证中间件,如何配置? +--- +在 .NET 中,如何使用 OpenAPI/Swagger 生成 API 文档? +--- +什么是 .NET 中的 Data Annotations,如何用于模型验证? +--- +在 .NET Core 中,如何使用 gRPC-Web 支持浏览器客户端? +--- +ASP.NET Core 中的 HTTP 请求管道是如何构建的? +--- +在 .NET 中,如何使用 IdentityServer 实现 OAuth 2.0 和 OpenID Connect? +--- +什么是 .NET Core 中的通配符主机?如何配置? +--- +什么是 .NET 的 Mono 和 Xamarin?它们的作用是什么? +--- +在 .NET 中,如何使用 Orleans 框架构建分布式应用? +--- +什么是 .NET 的 Akka.NET,如何使用它实现 Actor 模型? +--- +请解释 .NET 的 Reactive Extensions(Rx.NET),如何处理异步数据流? +--- +在 .NET 中,如何使用 OWIN 构建中间件和 Web 应用? +--- +什么是 .NET 的 Nancy 框架,如何使用它构建 Web 应用? +--- +.NET 的 MAUI 框架与 Xamarin.Forms 有什么区别? +--- +在 .NET 中,如何使用 MediatR 实现中介者模式? +--- +什么是 .NET 的 CAP 框架?如何实现分布式事务? +--- diff --git a/C# 集合面试题.md b/C# 集合面试题.md new file mode 100644 index 0000000..483b80b --- /dev/null +++ b/C# 集合面试题.md @@ -0,0 +1,224 @@ +在 C# 中,List 和数组有什么区别,何时应该使用 List? +--- +如何在 C# 中初始化并遍历一个 Dictionary? +--- +请解释 C# 中的 ArrayList 是什么,它与 List 有何不同? +--- +在 C# 中,HashSet 有什么特点,适用于哪些场景? +--- +如何在 C# 中使用 Queue,它的典型应用是什么? +--- +C# 中的 Stack 数据结构如何使用,有哪些常见操作? +--- +什么是 C# 中的集合初始化器,如何使用它们来初始化集合? +--- +在 C# 中,IEnumerable 和 IEnumerator 接口有什么区别? +--- +如何在 C# 中实现自定义集合,使其支持 foreach 循环遍历? +--- +请解释 C# 中的 LinkedList,它与 List 有何区别? +--- +在 C# 中,如何将数组转换为 List? +--- +什么是 C# 中的多维数组和交错数组(锯齿数组),它们有何区别? +--- +如何检查 C# 中的 List 是否包含特定元素? +--- +在 C# 中,如何从 List 中移除所有元素? +--- +C# 中 List 的 Capacity 属性有什么作用? +--- +C# 中,如何使用自定义比较器对 List 进行排序? +--- +在 C# 中,ICollection 和 IList 接口有什么区别? +--- +如何反转 C# 中 List 的元素顺序? +--- +在 C# 中,如何找到 List 中某个元素的索引位置? +--- +C# 中 List 的 IndexOf 方法有什么作用? +--- +C# 中的 Array.Resize 方法有什么作用? +--- +在 C# 中,如何将 List 转换为数组? +--- +什么是 C# 中的 BitArray,如何进行位操作? +--- +在 C# 中,如何合并两个集合? +--- +C# 中的 IQueryable 接口与 IEnumerable 有什么区别? +--- +在 C# 中,如何选择合适的集合类型来优化性能和内存使用? +--- +什么是 C# 中的 ObservableCollection?它在数据绑定中有何作用? +--- +如何在 C# 中使用 SortedList,它与 Dictionary 有何不同? +--- +什么是 C# 中的 ConcurrentDictionary?它如何实现线程安全? +--- +在 C# 中,ImmutableList 有什么特点,适用于哪些场景? +--- +什么是 C# 中的 BlockingCollection,它如何支持生产者-消费者模型? +--- +如何在 C# 中使用 SortedSet?它与 HashSet 有何区别? +--- +在 C# 中,List 和 LinkedList 的插入和删除操作性能有什么区别? +--- +什么是 C# 中的 NameValueCollection?如何使用它存储键值对? +--- +C# 中的 Queue 和 ConcurrentQueue 有什么区别?何时使用后者? +--- +在 C# 中,如何使用 LINQ 查询对集合进行过滤和投影操作? +--- +什么是 C# 中 Dictionary 的哈希冲突,如何处理? +--- +如何在 C# 中实现集合的并集、交集和差集操作? +--- +什么是 C# 中的 ReadOnlyCollection?如何创建只读集合? +--- +在 C# 中,如何管理 Array 和 List 的容量?什么时候需要手动调整容量? +--- +什么是 C# 中的 KeyedCollection?如何使用它? +--- +如何在 C# 中使用 IObservable 和 IObserver 接口实现观察者模式? +--- +什么是 C# 的 ConcurrentBag?它适用于哪些并发场景? +--- +在 C# 中,Stack 和 ConcurrentStack 有什么区别?何时使用并发版本? +--- +什么是 C# 中的 PriorityQueue?如何使用? +--- +如何在 C# 中使用 ImmutableDictionary?它的不可变性有何优势? +--- +C# 中的 Enumerable.Range 和 Enumerable.Repeat 方法分别有什么作用? +--- +在 C# 中,如何利用 GroupBy 方法对集合进行分组? +--- +什么是 C# 中的集合延迟执行?如何利用它提高性能? +--- +如何在 C# 中实现集合的分页功能? +--- +C# 中的 List.ForEach 方法与传统的 foreach 循环有什么区别? +--- +在 C# 中,Dictionary 如何处理键的相等性判断? +--- +什么是 C# 中的 ILookup 接口?如何创建和使用它? +--- +如何在 C# 中使用 ToLookup 方法,将集合转换为按键分组的查找表? +--- +C# 中的 Enumerable.Zip 方法有什么作用?如何合并两个序列? +--- +在 C# 中,如何使用 OrderBy、ThenBy 方法对集合进行多级排序? +--- +什么是 C# 中的 IOrderedEnumerable?如何在排序后继续操作集合? +--- +如何在 C# 中检测集合中的重复项? +--- +C# 中,如何对集合进行聚合操作? +--- +什么是 C# 中的 ReadOnlyDictionary?如何创建和使用它? +--- +如何在 C# 中实现自定义集合的序列化和反序列化? +--- +什么是 C# 中的 ImmutableArray?何时应该使用它? +--- +在 C# 中,如何使用 SelectMany 方法将嵌套集合展开? +--- +什么是 C# 中的 BlockingCollection 的 GetConsumingEnumerable 方法?如何使用它? +--- +如何在 C# 中实现集合的线程安全遍历? +--- +什么是 C# 中的 OrderedDictionary?它与 Dictionary 有什么区别? +--- +在 C# 中,如何使用 Partitioner 类对集合进行并行处理? +--- +什么是 C# 的 ILazyEnumerable?如何实现延迟初始化的集合? +--- +如何在 C# 中使用 ISet 接口?哪些集合类型实现了该接口? +--- +C# 中的 LINQ to Objects 是如何操作内存集合的? +--- +在 C# 中,如何使用 BufferBlock 实现集合的异步并行处理? +--- +什么是 C# 中的 IProducerConsumerCollection 接口?如何实现生产者-消费者集合? +--- +如何在 C# 中创建一个线程安全且高性能的集合? +--- +C# 中的 Enumerable.Except 方法有什么作用? +--- +在 C# 中,ConcurrentBag 如何保证元素的无序性和线程安全性? +--- +什么是 C# 中的 Lazy,如何与集合结合使用实现延迟加载? +--- +如何在 C# 中使用 ObservableCollection 监控集合的变化? +--- +C# 中的 ReadOnlyObservableCollection 有什么作用? +--- +在 C# 中,如何实现集合的深拷贝? +--- +什么是 C# 中的 HybridDictionary?它在什么情况下使用? +--- +如何在 C# 中对集合进行批量操作,例如批量添加或删除? +--- +什么是 C# 中的 Index 和 Range 结构体?如何在集合中使用它们? +--- +在 C# 中,如何使用 ArraySegment 对数组进行切片操作? +--- +什么是 C# 中的 StringCollection?如何在集合中处理字符串? +--- +如何在 C# 中实现集合的自定义排序? +--- +C# 中的 IEnumerator 接口如何支持集合的迭代? +--- +在 C# 中,Hashtable 与 Dictionary 有什么区别? +--- +什么是 C# 中的 ListDictionary,它适用于什么场景? +--- +如何在 C# 中实现集合的缓存机制? +--- +C# 中的 ConcurrentObservableCollection 是什么?它如何支持线程安全的观察者模式? +--- +在 C# 中,如何使用 Memory 和 Span 对集合进行高性能操作? +--- +什么是 C# 中的多维数组和交错数组(锯齿数组),如何声明和使用它们? +--- +什么是 C# 中的 WeakReference?如何在集合中使用弱引用防止内存泄漏? +--- +C# 中,Dictionary 的内部工作机制是怎样的? +--- +C# 的垃圾回收器如何管理集合的内存? +--- +如何在 C# 中实现支持 LINQ 查询的自定义集合类? +--- +在 C# 中,不同集合类型在多线程环境下的性能有何影响? +--- +如何在 C# 中实现无锁的线程安全集合? +--- +如何为 C# 中的复杂集合类型实现自定义序列化? +--- +在 C# 中,List、Dictionary 等常用操作的时间复杂度是多少? +--- +C# 中的 HashSet 内部如何处理哈希冲突? +--- +C# 中的 GetHashCode 方法如何影响 Dictionary 和 HashSet 等集合的行为? +--- +C# 中泛型集合的协变和逆变是什么,有什么区别? +--- +如何在 C# 中使用 yield 关键字实现自定义迭代器,有哪些注意事项? +--- +如何在高性能应用中使用内存池优化 C# 集合的使用? +--- +C# 中,如何实现支持模式匹配的自定义集合类型? +--- +在 C# 中,如何实现支持单个元素更改通知的集合? +--- +C# 中的 Memory 和 Span 如何用于提升集合操作的性能? +--- +如何对 C# 的集合进行内存和性能优化,例如使用虚拟列表来处理大型集合? +--- +什么是 C# 中的 ImmutableHashSet,它如何保证集合的不可变性? +--- +如何在 C# 中实现自定义的线程安全集合,且不使用现有的并发集合类型? +--- +什么是 C# 中的 ArrayPool?如何使用它来减少集合分配的开销? +--- diff --git a/C# 面向对象面试题.md b/C# 面向对象面试题.md new file mode 100644 index 0000000..76424ae --- /dev/null +++ b/C# 面向对象面试题.md @@ -0,0 +1,122 @@ +什么是面向对象编程,C 中的 OOP 有哪些基本特征? +--- +在 C# 中,如何定义一个类和创建对象实例? +--- +请解释 C# 中的封装概念,有何作用? +--- +什么是继承,在 C# 中如何实现继承关系? +--- +在 C# 中,什么是多态?如何实现编译时多态和运行时多态? +--- +C# 中的抽象类和接口有什么区别?分别有哪些应用场景? +--- +在 C# 中,什么是方法重载和方法重写? +--- +如何在 C# 中实现接口,有哪些注意事项? +--- +C# 中有哪些访问修饰符,它们的作用是什么? +--- +什么是静态成员,如何在 C# 中使用静态成员? +--- +在 C# 中,如何使用构造函数和析构函数? +--- +请解释 C# 中的属性是什么,有什么作用? +--- +什么是封装的优点,在 C# 编程中如何体现封装性? +--- +在 C# 中,类支持多重继承吗?如果不支持,如何实现类似的功能? +--- +C# 中的虚方法和抽象方法有什么区别? +--- +什么是构造函数重载,如何在 C# 中实现? +--- +在 C# 中,什么是密封类和密封方法? +--- +this 关键字在 C# 中有什么作用? +--- +在 C# 中,什么是基类和派生类? +--- +在 C# 中,如何实现类的扩展? +--- +如何在 C# 中实现依赖注入? +--- +什么是设计模式,在 C# 中常用的设计模式有哪些? +--- +在 C# 中,如何实现单例模式? +--- +C# 中的委托和事件在面向对象编程中有什么作用? +--- +如何在 C# 中实现多态性的重写和重载? +--- +什么是 SOLID 原则,在 C# 开发中如何应用? +--- +在 C# 中,什么是耦合和内聚,如何设计高内聚低耦合的系统? +--- +什么是里氏替换原则?C 中如何运用该原则? +--- +什么是依赖倒置原则?C 中如何运用该原则? +--- +如何在 C# 中实现组合和聚合关系? +--- +什么是 C# 中的泛型?它如何支持面向对象编程? +--- +如何在 C# 中使用反射获取对象的类型信息? +--- +什么是 C# 中的委托链和多播委托? +--- +在 C# 中,什么是扩展方法?如何实现? +--- +如何在 C# 中实现事件的订阅和解除订阅? +--- +什么是设计模式中的工厂模式,在 C# 中如何实现? +--- +在 C# 中,如何实现一个自定义的序列化机制? +--- +请解释 C# 中的元编程概念,如何利用它增强面向对象编程? +--- +在 C# 中,如何利用反射和动态代理实现 AOP(面向切面编程)? +--- +什么是延迟加载,如何在 C# 中实现它? +--- +在 C# 中,如何实现面向对象的设计原则中的开闭原则? +--- +什么是 C# 中的依赖属性?在 WPF 开发中有何作用? +--- +在 C# 中,如何利用特性和反射来实现自定义框架? +--- +什么是 SOLID 原则中的接口隔离原则,如何在 C# 中应用? +--- +在 C# 中,如何设计一个插件式架构,实现动态加载程序集? +--- +在 C# 中,如何实现线程安全的单例模式? +--- +在 C# 中,如何使用泛型约束实现更强的类型安全? +--- +在 C# 中,如何实现观察者模式? +--- +什么是模板方法模式?如何应用于 C# 项目中? +--- +在 C# 中,如何利用接口和依赖注入实现可测试的代码? +--- +什么是领域驱动设计(DDD),在 C# 中如何实践? +--- +在 C# 中,如何实现策略模式? +--- +在 C# 中,如何利用面向对象的多态性实现灵活的系统架构? +--- +在 C# 中,如何实现工厂方法模式和抽象工厂模式? +--- +在 C# 中,如何利用事件和委托实现观察者模式的变体? +--- +什么是 C# 中的双分派?如何实现? +--- +在 C# 中,如何实现接口的显式和隐式实现,何时使用? +--- +C# 中的协变和逆变在委托和泛型接口中的实现原理是什么? +--- +C# 中的内存管理机制、对象的生命周期如何影响面向对象设计? +--- +什么是 C# 中的元类?如何在项目中应用? +--- +在 C# 中,如何实现 CQRS(命令查询职责分离)模式? +--- diff --git a/C# 面试题.md b/C# 面试题.md new file mode 100644 index 0000000..5170353 --- /dev/null +++ b/C# 面试题.md @@ -0,0 +1,1392 @@ +C# 中的值类型和引用类型有什么区别? +--- +请解释一下 C# 中的 foreach 循环是如何使用的? +--- +如何在 C# 中声明和使用数组? +--- +C# 中的字符串是不可变的吗?为什么? +--- +C# 中的可空类型是什么? +--- +在 C# 中,如何使用命名空间来组织代码? +--- +什么是 C# 中的委托,它的基本用法是什么? +--- +C# 中的 using 语句有什么作用? +--- +如何在 C# 中定义和调用方法(函数)? +--- +C# 中的 var 关键字有什么作用? +--- +请解释 C# 中的条件运算符 ?: 是如何工作的? +--- +在 C# 中,const 和 readonly 有什么区别? +--- +什么是 C# 中的结构(struct),它与类有什么区别? +--- +什么是 C# 的异常处理机制,如何使用 try-catch 语句? +--- +如何在 C# 中使用接口? +--- +C# 中的可变参数列表(params 关键字)是如何使用的? +--- +如何在 C# 中实现一个枚举,并在代码中使用它? +--- +什么是 C# 中的访问修饰符?public、private、protected、internal 和 protected internal 有什么区别? +--- +在 C# 中,如何使用 this 关键字?它有哪些应用场景? +--- +在 C# 中,public、private、protected 修饰符分别有什么作用? +--- +在 C# 中,break、continue 和 goto 语句的作用是什么? +--- +什么是 C# 的条件编译指令 region 和 endregion,它们有什么作用? +--- +C# 的隐式类型转换和显式类型转换有什么区别? +--- +在 C# 中,如何使用 using 指令来引用命名空间? +--- +什么是 C# 中的 System.Object?它在面向对象编程中有什么作用? +--- +什么是 C# 中的预处理器指令 if 和 endif,如何使用它们进行条件编译? +--- +什么是 C# 中的无符号整数类型,如何声明和使用它? +--- +在 C# 中,readonly 和 const 字段能否在运行时修改? +--- +C# 中的静态成员和实例成员有什么区别,如何访问它们? +--- +什么是 C# 中的匿名函数,如何使用它? +--- +在 C# 中,如何使用 goto 语句,有哪些注意事项? +--- +什么是 C# 中的基元类型?请列举一些常见的基元类型 +--- +什么是 C# 中,条件逻辑运算符 && 和 || 的短路特性? +--- +什么是 C# 中的可空类型?如何判断一个可空类型是否有值? +--- +什么是 C# 的默认参数值?如何在方法中使用它们? +--- +请描述 C# 中的事件机制是如何实现的? +--- +在 C# 中,什么是 Lambda 表达式,它的用法是什么? +--- +C# 中的异步编程是如何实现的,async 和 await 关键字的作用是什么? +--- +什么是扩展方法,它在 C# 中是如何实现的? +--- +什么是 LINQ,如何在 C# 中使用它? +--- +C# 中的匿名类型是什么,有什么用处? +--- +什么是 C# 中的泛型,如何使用它? +--- +在 C# 中,如何实现接口的显式实现? +--- +C# 中的迭代器(iterator)和 yield 关键字有什么作用? +--- +请解释 C# 中的动态类型是什么,什么时候使用它? +--- +什么是 C# 中的属性,它与字段有什么区别? +--- +C# 中的索引器是如何工作的? +--- +C# 中的元组是什么,如何使用? +--- +在 C# 中,如何实现操作符重载? +--- +什么是 C# 中的可空引用类型?它有什么作用? +--- +如何在 C# 中使用反射来获取类型信息? +--- +什么是 C# 中的特性(Attribute),如何自定义和应用特性? +--- +C# 中的动态语言功能(如 dynamic 关键字),与静态类型有什么区别? +--- +什么是 C# 中的可迭代对象?如何实现它? +--- +在 C# 中,如何实现多线程编程,Task 和 Thread 有什么区别? +--- +什么是 C# 中的默认接口方法? +--- +如何在 C# 中使用指针(unsafe 代码块)? +--- +C# 的 partial 关键字有什么作用? +--- +C# 中的预处理器指令(如 define、if 等)如何使用? +--- +C# 中 sealed 关键字的作用是什么,如何使用? +--- +什么是 C# 中的协变和逆变? +--- +C# 中的静态构造函数有什么作用? +--- +如何在 C# 中实现自定义异常? +--- +在 C# 中,lock 语句的作用是什么,如何使用它来避免线程同步问题? +--- +什么是 C# 的 async Main 方法,有什么作用? +--- +C# 中的默认参数值和命名参数是如何使用的? +--- +什么是 C# 的局部函数,它的作用是什么? +--- +什么是 C# 的条件编译符号?如何使用它? +--- +C# 的匿名方法和 Lambda 表达式之间有什么关系? +--- +在 C# 中,什么时候应该使用抽象类而不是接口? +--- +如何使用 C# 的静态类和静态成员? +--- +什么是 C# 中的装箱和拆箱,它们对性能有什么影响? +--- +在 C# 中,使用 using 语句管理资源的原理是什么? +--- +如何在 C# 中实现一个单例模式? +--- +如何使用 C# 的条件访问运算符(?.)和空合并运算符(??)? +--- +什么是 C# 中的元组解构?如何使用? +--- +在 C# 中,nameof 运算符的作用是什么,如何使用? +--- +C# 中的动态绑定和静态绑定有什么区别? +--- +如何在 C# 中实现事件的订阅和解除订阅? +--- +C# 中的字符串插值是如何实现的? +--- +C# 的位移运算符 << 和 >> 如何使用? +--- +在 C# 中,如何使用 dynamic 类型处理 COM 对象或动态语言运行时? +--- +C# 的初始器语法是怎样的?比如集合初始器 +--- +C# 中如何实现隐式类型转换和显式类型转换? +--- +什么是 C# 的 nullable 上下文?如何控制它? +--- +在 C# 中,如何使用参数化属性(索引器带参数)? +--- +C# 中的自定义迭代器与 yield return/yield break 的用法是什么? +--- +C# 中的枚举类型可以使用 Flags 特性来实现位域操作吗?如何实现? +--- +在 C# 中,什么时候会发生方法的重载和重写? +--- +C# 中的默认字面量是什么?如何使用? +--- +在 C# 中,如何使用静态导入? +--- +什么是 C# 中的空指针异常,如何防止它? +--- +如何在 C# 中使用泛型约束? +--- +C# 中的异常过滤器是如何工作的? +--- +什么是 C# 中的模式匹配?如何使用它? +--- +C# 中的 switch 表达式和传统的 switch 语句之间有什么区别? +--- +什么是 C# 中的异步匿名方法?如何使用它们? +--- +在 C# 中,如何使用 using 声明来管理资源? +--- +C# 的静态局部函数是什么?它有什么作用? +--- +C# 中的默认接口实现如何影响接口的设计? +--- +什么是 C# 中的空合并赋值运算符(??=),如何使用? +--- +在 C# 中,如何使用索引和范围操作符? +--- +C# 中自定义操作符重载需要注意哪些问题? +--- +C# 中的 record 类型是什么?如何使用它? +--- +什么是 C# 9 中的初始化器特性,例如 init 关键字? +--- +C# 的扩展方法在静态类中的定义规则是什么? +--- +什么是 C# 中的全局命名空间?如何使用它? +--- +在 C# 中,如何利用反射创建对象实例? +--- +C# 的可变和不可变类型有什么区别? +--- +什么是 C# 中的多播委托?如何使用它? +--- +在 C# 中,如何实现自定义索引器以支持多维索引? +--- +C# 中的 try-finally 语句与 using 语句之间的区别是什么? +--- +什么是 C# 中的隐式类型局部变量?如何使用它? +--- +在 C# 中,如何定义一个方法的可选参数? +--- +C# 中的可变参数数组与可选参数有什么区别? +--- +什么是 C# 中的委托的协变和逆变? +--- +在 C# 中,如何实现事件的线程安全? +--- +C# 中的结构能否有无参数构造函数?为什么? +--- +在 C# 中,如何为泛型类型参数添加多个约束? +--- +C# 中的可空值类型与可空引用类型有什么区别? +--- +在 C# 中,async 方法可以没有 await 关键字吗?为什么? +--- +C# 的事件处理程序为什么使用 += 和 -= 操作符? +--- +在 C# 中,如何阻止方法被子类重写? +--- +C# 中的局部静态变量是什么? +--- +在 C# 中,如何在类中实现索引器以允许对象像数组一样被索引? +--- +C# 中的外部别名指令是什么?如何使用? +--- +在 C# 中,如何实现类型的显式转换运算符? +--- +在 C# 中,ref 和 out 关键字在参数传递中有什么区别? +--- +C# 中的 is 和 as 运算符如何使用?它们有什么区别? +--- +C# 中的 virtual 关键字有什么作用?以及如何进行方法的重写? +--- +什么是 C# 的隐藏?如何使用 new 关键字来隐藏继承的方法? +--- +在 C# 中处理异常时,throw 和 throw ex 有什么区别? +--- +如何在 C# 中实现一个抽象类?它与接口有什么不同? +--- +C# 中的 readonly 字段与 const 常量有什么区别? +--- +什么是 C# 中的预定义类型转换和用户定义的类型转换?如何实现用户定义的类型转换? +--- +在 C# 中,string 与 StringBuilder 有什么区别?什么时候应该使用 StringBuilder? +--- +C# 中的委托和事件有什么区别? +--- +什么是 C# 中的 volatile 关键字,什么时候需要使用它? +--- +如何在 C# 中定义和使用自定义属性? +--- +C# 中的 IEnumerable 和 IEnumerator 接口有什么区别和联系? +--- +C# 中的 lock 关键字是如何实现线程同步的? +--- +在 C# 中,Equals() 方法和 == 操作符在比较引用类型时有什么区别? +--- +在 C# 中,如何实现一个枚举类型的迭代? +--- +C# 的 params 关键字和可选参数有什么区别? +--- +什么是 C# 中的表达式树,它有什么用途? +--- +在 C# 中,typeof 和 GetType() 有什么区别? +--- +C# 中的静态构造函数何时被调用?它有什么作用? +--- +什么是 C# 的集合初始器?如何使用? +--- +在 C# 中,Array 和 ArrayList 有什么区别? +--- +C# 的 fixed 关键字在 unsafe 代码中有什么作用? +--- +什么是 C# 中的表达式主体成员?如何使用它们简化代码? +--- +在 C# 中,如何使用 LINQ 查询语法和方法语法来查询数据? +--- +C# 的 await 运算符只能用于返回 Task 的方法么?为什么? +--- +C# 的 dynamic 类型有哪些优点和缺点? +--- +在 C# 中,如何使用 in、ref、out 参数修饰符?分别有什么作用? +--- +什么是 C# 的协程?如何实现简单的协程功能? +--- +在 C# 中,Array.Copy() 和 Array.Clone() 有什么区别? +--- +什么是 C# 的 checked 和 unchecked 关键字?如何控制算术运算的溢出检测? +--- +在 C# 中,如何使用 nameof 运算符获取代码元素的名称字符串? +--- +什么是 C# 的 Guid 类型?如何生成全局唯一标识符? +--- +什么是 C# 中的元数据,如何通过反射获取类型的元数据? +--- +C# 的 string 是引用类型,为什么可以像值类型一样进行比较和赋值? +--- +什么是 C# 中的序列化和反序列化,如何实现对象的持久化? +--- +什么是 C# 的事件访问器?如何自定义事件的添加和移除行为? +--- +在 C# 中,如何使用异步流和 IAsyncEnumerable 接口? +--- +什么是 C# 的局部变量类型推断?什么时候应该使用 var? +--- +什么是 C# 的预定义委托类型(如 Action、Func、Predicate),如何使用它们? +--- +在 C# 中,如何使用协程和异步编程提高应用程序的性能? +--- +什么是 C# 的 Expression 类型?如何构建和编译动态表达式树? +--- +什么是 C# 中的泛型委托?如何定义和使用它? +--- +C# 中如何实现类型的比较?什么时候应该重写 Equals 和 GetHashCode 方法? +--- +C# 中的基类构造函数调用规则是什么?如何在派生类中调用基类的构造函数? +--- +C# 中,如何在编译时获取变量或类型的名称? +--- +在 C# 中,partial 方法的用途是什么?如何使用它? +--- +什么是 C# 中的数组协变,为什么数组是协变的? +--- +什么是 C# 中的显式实现接口成员,有什么应用场景? +--- +在 C# 中,如何使用 await 在 catch 和 finally 块中处理异步异常? +--- +什么是 C# 的泛型方法?如何定义和调用它? +--- +什么是 C# 的解构赋值?如何在元组和用户定义的类型中使用它? +--- +在 C# 中,如何实现类型的深拷贝和浅拷贝? +--- +什么是 C# 的默认接口成员实现?有哪些限制和注意事项? +--- +C# 有哪些集合类型?如何选择合适的集合类型? +--- +什么是 C# 中的闭包?如何在委托和匿名方法中使用它们? +--- +在 C# 中,如何捕获并处理未处理的异常? +--- +C# 的 String.Format 方法和字符串插值有什么区别? +--- +什么是 C# 的命名参数?如何在方法调用中使用它? +--- +在 C# 中,如何使用委托链调用多个方法? +--- +什么是 C# 的溢出检查? +--- +什么是 C# 中的动态对象,如何使用 ExpandoObject 和 DynamicObject 创建动态类型? +--- +在 C# 中,如何实现接口的显式实现,避免成员的命名冲突? +--- +C# 的条件操作符 ?? 和 ?: 有什么区别,分别怎么用? +--- +在 C# 中,如何使用 foreach 循环遍历自定义集合,需要实现哪些接口? +--- +什么是 C# 的自定义异常类?如何创建和使用它? +--- +在 C# 中,如何使用反射调用方法或访问字段? +--- +C# 中的异步编程模式和任务并行库之间有什么区别? +--- +在 C# 中,List 和数组有什么区别,何时应该使用 List? +--- +如何在 C# 中初始化并遍历一个 Dictionary? +--- +请解释 C# 中的 ArrayList 是什么,它与 List 有何不同? +--- +在 C# 中,HashSet 有什么特点,适用于哪些场景? +--- +如何在 C# 中使用 Queue,它的典型应用是什么? +--- +C# 中的 Stack 数据结构如何使用,有哪些常见操作? +--- +什么是 C# 中的集合初始化器,如何使用它们来初始化集合? +--- +在 C# 中,IEnumerable 和 IEnumerator 接口有什么区别? +--- +如何在 C# 中实现自定义集合,使其支持 foreach 循环遍历? +--- +请解释 C# 中的 LinkedList,它与 List 有何区别? +--- +在 C# 中,如何将数组转换为 List? +--- +什么是 C# 中的多维数组和交错数组(锯齿数组),它们有何区别? +--- +如何检查 C# 中的 List 是否包含特定元素? +--- +在 C# 中,如何从 List 中移除所有元素? +--- +C# 中 List 的 Capacity 属性有什么作用? +--- +C# 中,如何使用自定义比较器对 List 进行排序? +--- +在 C# 中,ICollection 和 IList 接口有什么区别? +--- +如何反转 C# 中 List 的元素顺序? +--- +在 C# 中,如何找到 List 中某个元素的索引位置? +--- +C# 中 List 的 IndexOf 方法有什么作用? +--- +C# 中的 Array.Resize 方法有什么作用? +--- +在 C# 中,如何将 List 转换为数组? +--- +什么是 C# 中的 BitArray,如何进行位操作? +--- +在 C# 中,如何合并两个集合? +--- +C# 中的 IQueryable 接口与 IEnumerable 有什么区别? +--- +在 C# 中,如何选择合适的集合类型来优化性能和内存使用? +--- +什么是 C# 中的 ObservableCollection?它在数据绑定中有何作用? +--- +如何在 C# 中使用 SortedList,它与 Dictionary 有何不同? +--- +什么是 C# 中的 ConcurrentDictionary?它如何实现线程安全? +--- +在 C# 中,ImmutableList 有什么特点,适用于哪些场景? +--- +什么是 C# 中的 BlockingCollection,它如何支持生产者-消费者模型? +--- +如何在 C# 中使用 SortedSet?它与 HashSet 有何区别? +--- +在 C# 中,List 和 LinkedList 的插入和删除操作性能有什么区别? +--- +什么是 C# 中的 NameValueCollection?如何使用它存储键值对? +--- +C# 中的 Queue 和 ConcurrentQueue 有什么区别?何时使用后者? +--- +在 C# 中,如何使用 LINQ 查询对集合进行过滤和投影操作? +--- +什么是 C# 中 Dictionary 的哈希冲突,如何处理? +--- +如何在 C# 中实现集合的并集、交集和差集操作? +--- +什么是 C# 中的 ReadOnlyCollection?如何创建只读集合? +--- +在 C# 中,如何管理 Array 和 List 的容量?什么时候需要手动调整容量? +--- +什么是 C# 中的 KeyedCollection?如何使用它? +--- +如何在 C# 中使用 IObservable 和 IObserver 接口实现观察者模式? +--- +什么是 C# 的 ConcurrentBag?它适用于哪些并发场景? +--- +在 C# 中,Stack 和 ConcurrentStack 有什么区别?何时使用并发版本? +--- +什么是 C# 中的 PriorityQueue?如何使用? +--- +如何在 C# 中使用 ImmutableDictionary?它的不可变性有何优势? +--- +C# 中的 Enumerable.Range 和 Enumerable.Repeat 方法分别有什么作用? +--- +在 C# 中,如何利用 GroupBy 方法对集合进行分组? +--- +什么是 C# 中的集合延迟执行?如何利用它提高性能? +--- +如何在 C# 中实现集合的分页功能? +--- +C# 中的 List.ForEach 方法与传统的 foreach 循环有什么区别? +--- +在 C# 中,Dictionary 如何处理键的相等性判断? +--- +什么是 C# 中的 ILookup 接口?如何创建和使用它? +--- +如何在 C# 中使用 ToLookup 方法,将集合转换为按键分组的查找表? +--- +C# 中的 Enumerable.Zip 方法有什么作用?如何合并两个序列? +--- +在 C# 中,如何使用 OrderBy、ThenBy 方法对集合进行多级排序? +--- +什么是 C# 中的 IOrderedEnumerable?如何在排序后继续操作集合? +--- +如何在 C# 中检测集合中的重复项? +--- +C# 中,如何对集合进行聚合操作? +--- +什么是 C# 中的 ReadOnlyDictionary?如何创建和使用它? +--- +如何在 C# 中实现自定义集合的序列化和反序列化? +--- +什么是 C# 中的 ImmutableArray?何时应该使用它? +--- +在 C# 中,如何使用 SelectMany 方法将嵌套集合展开? +--- +什么是 C# 中的 BlockingCollection 的 GetConsumingEnumerable 方法?如何使用它? +--- +如何在 C# 中实现集合的线程安全遍历? +--- +什么是 C# 中的 OrderedDictionary?它与 Dictionary 有什么区别? +--- +在 C# 中,如何使用 Partitioner 类对集合进行并行处理? +--- +什么是 C# 的 ILazyEnumerable?如何实现延迟初始化的集合? +--- +如何在 C# 中使用 ISet 接口?哪些集合类型实现了该接口? +--- +C# 中的 LINQ to Objects 是如何操作内存集合的? +--- +在 C# 中,如何使用 BufferBlock 实现集合的异步并行处理? +--- +什么是 C# 中的 IProducerConsumerCollection 接口?如何实现生产者-消费者集合? +--- +如何在 C# 中创建一个线程安全且高性能的集合? +--- +C# 中的 Enumerable.Except 方法有什么作用? +--- +在 C# 中,ConcurrentBag 如何保证元素的无序性和线程安全性? +--- +什么是 C# 中的 Lazy,如何与集合结合使用实现延迟加载? +--- +如何在 C# 中使用 ObservableCollection 监控集合的变化? +--- +C# 中的 ReadOnlyObservableCollection 有什么作用? +--- +在 C# 中,如何实现集合的深拷贝? +--- +什么是 C# 中的 HybridDictionary?它在什么情况下使用? +--- +如何在 C# 中对集合进行批量操作,例如批量添加或删除? +--- +什么是 C# 中的 Index 和 Range 结构体?如何在集合中使用它们? +--- +在 C# 中,如何使用 ArraySegment 对数组进行切片操作? +--- +什么是 C# 中的 StringCollection?如何在集合中处理字符串? +--- +如何在 C# 中实现集合的自定义排序? +--- +C# 中的 IEnumerator 接口如何支持集合的迭代? +--- +在 C# 中,Hashtable 与 Dictionary 有什么区别? +--- +什么是 C# 中的 ListDictionary,它适用于什么场景? +--- +如何在 C# 中实现集合的缓存机制? +--- +C# 中的 ConcurrentObservableCollection 是什么?它如何支持线程安全的观察者模式? +--- +在 C# 中,如何使用 Memory 和 Span 对集合进行高性能操作? +--- +什么是 C# 中的多维数组和交错数组(锯齿数组),如何声明和使用它们? +--- +什么是 C# 中的 WeakReference?如何在集合中使用弱引用防止内存泄漏? +--- +C# 中,Dictionary 的内部工作机制是怎样的? +--- +C# 的垃圾回收器如何管理集合的内存? +--- +如何在 C# 中实现支持 LINQ 查询的自定义集合类? +--- +在 C# 中,不同集合类型在多线程环境下的性能有何影响? +--- +如何在 C# 中实现无锁的线程安全集合? +--- +如何为 C# 中的复杂集合类型实现自定义序列化? +--- +在 C# 中,List、Dictionary 等常用操作的时间复杂度是多少? +--- +C# 中的 HashSet 内部如何处理哈希冲突? +--- +C# 中的 GetHashCode 方法如何影响 Dictionary 和 HashSet 等集合的行为? +--- +C# 中泛型集合的协变和逆变是什么,有什么区别? +--- +如何在 C# 中使用 yield 关键字实现自定义迭代器,有哪些注意事项? +--- +如何在高性能应用中使用内存池优化 C# 集合的使用? +--- +C# 中,如何实现支持模式匹配的自定义集合类型? +--- +在 C# 中,如何实现支持单个元素更改通知的集合? +--- +C# 中的 Memory 和 Span 如何用于提升集合操作的性能? +--- +如何对 C# 的集合进行内存和性能优化,例如使用虚拟列表来处理大型集合? +--- +什么是 C# 中的 ImmutableHashSet,它如何保证集合的不可变性? +--- +如何在 C# 中实现自定义的线程安全集合,且不使用现有的并发集合类型? +--- +什么是 C# 中的 ArrayPool?如何使用它来减少集合分配的开销? +--- +什么是面向对象编程,C 中的 OOP 有哪些基本特征? +--- +在 C# 中,如何定义一个类和创建对象实例? +--- +请解释 C# 中的封装概念,有何作用? +--- +什么是继承,在 C# 中如何实现继承关系? +--- +在 C# 中,什么是多态?如何实现编译时多态和运行时多态? +--- +C# 中的抽象类和接口有什么区别?分别有哪些应用场景? +--- +在 C# 中,什么是方法重载和方法重写? +--- +如何在 C# 中实现接口,有哪些注意事项? +--- +C# 中有哪些访问修饰符,它们的作用是什么? +--- +什么是静态成员,如何在 C# 中使用静态成员? +--- +在 C# 中,如何使用构造函数和析构函数? +--- +请解释 C# 中的属性是什么,有什么作用? +--- +什么是封装的优点,在 C# 编程中如何体现封装性? +--- +在 C# 中,类支持多重继承吗?如果不支持,如何实现类似的功能? +--- +C# 中的虚方法和抽象方法有什么区别? +--- +什么是构造函数重载,如何在 C# 中实现? +--- +在 C# 中,什么是密封类和密封方法? +--- +this 关键字在 C# 中有什么作用? +--- +在 C# 中,什么是基类和派生类? +--- +在 C# 中,如何实现类的扩展? +--- +如何在 C# 中实现依赖注入? +--- +什么是设计模式,在 C# 中常用的设计模式有哪些? +--- +在 C# 中,如何实现单例模式? +--- +C# 中的委托和事件在面向对象编程中有什么作用? +--- +如何在 C# 中实现多态性的重写和重载? +--- +什么是 SOLID 原则,在 C# 开发中如何应用? +--- +在 C# 中,什么是耦合和内聚,如何设计高内聚低耦合的系统? +--- +什么是里氏替换原则?C 中如何运用该原则? +--- +什么是依赖倒置原则?C 中如何运用该原则? +--- +如何在 C# 中实现组合和聚合关系? +--- +什么是 C# 中的泛型?它如何支持面向对象编程? +--- +如何在 C# 中使用反射获取对象的类型信息? +--- +什么是 C# 中的委托链和多播委托? +--- +在 C# 中,什么是扩展方法?如何实现? +--- +如何在 C# 中实现事件的订阅和解除订阅? +--- +什么是设计模式中的工厂模式,在 C# 中如何实现? +--- +在 C# 中,如何实现一个自定义的序列化机制? +--- +请解释 C# 中的元编程概念,如何利用它增强面向对象编程? +--- +在 C# 中,如何利用反射和动态代理实现 AOP(面向切面编程)? +--- +什么是延迟加载,如何在 C# 中实现它? +--- +在 C# 中,如何实现面向对象的设计原则中的开闭原则? +--- +什么是 C# 中的依赖属性?在 WPF 开发中有何作用? +--- +在 C# 中,如何利用特性和反射来实现自定义框架? +--- +什么是 SOLID 原则中的接口隔离原则,如何在 C# 中应用? +--- +在 C# 中,如何设计一个插件式架构,实现动态加载程序集? +--- +在 C# 中,如何实现线程安全的单例模式? +--- +在 C# 中,如何使用泛型约束实现更强的类型安全? +--- +在 C# 中,如何实现观察者模式? +--- +什么是模板方法模式?如何应用于 C# 项目中? +--- +在 C# 中,如何利用接口和依赖注入实现可测试的代码? +--- +什么是领域驱动设计(DDD),在 C# 中如何实践? +--- +在 C# 中,如何实现策略模式? +--- +在 C# 中,如何利用面向对象的多态性实现灵活的系统架构? +--- +在 C# 中,如何实现工厂方法模式和抽象工厂模式? +--- +在 C# 中,如何利用事件和委托实现观察者模式的变体? +--- +什么是 C# 中的双分派?如何实现? +--- +在 C# 中,如何实现接口的显式和隐式实现,何时使用? +--- +C# 中的协变和逆变在委托和泛型接口中的实现原理是什么? +--- +C# 中的内存管理机制、对象的生命周期如何影响面向对象设计? +--- +什么是 C# 中的元类?如何在项目中应用? +--- +在 C# 中,如何实现 CQRS(命令查询职责分离)模式? +--- +什么是多线程编程?在 C# 中如何创建一个线程? +--- +在 C# 中,如何使用 Thread 类启动和停止线程? +--- +C# 中的 Thread.Sleep 方法有什么作用? +--- +在 C# 中,如何使用 lock 关键字实现线程同步? +--- +什么是死锁,如何避免在 C# 多线程编程中发生死锁? +--- +什么是线程池,如何在 C# 中使用它? +--- +C# 的 Task 类有什么作用?如何使用它进行异步操作? +--- +在 C# 中,如何使用 async 和 await 关键字实现异步编程? +--- +在 C# 中,如何使用 Thread.Join 方法,为什么需要它? +--- +C# 的 Thread.Priority 属性在多线程编程中有什么作用? +--- +什么是线程安全?C 中如何确保代码是线程安全的? +--- +在 C# 中,如何使用 Monitor 类实现线程同步? +--- +C# 中 Mutex 和 Semaphore 有什么区别?使用场景分别是什么? +--- +在 C# 中,如何使用 AutoResetEvent 和 ManualResetEvent 控制线程执行? +--- +什么是线程局部存储,如何在 C# 中使用? +--- +什么是 C# 的并行编程库,如何使用 Parallel 类? +--- +在 C# 中,如何使用 CancellationToken 取消异步操作? +--- +什么是 C# 中的线程上下文切换,对性能有什么影响? +--- +C# 的 Interlocked 类在多线程编程中有什么作用? +--- +在 C# 中,如何使用 SemaphoreSlim 控制并发访问? +--- +什么是异步方法的同步上下文,在 C# 中如何使用? +--- +C# 中的 Task.Run 和 Task.Factory.StartNew 有什么区别? +--- +在 C# 中,如何使用 ConcurrentDictionary 实现线程安全的集合? +--- +C# 的 async/await 底层是如何实现的? +--- +在 C# 中,如何处理异步方法中的异常? +--- +什么是并发和并行的区别?C 中如何实现并发和并行? +--- +C# 的 Task.WhenAll 和 Task.WhenAny 有哪些使用场景? +--- +在 C# 中,如何实现生产者-消费者模式? +--- +什么是并行 LINQ(PLINQ),如何在 C# 中使用它? +--- +C# 中的 BlockingCollection 类有什么作用?如何用于线程间通信? +--- +在 C# 中,volatile 关键字的作用是什么? +--- +什么是线程的后台和前台模式,C 中如何设置? +--- +什么是 C# 中的 ReaderWriterLockSlim?何时使用它? +--- +什么是 C# 的 SpinLock 和 SpinWait?在什么情况下使用它们? +--- +什么是 C# 异步编程中的上下文捕获?如何避免死锁? +--- +在 C# 中,如何使用 TaskCompletionSource 自定义任务的完成? +--- +什么是异步委托,如何在 C# 中使用它们? +--- +线程安全集合与非线程安全集合有什么区别?C 中如何使用它们? +--- +在 C# 中,如何检测和避免竞争条件? +--- +什么是信号量,如何在 C# 中使用它控制资源访问? +--- +C# 的 CountdownEvent 有什么作用?如何在多线程任务中使用? +--- +在 C# 中,如何使用 TaskScheduler 自定义任务调度? +--- +在 C# 中,如何使用 Lazy 实现线程安全的延迟初始化? +--- +什么是线程间通信,C 中有哪些方式可以实现? +--- +在 C# 中,如何实现线程间的事件通知机制? +--- +在 C# 中,如何使用 Parallel.For 和 Parallel.ForEach 进行并行循环? +--- +在 C# 中,如何使用异步流(IAsyncEnumerable)处理数据流? +--- +C# 的 Monitor.Wait、Monitor.Pulse、Monitor.PulseAll 分别有什么用法? +--- +在 C# 中,如何使用 Barrier 类同步多线程的执行步骤? +--- +C# 的 SemaphoreSlim 和 Semaphore 有什么区别? +--- +在 C# 中,如何使用 Task.WaitAll 和 Task.WaitAny? +--- +C# 中,如何实现线程安全的 Singleton 单例模式? +--- +在 C# 中,Task 和 ValueTask 有何区别,如何选择? +--- +C# 的 CancellationTokenSource 如何与 CancellationToken 协同工作? +--- +在 C# 中,如何使用 await 关键字等待多个异步操作的完成? +--- +C# 中,异步方法的返回类型可以定义为 void 么?有哪些注意事项? +--- +在 C# 中,如何使用 Interlocked.Exchange 实现线程安全的变量更新? +--- +在 C# 中,如何实现异步工厂方法? +--- +什么是线程安全的懒加载,如何在 C# 中实现? +--- +在 C# 中,如何使用 ConcurrentBag 实现线程安全的无序集合? +--- +在 C# 中,如何使用 Parallel.Invoke 并行执行多个操作? +--- +C# 的 ThreadPool.QueueUserWorkItem 有什么作用和使用场景? +--- +在 C# 中,如何使用 Task 和 await 实现异步递归调用? +--- +什么是 C# 的 Thread.Abort 方法?为什么应避免使用它? +--- +C# 异步编程中的 SynchronizationContext 是什么?如何避免上下文捕获导致的性能问题? +--- +什么是并发集合中的 ABA 问题,C 中如何解决? +--- +什么是 C# 中的内存屏障,它如何影响并发编程? +--- +什么是 .NET 的 TPL Dataflow 库,如何用于并发数据处理? +--- +什么是并发编程中的锁粒度,C 中如何优化锁的性能? +--- +C# 的 AsyncLocal 有什么作用?如何在异步方法中使用它? +--- +什么是线程上下文切换,C 中如何减少上下文切换的开销? +--- +C# 的 Thread.Yield 方法有什么作用?何时使用? +--- +什么是乐观并发控制和悲观并发控制,如何在 C# 中实现? +--- +什么是 C# 的 SpinLock?在什么场景下使用比 lock 更有效? +--- +什么是 C# 的 ManualResetEventSlim?它的性能优势是什么? +--- +什么是锁的竞争,C 中如何减少它? +--- +什么是 C# 的 ThreadStatic 属性,如何使用? +--- +在 C# 中,如何避免异步方法中的死锁问题? +--- +什么是 C# 的 Task.Yield 方法?何时需要使用? +--- +C# 中的内存模型对多线程编程有什么影响? +--- +如何在 C# 中实现线程池的自定义调整? +--- +在 C# 中,如何使用 System.Threading.Channels 实现高性能的生产者-消费者模式? +--- +什么是原子操作,C 中哪些操作是原子的? +--- +什么是并行编程中的负载均衡问题?如何在 C# 中解决? +--- +在 C# 中,如何使用 LockRecursionPolicy 控制锁的递归行为? +--- +什么是多线程编程中的内存可见性问题,如何在 C# 中解决? +--- +Parallel LINQ (PLINQ) 如何进行查询优化? +--- +什么是 C# 多线程编程中的活锁和饥饿问题? +--- +在 C# 中,如何使用 BlockingCollection 实现有限容量的缓冲区? +--- +什么是多线程编程中的假共享问题,C 中如何避免? +--- +C# 的 ThreadPool 工作原理是什么? +--- +C# 中 ConfigureAwait(true) 和 ConfigureAwait(false) 有什么区别? +--- +什么是多线程编程中的优先级反转,如何在 C# 中避免? +--- +什么是 .NET 运行时和 .NET 框架?它们之间有什么关系? +--- +在 C# 中,如何使用 ADO.NET 连接和操作数据库? +--- +什么是 ASP.NET Core?与 ASP.NET MVC 有什么区别? +--- +什么是 Blazor,在 C# 中如何使用它进行 Web 开发? +--- +在 C# 中,如何使用 SignalR 实现实时通信? +--- +什么是 .NET MAUI?它的主要功能是什么? +--- +Entity Framework Core 与 Entity Framework 6 有什么区别? +--- +在 C# 中,如何使用 Dapper 进行数据库访问? +--- +什么是 WCF,在 C# 中如何使用? +--- +在 C# 中,如何使用 AutoMapper 进行对象映射? +--- +在 ASP.NET Core 中,如何使用 Identity 进行身份认证和授权? +--- +在 .NET Core 中,如何使用配置系统读取应用设置? +--- +在 ASP.NET Core 中,如何实现跨域请求? +--- +什么是 ASP.NET Core 中的环境?如何根据环境配置应用程序? +--- +在 .NET 中,如何使用 ILogger 接口记录日志? +--- +在 Entity Framework Core 中,如何使用 Fluent API 配置实体? +--- +什么是 .NET Core 中的 Hosting Model?有哪些类型? +--- +在 ASP.NET Core 中,如何使用 gRPC 实现高性能的 RPC 通信? +--- +什么是 .NET Core 中的全局工具?如何创建和使用? +--- +在 ASP.NET Core 中,如何使用 Health Checks 实现健康检查? +--- +在 ASP.NET Core 中,如何使用 Response Compression Middleware 优化性能? +--- +什么是 ASP.NET Core 中的过滤器?有哪些类型? +--- +在 Entity Framework Core 中,如何进行数据库迁移? +--- +什么是 ASP.NET Core 中的依赖注入生命周期?如何选择合适的生命周期? +--- +在 .NET Core 中,如何使用 IHttpClientFactory 管理 HTTP 请求? +--- +什么是 .NET 中的中间件?如何在 ASP.NET Core 中创建自定义中间件? +--- +在 .NET Core 中,如何使用 Hosting Startup 实现程序集级别的服务注册? +--- +.NET Core 中的泛型主机和 Web 主机有什么区别? +--- +在 ASP.NET Core 中,如何实现自定义的模型绑定? +--- +什么是 .NET Core 中的 Host Builder,如何定制化它? +--- +在 .NET 中,如何进行性能分析和诊断,常用的工具有哪些? +--- +什么是 .NET 中的 AOT 编译,与 JIT 有何区别? +--- +请解释 .NET Core 中的内存管理机制,如何避免内存泄漏? +--- +在 .NET 中,如何使用 MassTransit 或 RabbitMQ 实现消息队列? +--- +什么是 ASP.NET Core 中的 Endpoint Routing,如何配置路由策略? +--- +在 .NET Core 中,如何使用 Microsoft.Extensions.Logging 进行日志记录? +--- +什么是 ASP.NET Core 中的 URL 重写和重定向策略? +--- +在 .NET Core 中,如何使用 GZipStream 或 BrotliStream 压缩数据? +--- +.NET 中有哪些 JSON 序列化库(如 Newtonsoft.Json),有什么区别? +--- +什么是 ASP.NET Core 中的认证中间件,如何配置? +--- +在 .NET 中,如何使用 OpenAPI/Swagger 生成 API 文档? +--- +什么是 .NET 中的 Data Annotations,如何用于模型验证? +--- +在 .NET Core 中,如何使用 gRPC-Web 支持浏览器客户端? +--- +ASP.NET Core 中的 HTTP 请求管道是如何构建的? +--- +在 .NET 中,如何使用 IdentityServer 实现 OAuth 2.0 和 OpenID Connect? +--- +什么是 .NET Core 中的通配符主机?如何配置? +--- +什么是 .NET 的 Mono 和 Xamarin?它们的作用是什么? +--- +在 .NET 中,如何使用 Orleans 框架构建分布式应用? +--- +什么是 .NET 的 Akka.NET,如何使用它实现 Actor 模型? +--- +请解释 .NET 的 Reactive Extensions(Rx.NET),如何处理异步数据流? +--- +在 .NET 中,如何使用 OWIN 构建中间件和 Web 应用? +--- +什么是 .NET 的 Nancy 框架,如何使用它构建 Web 应用? +--- +.NET 的 MAUI 框架与 Xamarin.Forms 有什么区别? +--- +在 .NET 中,如何使用 MediatR 实现中介者模式? +--- +什么是 .NET 的 CAP 框架?如何实现分布式事务? +--- +什么是 C# 中的值类型和引用类型,它们的内存分配有何不同? +--- +在 C# 中,什么是装箱和拆箱,它们对性能有何影响? +--- +请解释 C# 的垃圾回收机制是如何工作的? +--- +什么是中间语言,C 代码是如何编译成 IL 的? +--- +在 C# 中,字符串的不可变性在底层是如何实现的? +--- +C# 中的委托在底层是如何实现的? +--- +请解释 C# 中的事件机制在底层是如何实现的? +--- +什么是 CLR(Common Language Runtime),它在 C# 程序执行中扮演什么角色? +--- +在 C# 中,lock 语句的底层实现是什么?如何避免死锁? +--- +什么是 C# 中的反射?其底层实现原理是什么? +--- +C# 的类型加载过程是怎样的?CLR 是如何加载类型的? +--- +在 C# 中,异常处理机制在底层是如何实现的? +--- +什么是 C# 中的元数据?它在程序集中有什么作用? +--- +在 C# 中,泛型的底层实现机制是什么? +--- +C# 中的动态类型在底层是如何实现的? +--- +什么是 C# 中的托管代码和非托管代码,它们在运行时有何区别? +--- +在 C# 中,async 和 await 异步编程模型的底层原理是什么? +--- +什么是 JIT 编译器?C 的 JIT 是如何工作的? +--- +C# 中的委托是如何实现多播的? +--- +在 C# 中,lambda 表达式的底层实现机制是什么? +--- +什么是 C# 中的字符串驻留?它是如何工作的? +--- +在 C# 中,foreach 循环的底层实现机制是什么? +--- +C# 中的 yield return 和迭代器方法在底层是如何实现的? +--- +什么是 C# 中的弱引用?其底层原理是什么? +--- +在 C# 中,using 语句的底层实现机制是什么? +--- +C# 中的可空类型在底层是如何实现的? +--- +C# 中的值类型(结构体)与引用类型在内存布局上有什么区别? +--- +C# 中的内存泄漏是如何产生的?如何检测和避免? +--- +在 C# 中,内存对齐和数据填充是如何处理的?它们对性能有何影响? +--- +什么是 C# 中的虚方法表?它在多态调用中如何发挥作用? +--- +什么是 CLR 的异常处理机制?它是如何捕获和处理异常的? +--- +在 C# 中,泛型在运行时是如何实现和处理的? +--- +C# 中的闭包在底层是如何实现的? +--- +C# 中的协程和异步方法在底层是怎么实现的? +--- +在 C# 中,lock 和其他同步原语在底层是如何实现的? +--- +C# 中的内存模型对多线程编程有什么影响? +--- +什么是 C# 中的内存屏障?它在并发编程中有什么作用? +--- +在 C# 中,volatile 关键字的底层实现原理是什么? +--- +C# 中的多线程同步原语(如 Monitor、Mutex)在底层是如何工作的? +--- +什么是 C# 中的尾调用优化?CLR 是否支持? +--- +在 C# 中,委托的协变和逆变在底层如何实现? +--- +C# 中的类型加载器是如何解析和加载类型的? +--- +什么是 C# 中的 IL?如何查看和理解编译后的 IL 指令? +--- +在 C# 中,CLR 是如何进行垃圾回收的?代(Generation)有什么作用? +--- +C# 的 async/await 异步模型的底层状态机是如何实现的? +--- +什么是 C# 中的托管堆和非托管堆?它们如何协同工作? +--- +在 C# 中,unsafe 代码块和指针在底层是如何工作的? +--- +C# 中的泛型类型在 IL 中是如何表示和处理的? +--- +什么是 C# 中的托管执行环境,它如何影响代码的运行? +--- +在 C# 中,字段和属性在 IL 中有何区别? +--- +C# 中的元数据头和元数据表在程序集中有什么作用? +--- +什么是 C# 中的代码访问安全性?它在底层是如何实现的? +--- +在 C# 中,异常的抛出和捕获在 IL 中是如何实现的? +--- +C# 的 MethodImpl 特性在底层的作用是什么? +--- +什么是 C# 中的元编程?如何利用它实现代码生成? +--- +什么是 IL.Emit,如何在 C# 中动态生成代码? +--- +请说明 C# 中的编译器优化,对程序性能有什么影响? +--- +什么是 WPF,WPF 的主要特点和优势有哪些? +--- +在 WPF 中,如何使用 XAML 来定义用户界面? +--- +什么是 WPF 中的依赖属性?有什么作用? +--- +在 WPF 中,绑定机制是如何工作的? +--- +如何在 WPF 中实现按钮的点击事件处理? +--- +什么是 WPF 中的路由事件,它与普通事件有什么区别? +--- +在 WPF 中,如何使用资源和样式来统一界面风格? +--- +什么是 WPF 的布局系统?常用的布局控件有哪些? +--- +什么是 WPF 中的模板?如何自定义控件的外观? +--- +在 WPF 中,如何使用命令来替代事件处理? +--- +WPF 中的数据模板和控件模板有什么区别? +--- +在 WPF 中,如何实现数据的双向绑定? +--- +什么是 WPF 中的转换器?如何自定义一个值转换器? +--- +在 WPF 中,如何使用触发器来响应属性或事件的变化? +--- +什么是 WPF 中的依赖属性的元数据和属性改变回调? +--- +在 WPF 中,如何实现动画效果? +--- +什么是 WPF 中的可视树和逻辑树?它们有什么区别? +--- +在 WPF 中,如何自定义控件? +--- +什么是 WPF 中的绑定模式和更新源触发器? +--- +在 WPF 中,如何处理线程间的界面更新问题? +--- +什么是 WPF 中的 MVVM 模式?如何在项目中应用它? +--- +在 WPF 中,如何使用命令绑定实现按钮的功能? +--- +什么是 WPF 中的依赖属性继承? +--- +在 WPF 中,如何优化应用程序的性能? +--- +什么是 WPF 中的 Freezable 对象?如何使用它们? +--- +在 WPF 中,如何实现多语言支持? +--- +什么是 WPF 中的 Attached Property?有什么应用场景? +--- +在 WPF 中,如何使用 Visual State Manager 管理控件的状态? +--- +什么是 WPF 中的模板绑定,如何使用? +--- +在 WPF 中,如何实现拖放功能? +--- +什么是 WPF 中的 Dispatcher 对象?如何在 UI 线程上执行代码? +--- +在 WPF 中,如何自定义路由事件? +--- +什么是 WPF 中的 Adorner?如何使用它来装饰控件? +--- +在 WPF 中,如何创建和使用附加行为? +--- +WPF 中的 Measure 和 Arrange 布局过程是如何工作的? +--- +在 WPF 中,如何实现像素级别的图形绘制? +--- +什么是 WPF 中的 WeakEvent Pattern?为什么需要它? +--- +在 WPF 中,如何使用 ShaderEffect 创建自定义的像素着色器效果? +--- +WPF 中基于时间的动画和帧动画有什么区别? +--- +在 WPF 中,如何优化大型数据集合的显示性能?比如使用虚拟化技术? +--- +什么是 WPF 中的 Binding Expressions?如何在代码中操作绑定? +--- +在 WPF 中,如何实现自定义 MarkupExtension? +--- +什么是 WPF 中的资源字典合并和分离的机制? +--- +在 WPF 中,如何使用 ItemsControl 自定义控件的数据呈现? +--- +什么是 WPF 中的依赖属性的线程安全问题,如何解决? +--- +在 WPF 中,如何实现自定义的布局面板? +--- +WPF 中的视图模型如何与视图进行通信? +--- +在 WPF 中,如何使用多线程来加载数据而不阻塞 UI 线程? +--- +什么是 WPF 中的类层次结构继承?如何影响依赖属性的行为? +--- +在 WPF 中,如何使用 Prism 框架构建模块化应用程序? +--- +WPF 中的视觉层和逻辑层有什么区别? +--- +在 WPF 中,如何实现触控和手势支持? +--- +WPF 中,可扩展应用标记语言(XAML)的解析过程是怎样的? +--- +什么是 .NET Standard,它的作用是什么? +--- +什么是 .NET Core,它与 .NET Framework 有何不同? +--- +什么是 Kestrel 服务器,它在 .NET Core 中的作用是什么? +--- +什么是 ASP.NET Core 的 Razor Pages,它与 MVC 模式有何不同? +--- +如何在 .NET Core 中进行配置管理?appsettings.json 文件的作用是什么? +--- +如何在 .NET Core 中处理静态文件? +--- +在 .NET 中,什么是程序集和模块?它们的作用是什么? +--- +.NET 中的 CTS(公共类型系统)和 CLS(公共语言规范)是什么? +--- +在 .NET 中,什么是 GAC(全局程序集缓存),如何使用它? +--- +什么是 MSIL(Microsoft Intermediate Language),它在 .NET 中的作用是什么? +--- +在 .NET 中,如何使用 NuGet 包管理器来管理项目依赖? +--- +什么是 .NET 中的命名空间?它有什么作用? +--- +什么是 .NET 中的垃圾回收机制?它如何管理内存? +--- +在 .NET 中,如何使用 ILDasm 工具查看程序集的 IL 代码? +--- +什么是 .NET Core CLI,它有哪些常用命令? +--- +在 .NET 中,如何自定义和使用特性(Attribute)? +--- +什么是 .NET 中的强名称和签名机制? +--- +什么是 .NET 中的反射,它有哪些应用场景? +--- +在 .NET 中,如何处理应用程序的配置文件(App.config 或 web.config)? +--- +什么是 .NET 中的托管代码和非托管代码? +--- +在 .NET 中,如何实现跨平台开发? +--- +什么是 .NET 中的程序集版本控制?如何解决程序集冲突? +--- +在 .NET 中,如何使用异步编程模型和任务并行库进行并发编程? +--- +.NET 中的 IL 代码优化策略是怎样的? +--- +什么是 .NET 中的代码访问安全?如何使用它进行安全控制? +--- +在 .NET 中,如何实现程序集的强名称签名? +--- +什么是 .NET 中的 AppDomain,它的作用是什么? +--- +什么是 .NET 中的序列化和反序列化机制,如何自定义序列化过程? +--- +在 .NET 中,如何使用依赖注入容器管理对象的生命周期? +--- +什么是 .NET 中的动态语言运行时(DLR),它如何支持动态类型? +--- +在 .NET 中,如何使用委托和事件实现观察者模式? +--- +.NET 中的线程池是如何工作的?如何优化多线程应用? +--- +什么是 .NET 中的内存映射文件?如何使用它进行文件操作? +--- +在 .NET 中,如何使用 Task 和 async/await 实现异步编程? +--- +什么是 .NET 中的跨语言互操作性,如何在不同语言之间共享代码? +--- +.NET 中的 CLR 如何进行异常处理和异常安全? +--- +在 .NET 中,如何使用反射动态加载程序集和类型? +--- +什么是 .NET 中的应用程序域,如何实现隔离和卸载? +--- +在 .NET 中,如何进行性能分析和优化,常用的工具和方法有哪些? +--- +请介绍 .NET 的内存模型,对多线程编程有何影响? +--- +什么是 .NET 中的 IL 合并?如何合并多个程序集? +--- +在 .NET 中,如何使用 Span 和 Memory 优化内存操作? +--- +什么是 .NET 中的源生成器,如何使用它们提高编译时性能? +--- +什么是 .NET Core 的 HostBuilder 和 WebHostBuilder? +--- +如何在 .NET Core 中进行单元测试?如何使用 xUnit 框架? +--- +如何在 .NET Core 中实现依赖注入? +--- +什么是 .NET Core 的中间件?它的工作原理是什么? +--- +.NET 中的 GC 压缩和大对象堆是如何管理的? +--- +在 .NET 中,CLR 的执行引擎是如何加载和执行程序集的? +--- +什么是 .NET 中的元数据和元数据表?它们在运行时有何作用? +--- +.NET 中的代码访问安全策略级别和权限集是如何定义的? +--- +在 .NET 中,如何使用 CLR Hosting 实现自定义的运行时环境? +--- +什么是 .NET 中的 IL Rewriting,如何进行 IL 级别的代码修改? +--- +.NET 中的多域应用程序如何共享程序集和类型? +--- +在 .NET 中,如何使用 Profiling API 进行性能分析和诊断? +--- +什么是 .NET 中的本机映像生成?它如何影响应用程序的启动性能? +--- +请解释 .NET 中的代码缓存机制,JIT 编译器如何缓存已编译的代码? +--- +在 .NET 中,如何使用 CoreCLR 和 CoreFX 构建自定义的运行时? +--- +什么是 .NET 中的运行时特性?如何检测和适配不同的运行时环境? +--- +什么是 .NET 中的安全透明性模型? +--- +在 .NET 中,如何实现 IL Weaving?常用的工具有哪些? +--- +什么是 .NET 中的轻量级代码生成?如何使用它动态生成代码? +--- +.NET 中的线程静态变量在运行时是如何管理的? +--- +在 .NET 中,如何使用本机互操作(P/Invoke)调用非托管代码,需注意哪些问题? +--- +什么是 .NET 中的 ReadyToRun(R2R)格式?如何提高应用程序的启动速度? +--- +.NET 中的元数据和 IL 有什么关系?如何通过修改元数据影响程序行为? +--- +在 .NET 中,CLR 是如何实现垃圾回收的,代数(Generations)有什么作用? +--- +什么是 .NET 中的托管扩展性框架(MEF),如何实现可扩展应用程序? +--- +什么是 .NET 的程序集加载上下文?如何进行插件化开发? +--- +在 .NET 中,如何利用 IL Emit 动态生成和执行代码? +--- diff --git a/C++ STL面试题.md b/C++ STL面试题.md new file mode 100644 index 0000000..e1ee72f --- /dev/null +++ b/C++ STL面试题.md @@ -0,0 +1,14 @@ +C++ 中 vector 的原理?resize 和 reserve 的区别是什么?size 和 capacity 的区别? +--- +C++ 中 deque 的原理?它内部是如何实现的? +--- +C++ 中 map 和 unordered_map 的区别?分别在什么场景下使用? +--- +C++ 中 list 的使用场景? +--- +C++ 中为什么要使用 std::array?它有什么优点? +--- +C++ 中 vector 的 push_back 和 emplace_back 有什么区别? +--- +C++ 的迭代器和指针有什么区别? +--- diff --git a/C++ 基础面试题.md b/C++ 基础面试题.md new file mode 100644 index 0000000..183740b --- /dev/null +++ b/C++ 基础面试题.md @@ -0,0 +1,132 @@ +C++ 中值传递和引用传递的区别? +--- +C 和 C++ 的区别? +--- +什么是 C++ 的左值和右值?有什么区别? +--- +什么是 C++ 的移动语义和完美转发? +--- +什么是 C++ 的列表初始化? +--- +C++ 中 move 有什么作用?它的原理是什么? +--- +介绍 C++ 中三种智能指针的使用场景? +--- +C++11 中有哪些常用的新特性? +--- +C++ 中 static 的作用?什么场景下用到 static? +--- +C++ 中 const 的作用?谈谈你对 const 的理解? +--- +C++ 中 define 和 const 的区别? +--- +C++ 中 char*、const char*、char* const、const char* const 的区别? +--- +C++ 中 inline 的作用?它有什么优缺点? +--- +C++ 中数组和指针的区别? +--- +C++ 中 sizeof 和 strlen 的区别? +--- +C++ 中 extern 有什么作用?extern "C" 有什么作用? +--- +C++ 中 explicit 的作用? +--- +C++ 中 final 关键字的作用? +--- +C++ 中野指针和悬挂指针的区别? +--- +什么是内存对齐?为什么要内存对齐? +--- +C++ 中四种类型转换的使用场景? +--- +C++ 中 volatile 关键字的作用? +--- +什么是多态?简单介绍下 C++ 的多态? +--- +C++ 中虚函数的原理? +--- +C++ 中构造函数可以是虚函数吗? +--- +C++ 中析构函数一定要是虚函数吗? +--- +C++ 什么场景下需要用到移动构造函数和移动赋值运算符? +--- +什么是 C++ 中的虚继承? +--- +什么是 C++ 的函数重载?它的优点是什么?和重写有什么区别? +--- +什么是 C++ 的运算符重载? +--- +C++ 中 struct 和 class 的区别? +--- +C++ 中 struct 和 union 的区别?如何使用 union 做优化? +--- +C++ 中 using 和 typedef 的区别? +--- +C++ 中 enum 和 enum class 的区别? +--- +C++ 中 new 和 malloc 的区别?delete 和 free 的区别? +--- +C++ 中类定义中 delete 关键字和 default 关键字的作用? +--- +C++ 中 this 指针的作用? +--- +C++ 中可以使用 delete this 吗? +--- +C++ 中 vector 的原理?resize 和 reserve 的区别是什么?size 和 capacity 的区别? +--- +C++ 中 deque 的原理?它内部是如何实现的? +--- +C++ 中 map 和 unordered_map 的区别?分别在什么场景下使用? +--- +C++ 中 list 的使用场景? +--- +什么是 C++ 中的 RAII?它的使用场景? +--- +C++ 中 lock_guard 和 unique_lock 的区别? +--- +C++ 中 thread 的 join 和 detach 的区别? +--- +C++ 中 jthread 和 thread 的区别? +--- +C++ 中 memcpy 和 memmove 有什么区别? +--- +C++ 的 function、bind、lambda 都在什么场景下会用到? +--- +请介绍 C++ 中使用模板的优缺点? +--- +C++ 中函数模板和类模板有什么区别? +--- +请介绍下 C++ 模板中的 SFINAE?它的原则是什么? +--- +C++ 的 strcpy 和 memcpy 有什么区别? +--- +C++ 中为什么要使用 std::array?它有什么优点? +--- +C++ 中堆内存和栈内存的区别? +--- +C++ 的栈溢出是什么? +--- +什么是 C++ 的回调函数?为什么需要回调函数? +--- +C++ 中为什么要使用 nullptr 而不是 NULL? +--- +什么是大端序?什么是小端序? +--- +C++ 中 include 和 include "a.h" 有什么区别? +--- +C++ 是否可以 include 源文件? +--- +C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函数? +--- +C++ 中命名空间有什么作用?如何使用? +--- +C++ 中友元类和友元函数有什么作用? +--- +C++ 中如何设计一个线程安全的类? +--- +C++ 如何调用 C 语言的库? +--- +指针和引用的区别是什么? +--- diff --git a/C++ 并发编程面试题.md b/C++ 并发编程面试题.md new file mode 100644 index 0000000..ce9fe9b --- /dev/null +++ b/C++ 并发编程面试题.md @@ -0,0 +1,36 @@ +C++ 中 lock_guard 和 unique_lock 的区别? +--- +C++ 中 thread 的 join 和 detach 的区别? +--- +C++ 中 jthread 和 thread 的区别? +--- +C++ 中如何设计一个线程安全的类? +--- +请介绍 C++ 中 future、promise、packaged_task、async 的区别? +--- +C++ 的 async 使用时有哪些注意事项? +--- +如何理解 C++ 中的 atomic? +--- +什么场景下使用锁?什么场景下使用原子变量? +--- +C++ 中锁的底层原理是什么? +--- +请介绍 C++ 的 6 种内存序? +--- +C++ 的条件变量为什么要配合锁使用? +--- +如何解决 C++ 中条件变量的信号丢失和虚假唤醒问题? +--- +什么情况下会出现死锁?如何避免死锁? +--- +C++ 如何实现线程池?给出大体思路? +--- +C++ 的有栈协程和无栈协程有什么区别? +--- +C++ 什么场景用线程?什么场景用协程? +--- +C++ 多线程开发需要注意些什么?线程同步有哪些手段? +--- +C++ 中如何使用线程局部存储?它的原理是什么? +--- diff --git a/C++ 新特性面试题.md b/C++ 新特性面试题.md new file mode 100644 index 0000000..e40ff3a --- /dev/null +++ b/C++ 新特性面试题.md @@ -0,0 +1,48 @@ +什么是 C++ 的列表初始化? +--- +C++ 中 move 有什么作用?它的原理是什么? +--- +C++11 中有哪些常用的新特性? +--- +C++ 中 explicit 的作用? +--- +C++ 中 final 关键字的作用? +--- +C++ 什么场景下需要用到移动构造函数和移动赋值运算符? +--- +C++ 中 using 和 typedef 的区别? +--- +C++ 中 enum 和 enum class 的区别? +--- +C++ 中类定义中 delete 关键字和 default 关键字的作用? +--- +C++ 中 lock_guard 和 unique_lock 的区别? +--- +C++ 中 thread 的 join 和 detach 的区别? +--- +C++ 的 function、bind、lambda 都在什么场景下会用到? +--- +C++ 中为什么要使用 std::array?它有什么优点? +--- +C++ 中为什么要使用 nullptr 而不是 NULL? +--- +什么是 C++ 中的 auto 和 decltype? +--- +请介绍 C++ 中 unique_ptr 的原理? +--- +请介绍 C++ 中 shared_ptr 的原理?shared_ptr 线程安全吗? +--- +请介绍 C++ 中 weak_ptr 的原理? +--- +C++ 中为什么要引入 make_shared?它有什么优点? +--- +C++ 中 shared_from_this 的作用是什么?它有什么优点? +--- +请介绍 C++ 中 future、promise、packaged_task、async 的区别? +--- +C++ 的 async 使用时有哪些注意事项? +--- +如何理解 C++ 中的 atomic? +--- +C++ 中 jthread 和 thread 的区别? +--- diff --git a/C++ 进阶面试题.md b/C++ 进阶面试题.md new file mode 100644 index 0000000..a67c788 --- /dev/null +++ b/C++ 进阶面试题.md @@ -0,0 +1,94 @@ +介绍下 C++ 程序从编写到可执行的整个过程? +--- +什么是 C++ 中的 auto 和 decltype? +--- +请介绍 C++ 多态的实现原理? +--- +C++ 中为什么 new[] 和 delete[] 一定要配对使用? +--- +C++ 中 malloc 申请的内存,可以用 delete 释放吗? +--- +什么情况下会出现内存泄漏?如何避免内存泄漏? +--- +请介绍 C++ 中 unique_ptr 的原理? +--- +请介绍 C++ 中 shared_ptr 的原理?shared_ptr 线程安全吗? +--- +请介绍 C++ 中 weak_ptr 的原理? +--- +C++ 中为什么要引入 make_shared?它有什么优点? +--- +C++ 中 shared_from_this 的作用是什么?它有什么优点? +--- +C++ 的 string 内部使用的是堆内存还是栈内存? +--- +C++ 有哪些进程间通信的方式? +--- +请介绍 C++ 中 future、promise、packaged_task、async 的区别? +--- +C++ 的 async 使用时有哪些注意事项? +--- +如何理解 C++ 中的 atomic? +--- +什么场景下使用锁?什么场景下使用原子变量? +--- +C++ 中锁的底层原理是什么? +--- +请介绍 C++ 的 6 种内存序? +--- +C++ 的条件变量为什么要配合锁使用? +--- +平时开发 C++ 程序处理错误是使用 try-catch 还是错误码方式? +--- +C++ 中如何使用线程局部存储?它的原理是什么? +--- +C++ 如何进行性能优化? +--- +C++ 中模板的实现一定要写在头文件中吗? +--- +C++ QT 中信号和槽的原理是什么? +--- +如何解决 C++ 中条件变量的信号丢失和虚假唤醒问题? +--- +C++ 什么场景下用继承?什么场景下使用组合? +--- +什么情况下会出现死锁?如何避免死锁? +--- +C++ 如何实现线程池?给出大体思路? +--- +请介绍一下 C++ 的返回值优化? +--- +C++ 的有栈协程和无栈协程有什么区别? +--- +C++ 什么场景用线程?什么场景用协程? +--- +C++ 动态库和静态库的区别? +--- +C++ 中如何实现一个单例模式? +--- +用过哪些 C++ 网络框架?都有什么优缺点? +--- +用过哪些 C++ 数据库框架?都有什么优缺点? +--- +用过哪些 C++ 日志框架?都有什么优缺点? +--- +用过哪些 C++ 单元测试框架?都有什么优缺点? +--- +介绍下 socket 的多路复用?epoll 有哪些优点? +--- +C++ 中 vector 的 push_back 和 emplace_back 有什么区别? +--- +C++ 成员变量的初始化顺序是固定的吗? +--- +C++ 多线程开发需要注意些什么?线程同步有哪些手段? +--- +C++ 的迭代器和指针有什么区别? +--- +C++ 中未初始化和已初始化的全局变量放在哪里?全局变量定义在头文件中有什么问题? +--- +C++ 函数调用的原理是什么?什么是栈帧? +--- +请介绍下std::sort的原理?底层是快速排序吗? +--- +C++ new操作的背后都经历了什么? +--- diff --git a/C++ 面向对象面试题.md b/C++ 面向对象面试题.md new file mode 100644 index 0000000..3935ce4 --- /dev/null +++ b/C++ 面向对象面试题.md @@ -0,0 +1,24 @@ +什么是多态?简单介绍下 C++ 的多态? +--- +C++ 中虚函数的原理? +--- +C++ 中构造函数可以是虚函数吗? +--- +C++ 中析构函数一定要是虚函数吗? +--- +什么是 C++ 中的虚继承? +--- +什么是 C++ 的函数重载?它的优点是什么?和重写有什么区别? +--- +C++ 中 struct 和 class 的区别? +--- +C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函数? +--- +C++ 中友元类和友元函数有什么作用? +--- +请介绍 C++ 多态的实现原理? +--- +C++ 什么场景下用继承?什么场景下使用组合? +--- +C++ 成员变量的初始化顺序是固定的吗? +--- diff --git a/C++ 面试题.md b/C++ 面试题.md new file mode 100644 index 0000000..9145ccc --- /dev/null +++ b/C++ 面试题.md @@ -0,0 +1,226 @@ +C++ 中值传递和引用传递的区别? +--- +C 和 C++ 的区别? +--- +什么是 C++ 的左值和右值?有什么区别? +--- +什么是 C++ 的移动语义和完美转发? +--- +什么是 C++ 的列表初始化? +--- +C++ 中 move 有什么作用?它的原理是什么? +--- +介绍 C++ 中三种智能指针的使用场景? +--- +C++11 中有哪些常用的新特性? +--- +C++ 中 static 的作用?什么场景下用到 static? +--- +C++ 中 const 的作用?谈谈你对 const 的理解? +--- +C++ 中 define 和 const 的区别? +--- +C++ 中 char*、const char*、char* const、const char* const 的区别? +--- +C++ 中 inline 的作用?它有什么优缺点? +--- +C++ 中数组和指针的区别? +--- +C++ 中 sizeof 和 strlen 的区别? +--- +C++ 中 extern 有什么作用?extern "C" 有什么作用? +--- +C++ 中 explicit 的作用? +--- +C++ 中 final 关键字的作用? +--- +C++ 中野指针和悬挂指针的区别? +--- +什么是内存对齐?为什么要内存对齐? +--- +C++ 中四种类型转换的使用场景? +--- +C++ 中 volatile 关键字的作用? +--- +什么是多态?简单介绍下 C++ 的多态? +--- +C++ 中虚函数的原理? +--- +C++ 中构造函数可以是虚函数吗? +--- +C++ 中析构函数一定要是虚函数吗? +--- +C++ 什么场景下需要用到移动构造函数和移动赋值运算符? +--- +什么是 C++ 中的虚继承? +--- +什么是 C++ 的函数重载?它的优点是什么?和重写有什么区别? +--- +什么是 C++ 的运算符重载? +--- +C++ 中 struct 和 class 的区别? +--- +C++ 中 struct 和 union 的区别?如何使用 union 做优化? +--- +C++ 中 using 和 typedef 的区别? +--- +C++ 中 enum 和 enum class 的区别? +--- +C++ 中 new 和 malloc 的区别?delete 和 free 的区别? +--- +C++ 中类定义中 delete 关键字和 default 关键字的作用? +--- +C++ 中 this 指针的作用? +--- +C++ 中可以使用 delete this 吗? +--- +C++ 中 vector 的原理?resize 和 reserve 的区别是什么?size 和 capacity 的区别? +--- +C++ 中 deque 的原理?它内部是如何实现的? +--- +C++ 中 map 和 unordered_map 的区别?分别在什么场景下使用? +--- +C++ 中 list 的使用场景? +--- +什么是 C++ 中的 RAII?它的使用场景? +--- +C++ 中 lock_guard 和 unique_lock 的区别? +--- +C++ 中 thread 的 join 和 detach 的区别? +--- +C++ 中 jthread 和 thread 的区别? +--- +C++ 中 memcpy 和 memmove 有什么区别? +--- +C++ 的 function、bind、lambda 都在什么场景下会用到? +--- +请介绍 C++ 中使用模板的优缺点? +--- +C++ 中函数模板和类模板有什么区别? +--- +请介绍下 C++ 模板中的 SFINAE?它的原则是什么? +--- +C++ 的 strcpy 和 memcpy 有什么区别? +--- +C++ 中为什么要使用 std::array?它有什么优点? +--- +C++ 中堆内存和栈内存的区别? +--- +C++ 的栈溢出是什么? +--- +什么是 C++ 的回调函数?为什么需要回调函数? +--- +C++ 中为什么要使用 nullptr 而不是 NULL? +--- +什么是大端序?什么是小端序? +--- +C++ 中 include 和 include "a.h" 有什么区别? +--- +C++ 是否可以 include 源文件? +--- +C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函数? +--- +C++ 中命名空间有什么作用?如何使用? +--- +C++ 中友元类和友元函数有什么作用? +--- +C++ 中如何设计一个线程安全的类? +--- +C++ 如何调用 C 语言的库? +--- +指针和引用的区别是什么? +--- +介绍下 C++ 程序从编写到可执行的整个过程? +--- +什么是 C++ 中的 auto 和 decltype? +--- +请介绍 C++ 多态的实现原理? +--- +C++ 中为什么 new[] 和 delete[] 一定要配对使用? +--- +C++ 中 malloc 申请的内存,可以用 delete 释放吗? +--- +什么情况下会出现内存泄漏?如何避免内存泄漏? +--- +请介绍 C++ 中 unique_ptr 的原理? +--- +请介绍 C++ 中 shared_ptr 的原理?shared_ptr 线程安全吗? +--- +请介绍 C++ 中 weak_ptr 的原理? +--- +C++ 中为什么要引入 make_shared?它有什么优点? +--- +C++ 中 shared_from_this 的作用是什么?它有什么优点? +--- +C++ 的 string 内部使用的是堆内存还是栈内存? +--- +C++ 有哪些进程间通信的方式? +--- +请介绍 C++ 中 future、promise、packaged_task、async 的区别? +--- +C++ 的 async 使用时有哪些注意事项? +--- +如何理解 C++ 中的 atomic? +--- +什么场景下使用锁?什么场景下使用原子变量? +--- +C++ 中锁的底层原理是什么? +--- +请介绍 C++ 的 6 种内存序? +--- +C++ 的条件变量为什么要配合锁使用? +--- +平时开发 C++ 程序处理错误是使用 try-catch 还是错误码方式? +--- +C++ 中如何使用线程局部存储?它的原理是什么? +--- +C++ 如何进行性能优化? +--- +C++ 中模板的实现一定要写在头文件中吗? +--- +C++ QT 中信号和槽的原理是什么? +--- +如何解决 C++ 中条件变量的信号丢失和虚假唤醒问题? +--- +C++ 什么场景下用继承?什么场景下使用组合? +--- +什么情况下会出现死锁?如何避免死锁? +--- +C++ 如何实现线程池?给出大体思路? +--- +请介绍一下 C++ 的返回值优化? +--- +C++ 的有栈协程和无栈协程有什么区别? +--- +C++ 什么场景用线程?什么场景用协程? +--- +C++ 动态库和静态库的区别? +--- +C++ 中如何实现一个单例模式? +--- +用过哪些 C++ 网络框架?都有什么优缺点? +--- +用过哪些 C++ 数据库框架?都有什么优缺点? +--- +用过哪些 C++ 日志框架?都有什么优缺点? +--- +用过哪些 C++ 单元测试框架?都有什么优缺点? +--- +介绍下 socket 的多路复用?epoll 有哪些优点? +--- +C++ 中 vector 的 push_back 和 emplace_back 有什么区别? +--- +C++ 成员变量的初始化顺序是固定的吗? +--- +C++ 多线程开发需要注意些什么?线程同步有哪些手段? +--- +C++ 的迭代器和指针有什么区别? +--- +C++ 中未初始化和已初始化的全局变量放在哪里?全局变量定义在头文件中有什么问题? +--- +C++ 函数调用的原理是什么?什么是栈帧? +--- +请介绍下std::sort的原理?底层是快速排序吗? +--- +C++ new操作的背后都经历了什么? +--- diff --git a/CI_CD 面试题.md b/CI_CD 面试题.md new file mode 100644 index 0000000..9969e1d --- /dev/null +++ b/CI_CD 面试题.md @@ -0,0 +1,62 @@ +请简述 Jenkins 的主要功能和优势。 +--- +GitLab CI 和 Jenkins 在功能上有哪些主要区别? +--- +如何在 Jenkins 中配置流水线以实现持续集成和持续部署? +--- +Jenkins 的 Pipeline 脚本有哪几种类型?请分别简述它们的特点。 +--- +在 Jenkins 中如何实现多分支流水线的管理? +--- +Travis CI 的配置文件通常使用什么格式编写?请简述其基本结构。 +--- +GitLab CI 如何通过配置文件实现自动化测试和部署? +--- +在 CI/CD 流程中,如何使用 Jenkins 与 Docker 集成? +--- +GitLab Runner 在 GitLab CI/CD 流程中扮演什么角色? +--- +请描述 Jenkins 中 Blue Ocean 插件的主要功能及其使用场景。 +--- +如何在 GitLab CI 中配置多阶段流水线? +--- +Jenkins 如何实现与 Git 的集成以便自动触发构建? +--- +Travis CI 如何设置环境变量以便在构建过程中使用? +--- +在 Jenkins 中,如何使用 Groovy 语言编写 Pipeline 脚本? +--- +Jenkins 如何实现分布式构建,具体步骤是什么? +--- +请解释 Jenkins 中的 Jenkinsfile 文件的作用及其基本结构。 +--- +在 GitLab CI 中,如何使用 cache 加速构建过程? +--- +Travis CI 如何与 GitHub 集成实现自动构建和部署? +--- +在 Jenkins 中,如何配置构建参数以实现不同环境的部署? +--- +GitLab CI 中的 artifacts 有什么作用?如何配置? +--- +Jenkins 如何与 SonarQube 集成进行代码质量分析? +--- +Travis CI 支持哪些编程语言的构建?请举例说明。 +--- +在 Jenkins 中,如何使用 credentials 插件管理敏感信息? +--- +GitLab CI 中的 stages 和 jobs 有什么区别? +--- +Jenkins 如何实现与 Ansible 的集成以自动化配置管理? +--- +在 Travis CI 中,如何使用 matrix 功能进行多环境测试? +--- +GitLab CI 中的 include 关键字有什么作用?如何使用? +--- +在 Jenkins 中,如何使用 post 部分定义构建后操作? +--- +GitLab CI 中的 environment 关键字如何实现环境区分? +--- +Jenkins 如何实现构建历史的管理和清理? +--- +如何使用 Azure 的 DevOps 工具进行 CI/CD 管理? +--- diff --git a/Cassandra 面试题.md b/Cassandra 面试题.md new file mode 100644 index 0000000..1e1d661 --- /dev/null +++ b/Cassandra 面试题.md @@ -0,0 +1,80 @@ +什么是 Apache Cassandra?它的主要用途是什么? +--- +Cassandra 是如何实现分布式数据库存储的? +--- +在 Cassandra 中,如何定义一个表? +--- +什么是 Cassandra 的 CQL?它与 SQL 有何不同? +--- +Cassandra 中的主键是什么?如何定义复合主键? +--- +Cassandra 是如何实现无单点故障的? +--- +在 Cassandra 中,如何进行数据插入和查询操作? +--- +什么是 Cassandra 中的列族? +--- +Cassandra 的一致性级别是什么?有哪些常见的级别? +--- +在 Cassandra 中,什么是分区键?它的作用是什么? +--- +Cassandra 的数据复制机制是如何实现的?如何配置副本策略? +--- +什么是 Cassandra 的 Gossip 协议?它在集群中起什么作用? +--- +在 Cassandra 中,如何处理大规模数据的水平扩展? +--- +Cassandra 是如何通过 CAP 理论保证可用性和分区容忍性的? +--- +什么是 Cassandra 中的轻量级事务? +--- +在 Cassandra 中,如何进行批量写入和读操作?有哪些优化策略? +--- +Cassandra 的写路径和读路径是如何设计的? +--- +在 Cassandra 中,如何进行数据压缩和存储优化? +--- +Cassandra 是如何通过 SSTable 和 Memtable 实现高效数据存储的? +--- +如何在 Cassandra 中管理和处理 TTL 数据? +--- +Cassandra 是如何处理写操作的高可用性和容错机制的? +--- +在 Cassandra 中,如何处理数据的备份和恢复? +--- +如何在 Cassandra 中进行索引优化?有哪些常见的索引策略? +--- +什么是 Cassandra 中的协调节点?它的作用是什么? +--- +在 Cassandra 中,如何处理节点的加入和移除操作? +--- +Cassandra 中的数据一致性是如何保证的?什么是读修复和写修复? +--- +在 Cassandra 中,如何通过数据分片实现数据分布式存储? +--- +Cassandra 是如何实现多数据中心的复制和同步的? +--- +在 Cassandra 中,如何处理写放大效应和读放大效应? +--- +Cassandra 的一致性哈希是如何工作的?它如何影响数据分布? +--- +在 Cassandra 中,如何处理节点故障和数据恢复?有哪些容错机制? +--- +Cassandra 的集群拓扑是如何设计的?如何选择合适的拓扑策略? +--- +如何在 Cassandra 中处理集群的扩展和缩减?有哪些扩展策略? +--- +Cassandra 的写操作是如何保证性能和一致性的?有哪些优化方法? +--- +在 Cassandra 中,如何通过动态分区调整数据的存储和查询性能? +--- +Cassandra 是如何支持跨区域的容灾备份和高可用性的? +--- +如何在 Cassandra 中处理大规模集群的负载均衡? +--- +Cassandra 的节点通信机制是如何设计的?如何优化集群的网络通信? +--- +在 Cassandra 中,如何处理数据一致性和性能之间的权衡? +--- +Cassandra 的并发控制是如何实现的?如何管理并发写入和读取? +--- diff --git a/ClickHouse 面试题.md b/ClickHouse 面试题.md new file mode 100644 index 0000000..5599976 --- /dev/null +++ b/ClickHouse 面试题.md @@ -0,0 +1,98 @@ +什么是 ClickHouse?它的主要应用场景是什么? +--- +ClickHouse 的存储引擎有哪些?常见的引擎是什么? +--- +在 ClickHouse 中,如何创建一张表?常见的表结构语法是什么? +--- +ClickHouse 中的 MergeTree 引擎是什么?它有哪些优势? +--- +ClickHouse 中,如何进行数据插入和批量插入? +--- +ClickHouse 中的分区和分桶机制是什么?如何实现? +--- +ClickHouse 如何进行数据压缩?常见的压缩算法有哪些? +--- +在 ClickHouse 中,如何执行简单的 SQL 查询操作? +--- +ClickHouse 的数据类型有哪些?如何选择合适的数据类型? +--- +ClickHouse 是如何支持列式存储的?列式存储的优势是什么? +--- +ClickHouse 中的物化视图是什么?它的应用场景是什么? +--- +在 ClickHouse 中,如何配置 MergeTree 表的分区策略? +--- +ClickHouse 是如何处理大规模数据查询的?有哪些查询优化手段? +--- +在 ClickHouse 中,如何通过物化视图提高查询性能? +--- +ClickHouse 中的分布式表如何工作?如何实现数据的水平扩展? +--- +在 ClickHouse 中,如何使用 TTL 自动清理数据? +--- +ClickHouse 的高可用集群架构是如何设计的?如何实现高可用? +--- +在 ClickHouse 中,如何优化 SQL 查询的执行计划? +--- +ClickHouse 是如何支持实时数据分析的?如何通过流式数据导入实现? +--- +在 ClickHouse 中,如何通过 final 操作消除重复数据? +--- +ClickHouse 如何支持数据分片和副本机制?如何通过分片提高查询性能? +--- +在 ClickHouse 中,如何处理数据倾斜问题?有哪些常见的优化策略? +--- +ClickHouse 中的全局字典是什么?如何应用? +--- +ClickHouse 是如何通过多线程查询优化数据查询速度的? +--- +在 ClickHouse 中,如何使用分布式表和集群并发查询优化性能? +--- +ClickHouse 中的 Merge 操作是如何工作的?它如何影响查询性能? +--- +ClickHouse 是如何处理数据复制和同步的?数据一致性如何保证? +--- +在 ClickHouse 中,如何通过物化视图和聚合函数加速数据分析? +--- +ClickHouse 是如何实现并发写入的?如何优化并发写入性能? +--- +在 ClickHouse 中,如何对查询性能进行监控和分析? +--- +ClickHouse 如何与其他数据源(如 Kafka、MySQL)集成? +--- +ClickHouse 的 MergeTree 引擎如何进行数据的分段管理? +--- +ClickHouse 中的 ReplicatedMergeTree 是如何保证高可用和一致性的? +--- +在 ClickHouse 中,如何通过分区和合并策略优化查询性能? +--- +ClickHouse 如何处理列存储中的压缩和去重问题? +--- +ClickHouse 的分布式查询引擎是如何工作的?如何处理跨节点查询? +--- +在 ClickHouse 中,如何通过预聚合表和物化视图提高查询性能? +--- +ClickHouse 如何通过并行查询和分布式查询框架优化大数据查询? +--- +在 ClickHouse 中,如何配置分布式表的副本和分片机制? +--- +ClickHouse 是如何通过存储引擎和查询优化器处理高并发查询的? +--- +在 ClickHouse 中,如何通过合并机制减少小文件问题? +--- +ClickHouse 如何处理分布式查询中的故障恢复和一致性保证? +--- +ClickHouse 中的分布式查询优化是如何实现的?如何提高查询效率? +--- +ClickHouse 的列式存储格式是如何设计的?如何影响数据读取性能? +--- +在 ClickHouse 中,如何处理海量数据的分区、排序和合并策略? +--- +ClickHouse 如何处理跨数据中心的数据复制和同步问题? +--- +ClickHouse 的存储引擎是如何支持高效查询的?如何优化大规模数据存储? +--- +在 ClickHouse 中,如何优化全局字典的性能以提高查询效率? +--- +ClickHouse 是如何通过异步合并和多线程技术提升性能的? +--- diff --git a/DBA 数据库运维面试题.md b/DBA 数据库运维面试题.md new file mode 100644 index 0000000..8c5637d --- /dev/null +++ b/DBA 数据库运维面试题.md @@ -0,0 +1,210 @@ +MySQL 的体系结构是怎样的?其主要组件的功能是什么? +--- +解释 Oracle 数据库的存储结构以及表空间的概念。 +--- +请简要说明 PostgreSQL 的体系结构及其与 MySQL 的主要区别。 +--- +MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么? +--- +Oracle 中的 SGA 和 PGA 有什么区别? +--- +讨论 PostgreSQL 的 WAL(Write-Ahead Logging)机制及其作用。 +--- +MySQL 的主从复制原理是什么?常见的复制类型有哪些? +--- +Oracle 中的 ASM(Automatic Storage Management)是什么?它如何优化存储性能? +--- +请说明 PostgreSQL 的表分区(Partitioning)功能及其使用场景。 +--- +MySQL 中如何实现分库分表?常见的分库分表策略有哪些? +--- +Oracle 的多租户架构(Multitenant Architecture)是什么?它的优点是什么? +--- +MySQL 的分区表(Partition Table)是什么?它的结构是怎样的?有哪些优势? +--- +请说明 Oracle 数据库中的控制文件(Control File)的作用和管理方法。 +--- +PostgreSQL 的多版本并发控制(MVCC)机制是如何工作的? +--- +MySQL 的查询优化器如何选择执行计划? +--- +Oracle 中的表和索引组织表(IOT)有何不同? +--- +PostgreSQL 的 TOAST 机制是什么?它是如何处理大对象的? +--- +MySQL 中的查询缓存是什么?如何配置查询缓存? +--- +Oracle 的集群文件系统(Cluster File System)有哪些特点? +--- +PostgreSQL 中的表继承(Table Inheritance)功能及其应用场景是什么? +--- +MySQL 中如何实现分布式事务? +--- +Oracle 的 Redo Log 和 Undo Log 有何区别? +--- +MySQL 的性能监控工具有哪些?比如 Performance Schema 和 InnoDB Monitor 的功能是什么? +--- +Oracle 的 AWR(Automatic Workload Repository)报告如何用于性能调优? +--- +PostgreSQL 中的 pg_stat_statements 扩展如何帮助进行性能分析? +--- +如何在 MySQL 中配置和使用慢查询日志? +--- +Oracle 的 ASH(Active Session History)如何用于分析性能瓶颈? +--- +如何在 PostgreSQL 中使用 auto_explain 扩展进行查询性能分析? +--- +MySQL 中的 Buffer Pool 和 Query Cache 是如何影响数据库性能的? +--- +如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能? +--- +PostgreSQL 中的 autovacuum 如何影响数据库性能? +--- +如何在 MySQL 中使用 pt-query-digest 工具来分析查询性能? +--- +Oracle 中的并行查询(Parallel Query)如何配置和优化? +--- +如何使用 MySQL 的 Event Scheduler 来定期执行优化任务? +--- +如何在 Oracle 中使用 ADDM(Automatic Database Diagnostic Monitor)进行性能分析? +--- +PostgreSQL 中的 pg_stat_activity 视图如何用于监控和调优? +--- +如何配置和使用 MySQL 的 Performance Schema? +--- +Oracle 的 SQL Tuning Advisor 如何配置和使用? +--- +PostgreSQL 中的 auto_explain 模块如何帮助进行查询性能分析? +--- +如何在 MySQL 中调优 InnoDB Buffer Pool? +--- +如何在 Oracle 中使用 SPM(SQL Plan Management)来管理执行计划? +--- +PostgreSQL 的 pgBadger 工具如何用于性能分析和调优? +--- +如何在 Oracle 中使用 SQL Trace 和 TKPROF 工具进行 SQL 调优? +--- +解释 PostgreSQL 中的 VACUUM 命令及其优化作用。 +--- +如何在 MySQL 中优化索引以提高查询性能? +--- +Oracle 中的 Cost-Based Optimizer (CBO) 是如何工作的? +--- +如何在 PostgreSQL 中使用 Index Only Scan 优化查询? +--- +MySQL 中常见的 JOIN 优化策略有哪些? +--- +如何在 Oracle 中使用 Hints 提示优化 SQL 语句? +--- +解释 PostgreSQL 的查询计划(Query Plan)及如何读取它。 +--- +如何在 Oracle 中使用 Materialized View 来优化查询? +--- +如何在 MySQL 中使用 `EXPLAIN ANALYZE` 命令优化查询? +--- +Oracle 中的 Bind Variables 如何优化性能? +--- +PostgreSQL 中的 Common Table Expressions(CTEs)如何优化查询? +--- +MySQL 中的 Query Rewrite 插件是什么?如何使用它来优化查询? +--- +如何在 Oracle 中使用 SQL Profiles 和 SQL Plan Baselines 进行调优? +--- +PostgreSQL 中的并行查询(Parallel Query)如何提高查询效率? +--- +如何在 MySQL 中避免和优化死锁问题? +--- +Oracle 中的 Table Partitioning 如何优化查询性能? +--- +PostgreSQL 中的自定义函数(User-Defined Functions)如何影响查询性能? +--- +MySQL 中的 Full-Text Search 索引如何优化全文检索? +--- +如何在 Oracle 中使用自动优化(Automatic Tuning)特性? +--- +MySQL 中的备份和恢复策略是什么?包括物理备份和逻辑备份 +--- +Oracle 中的 RMAN 工具如何进行数据库备份和恢复? +--- +如何在 PostgreSQL 中实现 WAL 归档(WAL Archiving)备份策略? +--- +MySQL 的 binlog 日志在数据恢复中的作用是什么? +--- +如何在 Oracle 中进行增量备份和差异备份? +--- +PostgreSQL 的 pg_dump 和 pg_restore 工具如何进行逻辑备份和恢复? +--- +如何在 MySQL 中使用 Percona XtraBackup 工具进行热备份? +--- +如何在 Oracle 中配置和使用 Data Pump 进行数据导出和导入? +--- +PostgreSQL 中的 PITR(Point-in-Time Recovery)恢复方法是什么? +--- +如何在 MySQL 中进行数据库的灾难恢复? +--- +MySQL 中 mysqldump 和 mysqlpump 工具的区别是什么? +--- +Oracle 中的闪回查询(Flashback Query)功能如何实现数据恢复? +--- +PostgreSQL 中的 pg_basebackup 工具如何进行物理备份? +--- +如何在 MySQL 中配置和管理 GTID(Global Transaction ID)以实现数据恢复? +--- +Oracle 的闪回数据库(Flashback Database)功能如何配置和使用? +--- +PostgreSQL 的 Barman(Backup and Recovery Manager)工具如何使用? +--- +MySQL 中如何使用 mysqlbinlog 工具进行二进制日志恢复? +--- +Oracle 的 Data Guard 配置中,如何使用 Fast-Start Failover 实现自动故障切换? +--- +PostgreSQL 中的 Point-In-Time Recovery(PITR)与流复制(Streaming Replication)如何结合使用? +--- +MySQL 中如何设置和管理备份策略以实现自动化备份? +--- +MySQL 的 MHA(Master High Availability)架构是什么?如何进行配置? +--- +Oracle Data Guard 如何实现高可用性和数据保护? +--- +PostgreSQL 的 Streaming Replication 和 Logical Replication 有何区别? +--- +如何在 MySQL 中配置 Galera Cluster 以实现多主复制? +--- +Oracle RAC(Real Application Clusters)如何实现高可用性? +--- +请说明 PostgreSQL 的 Patroni 高可用性框架及其配置。 +--- +MySQL 中的 GTID(Global Transaction ID)在数据复制中的作用是什么? +--- +如何在 Oracle 中配置和管理 Data Guard Broker? +--- +PostgreSQL 中的 BDR(Bi-Directional Replication)如何实现双向复制? +--- +MySQL 中的半同步复制是如何工作的? +--- +Oracle 的 Flashback 技术如何用于数据恢复和高可用性? +--- +如何在 MySQL 中实现多主复制? +--- +Oracle 中的 Active Data Guard 如何配置和管理? +--- +如何在 MySQL 中配置和使用 ProxySQL 以实现高可用性? +--- +Oracle 的 Data Guard 与 GoldenGate 有何不同? +--- +如何在 PostgreSQL 中使用 Patroni 实现高可用性? +--- +MySQL 的 MHA 和 Group Replication 有什么区别? +--- +Oracle 的 GoldenGate 如何实现实时数据集成和高可用性? +--- +PostgreSQL 中的 repmgr 工具如何用于管理和监控复制集群? +--- +MySQL 的 NDB Cluster 如何实现高可用性? +--- +Oracle 的 Data Guard 和 RAC 如何结合使用实现最高可用性? +--- +如何使用 MySQL 的 EXPLAIN 语句进行查询分析? +--- +MySQL 的覆盖索引是什么? +--- diff --git a/DevOps 运维面试题.md b/DevOps 运维面试题.md new file mode 100644 index 0000000..1538730 --- /dev/null +++ b/DevOps 运维面试题.md @@ -0,0 +1,300 @@ +请简述 Jenkins 的主要功能和优势。 +--- +GitLab CI 和 Jenkins 在功能上有哪些主要区别? +--- +如何在 Jenkins 中配置流水线以实现持续集成和持续部署? +--- +Jenkins 的 Pipeline 脚本有哪几种类型?请分别简述它们的特点。 +--- +在 Jenkins 中如何实现多分支流水线的管理? +--- +Travis CI 的配置文件通常使用什么格式编写?请简述其基本结构。 +--- +GitLab CI 如何通过配置文件实现自动化测试和部署? +--- +在 CI/CD 流程中,如何使用 Jenkins 与 Docker 集成? +--- +GitLab Runner 在 GitLab CI/CD 流程中扮演什么角色? +--- +请描述 Jenkins 中 Blue Ocean 插件的主要功能及其使用场景。 +--- +如何在 GitLab CI 中配置多阶段流水线? +--- +Jenkins 如何实现与 Git 的集成以便自动触发构建? +--- +Travis CI 如何设置环境变量以便在构建过程中使用? +--- +在 Jenkins 中,如何使用 Groovy 语言编写 Pipeline 脚本? +--- +Jenkins 如何实现分布式构建,具体步骤是什么? +--- +请解释 Jenkins 中的 Jenkinsfile 文件的作用及其基本结构。 +--- +在 GitLab CI 中,如何使用 cache 加速构建过程? +--- +Travis CI 如何与 GitHub 集成实现自动构建和部署? +--- +在 Jenkins 中,如何配置构建参数以实现不同环境的部署? +--- +GitLab CI 中的 artifacts 有什么作用?如何配置? +--- +Jenkins 如何与 SonarQube 集成进行代码质量分析? +--- +Travis CI 支持哪些编程语言的构建?请举例说明。 +--- +在 Jenkins 中,如何使用 credentials 插件管理敏感信息? +--- +GitLab CI 中的 stages 和 jobs 有什么区别? +--- +Jenkins 如何实现与 Ansible 的集成以自动化配置管理? +--- +在 Travis CI 中,如何使用 matrix 功能进行多环境测试? +--- +GitLab CI 中的 include 关键字有什么作用?如何使用? +--- +在 Jenkins 中,如何使用 post 部分定义构建后操作? +--- +GitLab CI 中的 environment 关键字如何实现环境区分? +--- +Jenkins 如何实现构建历史的管理和清理? +--- +Terraform 与 CloudFormation 的主要区别是什么? +--- +在 Terraform 中,什么是状态文件(state file),其作用是什么? +--- +如何使用 Terraform 管理多环境(如开发、测试、生产)配置? +--- +请简述 CloudFormation 中 Stack 的概念及其主要用途。 +--- +Terraform 中的模块(module)有什么作用?如何创建一个模块? +--- +在 CloudFormation 中,如何使用条件语句来控制资源的创建? +--- +Terraform 中如何处理资源的依赖关系? +--- +CloudFormation 如何实现自动回滚(rollback)功能? +--- +在 Terraform 中,什么是输出变量(output variable),如何使用? +--- +如何使用 Terraform 实现基础设施的版本控制? +--- +CloudFormation 的模板文件通常使用什么格式编写? +--- +在 Terraform 中,什么是动态块(dynamic block),其使用场景有哪些? +--- +请解释 Terraform 的 plan 和 apply 操作的区别。 +--- +CloudFormation 如何使用 Change Sets 管理变更? +--- +Terraform 的 provider 有什么作用?请举例说明常见的 provider。 +--- +如何在 Terraform 中定义并使用变量(variable)? +--- +CloudFormation 中的 Parameter 和 Output 有什么区别? +--- +在 Terraform 中,如何使用 data 源获取外部数据? +--- +CloudFormation 的模板文件中,Resources 部分如何定义? +--- +如何在 Terraform 中使用本地执行计划(local-exec)和远程执行计划(remote-exec)? +--- +CloudFormation 中的条件(Conditions)如何配置? +--- +在 Terraform 中,如何使用 workspace 管理不同的工作环境? +--- +CloudFormation 中如何定义跨栈引用(cross-stack reference)? +--- +Terraform 中的 backend 配置有什么作用? +--- +CloudFormation 中的变更集(Change Set)如何使用? +--- +在 Terraform 中,如何处理敏感数据(如密码)? +--- +CloudFormation 的 StackSet 有什么作用?如何使用? +--- +如何使用 Terraform 管理多云环境的基础设施? +--- +CloudFormation 中的宏(Macro)如何实现模板自定义? +--- +Terraform 中的 lifecycle 块有什么作用? +--- +请简述 Docker 的基本概念和工作原理。 +--- +Kubernetes 中的 Pod 是什么?其作用是什么? +--- +Docker Compose 的主要用途是什么?请举例说明。 +--- +如何在 Kubernetes 中实现服务的自动伸缩(autoscaling)? +--- +在 Docker 中,镜像(image)与容器(container)有什么区别? +--- +Kubernetes 中的 Deployment 和 StatefulSet 有什么区别? +--- +如何使用 Dockerfile 创建自定义镜像? +--- +Kubernetes 中,ConfigMap 和 Secret 的作用是什么? +--- +Docker Swarm 和 Kubernetes 在集群管理上的主要区别是什么? +--- +在 Kubernetes 中,如何实现持久化存储(Persistent Storage)? +--- +Docker 中的多阶段构建(multi-stage build)有什么优势? +--- +Kubernetes 中的 Ingress 资源有什么作用?如何配置? +--- +请描述 Docker 的网络模型(network model)及其主要类型。 +--- +如何在 Kubernetes 中使用 Helm 部署应用? +--- +Docker 的容器编排(orchestration)有哪些常见工具? +--- +如何在 Docker 中实现数据卷(volume)的持久化存储? +--- +Kubernetes 中的 DaemonSet 有什么作用? +--- +Docker 镜像的多层结构是如何实现的? +--- +Kubernetes 中的 ReplicaSet 和 ReplicationController 有什么区别? +--- +Docker 的 bridge 网络模式如何配置和使用? +--- +Kubernetes 中的 Service 有哪几种类型?请分别简述。 +--- +Docker 中如何实现镜像的推送和拉取? +--- +Kubernetes 的 Helm Charts 如何实现应用的版本控制? +--- +Docker 容器如何实现资源限制(如 CPU 和内存)? +--- +Kubernetes 中的 Job 和 CronJob 有什么区别? +--- +如何使用 Docker Swarm 部署一个高可用集群? +--- +Kubernetes 中的 Persistent Volume 和 Persistent Volume Claim 有什么区别? +--- +Docker 中的 overlay 网络模式如何配置? +--- +Kubernetes 中的网络策略(Network Policy)如何实现? +--- +在 Docker 中,如何构建多阶段镜像以减少镜像体积? +--- +请比较 AWS、Azure 和 GCP 的主要区别和优势。 +--- +如何在 AWS 中使用 IAM 管理用户和权限? +--- +Azure 的资源管理器(Resource Manager)有什么作用? +--- +GCP 的 App Engine 与 Kubernetes Engine 有什么不同? +--- +如何在 AWS 中实现自动化部署(Auto Deployment)? +--- +Azure 的虚拟网络(Virtual Network)有哪些配置方式? +--- +请解释 GCP 的 IAM 策略及其使用场景。 +--- +AWS 的 CloudFormation 与 Terraform 有何异同? +--- +Azure 中的应用服务(App Services)有哪些特点? +--- +GCP 的 Cloud Functions 如何实现无服务器计算(Serverless Computing)? +--- +如何在 AWS 中使用 S3 存储和管理数据? +--- +Azure 的监控服务(Azure Monitor)有什么功能? +--- +GCP 的 BigQuery 在数据分析中有哪些优势? +--- +AWS 中的 Lambda 函数的应用场景有哪些? +--- +如何使用 Azure 的 DevOps 工具进行 CI/CD 管理? +--- +AWS 的 EC2 实例类型有哪些?如何选择合适的实例类型? +--- +Azure 的存储账户(Storage Account)有哪些类型? +--- +GCP 的 Cloud Storage 如何配置存储桶(Bucket)? +--- +AWS 的 RDS 支持哪些数据库引擎? +--- +Azure 的虚拟机(Virtual Machine)如何配置和管理? +--- +GCP 的 Compute Engine 如何创建和管理实例? +--- +AWS 的 S3 如何配置生命周期策略(Lifecycle Policy)? +--- +Azure 的 Cosmos DB 有哪些主要特点? +--- +GCP 的 Pub/Sub 服务如何实现消息发布和订阅? +--- +AWS 的 CloudWatch 如何实现监控和告警? +--- +Azure 的 Kubernetes 服务(AKS)如何配置和使用? +--- +GCP 的 Bigtable 在处理大数据时有哪些优势? +--- +AWS 的 VPC 如何配置子网和路由表? +--- +Azure 的 Blob 存储如何实现静态网站托管? +--- +GCP 的 Dataflow 如何实现数据流处理? +--- +请编写一个 Python 脚本实现文件的批量重命名。 +--- +如何在 Bash 脚本中实现条件判断和循环操作? +--- +请用 Python 实现一个简单的 HTTP 服务器。 +--- +如何在 Shell 脚本中使用管道(pipeline)实现数据传递? +--- +使用 Python 读取和写入 JSON 文件的方式有哪些? +--- +请编写一个 Shell 脚本监控系统的 CPU 使用率。 +--- +在 Python 中,如何使用多线程(multithreading)提高程序性能? +--- +Bash 中如何通过函数实现代码的重用? +--- +使用 Python 的 requests 库如何发送 HTTP 请求? +--- +请解释 Shell 脚本中的重定向(redirection)操作及其用途。 +--- +如何使用 Python 的 argparse 模块解析命令行参数? +--- +请编写一个 Bash 脚本实现定时备份功能。 +--- +在 Python 中,如何处理文件的异常情况? +--- +Shell 脚本中如何使用 here document 实现多行文本输入? +--- +使用 Python 实现对一个目录下所有文件的遍历操作。 +--- +请编写一个 Python 脚本定时抓取某个网页的内容。 +--- +如何在 Bash 脚本中处理数组(array)? +--- +请用 Python 实现一个简单的 TCP 客户端和服务器。 +--- +如何在 Shell 脚本中实现文件的读写操作? +--- +使用 Python 的 pandas 库如何处理 CSV 文件? +--- +请编写一个 Shell 脚本监控目录的变化并记录日志。 +--- +在 Python 中,如何使用 asyncio 实现异步编程? +--- +Bash 中如何使用正则表达式进行文本处理? +--- +使用 Python 的 smtplib 库如何发送电子邮件? +--- +请解释 Shell 脚本中的位置参数(positional parameter)及其使用方法。 +--- +如何使用 Python 的 logging 模块记录日志? +--- +请编写一个 Bash 脚本检查系统中的所有服务状态。 +--- +在 Python 中,如何处理和解析 XML 文件? +--- +Shell 脚本中如何使用 trap 命令捕捉和处理信号? +--- +使用 Python 实现一个简单的图像处理程序。 +--- diff --git a/Docker 面试题.md b/Docker 面试题.md new file mode 100644 index 0000000..747b15a --- /dev/null +++ b/Docker 面试题.md @@ -0,0 +1,56 @@ +什么是 Docker?为什么要在项目中用到 Docker?以及你在项目中是如何使用 Docker 的? +--- +你是怎么保证 Docker 代码沙箱执行程序时的安全性的? +--- +请解释 Docker 的基本概念及其核心组件。 +--- +描述 Docker 镜像的构建过程,并解释 Dockerfile 的作用。 +--- +在 Docker 中,如何管理和查看容器日志? +--- +在 Docker 中,如何进行数据卷管理? +--- +在 Docker 中,如何配置容器的网络? +--- +在 Docker 中,如何优化容器启动时间? +--- +在 Docker 中,如何实现容器之间的通信? +--- +请解释什么是 Docker Swarm,并描述其主要功能。 +--- +在 Docker 中,如何配置和管理环境变量? +--- +在 CI/CD 流程中,如何使用 Jenkins 与 Docker 集成? +--- +请简述 Docker 的基本概念和工作原理。 +--- +Docker Compose 的主要用途是什么?请举例说明。 +--- +在 Docker 中,镜像(image)与容器(container)有什么区别? +--- +如何使用 Dockerfile 创建自定义镜像? +--- +Docker Swarm 和 Kubernetes 在集群管理上的主要区别是什么? +--- +Docker 中的多阶段构建(multi-stage build)有什么优势? +--- +请描述 Docker 的网络模型(network model)及其主要类型。 +--- +Docker 的容器编排(orchestration)有哪些常见工具? +--- +如何在 Docker 中实现数据卷(volume)的持久化存储? +--- +Docker 镜像的多层结构是如何实现的? +--- +Docker 的 bridge 网络模式如何配置和使用? +--- +Docker 中如何实现镜像的推送和拉取? +--- +Docker 容器如何实现资源限制(如 CPU 和内存)? +--- +如何使用 Docker Swarm 部署一个高可用集群? +--- +Docker 中的 overlay 网络模式如何配置? +--- +在 Docker 中,如何构建多阶段镜像以减少镜像体积? +--- diff --git a/DolphinScheduler 面试题.md b/DolphinScheduler 面试题.md new file mode 100644 index 0000000..4e12f28 --- /dev/null +++ b/DolphinScheduler 面试题.md @@ -0,0 +1,92 @@ +DolphinScheduler 是什么?它的主要用途是什么? +--- +在 DolphinScheduler 中,如何创建一个简单的工作流? +--- +DolphinScheduler 中的任务节点是什么?常见的任务类型有哪些? +--- +DolphinScheduler 的 DAG(有向无环图)是什么?它在任务调度中有什么作用? +--- +在 DolphinScheduler 中,如何配置定时任务? +--- +DolphinScheduler 是如何支持多租户的?如何为不同用户配置权限? +--- +在 DolphinScheduler 中,如何设置任务的依赖关系? +--- +DolphinScheduler 中的调度器和执行器是什么?它们分别承担什么职责? +--- +DolphinScheduler 的报警机制是如何实现的?如何配置任务失败告警? +--- +在 DolphinScheduler 中,如何监控任务的执行状态? +--- +在 DolphinScheduler 中,如何通过 Shell 脚本任务执行自定义任务? +--- +DolphinScheduler 是如何处理任务重试的?如何设置任务的最大重试次数? +--- +DolphinScheduler 支持哪些常见的任务类型? +--- +DolphinScheduler 的 Master 和 Worker 是如何协同工作的? +--- +在 DolphinScheduler 中,如何实现任务的并行执行?并行度如何配置? +--- +DolphinScheduler 如何处理任务的失败?有哪些常见的失败处理策略? +--- +DolphinScheduler 中的依赖任务是如何调度的?任务的依赖链如何处理? +--- +在 DolphinScheduler 中,如何使用条件任务实现动态任务流? +--- +DolphinScheduler 是如何进行任务的容错处理的?任务失败后的自动恢复机制是什么? +--- +DolphinScheduler 的日志管理机制是如何设计的?如何查看任务执行日志? +--- +在 DolphinScheduler 中,如何配置全局参数并传递给任务节点? +--- +DolphinScheduler 的任务调度策略是如何设计的?如何优化调度策略以提高效率? +--- +在 DolphinScheduler 中,如何设置任务的优先级?优先级对调度的影响是什么? +--- +DolphinScheduler 中的任务重试机制是如何工作的?如何配置任务的重试策略? +--- +DolphinScheduler 是如何与 Hadoop、Hive 等大数据组件集成的? +--- +在 DolphinScheduler 中,如何进行任务的动态扩展?任务节点的扩展性如何保障? +--- +DolphinScheduler 中的 SLA 监控机制是如何工作的?如何设置任务的 SLA 告警? +--- +在 DolphinScheduler 中,如何处理循环依赖任务?如何避免任务的死锁问题? +--- +DolphinScheduler 的分布式架构是如何设计的?它如何保证任务调度的高可用性? +--- +DolphinScheduler 是如何处理任务执行的失败恢复的?任务失败后如何进行重试和恢复? +--- +在 DolphinScheduler 中,如何配置 Master 和 Worker 的资源限制? +--- +在 DolphinScheduler 中,如何处理任务的执行超时问题?有哪些超时处理策略? +--- +DolphinScheduler 的任务调度与资源分配是如何平衡的?如何优化资源使用效率? +--- +DolphinScheduler 是如何实现分布式任务调度的?如何在集群环境下保证任务的可靠性? +--- +DolphinScheduler 的负载均衡机制是如何设计的?如何保证多任务执行的稳定性? +--- +在 DolphinScheduler 中,如何处理任务节点的高并发执行?如何优化高并发场景下的性能? +--- +在 DolphinScheduler 中,如何通过任务的依赖优化复杂工作流的执行效率? +--- +DolphinScheduler 是如何处理大规模任务调度的?有哪些优化策略可以提高大数据环境下的调度效率? +--- +在 DolphinScheduler 中,如何实现动态工作流调度?如何通过配置实现任务的灵活调度? +--- +DolphinScheduler 如何保证任务的幂等性?在分布式系统中如何避免任务的重复执行? +--- +DolphinScheduler 的日志系统是如何设计的?如何通过日志监控和调优任务执行? +--- +在 DolphinScheduler 中,如何通过自定义插件扩展任务类型?插件机制的底层原理是什么? +--- +DolphinScheduler 的 Master 与 Worker 节点之间的通信机制是如何设计的? +--- +在 DolphinScheduler 中,如何实现高可用集群的任务调度?主从节点如何协同工作? +--- +DolphinScheduler 如何处理任务调度中的网络故障问题?有哪些故障恢复机制? +--- +DolphinScheduler 的工作流依赖管理是如何实现的?如何优化复杂依赖链的执行效率? +--- diff --git a/Doris 面试题.md b/Doris 面试题.md new file mode 100644 index 0000000..2238b48 --- /dev/null +++ b/Doris 面试题.md @@ -0,0 +1,116 @@ +什么是 Apache Doris?它的主要应用场景是什么? +--- +Doris 的核心架构包括哪些组件?各自的作用是什么? +--- +在 Doris 中,如何创建一个表?常见的数据类型有哪些? +--- +Doris 支持哪些数据导入方式?如何通过 Broker Load 导入数据? +--- +在 Doris 中,什么是 Rollup 表?它在查询优化中的作用是什么? +--- +Doris 是如何支持 SQL 查询的?有哪些常用的 SQL 语法? +--- +Doris 的分区表和分桶表有什么区别?如何选择合适的表类型? +--- +在 Doris 中,如何实现数据的自动分区和手动分区? +--- +Doris 是如何支持多维分析的?什么是预聚合? +--- +在 Doris 中,如何通过主键模型实现数据更新? +--- +在 Doris 中,如何通过物化视图加速查询? +--- +Doris 中的数据存储格式有哪些?如何选择适合的存储格式? +--- +Doris 是如何实现数据高可用性的?有哪些机制保障数据安全? +--- +Doris 中的 compaction 机制是什么?它在数据存储中的作用是什么? +--- +在 Doris 中,如何进行查询优化?有哪些常用的优化手段? +--- +Doris 中的多租户支持是如何实现的?如何管理资源池? +--- +Doris 是如何处理数据倾斜问题的?如何通过分区和分桶优化查询性能? +--- +在 Doris 中,如何通过 Broker Load 导入大规模数据?常见的优化策略是什么? +--- +Doris 支持的分布式查询引擎有哪些?如何实现高效的数据查询? +--- +Doris 中的 Join 操作是如何实现的?如何优化 Join 查询的性能? +--- +Doris 的并行查询机制是如何工作的?如何通过并行度提高查询性能? +--- +在 Doris 中,如何实现数据的自动备份和恢复?有哪些高可用机制? +--- +Doris 如何与 Hadoop 生态系统中的其他组件(如 HDFS、Hive)集成? +--- +Doris 的数据导入性能如何优化?有哪些常见的性能调优方法? +--- +Doris 是如何处理数据一致性的?有哪些数据一致性模型? +--- +Doris 中的分区裁剪是什么?它如何提高查询效率? +--- +在 Doris 中,如何管理和监控集群的负载均衡? +--- +Doris 如何支持实时数据分析?如何通过 Stream Load 实现流数据导入? +--- +在 Doris 中,如何使用外部表查询其他数据源? +--- +Doris 中的 Compaction 是如何工作的?如何优化合并性能? +--- +Doris 如何处理数据更新和删除?常见的更新策略有哪些? +--- +在 Doris 中,如何通过分区和分桶策略减少数据倾斜? +--- +Doris 的查询计划是如何生成和优化的?Explain 语句如何帮助理解查询执行计划? +--- +在 Doris 中,如何通过存储模型选择(如聚合模型)提高查询效率? +--- +Doris 是如何处理大规模并发查询的?有哪些常见的并发优化策略? +--- +在 Doris 中,如何配置和使用数据的压缩机制? +--- +Doris 如何通过分布式架构实现水平扩展?有哪些扩展方式? +--- +在 Doris 中,如何进行数据的全量和增量导入?增量导入的场景是什么? +--- +Doris 中的分布式事务是如何处理的?如何保证数据的一致性? +--- +在 Doris 中,如何通过跨表 Join 提升数据分析能力? +--- +Doris 的多副本机制是如何工作的?它如何保证数据高可用? +--- +Doris 的列存储格式是如何设计的?它与行存储的区别是什么? +--- +在 Doris 中,如何通过物化视图减少重复查询的开销? +--- +Doris 的索引机制是如何实现的?如何通过索引优化查询性能? +--- +Doris 如何处理数据压缩和编码?有哪些常见的压缩格式? +--- +在 Doris 中,如何通过动态分区提升数据导入和查询的性能? +--- +Doris 的容错机制是如何实现的?当节点失效时如何恢复数据? +--- +在 Doris 中,如何通过物化视图和 Rollup 表优化复杂查询? +--- +Doris 中的存储模型是如何设计的?如何根据业务场景选择合适的模型? +--- +Doris 中的冷热数据分离是如何实现的?它对查询性能有何帮助? +--- +在 Doris 中,如何通过查询优化器提高复杂 SQL 查询的性能? +--- +Doris 的高并发读写能力是如何实现的?如何通过配置提升并发性能? +--- +Doris 是如何支持流数据导入和实时数据查询的? +--- +Doris 如何保证数据一致性?在分布式环境下有哪些机制保障数据正确性? +--- +Doris 的数据分布策略是如何设计的?如何通过分布式存储提高查询效率? +--- +在 Doris 中,如何通过物化视图减少计算开销?如何管理物化视图? +--- +Doris 如何处理大规模数据集的全量和增量导入?如何优化数据导入性能? +--- +Doris 如何支持实时数据查询?Stream Load 机制是如何工作的? +--- diff --git a/Drill 面试题.md b/Drill 面试题.md new file mode 100644 index 0000000..0c38156 --- /dev/null +++ b/Drill 面试题.md @@ -0,0 +1,84 @@ +什么是 Apache Drill?它的主要应用场景是什么? +--- +Apache Drill 如何支持无模式(schema-free)查询? +--- +在 Drill 中,如何连接和查询 JSON 文件? +--- +Apache Drill 支持哪些数据源? +--- +Drill 是如何处理分布式查询的?它的分布式架构是怎样的? +--- +在 Drill 中,如何执行简单的 SQL 查询? +--- +Drill 与传统数据仓库工具相比有哪些优势? +--- +如何在 Drill 中加载 CSV 文件并查询数据? +--- +Drill 如何与 HDFS 集成?如何在 HDFS 中执行查询? +--- +在 Drill 中,如何使用嵌套数据(如 JSON、Parquet)进行查询? +--- +Drill 支持哪些文件格式?如何在不同格式之间进行查询? +--- +Apache Drill 的优化器是如何工作的?如何通过优化器提高查询性能? +--- +在 Drill 中,如何通过 Drill JDBC 驱动连接到其他 BI 工具? +--- +Drill 是如何支持跨数据源查询的?如何在 SQL 中实现多源查询? +--- +在 Drill 中,如何配置和优化查询的并行度? +--- +Drill 如何实现与 Hive Metastore 的集成?如何查询 Hive 表? +--- +Drill 是如何处理大规模数据集的?如何通过分片提高查询性能? +--- +如何在 Drill 中使用分布式存储引擎执行高效的查询? +--- +Drill 是如何处理动态 schema 的?它如何在无模式数据中管理 schema? +--- +在 Drill 中,如何执行 JOIN 操作?如何优化 JOIN 查询性能? +--- +Drill 支持的用户定义函数(UDF)是什么?如何自定义 UDF? +--- +Apache Drill 如何与 Parquet 文件格式集成?如何查询 Parquet 数据? +--- +在 Drill 中,如何配置和优化查询的内存使用? +--- +Drill 是如何进行数据序列化和反序列化的?如何提高数据的读写性能? +--- +Drill 的分布式架构是如何处理数据一致性和容错的? +--- +在 Drill 中,如何对查询执行进行调优?常见的调优策略有哪些? +--- +Drill 是如何通过查询计划来优化查询性能的? +--- +Drill 中的外部存储插件是如何工作的?如何创建和管理存储插件? +--- +Drill 是如何实现高可用性的?如何配置高可用集群? +--- +在 Drill 中,如何使用 Drill Bit 和 Zookeeper 实现分布式查询调度? +--- +Drill 中的查询编译器是如何优化复杂查询的?它的工作原理是什么? +--- +Drill 是如何通过存储引擎和优化器处理跨多个节点的查询? +--- +在 Drill 中,如何通过配置内存和计算资源优化大规模查询的性能? +--- +Drill 如何处理数据并行度和任务分配的平衡?有哪些优化策略? +--- +Apache Drill 的自适应查询优化机制是如何设计的?如何在动态环境中优化查询? +--- +Drill 如何处理大规模数据集的容错恢复?如何保证数据的正确性和一致性? +--- +Drill 是如何通过分布式执行引擎加速大数据查询的? +--- +在 Drill 中,如何通过配置多级索引提高查询的检索效率? +--- +Drill 如何处理高并发查询?有哪些常见的优化策略? +--- +Drill 中的查询并行度和负载均衡机制是如何实现的? +--- +Drill 是如何通过动态查询优化器处理不同数据源的查询负载的? +--- +Drill 如何处理多租户数据隔离和安全性问题?有哪些常见的解决方案? +--- diff --git a/Druid 面试题.md b/Druid 面试题.md new file mode 100644 index 0000000..43946b7 --- /dev/null +++ b/Druid 面试题.md @@ -0,0 +1,92 @@ +什么是 Apache Druid?它的主要应用场景是什么? +--- +Druid 的数据模型是如何设计的?它与传统数据库模型有何区别? +--- +在 Druid 中,什么是 Segment?它的作用是什么? +--- +Druid 支持哪些常见的数据格式?如何导入这些数据? +--- +Druid 如何处理数据的实时摄取和批处理? +--- +在 Druid 中,什么是 Coordinator 和 Overlord?它们各自的作用是什么? +--- +Druid 的查询方式有哪些?它支持哪些类型的查询? +--- +如何在 Druid 中进行数据的分区和分片? +--- +Druid 的时间分片是如何工作的? +--- +在 Druid 中,如何进行维度和度量的定义? +--- +Druid 中的中间管理节点是什么?它的作用是什么? +--- +Druid 如何实现高并发的查询处理?有哪些优化手段? +--- +在 Druid 中,如何处理数据压缩和索引优化? +--- +Druid 是如何支持滚动数据更新的?数据的增量更新机制是什么? +--- +Druid 是如何与 Kafka 集成的?如何进行实时数据摄取? +--- +在 Druid 中,如何进行查询调优?有哪些常见的性能优化策略? +--- +Druid 如何处理海量数据的分布式存储和查询? +--- +在 Druid 中,如何配置 Segment 的副本和容错机制? +--- +Druid 的数据摄取方式有哪几种?如何选择合适的摄取方式? +--- +Druid 是如何处理时间序列数据的?它有哪些独特的时间处理机制? +--- +在 Druid 中,如何进行实时和批处理数据的联合查询? +--- +Druid 的分布式查询架构是如何设计的?如何保证查询的高效性? +--- +在 Druid 中,如何进行维度裁剪和维度优化? +--- +Druid 是如何与 Hadoop 集成进行批处理数据摄取的? +--- +如何在 Druid 中进行数据的备份和恢复? +--- +Druid 是如何支持多租户和数据隔离的? +--- +在 Druid 中,如何使用数据合并策略提高查询性能? +--- +Druid 如何与 Presto、Hive 等其他大数据查询引擎集成? +--- +Druid 的数据段如何进行负载均衡? +--- +在 Druid 中,如何进行高效的聚合查询? +--- +Druid 是如何进行数据压缩的?有哪些常用的压缩算法? +--- +在 Druid 中,如何配置查询缓存以提高查询速度? +--- +Druid 的数据持久化机制是如何实现的? +--- +如何在 Druid 中处理实时数据摄取中的延迟和丢失问题? +--- +Druid 如何处理流式数据与批处理数据的结合? +--- +Druid 中的查询计划是如何生成的?如何优化查询计划? +--- +Druid 是如何通过分布式架构实现高可用的?有哪些机制保障数据可靠性? +--- +Druid 的中间管理节点如何调度任务?如何保证任务的高效执行? +--- +在 Druid 中,如何进行复杂的多维分析和高效聚合? +--- +Druid 如何通过分区和副本机制提高数据的可用性和查询性能? +--- +Druid 的 Segment 如何进行管理和优化以应对大规模数据场景? +--- +在 Druid 中,如何处理大规模并发查询的负载均衡和容错? +--- +Druid 如何通过数据分层存储和智能缓存提高查询效率? +--- +在 Druid 中,如何通过查询优化器提升复杂查询的性能? +--- +Druid 如何与 Flink 或 Spark Streaming 集成处理实时流数据? +--- +在 Druid 中,如何通过动态分区优化查询和存储效率? +--- diff --git a/Dubbo 原理面试题.md b/Dubbo 原理面试题.md new file mode 100644 index 0000000..772188b --- /dev/null +++ b/Dubbo 原理面试题.md @@ -0,0 +1,22 @@ +Dubbo 的监控中心(Monitor)是如何工作的? +--- +Dubbo 如何保证服务的高可用性? +--- +Dubbo 的核心架构是什么? +--- +Dubbo 的服务自动上线与下线机制是怎样的? +--- +Dubbo 的异步调用如何与主线程同步? +--- +Dubbo 的服务调用流程是怎样的? +--- +Dubbo 的工作原理是什么? +--- +Dubbo 中如何实现分布式事务? +--- +什么是服务注册与发现?Dubbo 如何实现? +--- +什么是 Dubbo?它解决了什么问题? +--- +Dubbo 的服务间调用如何保证幂等性? +--- diff --git a/Dubbo 性能优化面试题.md b/Dubbo 性能优化面试题.md new file mode 100644 index 0000000..fa8ee89 --- /dev/null +++ b/Dubbo 性能优化面试题.md @@ -0,0 +1,20 @@ +Dubbo 中的线程模型是什么? +--- +Dubbo 中的连接数过多如何处理? +--- +Dubbo 在大规模分布式场景中的性能优化策略有哪些? +--- +如何调优 Dubbo 的线程池? +--- +如何排查 Dubbo 的网络延迟问题? +--- +如何在 Dubbo 中优化网络通信性能? +--- +Dubbo 的超时问题如何排查与调优? +--- +Dubbo 的延迟加载(Lazy Loading)是如何实现的? +--- +Dubbo 的启动慢是什么原因? +--- +Dubbo 如何优化序列化性能? +--- diff --git a/Dubbo 配置面试题.md b/Dubbo 配置面试题.md new file mode 100644 index 0000000..3ccd657 --- /dev/null +++ b/Dubbo 配置面试题.md @@ -0,0 +1,58 @@ +如何监控 Dubbo 的服务性能? +--- +如何配置 Dubbo 的服务治理(Governance)? +--- +如何在 Dubbo 中使用直连提供者(Direct Provider)? +--- +Dubbo 的配置方式有哪些? +--- +什么是 Dubbo 的 Filter 机制? +--- +Dubbo 如何进行服务路由控制? +--- +如何在 Dubbo 中处理服务调用链路追踪? +--- +Dubbo 如何支持异步调用? +--- +如何自定义一个 Dubbo 的 SPI 扩展? +--- +Dubbo 支持哪些负载均衡策略? +--- +如何在 Dubbo 中配置服务的超时与重试策略? +--- +如何在 Dubbo 中进行服务限流和熔断的实现? +--- +Dubbo 中的 SPI 是什么?Java 的 SPI 有什么区别? +--- +Dubbo 中的分组(Group)是如何使用的? +--- +如何在 Dubbo 中实现动态配置的实时生效? +--- +Dubbo 中如何实现服务版本控制? +--- +Dubbo 中如何使用本地存根(Stub)和本地伪装(Mock)? +--- +Dubbo 中如何配置和使用服务限流? +--- +如何在 Dubbo 中配置动态服务发现? +--- +Dubbo 支持哪些序列化方式? +--- +Dubbo 中如何配置多协议、多注册中心? +--- +如何在 Dubbo 中实现服务的灰度发布? +--- +如何在 Dubbo 中实现服务的多协议暴露? +--- +Dubbo 的通信协议有哪些? +--- +Dubbo 的 XML 配置与注解配置有什么区别? +--- +如何在 Dubbo 中使用健康检查(Health Check)? +--- +Dubbo 中的服务降级策略有哪些? +--- +如何在 Dubbo 中配置服务的访问控制(ACL)? +--- +Dubbo 中的统计与监控数据如何采集? +--- diff --git a/Dubbo 面试题.md b/Dubbo 面试题.md new file mode 100644 index 0000000..45a812d --- /dev/null +++ b/Dubbo 面试题.md @@ -0,0 +1,133 @@ +如何监控 Dubbo 的服务性能? +--- +如何配置 Dubbo 的服务治理(Governance)? +--- +如何在 Dubbo 中使用直连提供者(Direct Provider)? +--- +Dubbo 如何支持异步调用? +--- +Dubbo 中的线程模型是什么? +--- +什么是 Dubbo 的 Mock 机制?如何使用? +--- +Dubbo 的监控中心(Monitor)是如何工作的? +--- +Dubbo 如何保证服务的高可用性? +--- +Dubbo 支持哪些负载均衡策略? +--- +Dubbo 中的连接数过多如何处理? +--- +如何自定义一个 Dubbo 的 SPI 扩展? +--- +Dubbo 的核心架构是什么? +--- +如何在 Dubbo 中处理服务调用链路追踪? +--- +Dubbo 的服务上线后无法调用,可能的原因有哪些? +--- +Dubbo 的服务自动上线与下线机制是怎样的? +--- +Dubbo 的配置方式有哪些? +--- +Dubbo 的超时问题如何排查与调优? +--- +如何在 Dubbo 中优化网络通信性能? +--- +如何处理 Dubbo 中的跨机房服务调用问题? +--- +如何排查 Dubbo 的网络延迟问题? +--- +如何调优 Dubbo 的线程池? +--- +Dubbo 在大规模分布式场景中的性能优化策略有哪些? +--- +什么是 Dubbo 的 Filter 机制? +--- +Dubbo 如何进行服务路由控制? +--- +Dubbo 的工作原理是什么? +--- +如何在 Dubbo 中进行服务限流和熔断的实现? +--- +Dubbo 中的流量控制策略有哪些? +--- +Dubbo 中的 SPI 是什么?Java 的 SPI 有什么区别? +--- +Dubbo 中的分组(Group)是如何使用的? +--- +如何在 Dubbo 中实现动态配置的实时生效? +--- +Dubbo 的启动慢是什么原因? +--- +Dubbo 中如何实现分布式事务? +--- +如何在 Dubbo 中配置服务的超时与重试策略? +--- +Dubbo 的服务调用流程是怎样的? +--- +Dubbo 中如何配置多协议、多注册中心? +--- +如何调试 Dubbo 的服务调用失败问题? +--- +Dubbo 支持哪些序列化方式? +--- +Dubbo 中如何实现服务端与客户端的版本兼容? +--- +如何在 Dubbo 中配置动态服务发现? +--- +Dubbo 中如何配置和使用服务限流? +--- +Dubbo 中如何使用本地存根(Stub)和本地伪装(Mock)? +--- +Dubbo 中如何实现服务版本控制? +--- +Dubbo 的异步调用如何与主线程同步? +--- +Dubbo 的延迟加载(Lazy Loading)是如何实现的? +--- +Dubbo 的内存泄漏问题如何排查与修复? +--- +如何在 Dubbo 中实现服务的灰度发布? +--- +Dubbo 中的统计与监控数据如何采集? +--- +Dubbo 的序列化异常如何解决? +--- +如何在 Dubbo 中配置服务的访问控制(ACL)? +--- +Dubbo 如何优化序列化性能? +--- +Dubbo 中的服务降级策略有哪些? +--- +什么是 Dubbo 的治理中心? +--- +Dubbo 的 Telnet 命令支持哪些操作? +--- +如何在 Dubbo 中使用健康检查(Health Check)? +--- +什么是服务注册与发现?Dubbo 如何实现? +--- +Dubbo 中的集群容错机制有哪些? +--- +Dubbo 的服务无法发现,可能的原因有哪些? +--- +Dubbo 的 XML 配置与注解配置有什么区别? +--- +Dubbo 的服务依赖问题如何解决? +--- +Dubbo 的通信协议有哪些? +--- +什么是 Dubbo?它解决了什么问题? +--- +Dubbo 的服务间调用如何保证幂等性? +--- +如何在 Dubbo 中实现服务的多协议暴露? +--- +Dubbo 和 Spring Cloud Gateway 有什么区别? +--- +Feign 和 Dubbo 的区别? +--- +你在项目中是如何使用 Dubbo RPC 框架的,讲述一下使用流程? + +--- diff --git a/ElasticSearch 面试题.md b/ElasticSearch 面试题.md new file mode 100644 index 0000000..55f860c --- /dev/null +++ b/ElasticSearch 面试题.md @@ -0,0 +1,354 @@ +什么是 Elasticsearch?它有哪些优势和应用场景? +--- +Elasticsearch 支持哪些类型的数据查询搜索方式? +--- +Elasticsearch 的 REST API 有什么优点? +--- +安装 Elasticsearch 时,系统需要依赖哪些组件? +--- +如何操作 Elasticsearch 进行文档的更新和删除? +--- +如何使用 Kibana 对 Elasticsearch 的数据进行可视化和操作? +--- +Elasticsearch 中 cat API 有什么作用? +--- +什么是 Elasticsearch 的副本?创建副本有什么好处? +--- +什么是 Elasticsearch 的分片?它在集群中的作用是什么? +--- +Elasticsearch 中的 keyword 和 text 字段有什么区别? +--- +Elasticsearch 支持哪些数据类型,如何选择合适的数据类型? +--- +如何启动并配置 Elasticsearch 服务器? +--- +什么是 Elasticsearch Cluster?它有什么作用? +--- +什么是 Elasticsearch 的 Document 文档?如何存储和检索文档? +--- +什么是 Elasticsearch 的 Index 索引?如何管理索引? +--- +如何在 Elasticsearch 中列出集群中的所有索引? +--- +如何使用 ID 检索 Elasticsearch 中的文档? +--- +ElasticSearch 精准匹配和全文检索匹配有什么区别? +--- +什么是 Elasticsearch 的 Node 节点?它有哪些角色和功能? +--- +Elasticsearch 中的 Mapping 有哪些常见的数据类型? +--- +什么是 Lucene?它和 Elasticsearch 有什么关系? +--- +Elasticsearch 的基本概念有哪些?请举例说明 +--- +Elasticsearch 支持哪些配置管理工具?如何使用这些工具? +--- +Elasticsearch 中不同节点类型(如主节点和数据节点等)的区别是什么? +--- +Elasticsearch 支持哪些语言的客户端?如何选择合适的客户端? +--- +如何在 Elasticsearch 中实现全文搜索的分页功能? +--- +Elasticsearch 中的 Search Suggestion 是什么?有哪些类型的搜索建议? +--- +Elasticsearch 中的 Search Template 功能是什么?如何使用它? +--- +如何使用 Elasticsearch 实现高亮显示搜索结果? +--- +如何在 Elasticsearch 中创建只读索引? +--- +Elasticsearch 提供了哪些核心 API?请举例说明每个 API 的功能 +--- +什么是 Elasticsearch 的 Bulk API?它有什么作用? +--- +如何使用 Elasticsearch 的 _analyze API 来调试分析器? +--- +Elasticsearch 支持哪些排序类型?请举例说明 +--- +在 Elasticsearch 中,如何使用 boost 参数提高某个字段的相关性得分? +--- +什么是 Elasticsearch 的 explain API?它有什么作用? +--- +Elasticsearch 中的 min_score 参数的作用是什么?如何使用它来过滤低相关性的结果? +--- +什么是 Elasticsearch 中的 match_phrase 查询?match_phrase 查询如何处理评分? +--- +什么是 Elasticsearch?Elasticsearch 和 MySQL 分别有哪些应用场景和优缺点? +--- +Elasticsearch 为什么能实现更灵活的查询? +--- +如何在高并发场景下保证 Elasticsearch 的读写一致性? +--- +如何利用 Elasticsearch 实现拼写纠错功能? +--- +如何使用 Elasticsearch 中的 Elastic Reporting 来生成报告? +--- +部署 Elasticsearch 时,如何优化 Linux 系统的设置? +--- +如何在 Elasticsearch 集群中添加和创建新索引?详细过程是什么? +--- +Elasticsearch 索引文档的具体流程是怎样的? +--- +如何对 Elasticsearch 中的数据进行预热操作? +--- +什么是 Elasticsearch 的 Tokenizer?如何使用它? +--- +Elasticsearch 数据写入的工作原理是什么?要经历哪些流程? +--- +Elasticsearch 中是否可以更改主分片的数量?原因是什么? +--- +如何监控 Elasticsearch 集群的运行状态和性能? +--- +客户端与 Elasticsearch 集群通信时,如何选择合适的节点来执行请求? +--- +Elasticsearch 中倒排索引的实现原理是什么? +--- +Elasticsearch 如何处理一次数据搜索请求?要经历哪些流程? +--- +什么是全文检索?Elasticsearch 的全文检索是如何实现的? +--- +如何利用 Beats 完成 Elasticsearch 的数据采集和传输? +--- +当前稳定版本的 Elasticsearch 具备哪些核心特性和改进? +--- +Elasticsearch 中 Explore API 的功能和应用场景是什么? +--- +Elasticsearch 的 Master 节点与候选 Master 节点有什么区别? +--- +什么是 Elasticsearch 的 X-Pack?它的主要功能和命令是什么? +--- +如何操作 Elasticsearch 实现高效的全文检索功能? +--- +Elasticsearch 集群中,节点如何分配和管理分片? +--- +Elasticsearch 与 Solr 有哪些区别? +--- +什么是正向索引?Elasticsearch 的倒排索引和正向索引有什么区别? +--- +Elasticsearch 的数据模型有哪些核心概念? +--- +Elasticsearch 如何确保数据的一致性和可靠性? +--- +Elasticsearch 的中文分词机制是如何实现的? +--- +ElasticSearch 有哪些分片策略?如何设定分片数量和副本数量? +--- +Elasticsearch 和关系型数据库有哪些区别?比如数据存储和查询等方面 +--- +什么是 Elasticsearch 的 Mapping 映射?如何定义映射? +--- +什么是 Elasticsearch 的 Analyzer 分析器?如何定义分析器? +--- +什么是 Elasticsearch 中的相关性得分?有哪些影响因素? +--- +Elasticsearch 中的 Token Filter 是如何工作的? +--- +Elasticsearch 提供了哪些内置的分析器?每个分析器的特点是什么? +--- +Elasticsearch 中,文档的设计原则和最佳实践是什么? +--- +Elasticsearch 的 Term、Match 和 Keyword 检索类型有什么区别? +--- +什么是字典树?Elasticsearch 是如何利用字典树的? +--- +什么是 Elasticsearch 中的倒排索引?它有什么作用? +--- +如何让 Elasticsearch 和数据库(比如 MySQL)的数据保持同步? +--- +Elasticsearch 中 Term Dictionary 词典是如何实现和管理的? +--- +如何利用 Elasticsearch 实现高性能的电商搜索系统? +--- +Elasticsearch 分析器的组成部分有哪些?作用分别是什么? +--- +如何优化 Elasticsearch 索引阶段的性能? +--- +Elasticsearch 中分词功能的实现原理是什么? +--- +如何优化 Elasticsearch 的查询性能以减少查询延迟? +--- +什么是 NRT 近实时搜索?其在 Elasticsearch 中的应用场景是什么? +--- +如何优化和提升 Elasticsearch 的近实时搜索性能? +--- +如何在 Elasticsearch 的索引设计阶段进行调优? +--- +Elasticsearch 中的分析器具体是如何工作的?如何处理和解析数据? +--- +Elasticsearch 的倒排索引与 MySQL 的正排索引有什么区别? +--- +Elasticsearch 如何根据词汇找到对应的倒排索引?经历哪些步骤? +--- +Elasticsearch 中倒排索引的结构具体是怎样的? +--- +Elasticsearch 中 Ingest 节点有什么作用?其工作原理是什么? +--- +如何通过 Spring Data Elasticsearch 实现复杂的查询操作? +--- +如何在 Spring Boot 项目中集成 Elasticsearch 并实现搜索功能? +--- +Elasticsearch 在分布式环境下的数据分布是如何实现的? +--- +Elasticsearch 中的 Nested 类型字段如何使用,有哪些适用场景? +--- +如何在 Elasticsearch 中进行权限管理和认证? +--- +Elasticsearch 中的查询缓存和结果缓存是如何工作的?如何优化缓存? +--- +如何利用 Elasticsearch 实现实时日志分析系统? +--- +Elasticsearch 中的 Pipeline Aggregation 如何使用?有哪些典型应用场景? +--- +如何在 Elasticsearch 中实现数据的自动化清理? +--- +如何通过 Elasticsearch 实现推荐系统? +--- +Elasticsearch 中的 Shard Allocation Awareness 是如何工作的? +--- +如何在 Elasticsearch 中实现 Auto-scaling 自动分片缩放? +--- +Elasticsearch 如何处理大量数据的删除操作?如何防止性能下降? +--- +如何通过 Elasticsearch 的 Watcher 来实现基于条件触发的报警系统? +--- +如何通过 Elasticsearch 的 Snapshot 功能进行数据备份和恢复? +--- +如何在 Elasticsearch 中处理多租户场景? +--- +Elasticsearch 中的 Reindex API 是如何工作的?有哪些应用场景? +--- +如何利用 Elasticsearch 实现自动补全功能? +--- +如何使用 Elasticsearch 的 Scripted Fields 实现动态字段计算? +--- +如何通过 Elasticsearch 实现复杂的时间序列数据处理? +--- +如何实现 Elasticsearch 中的数据迁移与升级? +--- +如何利用 Elasticsearch 实现基于相似度的文档搜索? +--- +如何使用 ILM 管理 Elasticsearch 索引的生命周期? +--- +如何使用 Elasticsearch 的 EQL 进行事件查询? +--- +Elasticsearch 中的 Frozen Index 是什么?怎么使用它? +--- +如何在 Elasticsearch 中处理和存储结构化与非结构化数据? +--- +如何使用 Elasticsearch 实现分布式锁? +--- +如何通过 Elasticsearch 实现复杂的查询过滤条件? +--- +Elasticsearch 中的 Pipeline Aggregation 如何优化和调优? +--- +如何利用 Elasticsearch 实现日志的关联查询? +--- +如何在 Elasticsearch 中处理大规模数据的去重操作? +--- +如何通过 Elasticsearch 实现图数据的存储与查询? +--- +如何在 Elasticsearch 中实现全文检索与结构化数据查询的结合? +--- +如何利用 Elasticsearch 实现数据的逐步滚动更新? +--- +Elasticsearch 中的 Search Guard 和 X-Pack Security 有什么区别? +--- +如何使用 Elasticsearch 实现多语言支持的全文搜索? +--- +什么是 Elasticsearch 的深分页问题?它有什么影响?又该如何解决? +--- +什么是 Elasticsearch 中的 River?为什么现在不推荐使用 River? +--- +在使用 Elasticsearch 的 Bulk API 进行大规模数据导入时,如何优化性能? +--- +Elasticsearch 的 Bulk API 中常见的错误处理机制是什么?如何处理部分失败的请求? +--- +Elasticsearch 的评分算法是如何工作的?它基于哪些因素计算相关性得分? +--- +什么是 Elasticsearch 中的 BM25 算法?与传统的 TF-IDF 算法相比,它有哪些改进? +--- +Elasticsearch 中的评分公式是什么?请解释公式各部分的含义 +--- +如何在 Elasticsearch 查询中自定义评分规则? +--- +如何在 Elasticsearch 中结合多字段的相关性得分? +--- +在实际项目中,如何优化 Elasticsearch 的评分算法以提高搜索结果的准确性? +--- +什么是 Elasticsearch 的 dis_max 查询?它如何影响文档的评分? +--- +如何在 Elasticsearch 中通过脚本来调整评分逻辑? +--- +使用 Elasticsearch 进行全文检索时,如何确保热门文档不会因为高 term frequency 而获得过高的相关性得分? +--- +如何在 Elasticsearch 中使用 decay function 来对评分进行时间衰减处理? +--- +Elasticsearch 中的 script_score 查询如何工作?在什么情况下会使用到它? +--- +如何使用 Elasticsearch 的 rescore API 来重新排序已经返回的搜索结果? +--- +Elasticsearch 中的 tie_breaker 参数在相关性评分中起什么作用? +--- +Elasticsearch 中的 coord 和 queryNorm 参数在评分中的作用是什么? +--- +如何处理 Elasticsearch 中评分结果的偏差问题?例如文档过多导致评分失真 +--- +在 Elasticsearch 中,如何通过 field_value_factor 调整评分? +--- +Elasticsearch 的 bool 查询如何组合多个查询条件来影响评分? +--- +如何优化 Elasticsearch 的评分算法以避免因高频词语导致的评分偏差? +--- +如何在 Elasticsearch 中结合地理位置相关的评分?比如基于距离的评分 +--- +如何利用 Elasticsearch 中 BM25 算法的关键因素(比如 TF、IDF、Field Norm)优化文档的评分? +--- +Elasticsearch 的 RestHighLevelClient 与 RestClient 有什么区别?如何选择使用? +--- +使用 Elasticsearch 的客户端时,如何实现连接池配置和优化? +--- +如何通过 Spring Data Elasticsearch 简化与 Elasticsearch 的集成? +--- +在使用 Elasticsearch 客户端时,如何处理网络连接的错误和异常? +--- +Elasticsearch 底层如何执行文档的更新和删除操作?详细流程是什么? +--- +Elasticsearch 集群如何实现 Master 主节点的选举? +--- +如何优化 Elasticsearch 的 GC 来提升整体性能? +--- +如何优化 Elasticsearch 的写入性能以应对大数据量? +--- +Elasticsearch 集群什么情况下会出现脑裂?如何解决脑裂? +--- +如何对 Elasticsearch 的 JVM 进行调优以提升性能? +--- +Elasticsearch 底层是如何实现数据存储的?比如数据的存储流程和管理机制 +--- +如何解决 Elasticsearch 集群中的双 Master 问题? +--- +Elasticsearch 集群架构有哪些调优策略? +--- +如何在 Lucene 中实现倒排索引? +--- +什么是 Elasticsearch 的 Posting List 倒排列表? +--- +如何利用 Elasticsearch 实现大数据量(上亿量级)的聚合查询? +--- +什么是倒排表的 FOR 和 RBM 压缩算法?工作原理分别是什么? +--- +如何在确保数据一致性的前提下更新 Elasticsearch 的倒排索引? +--- +什么是 FST?在 Elasticsearch 中有哪些应用场景? +--- +Elasticsearch 中的 Fielddata 是什么?如何优化其性能? +--- +如何实现 Elasticsearch 集群的滚动升级? +--- +如何使用 Elasticsearch 实现机器学习模型的推理? +--- +如何通过 Elasticsearch 实现分布式事务? +--- +如何在 Elasticsearch 中设计和实现数据的多层次缓存机制? +--- diff --git a/Elasticsearch 优化面试题.md b/Elasticsearch 优化面试题.md new file mode 100644 index 0000000..70021a0 --- /dev/null +++ b/Elasticsearch 优化面试题.md @@ -0,0 +1,66 @@ +如何在高并发场景下保证 Elasticsearch 的读写一致性? +--- +部署 Elasticsearch 时,如何优化 Linux 系统的设置? +--- +如何对 Elasticsearch 中的数据进行预热操作? +--- +如何监控 Elasticsearch 集群的运行状态和性能? +--- +如何操作 Elasticsearch 实现高效的全文检索功能? +--- +Elasticsearch 如何确保数据的一致性和可靠性? +--- +如何利用 Elasticsearch 实现高性能的电商搜索系统? +--- +如何优化 Elasticsearch 索引阶段的性能? +--- +如何优化 Elasticsearch 的查询性能以减少查询延迟? +--- +如何优化和提升 Elasticsearch 的近实时搜索性能? +--- +如何在 Elasticsearch 的索引设计阶段进行调优? +--- +Elasticsearch 中的查询缓存和结果缓存是如何工作的?如何优化缓存? +--- +如何在 Elasticsearch 中实现 Auto-scaling 自动分片缩放? +--- +Elasticsearch 如何处理大量数据的删除操作?如何防止性能下降? +--- +Elasticsearch 中的 Frozen Index 是什么?怎么使用它? +--- +Elasticsearch 中的 Pipeline Aggregation 如何优化和调优? +--- +如何在 Elasticsearch 中处理大规模数据的去重操作? +--- +如何利用 Elasticsearch 实现数据的逐步滚动更新? +--- +什么是 Elasticsearch 的深分页问题?它有什么影响?又该如何解决? +--- +在使用 Elasticsearch 的 Bulk API 进行大规模数据导入时,如何优化性能? +--- +在实际项目中,如何优化 Elasticsearch 的评分算法以提高搜索结果的准确性? +--- +使用 Elasticsearch 进行全文检索时,如何确保热门文档不会因为高 term frequency 而获得过高的相关性得分? +--- +如何处理 Elasticsearch 中评分结果的偏差问题?例如文档过多导致评分失真 +--- +使用 Elasticsearch 的客户端时,如何实现连接池配置和优化? +--- +如何优化 Elasticsearch 的 GC 来提升整体性能? +--- +如何优化 Elasticsearch 的写入性能以应对大数据量? +--- +如何对 Elasticsearch 的 JVM 进行调优以提升性能? +--- +Elasticsearch 集群架构有哪些调优策略? +--- +如何利用 Elasticsearch 实现大数据量(上亿量级)的聚合查询? +--- +什么是倒排表的 FOR 和 RBM 压缩算法?工作原理分别是什么? +--- +如何在确保数据一致性的前提下更新 Elasticsearch 的倒排索引? +--- +Elasticsearch 中的 Fielddata 是什么?如何优化其性能? +--- +如何在 Elasticsearch 中设计和实现数据的多层次缓存机制? +--- diff --git a/Elasticsearch 原理面试题.md b/Elasticsearch 原理面试题.md new file mode 100644 index 0000000..c5a16a9 --- /dev/null +++ b/Elasticsearch 原理面试题.md @@ -0,0 +1,58 @@ +Elasticsearch 支持哪些数据类型,如何选择合适的数据类型? +--- +什么是 Lucene?它和 Elasticsearch 有什么关系? +--- +Elasticsearch 索引文档的具体流程是怎样的? +--- +Elasticsearch 数据写入的工作原理是什么?要经历哪些流程? +--- +Elasticsearch 中倒排索引的实现原理是什么? +--- +Elasticsearch 如何处理一次数据搜索请求?要经历哪些流程? +--- +什么是全文检索?Elasticsearch 的全文检索是如何实现的? +--- +什么是正向索引?Elasticsearch 的倒排索引和正向索引有什么区别? +--- +Elasticsearch 的数据模型有哪些核心概念? +--- +什么是字典树?Elasticsearch 是如何利用字典树的? +--- +什么是 Elasticsearch 中的倒排索引?它有什么作用? +--- +Elasticsearch 中 Term Dictionary 词典是如何实现和管理的? +--- +Elasticsearch 中分词功能的实现原理是什么? +--- +什么是 NRT 近实时搜索?其在 Elasticsearch 中的应用场景是什么? +--- +Elasticsearch 中的分析器具体是如何工作的?如何处理和解析数据? +--- +Elasticsearch 的倒排索引与 MySQL 的正排索引有什么区别? +--- +Elasticsearch 如何根据词汇找到对应的倒排索引?经历哪些步骤? +--- +Elasticsearch 中倒排索引的结构具体是怎样的? +--- +Elasticsearch 在分布式环境下的数据分布是如何实现的? +--- +Elasticsearch 中的 Shard Allocation Awareness 是如何工作的? +--- +什么是 Elasticsearch 中的 River?为什么现在不推荐使用 River? +--- +Elasticsearch 底层如何执行文档的更新和删除操作?详细流程是什么? +--- +Elasticsearch 集群什么情况下会出现脑裂?如何解决脑裂? +--- +Elasticsearch 底层是如何实现数据存储的?比如数据的存储流程和管理机制 +--- +如何在 Lucene 中实现倒排索引? +--- +什么是 Elasticsearch 的 Posting List 倒排列表? +--- +什么是倒排表的 FOR 和 RBM 压缩算法?工作原理分别是什么? +--- +什么是 FST?在 Elasticsearch 中有哪些应用场景? +--- +Elasticsearch 中的 Fielddata 是什么?如何优化其性能? +--- diff --git a/Elasticsearch 应用面试题.md b/Elasticsearch 应用面试题.md new file mode 100644 index 0000000..a9cbdaa --- /dev/null +++ b/Elasticsearch 应用面试题.md @@ -0,0 +1,110 @@ +什么是 Elasticsearch?它有哪些优势和应用场景? +--- +如何操作 Elasticsearch 进行文档的更新和删除? +--- +如何使用 Kibana 对 Elasticsearch 的数据进行可视化和操作? +--- +什么是 Elasticsearch 的 Document 文档?如何存储和检索文档? +--- +什么是 Elasticsearch 的 Index 索引?如何管理索引? +--- +Elasticsearch 中的 Search Template 功能是什么?如何使用它? +--- +如何使用 Elasticsearch 实现高亮显示搜索结果? +--- +如何在 Elasticsearch 中创建只读索引? +--- +什么是 Elasticsearch 的 Bulk API?它有什么作用? +--- +Elasticsearch 支持哪些排序类型?请举例说明 +--- +如何利用 Elasticsearch 实现拼写纠错功能? +--- +如何使用 Elasticsearch 中的 Elastic Reporting 来生成报告? +--- +什么是 Elasticsearch 的 Tokenizer?如何使用它? +--- +如何利用 Beats 完成 Elasticsearch 的数据采集和传输? +--- +什么是 Elasticsearch 的 X-Pack?它的主要功能和命令是什么? +--- +Elasticsearch 的中文分词机制是如何实现的? +--- +Elasticsearch 中的 Token Filter 是如何工作的? +--- +Elasticsearch 提供了哪些内置的分析器?每个分析器的特点是什么? +--- +Elasticsearch 中,文档的设计原则和最佳实践是什么? +--- +如何利用 Elasticsearch 实现高性能的电商搜索系统? +--- +Elasticsearch 分析器的组成部分有哪些?作用分别是什么? +--- +什么是 NRT 近实时搜索?其在 Elasticsearch 中的应用场景是什么? +--- +Elasticsearch 中的分析器具体是如何工作的?如何处理和解析数据? +--- +Elasticsearch 中 Ingest 节点有什么作用?其工作原理是什么? +--- +如何通过 Spring Data Elasticsearch 实现复杂的查询操作? +--- +如何在 Spring Boot 项目中集成 Elasticsearch 并实现搜索功能? +--- +Elasticsearch 中的 Nested 类型字段如何使用,有哪些适用场景? +--- +如何利用 Elasticsearch 实现实时日志分析系统? +--- +Elasticsearch 中的 Pipeline Aggregation 如何使用?有哪些典型应用场景? +--- +如何在 Elasticsearch 中实现数据的自动化清理? +--- +如何通过 Elasticsearch 实现推荐系统? +--- +如何通过 Elasticsearch 的 Watcher 来实现基于条件触发的报警系统? +--- +Elasticsearch 中的 Reindex API 是如何工作的?有哪些应用场景? +--- +如何利用 Elasticsearch 实现自动补全功能? +--- +如何使用 Elasticsearch 的 Scripted Fields 实现动态字段计算? +--- +如何通过 Elasticsearch 实现复杂的时间序列数据处理? +--- +如何利用 Elasticsearch 实现基于相似度的文档搜索? +--- +如何使用 ILM 管理 Elasticsearch 索引的生命周期? +--- +如何使用 Elasticsearch 的 EQL 进行事件查询? +--- +如何在 Elasticsearch 中处理和存储结构化与非结构化数据? +--- +如何使用 Elasticsearch 实现分布式锁? +--- +如何利用 Elasticsearch 实现日志的关联查询? +--- +如何通过 Elasticsearch 实现图数据的存储与查询? +--- +如何在 Elasticsearch 中实现全文检索与结构化数据查询的结合? +--- +如何利用 Elasticsearch 实现数据的逐步滚动更新? +--- +Elasticsearch 中的 Search Guard 和 X-Pack Security 有什么区别? +--- +如何使用 Elasticsearch 实现多语言支持的全文搜索? +--- +什么是 Elasticsearch 中的 River?为什么现在不推荐使用 River? +--- +在使用 Elasticsearch 的 Bulk API 进行大规模数据导入时,如何优化性能? +--- +Elasticsearch 的 Bulk API 中常见的错误处理机制是什么?如何处理部分失败的请求? +--- +如何在 Elasticsearch 中使用 decay function 来对评分进行时间衰减处理? +--- +如何在 Elasticsearch 中结合地理位置相关的评分?比如基于距离的评分 +--- +什么是 FST?在 Elasticsearch 中有哪些应用场景? +--- +如何使用 Elasticsearch 实现机器学习模型的推理? +--- +如何通过 Elasticsearch 实现分布式事务? +--- diff --git a/Elasticsearch 评分面试题.md b/Elasticsearch 评分面试题.md new file mode 100644 index 0000000..b5137c8 --- /dev/null +++ b/Elasticsearch 评分面试题.md @@ -0,0 +1,48 @@ +在 Elasticsearch 中,如何使用 boost 参数提高某个字段的相关性得分? +--- +什么是 Elasticsearch 的 explain API?它有什么作用? +--- +Elasticsearch 中的 min_score 参数的作用是什么?如何使用它来过滤低相关性的结果? +--- +什么是 Elasticsearch 中的 match_phrase 查询?match_phrase 查询如何处理评分? +--- +什么是 Elasticsearch 中的相关性得分?有哪些影响因素? +--- +Elasticsearch 的评分算法是如何工作的?它基于哪些因素计算相关性得分? +--- +什么是 Elasticsearch 中的 BM25 算法?与传统的 TF-IDF 算法相比,它有哪些改进? +--- +Elasticsearch 中的评分公式是什么?请解释公式各部分的含义 +--- +如何在 Elasticsearch 查询中自定义评分规则? +--- +如何在 Elasticsearch 中结合多字段的相关性得分? +--- +在实际项目中,如何优化 Elasticsearch 的评分算法以提高搜索结果的准确性? +--- +什么是 Elasticsearch 的 dis_max 查询?它如何影响文档的评分? +--- +如何在 Elasticsearch 中通过脚本来调整评分逻辑? +--- +使用 Elasticsearch 进行全文检索时,如何确保热门文档不会因为高 term frequency 而获得过高的相关性得分? +--- +如何在 Elasticsearch 中使用 decay function 来对评分进行时间衰减处理? +--- +Elasticsearch 中的 script_score 查询如何工作?在什么情况下会使用到它? +--- +如何使用 Elasticsearch 的 rescore API 来重新排序已经返回的搜索结果? +--- +Elasticsearch 中的 tie_breaker 参数在相关性评分中起什么作用? +--- +Elasticsearch 中的 coord 和 queryNorm 参数在评分中的作用是什么? +--- +如何处理 Elasticsearch 中评分结果的偏差问题?例如文档过多导致评分失真 +--- +在 Elasticsearch 中,如何通过 field_value_factor 调整评分? +--- +Elasticsearch 的 bool 查询如何组合多个查询条件来影响评分? +--- +如何优化 Elasticsearch 的评分算法以避免因高频词语导致的评分偏差? +--- +如何利用 Elasticsearch 中 BM25 算法的关键因素(比如 TF、IDF、Field Norm)优化文档的评分? +--- diff --git a/Elasticsearch 配置面试题.md b/Elasticsearch 配置面试题.md new file mode 100644 index 0000000..98e468f --- /dev/null +++ b/Elasticsearch 配置面试题.md @@ -0,0 +1,56 @@ +安装 Elasticsearch 时,系统需要依赖哪些组件? +--- +Elasticsearch 中的 keyword 和 text 字段有什么区别? +--- +Elasticsearch 支持哪些数据类型,如何选择合适的数据类型? +--- +如何启动并配置 Elasticsearch 服务器? +--- +Elasticsearch 中的 Mapping 有哪些常见的数据类型? +--- +Elasticsearch 支持哪些配置管理工具?如何使用这些工具? +--- +Elasticsearch 中不同节点类型(如主节点和数据节点等)的区别是什么? +--- +如何在 Elasticsearch 中创建只读索引? +--- +在 Elasticsearch 中,如何使用 boost 参数提高某个字段的相关性得分? +--- +部署 Elasticsearch 时,如何优化 Linux 系统的设置? +--- +ElasticSearch 有哪些分片策略?如何设定分片数量和副本数量? +--- +什么是 Elasticsearch 的 Mapping 映射?如何定义映射? +--- +什么是 Elasticsearch 的 Analyzer 分析器?如何定义分析器? +--- +Elasticsearch 中,文档的设计原则和最佳实践是什么? +--- +如何在 Elasticsearch 的索引设计阶段进行调优? +--- +Elasticsearch 中的 Nested 类型字段如何使用,有哪些适用场景? +--- +如何在 Elasticsearch 中进行权限管理和认证? +--- +Elasticsearch 中的查询缓存和结果缓存是如何工作的?如何优化缓存? +--- +如何在 Elasticsearch 中实现数据的自动化清理? +--- +如何通过 Elasticsearch 的 Watcher 来实现基于条件触发的报警系统? +--- +如何通过 Elasticsearch 的 Snapshot 功能进行数据备份和恢复? +--- +如何在 Elasticsearch 中处理多租户场景? +--- +如何实现 Elasticsearch 中的数据迁移与升级? +--- +如何使用 ILM 管理 Elasticsearch 索引的生命周期? +--- +Elasticsearch 中的 Frozen Index 是什么?怎么使用它? +--- +在使用 Elasticsearch 客户端时,如何处理网络连接的错误和异常? +--- +如何实现 Elasticsearch 集群的滚动升级? +--- +如何在 Elasticsearch 中设计和实现数据的多层次缓存机制? +--- diff --git a/Elasticsearch 集群面试题.md b/Elasticsearch 集群面试题.md new file mode 100644 index 0000000..bd57c34 --- /dev/null +++ b/Elasticsearch 集群面试题.md @@ -0,0 +1,62 @@ +什么是 Elasticsearch 的副本?创建副本有什么好处? +--- +什么是 Elasticsearch 的分片?它在集群中的作用是什么? +--- +什么是 Elasticsearch Cluster?它有什么作用? +--- +什么是 Elasticsearch 的 Node 节点?它有哪些角色和功能? +--- +Elasticsearch 中不同节点类型(如主节点和数据节点等)的区别是什么? +--- +如何在高并发场景下保证 Elasticsearch 的读写一致性? +--- +如何在 Elasticsearch 集群中添加和创建新索引?详细过程是什么? +--- +Elasticsearch 中是否可以更改主分片的数量?原因是什么? +--- +如何监控 Elasticsearch 集群的运行状态和性能? +--- +客户端与 Elasticsearch 集群通信时,如何选择合适的节点来执行请求? +--- +Elasticsearch 的 Master 节点与候选 Master 节点有什么区别? +--- +Elasticsearch 集群中,节点如何分配和管理分片? +--- +Elasticsearch 如何确保数据的一致性和可靠性? +--- +ElasticSearch 有哪些分片策略?如何设定分片数量和副本数量? +--- +Elasticsearch 中 Ingest 节点有什么作用?其工作原理是什么? +--- +Elasticsearch 在分布式环境下的数据分布是如何实现的? +--- +Elasticsearch 中的 Shard Allocation Awareness 是如何工作的? +--- +如何在 Elasticsearch 中实现 Auto-scaling 自动分片缩放? +--- +Elasticsearch 如何处理大量数据的删除操作?如何防止性能下降? +--- +如何通过 Elasticsearch 的 Snapshot 功能进行数据备份和恢复? +--- +如何在 Elasticsearch 中处理多租户场景? +--- +如何实现 Elasticsearch 中的数据迁移与升级? +--- +如何使用 Elasticsearch 实现分布式锁? +--- +Elasticsearch 集群如何实现 Master 主节点的选举? +--- +Elasticsearch 集群什么情况下会出现脑裂?如何解决脑裂? +--- +如何解决 Elasticsearch 集群中的双 Master 问题? +--- +Elasticsearch 集群架构有哪些调优策略? +--- +如何利用 Elasticsearch 实现大数据量(上亿量级)的聚合查询? +--- +如何在确保数据一致性的前提下更新 Elasticsearch 的倒排索引? +--- +如何实现 Elasticsearch 集群的滚动升级? +--- +如何通过 Elasticsearch 实现分布式事务? +--- diff --git a/Express 框架面试题.md b/Express 框架面试题.md new file mode 100644 index 0000000..33f9117 --- /dev/null +++ b/Express 框架面试题.md @@ -0,0 +1,118 @@ +Express 在处理异步操作时,如何避免内存泄漏? +--- +Express 中如何实现多进程、多线程的支持? +--- +Express 内部是如何处理路由匹配的,底层机制是什么? +--- +如何在 Express 中实现自定义的请求解析器? +--- +如何在 Express 中进行性能监控和分析? +--- +Express 中如何实现 HTTP/2 的支持? +--- +Express 中如何处理大规模的文件存储和管理? +--- +如何在 Express 中实现集群模式,以提高性能? +--- +Express 在处理请求和响应时的内部流程具体是怎样的? +--- +Express 如何与其他框架(如 Socket.io)集成,底层原理是什么? +--- +在 Express 中如何实现负载均衡和高可用性? +--- +Express 4 相比老版本有哪些区别,升级需要注意什么? +--- +Express 中如何实现请求队列和异步处理? +--- +如何在 Express 中使用 Morgan 记录日志? +--- +Express 中如何实现自定义的错误页面? +--- +在 Express 中如何使用 Helmet 提高安全性? +--- +如何在 Express 中处理压缩响应数据? +--- +Express 中如何实现请求参数的验证和校验? +--- +Express 如何与 TypeScript 集成,需注意哪些问题? +--- +如何在 Express 中实现自定义的 HTTP 方法? +--- +Express 中间件的顺序对应用有什么影响,如何管理? +--- +在 Express 中如何实现应用级别、路由级别和错误处理中间件? +--- +在 Express 中如何处理子域和虚拟主机? +--- +如何在 Express 中使用环境变量和配置文件? +--- +在 Express 中如何实现数据的分页和排序? +--- +Express 中如何实现应用的热更新? +--- +在 Express 中如何实现实时通讯,如 SSE 服务端事件推送? +--- +Express 中如何处理异步请求和避免回调地狱? +--- +在 Express 中如何使用 Passport.js 进行身份认证? +--- +如何在 Express 中集成 GraphQL? +--- +如何在 Express 中实现 CSRF 防护? +--- +Express 中如何处理文件下载功能? +--- +Express 中的错误处理中间件如何编写? +--- +在 Express 中如何实现用户认证和授权? +--- +Express 中如何设置默认的错误处理程序? +--- +如何在 Express 中实现简单的表单提交和处理? +--- +Express 中如何设置和获取 HTTP 请求头信息? +--- +Express 中如何设置模板引擎,如 EJS、Pug? +--- +在 Express 中如何使用参数匹配路由? +--- +Express 中的 app.get() 和 app.post() 方法有什么区别? +--- +如何在 Express 中处理 JSON 格式的请求体? +--- +Express 中的 app.set() 方法有什么作用? +--- +Express 中的请求对象 req 包含哪些常用属性? +--- +Express 中的响应对象 res 有哪些常用方法? +--- +在 Express 中如何处理 404 错误? +--- +什么是 Express 中的路由方法链式调用? +--- +如何在 Express 中使用 app.use() 方法? +--- +Express 中的模板引擎有哪些?如何选择? +--- +在 Express 中如何处理静态文件的缓存? +--- +Express 的中间件有哪些类型? +--- +在 Express 中如何使用路由器(Router)模块化路由? +--- +什么是 Express Generator,如何使用它? +--- +Express 中的 app.listen() 方法有什么作用? +--- +什么是 Express 中的路由参数,如何使用它们? +--- +Express 中如何使用静态文件中间件提供静态资源? +--- +Express 的中间件是什么,如何使用? +--- +如何在 Express 中创建一个路由? +--- +Express 框架的基本使用步骤是什么? +--- +Express.js 和 Koa.js 框架有什么区别? +--- diff --git a/Flink 面试题.md b/Flink 面试题.md new file mode 100644 index 0000000..18fe8c4 --- /dev/null +++ b/Flink 面试题.md @@ -0,0 +1,148 @@ +Flink 是什么?它与其他流处理框架(如 Spark Streaming)有什么区别? +--- +在 Flink 中,什么是 DataStream 和 DataSet?两者的主要区别是什么? +--- +Flink 的基本架构是什么?包括哪些核心组件? +--- +在 Flink 中,如何创建一个简单的 DataStream 作业? +--- +什么是 Flink 的有状态流处理?与无状态处理有什么区别? +--- +在 Flink 中,如何定义窗口操作?有哪些常见的窗口类型? +--- +Flink 的 Event Time 和 Processing Time 有什么区别?各自的应用场景是什么? +--- +Flink 中的 Watermark 是什么?它在处理延迟数据时的作用是什么? +--- +Flink 中的 KeyedStream 是什么?它与普通的 DataStream 有什么不同? +--- +在 Flink 中,如何进行状态管理?常见的状态类型有哪些? +--- +Flink 中的 Checkpoint 机制是什么?它如何保证作业的高可用性? +--- +在 Flink 中,如何使用算子进行数据转换?有哪些常用的算子? +--- +Flink 的流处理与批处理是如何统一的?它如何实现“流批一体化”? +--- +在 Flink 中,如何处理数据倾斜问题?有哪些常见的优化策略? +--- +在 Flink 中,如何实现窗口的滚动和滑动? +--- +在 Flink 中,如何保证 Exactly Once 语义?它的底层机制是什么? +--- +Flink 的 Operator Chain 是如何工作的?如何通过调整链优化作业性能? +--- +Flink 中的 Side Output 是什么?如何使用 Side Output 实现分流? +--- +Flink 如何处理有界流和无界流?它们的处理方式有何不同? +--- +在 Flink 中,如何通过 Checkpoint 和 Savepoint 实现容错和任务恢复? +--- +Flink 中的 Broadcast State 是什么?它在分布式计算中的作用是什么? +--- +Flink 的时间语义有哪几种?如何选择合适的时间语义? +--- +在 Flink 中,如何优化作业的并行度?有哪些调优方法? +--- +Flink 的窗口聚合操作是如何实现的?如何优化窗口的计算性能? +--- +在 Flink 中,如何实现容错?Flink 的容错机制是如何设计的? +--- +Flink 中的 StateBackend 是什么?常见的 StateBackend 实现有哪些? +--- +在 Flink 中,如何通过动态调整 Watermark 来处理延迟数据? +--- +Flink 如何与 Kafka 集成?它们之间的集成方式是什么? +--- +Flink 的 Task Slot 是如何设计的?它在资源管理中起到什么作用? +--- +Flink 的批流一体化架构是如何实现的?有哪些典型应用场景? +--- +在 Flink 中,如何进行作业的监控和调优?有哪些常用的监控工具? +--- +Flink 的算子状态和键控状态有什么区别?如何选择使用? +--- +在 Flink 中,如何进行 State 的清理?有哪些常见的状态过期策略? +--- +Flink 中的 RocksDB StateBackend 是如何实现的?它的优缺点是什么? +--- +Flink 中的异步 I/O 是如何实现的?如何提高异步操作的性能? +--- +在 Flink 中,如何通过 Savepoint 进行任务的热重启? +--- +Flink 中的分布式快照机制是如何工作的?如何优化快照的性能? +--- +在 Flink 中,如何优化数据的序列化和反序列化过程? +--- +Flink 中的 Kafka Connector 是如何实现的?如何优化 Kafka 的消费性能? +--- +Flink 的 KeyedState 和 OperatorState 是如何配合使用的?它们在状态管理中的作用是什么? +--- +Flink 的作业调度机制是如何设计的?如何优化作业的调度效率? +--- +在 Flink 中,如何处理反压问题?有哪些常见的反压解决策略? +--- +Flink 中的连接操作 Join 是如何实现的?如何优化 Join 的性能? +--- +Flink 如何支持基于窗口的流处理?如何选择合适的窗口类型? +--- +Flink 的 GlobalWindow 和 TimeWindow 有什么区别?如何选择使用? +--- +Flink 的 Changelog 是如何设计的?它在状态恢复中起到什么作用? +--- +Flink 的批处理和流处理在底层实现上有什么不同?如何统一批处理和流处理? +--- +Flink 的容错机制是如何通过两阶段提交实现的? +--- +在 Flink 中,如何进行流数据的去重处理?有哪些常见的去重方法? +--- +Flink 的迭代处理是如何实现的?有哪些典型的应用场景? +--- +Flink 的 Checkpoint 与 Savepoint 有什么区别?在什么场景下使用 Savepoint? +--- +在 Flink 中,如何进行时间窗口的聚合操作?有哪些常见的聚合函数? +--- +Flink 的水印策略是如何设计的?如何选择合适的水印生成策略? +--- +Flink 的动态分区机制是如何实现的?它对大规模流式数据处理有何优化作用? +--- +Flink 的任务 Slot 和并行度如何影响作业的执行效率? +--- +Flink 如何在任务失败时进行自动恢复?自动恢复的机制是什么? +--- +在 Flink 中,如何通过 State TTL 管理状态的生命周期? +--- +Flink 如何实现容错保证 Exactly-Once 语义?底层的原理是什么? +--- +在 Flink 中,如何通过重平衡操作优化数据分布? +--- +Flink 中的增量 Checkpoint 是如何实现的?它的优势和应用场景是什么? +--- +在 Flink 中,如何通过异步操作提高数据处理性能? +--- +Flink 的窗口聚合是如何工作的?如何通过窗口优化流式数据处理性能? +--- +在 Flink 中,如何实现自定义的状态后端? +--- +Flink 的容错机制是如何通过分布式快照实现的? +--- +Flink 中的 KeyBy 操作是如何实现的?它在分布式计算中起到什么作用? +--- +Flink 的反压机制如何影响作业性能?有哪些常见的反压处理策略? +--- +在 Flink 中,如何通过 Task Slot 共享优化作业的资源使用效率? +--- +Flink 的 Task Manager 和 Job Manager 如何协同工作?如何优化它们的性能? +--- +在 Flink 中,如何处理窗口内的数据乱序问题? +--- +Flink 如何处理大规模数据的流式 Join 操作?有哪些优化策略? +--- +Flink 的非对称 Join 是如何实现的?它在流式处理中的应用场景是什么? +--- +在 Flink 中,如何进行全局性窗口聚合操作?如何优化聚合性能? +--- +Flink 如何支持与外部存储系统(如 HBase、Cassandra)的集成? +--- +Flink 的深层次调优策略有哪些?如何针对不同的作业场景进行调优? +--- diff --git a/Flume 面试题.md b/Flume 面试题.md new file mode 100644 index 0000000..e3cbade --- /dev/null +++ b/Flume 面试题.md @@ -0,0 +1,110 @@ +Flume 是什么?它的主要应用场景是什么? +--- +Flume 的基本架构包括哪些组件?它们的作用是什么? +--- +在 Flume 中,什么是 Source、Channel 和 Sink?它们各自的职责是什么? +--- +Flume 是如何保证数据从 Source 到 Sink 的可靠传输的? +--- +Flume 中的 Event 是什么?它在数据传输过程中起到什么作用? +--- +在 Flume 中,如何配置一个简单的数据收集流? +--- +Flume 中常见的 Source 类型有哪些?每种 Source 适用于哪些场景? +--- +在 Flume 中,Channel 有哪几种类型?如何选择合适的 Channel 类型? +--- +Flume 的 Sink 是如何工作的?常见的 Sink 类型有哪些? +--- +Flume 中的内存 Channel 和文件 Channel 有什么区别?各自的优缺点是什么? +--- +如何在 Flume 中通过配置来控制数据流的缓冲和延迟? +--- +在 Flume 中,如何监控数据流的状态和性能? +--- +在 Flume 中,如何通过配置实现多个 Sink 的负载均衡? +--- +Flume 是如何实现多级数据传输的?如何通过多个 Agent 传输数据? +--- +Flume 中的拦截器是什么?它的作用是什么? +--- +如何在 Flume 中使用拦截器进行数据过滤和修改? +--- +在 Flume 中,如何配置 Sink Group 来提高数据传输的可靠性? +--- +Flume 中的批量传输是如何实现的?如何通过批量传输优化性能? +--- +Flume 的事务机制是如何工作的?如何保证数据传输的可靠性? +--- +在 Flume 中,如何处理数据流的故障恢复和重试? +--- +在 Flume 中,如何配置多个 Source 和 Sink 进行复杂数据流的处理? +--- +Flume 是如何保证高吞吐量的?有哪些配置可以优化数据传输性能? +--- +如何在 Flume 中处理数据流的丢失和重复问题? +--- +Flume 与 Kafka 集成时的常见应用场景有哪些?如何优化两者之间的数据传输? +--- +在 Flume 中,如何通过多线程提高 Sink 的处理性能? +--- +Flume 是如何处理数据流的负载均衡的?常见的负载均衡策略有哪些? +--- +如何在 Flume 中处理大规模数据的流式传输?有哪些常见的调优方法? +--- +Flume 的 Channel Selector 是如何工作的?如何通过它实现数据的多路径传输? +--- +在 Flume 中,如何通过配置 Source 的并行度来优化数据采集性能? +--- +Flume 是如何处理网络故障的?有哪些机制可以保证数据流的连续性? +--- +如何在 Flume 中实现数据的压缩和解压缩操作?压缩对性能有什么影响? +--- +Flume 中的容错机制是如何设计的?如何处理 Agent 失效的情况? +--- +Flume 的多跳架构是如何设计的?如何通过多跳传输优化数据流? +--- +在 Flume 中,如何使用合适的 Channel 缓存机制提高传输效率? +--- +Flume 是如何实现对数据流的动态负载调节的?有哪些典型的应用场景? +--- +如何在 Flume 中通过 HDFS Sink 实现数据持久化存储?有哪些配置参数需要注意? +--- +Flume 的高可用性是如何实现的?如何配置高可用的 Flume 数据流? +--- +在 Flume 中,如何处理数据流的高并发问题?有哪些常见的优化策略? +--- +Flume 是如何与 HDFS 集成的?如何通过 Flume 将数据流写入 HDFS? +--- +Flume 的数据流延迟是如何优化的?如何通过参数配置减少延迟? +--- +在 Flume 中,如何通过异步 I/O 提高 Sink 的性能? +--- +Flume 的持久化 Channel 是如何工作的?如何通过持久化提高数据的可靠性? +--- +Flume 是如何与 Hadoop 生态系统中的其他组件(如 Hive、HBase)集成的? +--- +Flume 中的负载均衡 Sink 是如何工作的?如何通过负载均衡优化数据传输? +--- +如何在 Flume 中通过分区机制优化 HDFS 文件的写入性能? +--- +Flume 中的复杂数据流拓扑是如何设计的?如何通过多级 Agent 提高数据处理效率? +--- +在 Flume 中,如何通过 Source 的定制化实现特定格式的数据采集? +--- +Flume 的事务机制对性能有什么影响?如何通过配置优化事务的性能? +--- +Flume 的数据流冗余设计是如何实现的?如何保证数据在传输中的高可用性? +--- +在 Flume 中,如何通过 Channel 选择器实现多通道的数据流分发? +--- +Flume 是如何处理数据流中的故障转移的?有哪些机制保证数据不丢失? +--- +Flume 如何与流处理框架(如 Apache Storm、Flink)集成?有哪些常见的应用场景? +--- +Flume 的 Sink 写入 HDFS 时,如何处理小文件问题?有哪些优化策略? +--- +Flume 的吞吐量和延迟如何平衡?如何通过配置参数实现两者的优化? +--- +在 Flume 中,如何通过多级数据流传输实现海量数据的高效处理? +--- diff --git a/Git 协作应用面试题.md b/Git 协作应用面试题.md new file mode 100644 index 0000000..3317f51 --- /dev/null +++ b/Git 协作应用面试题.md @@ -0,0 +1,58 @@ +什么是 Git 的工作流?有哪些常见的 Git 工作流? +--- +Git 中 Forking 工作流程的优点是什么? +--- +GitHub 和 GitLab 有什么区别? +--- +Git 的 fork 复刻、branch 分支和 clone 克隆有哪些区别? +--- +什么是 Git 的 fork 复刻功能? +--- +如何在 Git 中对分支进行版本控制? +--- +你使用过哪些分支系统?它们分别有什么优缺点? +--- +如何在 Git 中配置和使用多个远程仓库? +--- +在团队开发中,如何有效管理和区分 Git 分支? +--- +在 Git 中,如何进行代码审查并集成到工作流中? +--- +Git Flow 工作流程是什么?Git Flow 有哪些优势? +--- +Git 中的分支策略是什么? +--- +什么是 SubGit?为什么要使用它? +--- +常见的远程 Git 仓库托管平台有哪些? +--- +Git 仓库托管平台的主要功能有哪些? +--- +GitLab Flow 有哪些分支类型?作用分别是什么? +--- +Git 中常见的分支策略有哪些? +--- +如何在 Git 中管理贡献者?有哪些好的方法和实践? +--- +如果想在提交前运行代码检查工具,并在测试失败时阻止提交,该如何配置 Git 存储库? +--- +Git Flow 有哪些分支类型?作用分别是什么? +--- +GitHub Flow 有哪些分支类型?作用分别是什么? +--- +Git 中如何管理远程仓库?常用命令有哪些? +--- +什么是 Git 多分支开发和单分支开发?各自的优缺点是什么? +--- +如何删除 GitHub 等代码托管平台上的文件夹? +--- +如何使用 Git 钩子 hooks 自动化任务? +--- +如果你是团队负责人,你会如何管理项目代码? +--- +介绍你在项目中使用 Git 协作开发的完整流程(从拉取项目到上线) +--- +如何在 Git 中对 commit message 进行规范化管理? +--- +如何在 Git 中管理分支的访问权限? +--- diff --git a/Git 基础面试题.md b/Git 基础面试题.md new file mode 100644 index 0000000..2f8f293 --- /dev/null +++ b/Git 基础面试题.md @@ -0,0 +1,118 @@ +git rm 命令与系统的 rm 命令有什么区别? +--- +Git 中如何查看和修改全局配置?常用命令有哪些? +--- +在 Git 中,如何将修改添加到暂存区? +--- +Git 的三个基本工作区分别是什么?各有什么作用? +--- +Git 中如何配置用户信息? +--- +在 Git 中,如何删除一个分支? +--- +如何在 Git 中创建一个新的分支? +--- +常用的版本控制系统有哪些?Git 和其他版本控制系统(如 SVN)有什么区别? +--- +Git 的 commit 提交对象包含哪些信息? +--- +Git 中如何比较不同版本之间的差异?常用命令有哪些? +--- +如何新建一个 Git 功能分支? +--- +使用 Git 时出现 unable to access,如何解决? +--- +Git 中如何查看当前分支的详细信息和跟踪信息? +--- +什么是 Git 的工作区、暂存区和本地仓库? +--- +请介绍 Git 的原理和工作流程? +--- +git reset 命令的作用是什么? +--- +为什么在 Git 中进行分支管理是必要的? +--- +常见的远程 Git 仓库托管平台有哪些? +--- +GitHub 和 GitLab 有什么区别? +--- +什么是 Git 存储库?它的主要功能是什么? +--- +什么是 Git 的合并操作?有什么作用? +--- +Git 中的 staging area 或 index 是什么? +--- +Git 中如何提交修改到本地仓库? +--- +Git 仓库托管平台的主要功能有哪些? +--- +git merge 命令有什么作用?具体如何使用? +--- +什么是 Git 的远程仓库? +--- +git config 命令的作用是什么? +--- +如何在 Git 中操作本地分支并进行代码提交? +--- +Git 中如何查看文件的更改历史?常用命令有哪些? +--- +请简单介绍 Git 中 ssh-keygen 的生成步骤? +--- +Git 中如何查看提交历史?常用命令有哪些? +--- +git clone 命令的作用是什么? +--- +如何在 Git 中创建一个新的仓库? +--- +git tag 命令有什么作用? +--- +Git 中如何操作分支?常用命令有哪些? +--- +Git 中的文件有哪些状态? +--- +git push 命令的作用是什么? +--- +git commit 命令的作用是什么? +--- +什么是 Git 的暂存区?为什么 Git 需要暂存区? +--- +什么是版本控制系统?为什么使用版本控制系统? +--- +git pull request 和 git branch 命令有哪些区别? +--- +什么是 Git?它的主要功能是什么? +--- +git remote 和 git clone 命令有什么区别? +--- +Git 和 GitHub 有什么区别? +--- +Git 中如何切换到不同的分支? +--- +git pull origin 命令的作用是什么? +--- +Git 的 fork 复刻、branch 分支和 clone 克隆有哪些区别? +--- +Git 中如何将一个分支的更改合并到另一个分支? +--- +Git 提交代码的基本步骤是什么? +--- +什么是 Git 的 fork 复刻功能? +--- +Git 中如何查看当前配置?常用命令有哪些? +--- +什么是 Git 的提交消息?它的作用是什么? +--- +Git 中的 .gitignore 文件的作用是什么?如何配置? +--- +什么是 Git 的版本控制模型? +--- +如何将本地 Git 仓库与远程仓库同步? +--- +开发中常用的 Git 操作有哪些? +--- +Git 中如何暂存和提交更改?常用命令有哪些? +--- +如何在 git clone 时指定分支? +--- +如何为项目目录创建一个新的 Git 存储库? +--- diff --git a/Git 操作面试题.md b/Git 操作面试题.md new file mode 100644 index 0000000..1e14d95 --- /dev/null +++ b/Git 操作面试题.md @@ -0,0 +1,264 @@ +什么是 git stash drop?它有什么作用? +--- +git rebase 和 git merge 命令有什么区别? +--- +git rm 命令与系统的 rm 命令有什么区别? +--- +什么是 Git 的 blame 命令?有什么作用? +--- +Git 中如何查看和修改全局配置?常用命令有哪些? +--- +适用于 Linux 的图形 Git 客户端有哪些? +--- +在 Git 中,如何将修改添加到暂存区? +--- +在 Git 中,如何确保提交历史的清晰和可追踪性? +--- +如何在 Git 中恢复已删除的分支? +--- +如何确定一个分支是否已经被合并? +--- +Git 中如何配置用户信息? +--- +在 Git 中,如何删除一个分支? +--- +如何在 Git 中配置和使用多个远程仓库? +--- +Git 中的 subtree 子树是什么?如何使用? +--- +Git 中的 stash list 和 stash show 命令有什么区别? +--- +如何在 Git 中创建一个新的分支? +--- +什么是 Git 的 submodule update --remote 选项?有什么作用? +--- +什么是 Git 的浅克隆?如何执行? +--- +在什么情况下应该使用 git stash 命令? +--- +如何在 Git 中将本地分支推送到不同的远程仓库? +--- +如何检查一个分支是否已经合并到 master 分支? +--- +如何在 Git 中删除已经推送到远程仓库的文件? +--- +在 Git 中,如何对特定文件的更改进行 cherry-pick? +--- +如何在 Git 中撤销一个 git commit 提交? +--- +如何在 Git 中处理分支名称冲突? +--- +如何在 Git 中对比不同分支的差异? +--- +Git 中如何比较不同版本之间的差异?常用命令有哪些? +--- +如何处理 Git 中的二进制文件? +--- +如何新建一个 Git 功能分支? +--- +在 Git 中,如何签署提交并验证签名? +--- +使用 Git 时出现 unable to access,如何解决? +--- +如何在 Git 中防止错误的代码提交? +--- +Git 中如何查看当前分支的详细信息和跟踪信息? +--- +Git 中如何查看并解决合并冲突? +--- +Git 中如何标记和管理标签?常用命令有哪些? +--- +Git 中的 submodule update 命令有什么作用? +--- +什么是 Git 的软重置、混合重置和硬重置? +--- +git reset 命令的作用是什么? +--- +Git 中的 filter-branch 命令是什么?有什么作用? +--- +在 Git 中,如何恢复意外更改或删除的文件? +--- +Git 中的 commit amend 命令是什么?如何使用? +--- +什么情况下推荐使用 git rebase 代替 git merge 命令? +--- +Git 中的 patch 模式是什么?如何使用 git add -p 命令? +--- +如何在 Git 中将多个提交合并成一个提交? +--- +如何在 Git 中处理文件名大小写敏感的问题? +--- +Git 中有哪些合并策略,比如 recursive 和 ours? +--- +如何在 Git 中设置和使用 pre-commit 钩子? +--- +什么是 Git 的签署提交?如何在 Git 中签署提交? +--- +git stash 命令有什么作用? +--- +用 Git 开发时,为什么建议创建额外的提交而不是修改现有提交? +--- +Git 中如何提交修改到本地仓库? +--- +在 Git 中,如何处理和解决重复提交的问题? +--- +如何从 Git 中删除文件,而不将其从文件系统中删除? +--- +git gc 和 git gc --auto 命令有什么区别? +--- +git merge 命令有什么作用?具体如何使用? +--- +git config 命令的作用是什么? +--- +如何在 Git 中找到并删除未被引用的对象? +--- +如何在 Git 中操作本地分支并进行代码提交? +--- +Git 中如何查看文件的更改历史?常用命令有哪些? +--- +怎么配置 Git,使得 git push 时不需要重复输入用户名和密码? +--- +如何在 Git 中处理重命名的文件? +--- +如何解决 gitignore 失效的问题? +--- +请简单介绍 Git 中 ssh-keygen 的生成步骤? +--- +Git 中如何查看提交历史?常用命令有哪些? +--- +执行 git pull 命令后,如何回滚到之前的版本? +--- +git pull 和 git fetch 命令有什么区别? +--- +什么是 git bisect?如何使用它来定位错误的来源? +--- +如何在 Git 中对历史提交进行重写和清理? +--- +什么是 Git 的 shallow fetch?如何使用? +--- +如何找到 Git 特定提交中已更改的文件列表? +--- +Git 中有哪些合并的方法?它们有什么区别? +--- +git clone 命令的作用是什么? +--- +如何在 Git 中创建一个新的仓库? +--- +git tag 命令有什么作用? +--- +如何在 Git 中设置和使用子模块 Submodules? +--- +Git 中如何强制切换到另一个分支? +--- +Git 中的 theirs 选项是什么?如何用 theirs 解决合并冲突? +--- +什么是 Git 的 stash apply 和 stash pop?有什么区别? +--- +如何将 Git 的多个提交压缩成一个提交? +--- +git gc --no-prune 的作用是什么? +--- +Git 中如何回退到以前的提交记录? +--- +Git 中如何操作分支?常用命令有哪些? +--- +如何在 Git 中还原已经 push 并公开的提交? +--- +Git 中的 rebase --onto 命令有什么作用? +--- +git push 命令的作用是什么? +--- +git commit 命令的作用是什么? +--- +如何在 Git 中设置 commit hooks 来自动化任务? +--- +什么是 Git 中的 fast-forward 合并?如何执行? +--- +Git 中如何撤销工作区中未提交到暂存区的更改? +--- +git reset 与 git revert 命令有哪些区别? +--- +如何撤销在 Git 中错误提交的文件? +--- +git pull request 和 git branch 命令有哪些区别? +--- +git remote 和 git clone 命令有什么区别? +--- +Git 中如何切换到不同的分支? +--- +Git merge 支持哪些合并策略? +--- +什么是 Git 的分离头指针状态?如何处理? +--- +git pull origin 命令的作用是什么? +--- +如何在 Git 中处理二进制文件的合并冲突? +--- +Git 中如何将一个分支的更改合并到另一个分支? +--- +Git 中的交互式 rebase 是什么?如何使用? +--- +Git 提交代码的基本步骤是什么? +--- +Git 的合并提交(Merge Commit)和常规提交(Regular Commit)有哪些区别? +--- +Git 中如何查看当前配置?常用命令有哪些? +--- +Git 中复原 revert 和重设 reset 有什么区别? +--- +Git 中的 .gitignore 文件的作用是什么?如何配置? +--- +在 Git 中如何处理和管理大型文件? +--- +如何修复一个混乱的 Git 提交? +--- +如何在 Git 中查看和分析提交图? +--- +什么是 Git 的 cherry-pick?有什么作用? +--- +Mac 下 git push 避免每次都输入用户名和密码的配置? +--- +git rebase 命令有什么作用? +--- +什么是 Git 的 reflog?如何使用它来恢复丢失的分支或提交? +--- +Git 中的 merge --squash 选项有什么作用? +--- +如何将本地 Git 仓库与远程仓库同步? +--- +如何在 Git 中管理依赖项? +--- +Git 中如何管理远程仓库?常用命令有哪些? +--- +如何在 Git 中创建一个临时的工作区来进行实验性开发? +--- +如何在 Git 中创建只读的分支? +--- +如何删除 GitHub 等代码托管平台上的文件夹? +--- +开发中常用的 Git 操作有哪些? +--- +如何在 Git 中控制某些文件不被提交? +--- +Git 中如何暂存和提交更改?常用命令有哪些? +--- +如何在 Git 中将一个提交拆分成多个提交? +--- +什么是 Git 的大文件存储 LFS?如何使用它? +--- +如何使用 git bisect 来查找引入 bug 的提交? +--- +Git 中如何处理文件的换行符问题? +--- +如何在 git clone 时指定分支? +--- +Git 中如何处理合并冲突后的 commit message? +--- +如何为项目目录创建一个新的 Git 存储库? +--- +什么是 Git 的重定位?如何使用重定位? +--- +Git 中如何恢复被误删的文件? +--- +什么是 Git 的补丁 patch?如何在 Git 中创建和应用补丁? +--- diff --git a/Git 概念面试题.md b/Git 概念面试题.md new file mode 100644 index 0000000..6aa51db --- /dev/null +++ b/Git 概念面试题.md @@ -0,0 +1,64 @@ +Git 的三个基本工作区分别是什么?各有什么作用? +--- +常用的版本控制系统有哪些?Git 和其他版本控制系统(如 SVN)有什么区别? +--- +Git 的 commit 提交对象包含哪些信息? +--- +Git 中 HEAD、工作树和索引有什么区别? +--- +Git 垃圾收集器是什么?它是如何工作的? +--- +什么是 Git 的工作流?有哪些常见的 Git 工作流? +--- +什么是 Git 的工作区、暂存区和本地仓库? +--- +请介绍 Git 的原理和工作流程? +--- +Git 中 Forking 工作流程的优点是什么? +--- +为什么在 Git 中进行分支管理是必要的? +--- +Git 是使用什么语言编写的? +--- +GitHub 和 GitLab 有什么区别? +--- +什么是 Git 存储库?它的主要功能是什么? +--- +什么是 Git 的合并操作?有什么作用? +--- +Git 中的 staging area 或 index 是什么? +--- +用 Git 开发时,为什么建议创建额外的提交而不是修改现有提交? +--- +删除 Git 分支后,对提交记录有什么影响? +--- +什么是 Git 的远程仓库? +--- +什么是 Git 合并冲突?什么情况下会导致提交冲突? +--- +Git 中有哪些合并的方法?它们有什么区别? +--- +Git 中的裸存储库是什么?它有什么作用? +--- +请介绍 Git 存储库中的主要目录结构,以及对应的功能? +--- +Git 中的文件有哪些状态? +--- +什么是 Git 的暂存区?为什么 Git 需要暂存区? +--- +什么是版本控制系统?为什么使用版本控制系统? +--- +什么是 Git?它的主要功能是什么? +--- +Git 和 GitHub 有什么区别? +--- +Git 的 fork 复刻、branch 分支和 clone 克隆有哪些区别? +--- +什么是 Git 的 fork 复刻功能? +--- +什么是 Git 的提交消息?它的作用是什么? +--- +什么是 Git 的版本控制模型? +--- +什么是 Git 的钩子 Hooks?包括哪些内容? +--- diff --git a/Git 进阶面试题.md b/Git 进阶面试题.md new file mode 100644 index 0000000..f4f4d95 --- /dev/null +++ b/Git 进阶面试题.md @@ -0,0 +1,246 @@ +什么是 git stash drop?它有什么作用? +--- +git rebase 和 git merge 命令有什么区别? +--- +什么是 Git 的 blame 命令?有什么作用? +--- +如何在 Git 中对分支进行版本控制? +--- +适用于 Linux 的图形 Git 客户端有哪些? +--- +在 Git 中,如何确保提交历史的清晰和可追踪性? +--- +如何在 Git 中恢复已删除的分支? +--- +如何确定一个分支是否已经被合并? +--- +你使用过哪些分支系统?它们分别有什么优缺点? +--- +如何在 Git 中配置和使用多个远程仓库? +--- +Git 中的 subtree 子树是什么?如何使用? +--- +Git 中的 stash list 和 stash show 命令有什么区别? +--- +什么是 Git 的 submodule update --remote 选项?有什么作用? +--- +什么是 Git 的浅克隆?如何执行? +--- +在团队开发中,如何有效管理和区分 Git 分支? +--- +在什么情况下应该使用 git stash 命令? +--- +如何在 Git 中将本地分支推送到不同的远程仓库? +--- +在 Git 中,如何进行代码审查并集成到工作流中? +--- +如何检查一个分支是否已经合并到 master 分支? +--- +Git 中 HEAD、工作树和索引有什么区别? +--- +Git Flow 工作流程是什么?Git Flow 有哪些优势? +--- +如何在 Git 中删除已经推送到远程仓库的文件? +--- +在 Git 中,如何对特定文件的更改进行 cherry-pick? +--- +Git 垃圾收集器是什么?它是如何工作的? +--- +如何在 Git 中撤销一个 git commit 提交? +--- +如何在 Git 中处理分支名称冲突? +--- +如何在 Git 中对比不同分支的差异? +--- +如何处理 Git 中的二进制文件? +--- +在 Git 中,如何签署提交并验证签名? +--- +如何在 Git 中防止错误的代码提交? +--- +什么是 Git 的工作流?有哪些常见的 Git 工作流? +--- +Git 中如何查看并解决合并冲突? +--- +Git 中如何标记和管理标签?常用命令有哪些? +--- +Git 中的 submodule update 命令有什么作用? +--- +什么是 Git 的软重置、混合重置和硬重置? +--- +Git 中 Forking 工作流程的优点是什么? +--- +Git 中的分支策略是什么? +--- +Git 中的 filter-branch 命令是什么?有什么作用? +--- +在 Git 中,如何恢复意外更改或删除的文件? +--- +Git 中的 commit amend 命令是什么?如何使用? +--- +什么是 SubGit?为什么要使用它? +--- +什么情况下推荐使用 git rebase 代替 git merge 命令? +--- +Git 中的 patch 模式是什么?如何使用 git add -p 命令? +--- +如何在 Git 中将多个提交合并成一个提交? +--- +如何在 Git 中处理文件名大小写敏感的问题? +--- +Git 中有哪些合并策略,比如 recursive 和 ours? +--- +如何在 Git 中设置和使用 pre-commit 钩子? +--- +什么是 Git 的签署提交?如何在 Git 中签署提交? +--- +git stash 命令有什么作用? +--- +用 Git 开发时,为什么建议创建额外的提交而不是修改现有提交? +--- +在 Git 中,如何处理和解决重复提交的问题? +--- +如何从 Git 中删除文件,而不将其从文件系统中删除? +--- +删除 Git 分支后,对提交记录有什么影响? +--- +git gc 和 git gc --auto 命令有什么区别? +--- +GitLab Flow 有哪些分支类型?作用分别是什么? +--- +如何在 Git 中找到并删除未被引用的对象? +--- +什么是 Git 合并冲突?什么情况下会导致提交冲突? +--- +Git 中常见的分支策略有哪些? +--- +怎么配置 Git,使得 git push 时不需要重复输入用户名和密码? +--- +如何在 Git 中处理重命名的文件? +--- +如何解决 gitignore 失效的问题? +--- +执行 git pull 命令后,如何回滚到之前的版本? +--- +git pull 和 git fetch 命令有什么区别? +--- +什么是 git bisect?如何使用它来定位错误的来源? +--- +如何在 Git 中对历史提交进行重写和清理? +--- +什么是 Git 的 shallow fetch?如何使用? +--- +如何找到 Git 特定提交中已更改的文件列表? +--- +Git 中有哪些合并的方法?它们有什么区别? +--- +Git 中的裸存储库是什么?它有什么作用? +--- +如何在 Git 中管理贡献者?有哪些好的方法和实践? +--- +如何在 Git 中设置和使用子模块 Submodules? +--- +Git 中如何强制切换到另一个分支? +--- +Git 中的 theirs 选项是什么?如何用 theirs 解决合并冲突? +--- +什么是 Git 的 stash apply 和 stash pop?有什么区别? +--- +如何将 Git 的多个提交压缩成一个提交? +--- +git gc --no-prune 的作用是什么? +--- +Git 中如何回退到以前的提交记录? +--- +如果想在提交前运行代码检查工具,并在测试失败时阻止提交,该如何配置 Git 存储库? +--- +请介绍 Git 存储库中的主要目录结构,以及对应的功能? +--- +Git Flow 有哪些分支类型?作用分别是什么? +--- +如何在 Git 中还原已经 push 并公开的提交? +--- +Git 中的 rebase --onto 命令有什么作用? +--- +GitHub Flow 有哪些分支类型?作用分别是什么? +--- +如何在 Git 中设置 commit hooks 来自动化任务? +--- +什么是 Git 中的 fast-forward 合并?如何执行? +--- +Git 中如何撤销工作区中未提交到暂存区的更改? +--- +git reset 与 git revert 命令有哪些区别? +--- +如何撤销在 Git 中错误提交的文件? +--- +Git merge 支持哪些合并策略? +--- +什么是 Git 的分离头指针状态?如何处理? +--- +如何在 Git 中处理二进制文件的合并冲突? +--- +Git 中的交互式 rebase 是什么?如何使用? +--- +Git 的合并提交(Merge Commit)和常规提交(Regular Commit)有哪些区别? +--- +Git 中复原 revert 和重设 reset 有什么区别? +--- +在 Git 中如何处理和管理大型文件? +--- +如何修复一个混乱的 Git 提交? +--- +如何在 Git 中查看和分析提交图? +--- +什么是 Git 的 cherry-pick?有什么作用? +--- +Mac 下 git push 避免每次都输入用户名和密码的配置? +--- +git rebase 命令有什么作用? +--- +什么是 Git 的 reflog?如何使用它来恢复丢失的分支或提交? +--- +Git 中的 merge --squash 选项有什么作用? +--- +如何在 Git 中管理依赖项? +--- +Git 中如何管理远程仓库?常用命令有哪些? +--- +什么是 Git 多分支开发和单分支开发?各自的优缺点是什么? +--- +如何在 Git 中创建一个临时的工作区来进行实验性开发? +--- +如何在 Git 中创建只读的分支? +--- +如何删除 GitHub 等代码托管平台上的文件夹? +--- +如何在 Git 中控制某些文件不被提交? +--- +如何使用 Git 钩子 hooks 自动化任务? +--- +如何在 Git 中将一个提交拆分成多个提交? +--- +什么是 Git 的大文件存储 LFS?如何使用它? +--- +什么是 Git 的钩子 Hooks?包括哪些内容? +--- +如何使用 git bisect 来查找引入 bug 的提交? +--- +如果你是团队负责人,你会如何管理项目代码? +--- +Git 中如何处理文件的换行符问题? +--- +介绍你在项目中使用 Git 协作开发的完整流程(从拉取项目到上线) +--- +如何在 Git 中对 commit message 进行规范化管理? +--- +如何在 Git 中管理分支的访问权限? +--- +Git 中如何处理合并冲突后的 commit message? +--- +什么是 Git 的重定位?如何使用重定位? +--- +Git 中如何恢复被误删的文件? +--- +什么是 Git 的补丁 patch?如何在 Git 中创建和应用补丁? +--- diff --git a/Go 代码分析面试题.md b/Go 代码分析面试题.md new file mode 100644 index 0000000..ed77257 --- /dev/null +++ b/Go 代码分析面试题.md @@ -0,0 +1,36 @@ +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- diff --git a/Go 垃圾回收面试题.md b/Go 垃圾回收面试题.md new file mode 100644 index 0000000..850151b --- /dev/null +++ b/Go 垃圾回收面试题.md @@ -0,0 +1,50 @@ +Go 语言中,为什么小对象多了会造成 GC 压力? +--- +Go 语言中两次 GC 周期重叠会引发什么问题,GC 触发机制是什么样的? +--- +什么是 Go 语言的插入写屏障?它又是如何实现的? +--- +什么是 Go 语言的删除写屏障?它又是如何实现的? +--- +什么是 Go 语言的写屏障?它又是如何实现的? +--- +什么是 Go 语言的混合写屏障?它又是如何实现的? +--- +什么是 Go 语言中的 GC,作用是什么? +--- +Go 语言中 GC 垃圾回收的过程是怎么样的?请介绍工作原理 +--- +什么是 Go 语言中的根对象? +--- +常见的 GC 实现方式有哪些?Go 语言使用的是什么 GC 实现? +--- +Go 语言中的三色标记法是什么? +--- +如何观察 Go 语言的 GC 运行情况? +--- +在有 GC 的情况下,为什么 Go 语言中仍会发生内存泄漏? +--- +Go 语言中并发标记清除法的难点是什么? +--- +Go 语言中 GC 的具体流程是什么? +--- +Go 语言中触发 GC 的时机是什么? +--- +如果内存分配速度超过了标记清除的速度,Go 语言会如何处理? +--- +Go 语言的 GC 关注的主要指标有哪些? +--- +如何对 Go 语言的 GC 进行调优? +--- +Go 语言垃圾回收器的相关 API 有哪些?它们的作用分别是什么? +--- +Go 语言历史版本在 GC 方面有哪些改进? +--- +Go GC 演化过程中有哪些设计没有被采用?为什么? +--- +目前 Go 语言的 GC 还存在哪些问题? +--- +哪些编程语言提供 GC,哪些不提供?GC 和 No GC 各自的优缺点是什么? +--- +Go 语言的 GC 性能相比 Java 和 JS V8 引擎中的 GC 怎么样? +--- diff --git a/Go 基础面试题.md b/Go 基础面试题.md new file mode 100644 index 0000000..3c4d3a9 --- /dev/null +++ b/Go 基础面试题.md @@ -0,0 +1,134 @@ +Go 语言中如何访问私有成员? +--- +Go 语言使用断言时会发生拷贝吗? +--- +Go 语言的接口是怎么实现的? +--- +Go 语言中怎么实现闭包?闭包的主要应用场景是什么? +--- +Go 语言中触发异常的场景有哪些? +--- +Go 语言中通过指针变量 p 访问其成员变量 title,有哪几种方式? +--- +Go 语言中 defer 的变量快照在什么情况下会失效? +--- +不分配内存的指针类型能在 Go 语言中使用吗? +--- +Go 语言中的局部变量是分配在栈上还是堆上? +--- +Go 语言中所有的 T 类型都有 *T 类型吗? +--- +Go 语言中数组与切片有什么异同? +--- +Go 语言中 init() 函数在什么时候执行? +--- +GO语言中非接口的任意类型T都能调用*T的方法么?反过来呢? +--- +Go 语言中函数返回局部变量的指针是否安全? +--- +Go 语言切片的容量是如何增长的? +--- +Go 语言切片作为函数参数,有哪些注意事项? +--- +Go 语言中的 = 和 := 有什么区别? +--- +Go 语言中的指针的意义是什么? +--- +Go 语言的多值返回有什么用? +--- +Go 语言有异常类型吗? +--- +Go 语言中的 rune 类型是什么? +--- +Go 语言中的 rune 和 byte 有什么区别? +--- +什么是 Go 语言中的深拷贝和浅拷贝? +--- +什么是 Go 语言中的字面量和组合字面量? +--- +如何使用 Go 语言中的对象选择器自动解引用? +--- +Go 语言中 map 的值不可寻址,如何修改值的属性? +--- +Go 语言的有类型常量和无类型常量有什么区别? +--- +为什么在 Go 语言中传参使用切片而不是数组? +--- +Go 语言中的引用类型和指针有什么不同? +--- +如何判断 map 中是否包含某个 key? +--- +Go 语言的 map 如何实现两种 get 操作? +--- +Go 语言中 map 的 key 为什么是无序的? +--- +Go 语言支持默认参数或可选参数吗? +--- +Go 语言中 defer 的执行顺序是什么? +--- +Go 语言中如何交换两个变量的值? +--- +Go 语言 tag 的用处是什么? +--- +Go 语言中,如何判断两个字符串切片(slice)是否相等? +--- +Go 语言中打印字符串时,%v 和 %+v 有什么区别? +--- +Go 语言中如何表示 enums 枚举值? +--- +Go 语言中空 struct{} 的用途是什么? +--- +Go 语言字符串转成 byte 数组时会发生内存拷贝吗? +--- +Go 语言如何翻转含有中文、数字、英文字母的字符串? +--- +Go 语言 map 不初始化使用会怎么样? +--- +Go 语言中,如何判断一个数组是否已经排序? +--- +Go 语言的空切片和 nil 切片是什么?有什么区别? +--- +Go 语言中,什么是 slice 的深拷贝和浅拷贝? +--- +Go 语言中,如何自定义类型切片转字节切片,以及字节切片转回自定义类型切片? +--- +Go 语言的 make 和 new 有什么区别? +--- +Go 语言 slice、map 和 channel 创建时的参数有什么含义? +--- +Go 语言中 struct 是否可以比较? +--- +Go 语言中如何顺序读取 map? +--- +Go 语言中如何实现 set? +--- +Go 语言 map 的扩容机制是什么? +--- +Go 语言中,使用值为 nil 的 slice 和 map 会发生什么? +--- +Go 语言中有没有 this 指针? +--- +Go 语言中局部变量和全局变量的缺省值是什么? +--- +Go 语言中的引用类型有哪些? +--- +Go 语言中指针运算有哪些? +--- +Go 语言类型的值可以修改吗? +--- +Go 语言中,array 类型的值作为函数参数是引用传递还是值传递? +--- +在 Go 语言的 for 循环中 append 元素会发生什么? +--- +Go 语言中如何使用 defer 语句? +--- +Go 语言在循环内执行 defer 语句会发生什么? +--- +Go 语言的 switch 中如何强制执行下一个 case 代码块? +--- +Go 语言中如何从 panic 中恢复? +--- +Go 语言中如何实现字符串和 byte 切片的零拷贝转换? +--- +Java 和 Go 的区别 +--- diff --git a/Go 并发编程面试题.md b/Go 并发编程面试题.md new file mode 100644 index 0000000..577603d --- /dev/null +++ b/Go 并发编程面试题.md @@ -0,0 +1,122 @@ +Go 语言的 context 是什么?有什么作用? +--- +协程可以自己主动让出 CPU 吗? +--- +协程与进程、线程的区别是什么?协程有什么优势? +--- +一个协程能保证绑定在一个内核线程上吗? +--- +Goroutine 和 Channel 的作用分别是什么? +--- +怎么查看 Goroutine 的数量? +--- +Go 语言中无缓冲的 channel 和有缓冲的 channel 有什么区别? +--- +什么是 Go 语言的协程(Goroutine)?它有什么作用? +--- +Go 语言中 map 是线程安全的吗? +--- +什么是 CSP(通信顺序进程)? +--- +Go 语言 channel 底层的数据结构是什么? +--- +Go 语言向 channel 发送数据的过程是怎样的? +--- +Go 语言从 channel 接收数据的过程是怎样的? +--- +Go 语言关闭一个 channel 的过程是怎样的? +--- +Go 语言从一个关闭的 channel 仍然能读出数据吗? +--- +Go 语言中如何优雅地关闭 channel? +--- +Go 语言 channel 在什么情况下会引起资源泄漏? +--- +Go 语言中关于 channel 的 happened-before 有哪些? +--- +Go 语言中如何实现线程安全的 map? +--- +Go 语言 for select 时,如果通道已经关闭会怎么样? +--- +Go 语言的 select 可以用于哪些场景? +--- +说说你对 Go 语言中的抢占式调度的理解? +--- +为什么 Go 语言中的 GMP 模型需要有 P? +--- +哪些操作会触发 Go 语言中的 runtime 调度? +--- +什么是协程泄露(Goroutine Leak)? +--- +Go 语言可以限制运行时操作系统线程的数量吗? +--- +Go 语言中对已经关闭的的 channel 进行读写,会怎么样?为什么? +--- +Go 语言中对未初始化的 channel 进行读写,会怎么样?为什么? +--- +Go 语言中 sync.Map 的优缺点和使用场景是什么? +--- +Go 语言中主协程如何等待其余协程完成再操作? +--- +Go 语言中的协程通信方式有哪些? +--- +Go 语言中的读写锁(RWMutex)底层是怎么实现的? +--- +Go 语言中 for select 时,如果通道已经关闭会怎么样?如果只有一个 case 呢? +--- +Go 语言中的 Mutex 几种状态是什么? +--- +Go 语言中 Mutex 的正常模式和饥饿模式是什么? +--- +Go 语言中 Mutex 允许自旋的条件是什么? +--- +Go 语言中 RWMutex 使用时的注意事项有哪些? +--- +Go 语言中的 Cond 是什么? +--- +Go 语言中的 Broadcast 和 Signal 区别是什么? +--- +Go 语言中,Cond 的 Wait 方法怎么使用? +--- +Go 语言中 WaitGroup 实现原理是什么? +--- +Go 语言中 sync.Once 有什么作用? +--- +什么操作叫做原子操作? +--- +原子操作和锁的区别是什么? +--- +什么是 CAS?(Go方向) +--- +Go 语言中 sync.Pool 有什么作用? +--- +当 Go 服务部署上线后,发现有内存泄露,该如何处理? +--- +Go 语言的 Data Race 问题怎么检测?怎么解决? +--- +Goroutine 什么时候会被挂起? +--- +什么是 Go Scheduler? +--- +Go 语言中 Goroutine 的调度时机有哪些? +--- +什么是 Go 语言的工作窃取机制? +--- +什么是 Go 语言的 GPM 模型? +--- +请介绍 Go Scheduler 的初始化过程? +--- +Go 语言中主 Goroutine 是如何创建的? +--- +Go 语言中 g0 栈和用户栈如何切换? +--- +Go 语言的 schedule 循环如何启动? +--- +Go 语言的 Goroutine 如何退出? +--- +Go 语言的 schedule 循环如何运转? +--- +Go 语言的工作线程 M 如何获取工作? +--- +Go 语言的 sysmon 后台监控线程做了什么? +--- diff --git a/Go 底层原理面试题.md b/Go 底层原理面试题.md new file mode 100644 index 0000000..5b8e4b7 --- /dev/null +++ b/Go 底层原理面试题.md @@ -0,0 +1,66 @@ +Go 语言中逃逸分析是怎么进行的? +--- +Go 语言的 GoRoot 和 GoPath 有什么用? +--- +请介绍 Go 语言的编译链接过程? +--- +有哪些 Go 语言编译相关的命令? +--- +请介绍 Go 语言程序的启动过程? +--- +Go 语言中有哪些必须要手动对齐内存的情况? +--- +什么是 Go 语言中的栈扩容和栈缩容? +--- +Go 语言中分段栈的缺点是什么? +--- +Go 语言的栈空间是怎么管理的? +--- +Go 语言中 uintptr 和 unsafe.Pointer 的区别是什么? +--- +Go 语言中 slice 扩容后容量是如何计算的? +--- +请介绍 Go 语言中闭包的底层原理 +--- +Go 语言的局部变量是分配在栈上还是堆上? +--- +Go 语言中两个 interface 类型的变量可以进行比较吗? +--- +为什么 Go 语言中的常量、字符串和字典不可寻址? +--- +为什么 Go 语言中的 slice 元素是可寻址的? +--- +Go 语言的默认栈大小是多少?最大值是多少? +--- +在 Go 语言中两个 nil 可能不相等吗? +--- +请介绍 Go 语言中 map 的实现原理? +--- +Go 语言中 map 的遍历过程是怎样的? +--- +Go 语言中 map 的赋值过程是怎样的? +--- +Go 语言中 map 的删除过程是怎样的? +--- +Go 语言中 float 类型可以作为 map 的 key 吗? +--- +Go 语言中可以边遍历边删除 map 的元素吗? +--- +Go 语言中可以对 map 的元素取地址吗? +--- +Go 语言中如何比较两个 map 是否相等? +--- +Go 语言是值传递、引用传递还是指针传递? +--- +Go 语言中哪些内容是可寻址的,哪些是不可寻址的? +--- +Go 语言的 map 不初始化长度和初始化长度有什么区别? +--- +Go 语言的 map 承载数据量过大时会怎么样? +--- +Go 语言 channel 底层的数据结构是什么? +--- +Go 语言中的读写锁(RWMutex)底层是怎么实现的? +--- +Go 语言中 WaitGroup 实现原理是什么? +--- diff --git a/Go 性能优化面试题.md b/Go 性能优化面试题.md new file mode 100644 index 0000000..d8a7e3d --- /dev/null +++ b/Go 性能优化面试题.md @@ -0,0 +1,16 @@ +如何利用 Go 语言特性设计一个 QPS 为 500 的服务器? +--- +Go 语言如何进行代码优化? +--- +Go 语言的 hot path 有什么用? +--- +Go 语言如何高效地拼接字符串? +--- +Go 语言拷贝大切片一定比小切片代价大吗? +--- +什么是 Go 语言的 trace?它有什么作用? +--- +什么是 Go 语言的 pprof?它有什么作用? +--- +如何对 Go 语言的 GC 进行调优? +--- diff --git a/Go 标准库面试题.md b/Go 标准库面试题.md new file mode 100644 index 0000000..1771eb3 --- /dev/null +++ b/Go 标准库面试题.md @@ -0,0 +1,28 @@ +Go 语言的 context 是什么?有什么作用? +--- +Go 语言 context.Value 的查找过程是怎样的? +--- +Go 语言中 context 如何被取消? +--- +Go 语言中什么是反射? +--- +Go 语言中什么情况下需要使用反射?反射有哪些应用场景? +--- +Go 语言如何实现反射? +--- +Go 语言中 reflect 反射包如何获取字段 tag? +--- +Go 语言中为什么 json 包不能导出私有变量的 tag? +--- +Go 语言中如何利用 unsafe 获取 slice 和 map 的长度? +--- +Go 语言中如何利用 unsafe 包修改私有成员? +--- +Go 语言中如何用 json 包解析数据? +--- +Go 语言中解析 JSON 数据时,默认将数值当做哪种类型? +--- +Go 语言中 net/http 包中 client 如何实现长连接? +--- +Go 语言中 net/http 如何做连接池? +--- diff --git a/Go 面向对象面试题.md b/Go 面向对象面试题.md new file mode 100644 index 0000000..62d2f54 --- /dev/null +++ b/Go 面向对象面试题.md @@ -0,0 +1,22 @@ +GO语言中非接口的任意类型T都能调用*T的方法么?反过来呢? +--- +Go 语言与鸭子类型的关系? +--- +Go 语言中值接收者和指针接收者的区别? +--- +Go 语言中 iface 和 eface 有什么区别? +--- +什么是 Go 语言接口的动态类型和动态值? +--- +Go 语言编译器如何自动检测类型是否实现接口? +--- +Go 语言的接口构造过程是怎样的? +--- +Go 语言中类型转换和断言的区别? +--- +请介绍 Go 语言中接口转换的原理? +--- +Go 语言中如何用 interface 实现多态? +--- +Go 接口与 C++ 接口有什么异同? +--- diff --git a/Go 面试题.md b/Go 面试题.md new file mode 100644 index 0000000..2101608 --- /dev/null +++ b/Go 面试题.md @@ -0,0 +1,462 @@ +Go 语言中如何访问私有成员? +--- +Go 语言使用断言时会发生拷贝吗? +--- +Go 语言的接口是怎么实现的? +--- +Go 语言中怎么实现闭包?闭包的主要应用场景是什么? +--- +Go 语言中触发异常的场景有哪些? +--- +Go 语言中通过指针变量 p 访问其成员变量 title,有哪几种方式? +--- +Go 语言中 defer 的变量快照在什么情况下会失效? +--- +不分配内存的指针类型能在 Go 语言中使用吗? +--- +Go 语言中的局部变量是分配在栈上还是堆上? +--- +Go 语言中所有的 T 类型都有 *T 类型吗? +--- +Go 语言中数组与切片有什么异同? +--- +Go 语言中 init() 函数在什么时候执行? +--- +GO语言中非接口的任意类型T都能调用*T的方法么?反过来呢? +--- +Go 语言中函数返回局部变量的指针是否安全? +--- +Go 语言切片的容量是如何增长的? +--- +Go 语言切片作为函数参数,有哪些注意事项? +--- +Go 语言中的 = 和 := 有什么区别? +--- +Go 语言中的指针的意义是什么? +--- +Go 语言的多值返回有什么用? +--- +Go 语言有异常类型吗? +--- +Go 语言中的 rune 类型是什么? +--- +Go 语言中的 rune 和 byte 有什么区别? +--- +什么是 Go 语言中的深拷贝和浅拷贝? +--- +什么是 Go 语言中的字面量和组合字面量? +--- +如何使用 Go 语言中的对象选择器自动解引用? +--- +Go 语言中 map 的值不可寻址,如何修改值的属性? +--- +Go 语言的有类型常量和无类型常量有什么区别? +--- +为什么在 Go 语言中传参使用切片而不是数组? +--- +Go 语言中的引用类型和指针有什么不同? +--- +如何判断 map 中是否包含某个 key? +--- +Go 语言的 map 如何实现两种 get 操作? +--- +Go 语言中 map 的 key 为什么是无序的? +--- +Go 语言支持默认参数或可选参数吗? +--- +Go 语言中 defer 的执行顺序是什么? +--- +Go 语言中如何交换两个变量的值? +--- +Go 语言 tag 的用处是什么? +--- +Go 语言中,如何判断两个字符串切片(slice)是否相等? +--- +Go 语言中打印字符串时,%v 和 %+v 有什么区别? +--- +Go 语言中如何表示 enums 枚举值? +--- +Go 语言中空 struct{} 的用途是什么? +--- +Go 语言字符串转成 byte 数组时会发生内存拷贝吗? +--- +Go 语言如何翻转含有中文、数字、英文字母的字符串? +--- +Go 语言 map 不初始化使用会怎么样? +--- +Go 语言中,如何判断一个数组是否已经排序? +--- +Go 语言的空切片和 nil 切片是什么?有什么区别? +--- +Go 语言中,什么是 slice 的深拷贝和浅拷贝? +--- +Go 语言中,如何自定义类型切片转字节切片,以及字节切片转回自定义类型切片? +--- +Go 语言的 make 和 new 有什么区别? +--- +Go 语言 slice、map 和 channel 创建时的参数有什么含义? +--- +Go 语言中 struct 是否可以比较? +--- +Go 语言中如何顺序读取 map? +--- +Go 语言中如何实现 set? +--- +Go 语言 map 的扩容机制是什么? +--- +Go 语言中,使用值为 nil 的 slice 和 map 会发生什么? +--- +Go 语言中有没有 this 指针? +--- +Go 语言中局部变量和全局变量的缺省值是什么? +--- +Go 语言中的引用类型有哪些? +--- +Go 语言中指针运算有哪些? +--- +Go 语言类型的值可以修改吗? +--- +Go 语言中,array 类型的值作为函数参数是引用传递还是值传递? +--- +在 Go 语言的 for 循环中 append 元素会发生什么? +--- +Go 语言中如何使用 defer 语句? +--- +Go 语言在循环内执行 defer 语句会发生什么? +--- +Go 语言的 switch 中如何强制执行下一个 case 代码块? +--- +Go 语言中如何从 panic 中恢复? +--- +Go 语言中如何实现字符串和 byte 切片的零拷贝转换? +--- +Java 和 Go 的区别 +--- +Go 语言的 context 是什么?有什么作用? +--- +Go 语言 context.Value 的查找过程是怎样的? +--- +Go 语言中 context 如何被取消? +--- +Go 语言中什么是反射? +--- +Go 语言中什么情况下需要使用反射?反射有哪些应用场景? +--- +Go 语言如何实现反射? +--- +Go 语言中 reflect 反射包如何获取字段 tag? +--- +Go 语言中为什么 json 包不能导出私有变量的 tag? +--- +Go 语言中如何利用 unsafe 获取 slice 和 map 的长度? +--- +Go 语言中如何利用 unsafe 包修改私有成员? +--- +Go 语言中如何用 json 包解析数据? +--- +Go 语言中解析 JSON 数据时,默认将数值当做哪种类型? +--- +Go 语言中 net/http 包中 client 如何实现长连接? +--- +Go 语言中 net/http 如何做连接池? +--- +Go 语言与鸭子类型的关系? +--- +Go 语言中值接收者和指针接收者的区别? +--- +Go 语言中 iface 和 eface 有什么区别? +--- +什么是 Go 语言接口的动态类型和动态值? +--- +Go 语言编译器如何自动检测类型是否实现接口? +--- +Go 语言的接口构造过程是怎样的? +--- +Go 语言中类型转换和断言的区别? +--- +请介绍 Go 语言中接口转换的原理? +--- +Go 语言中如何用 interface 实现多态? +--- +Go 接口与 C++ 接口有什么异同? +--- +Go 语言中逃逸分析是怎么进行的? +--- +Go 语言的 GoRoot 和 GoPath 有什么用? +--- +请介绍 Go 语言的编译链接过程? +--- +有哪些 Go 语言编译相关的命令? +--- +请介绍 Go 语言程序的启动过程? +--- +Go 语言中有哪些必须要手动对齐内存的情况? +--- +什么是 Go 语言中的栈扩容和栈缩容? +--- +Go 语言中分段栈的缺点是什么? +--- +Go 语言的栈空间是怎么管理的? +--- +Go 语言中 uintptr 和 unsafe.Pointer 的区别是什么? +--- +Go 语言中 slice 扩容后容量是如何计算的? +--- +请介绍 Go 语言中闭包的底层原理 +--- +Go 语言的局部变量是分配在栈上还是堆上? +--- +Go 语言中两个 interface 类型的变量可以进行比较吗? +--- +为什么 Go 语言中的常量、字符串和字典不可寻址? +--- +为什么 Go 语言中的 slice 元素是可寻址的? +--- +Go 语言的默认栈大小是多少?最大值是多少? +--- +在 Go 语言中两个 nil 可能不相等吗? +--- +请介绍 Go 语言中 map 的实现原理? +--- +Go 语言中 map 的遍历过程是怎样的? +--- +Go 语言中 map 的赋值过程是怎样的? +--- +Go 语言中 map 的删除过程是怎样的? +--- +Go 语言中 float 类型可以作为 map 的 key 吗? +--- +Go 语言中可以边遍历边删除 map 的元素吗? +--- +Go 语言中可以对 map 的元素取地址吗? +--- +Go 语言中如何比较两个 map 是否相等? +--- +Go 语言是值传递、引用传递还是指针传递? +--- +Go 语言中哪些内容是可寻址的,哪些是不可寻址的? +--- +Go 语言的 map 不初始化长度和初始化长度有什么区别? +--- +Go 语言的 map 承载数据量过大时会怎么样? +--- +Go 语言 channel 底层的数据结构是什么? +--- +Go 语言中的读写锁(RWMutex)底层是怎么实现的? +--- +Go 语言中 WaitGroup 实现原理是什么? +--- +如何利用 Go 语言特性设计一个 QPS 为 500 的服务器? +--- +Go 语言如何进行代码优化? +--- +Go 语言的 hot path 有什么用? +--- +Go 语言如何高效地拼接字符串? +--- +Go 语言拷贝大切片一定比小切片代价大吗? +--- +什么是 Go 语言的 trace?它有什么作用? +--- +什么是 Go 语言的 pprof?它有什么作用? +--- +如何对 Go 语言的 GC 进行调优? +--- +协程可以自己主动让出 CPU 吗? +--- +协程与进程、线程的区别是什么?协程有什么优势? +--- +一个协程能保证绑定在一个内核线程上吗? +--- +Goroutine 和 Channel 的作用分别是什么? +--- +怎么查看 Goroutine 的数量? +--- +Go 语言中无缓冲的 channel 和有缓冲的 channel 有什么区别? +--- +什么是 Go 语言的协程(Goroutine)?它有什么作用? +--- +Go 语言中 map 是线程安全的吗? +--- +什么是 CSP(通信顺序进程)? +--- +Go 语言向 channel 发送数据的过程是怎样的? +--- +Go 语言从 channel 接收数据的过程是怎样的? +--- +Go 语言关闭一个 channel 的过程是怎样的? +--- +Go 语言从一个关闭的 channel 仍然能读出数据吗? +--- +Go 语言中如何优雅地关闭 channel? +--- +Go 语言 channel 在什么情况下会引起资源泄漏? +--- +Go 语言中关于 channel 的 happened-before 有哪些? +--- +Go 语言中如何实现线程安全的 map? +--- +Go 语言 for select 时,如果通道已经关闭会怎么样? +--- +Go 语言的 select 可以用于哪些场景? +--- +说说你对 Go 语言中的抢占式调度的理解? +--- +为什么 Go 语言中的 GMP 模型需要有 P? +--- +哪些操作会触发 Go 语言中的 runtime 调度? +--- +什么是协程泄露(Goroutine Leak)? +--- +Go 语言可以限制运行时操作系统线程的数量吗? +--- +Go 语言中对已经关闭的的 channel 进行读写,会怎么样?为什么? +--- +Go 语言中对未初始化的 channel 进行读写,会怎么样?为什么? +--- +Go 语言中 sync.Map 的优缺点和使用场景是什么? +--- +Go 语言中主协程如何等待其余协程完成再操作? +--- +Go 语言中的协程通信方式有哪些? +--- +Go 语言中 for select 时,如果通道已经关闭会怎么样?如果只有一个 case 呢? +--- +Go 语言中的 Mutex 几种状态是什么? +--- +Go 语言中 Mutex 的正常模式和饥饿模式是什么? +--- +Go 语言中 Mutex 允许自旋的条件是什么? +--- +Go 语言中 RWMutex 使用时的注意事项有哪些? +--- +Go 语言中的 Cond 是什么? +--- +Go 语言中的 Broadcast 和 Signal 区别是什么? +--- +Go 语言中,Cond 的 Wait 方法怎么使用? +--- +Go 语言中 sync.Once 有什么作用? +--- +什么操作叫做原子操作? +--- +原子操作和锁的区别是什么? +--- +什么是 CAS?(Go方向) +--- +Go 语言中 sync.Pool 有什么作用? +--- +当 Go 服务部署上线后,发现有内存泄露,该如何处理? +--- +Go 语言的 Data Race 问题怎么检测?怎么解决? +--- +Goroutine 什么时候会被挂起? +--- +什么是 Go Scheduler? +--- +Go 语言中 Goroutine 的调度时机有哪些? +--- +什么是 Go 语言的工作窃取机制? +--- +什么是 Go 语言的 GPM 模型? +--- +请介绍 Go Scheduler 的初始化过程? +--- +Go 语言中主 Goroutine 是如何创建的? +--- +Go 语言中 g0 栈和用户栈如何切换? +--- +Go 语言的 schedule 循环如何启动? +--- +Go 语言的 Goroutine 如何退出? +--- +Go 语言的 schedule 循环如何运转? +--- +Go 语言的工作线程 M 如何获取工作? +--- +Go 语言的 sysmon 后台监控线程做了什么? +--- +Go 语言中,为什么小对象多了会造成 GC 压力? +--- +Go 语言中两次 GC 周期重叠会引发什么问题,GC 触发机制是什么样的? +--- +什么是 Go 语言的插入写屏障?它又是如何实现的? +--- +什么是 Go 语言的删除写屏障?它又是如何实现的? +--- +什么是 Go 语言的写屏障?它又是如何实现的? +--- +什么是 Go 语言的混合写屏障?它又是如何实现的? +--- +什么是 Go 语言中的 GC,作用是什么? +--- +Go 语言中 GC 垃圾回收的过程是怎么样的?请介绍工作原理 +--- +什么是 Go 语言中的根对象? +--- +常见的 GC 实现方式有哪些?Go 语言使用的是什么 GC 实现? +--- +Go 语言中的三色标记法是什么? +--- +如何观察 Go 语言的 GC 运行情况? +--- +在有 GC 的情况下,为什么 Go 语言中仍会发生内存泄漏? +--- +Go 语言中并发标记清除法的难点是什么? +--- +Go 语言中 GC 的具体流程是什么? +--- +Go 语言中触发 GC 的时机是什么? +--- +如果内存分配速度超过了标记清除的速度,Go 语言会如何处理? +--- +Go 语言的 GC 关注的主要指标有哪些? +--- +Go 语言垃圾回收器的相关 API 有哪些?它们的作用分别是什么? +--- +Go 语言历史版本在 GC 方面有哪些改进? +--- +Go GC 演化过程中有哪些设计没有被采用?为什么? +--- +目前 Go 语言的 GC 还存在哪些问题? +--- +哪些编程语言提供 GC,哪些不提供?GC 和 No GC 各自的优缺点是什么? +--- +Go 语言的 GC 性能相比 Java 和 JS V8 引擎中的 GC 怎么样? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- +以下 Go 语言程序的输出结果是? +--- diff --git a/HBase 面试题.md b/HBase 面试题.md new file mode 100644 index 0000000..f6220b3 --- /dev/null +++ b/HBase 面试题.md @@ -0,0 +1,144 @@ +HBase 是什么?它的主要应用场景是什么? +--- +HBase 的数据模型是什么?包括哪些关键的概念? +--- +在 HBase 中,Row Key 是什么?它在数据存储中的作用是什么? +--- +HBase 的表是如何组织的?一个表的基本结构是什么? +--- +HBase 中的列族是什么?它的作用是什么? +--- +在 HBase 中,如何创建和删除表?有哪些常用的命令? +--- +HBase 中的数据是如何存储的?它与传统关系型数据库有何不同? +--- +HBase 中的数据是如何通过行键进行检索的? +--- +HBase 如何处理大规模数据的分布式存储?它的分区机制是什么? +--- +HBase 的 Region 是什么?它的作用是什么? +--- +在 HBase 中,如何通过 Java API 进行数据的增删改查操作? +--- +HBase 中的扫描操作是什么?它与 Get 操作有什么区别? +--- +在 HBase 中,数据是如何通过列进行存储的?列的灵活性有什么优势? +--- +HBase 中的 WAL(Write-Ahead Log)是什么?它在数据持久化中的作用是什么? +--- +HBase 的架构包括哪些组件?各自的作用是什么? +--- +HBase 是如何与 HDFS 集成的?两者的关系是什么? +--- +HBase 的版本管理机制是如何实现的?如何处理数据的多版本? +--- +HBase 中的 RegionServer 是什么?它的作用是什么? +--- +HBase 如何处理数据的高并发读写?有哪些优化机制? +--- +在 HBase 中,如何通过 TTL 控制数据的生命周期? +--- +HBase 中的预分区是什么?它在性能优化中起到什么作用? +--- +HBase 中的 Compaction 是什么?它在数据管理中的作用是什么? +--- +在 HBase 中,如何设计合理的 Row Key 来优化查询性能? +--- +HBase 的列存储模型与传统数据库的行存储相比有什么优势? +--- +在 HBase 中,如何通过 Scan 优化大规模数据的查询? +--- +HBase 是如何处理故障恢复的?有哪些机制保证数据不丢失? +--- +HBase 的一致性模型是如何设计的?如何保证数据的强一致性? +--- +在 HBase 中,如何通过批量操作提高写入性能? +--- +HBase 的压缩机制是如何工作的?如何选择合适的压缩算法? +--- +HBase 中的 Bloom Filter 是什么?它如何帮助加速数据查询? +--- +HBase 的 Region 是如何进行分裂和合并的?这些操作对性能有什么影响? +--- +HBase 中的 MemStore 是什么?它的作用是什么? +--- +HBase 的行键设计对性能有哪些影响?如何优化行键设计? +--- +HBase 的客户端缓存是如何工作的?它如何提高数据访问性能? +--- +HBase 是如何实现水平扩展的?有哪些机制支持集群扩展? +--- +HBase 中的 ACID 特性是如何实现的?它与传统关系型数据库的事务处理有何不同? +--- +HBase 如何与 MapReduce 集成?如何通过 MapReduce 处理 HBase 中的数据? +--- +HBase 的 HFile 是什么?它在数据存储中的作用是什么? +--- +在 HBase 中,如何处理数据倾斜问题?有哪些常见的优化策略? +--- +HBase 中的数据压缩如何工作?有哪些常见的压缩格式? +--- +HBase 的主从架构是如何设计的?如何实现高可用性? +--- +HBase 的负载均衡机制是如何实现的?如何保证集群的性能稳定? +--- +HBase 中的延迟问题如何优化?如何减少数据写入的延迟? +--- +在 HBase 中,如何通过协处理器实现业务逻辑的扩展? +--- +HBase 的快照机制是如何工作的?如何通过快照进行数据恢复? +--- +HBase 中的数据读写路径是如何设计的?如何通过优化读写路径提高性能? +--- +HBase 如何处理 RegionServer 的失效?数据丢失如何避免? +--- +HBase 的多版本控制(MVCC)是如何工作的?它如何支持数据的多版本存储? +--- +HBase 的时序数据存储是如何实现的?它在物联网场景中的应用有哪些? +--- +HBase 中的冷热数据分离是如何实现的?它对性能优化有什么帮助? +--- +HBase 是如何进行数据压缩和解压缩的?对性能的影响如何? +--- +在 HBase 中,如何优化大量小文件的存储问题? +--- +HBase 的协处理器是如何实现的?它的执行机制是什么? +--- +HBase 中如何进行二级索引的设计?如何通过二级索引加速查询? +--- +HBase 如何实现跨数据中心的容灾备份?有哪些常见的容灾策略? +--- +HBase 的集群扩展有哪些常见的挑战?如何保证扩展后的性能稳定? +--- +HBase 的 TTL 机制是如何实现的?如何通过 TTL 清理过期数据? +--- +在 HBase 中,如何通过批量操作提高大数据量场景下的写入性能? +--- +HBase 如何处理跨表 Join 操作?有哪些优化策略可以提升 Join 性能? +--- +在 HBase 中,如何通过预分区提高写入性能?预分区的设计要点有哪些? +--- +HBase 的 Region Split 机制是如何工作的?如何优化 Region Split 的性能? +--- +HBase 的一致性保证如何实现?与 CAP 理论中的一致性有何关联? +--- +HBase 的读写路径优化有哪些关键点?如何减少磁盘 I/O? +--- +在 HBase 中,如何处理热点问题?有哪些常见的优化策略? +--- +HBase 的协处理器如何影响性能?使用协处理器时有哪些注意事项? +--- +HBase 是如何通过多副本机制保证数据高可用的?多副本的代价是什么? +--- +在 HBase 中,如何进行数据压缩和加密操作?它们对性能有何影响? +--- +HBase 如何实现对大规模数据的快速扫描?有哪些优化策略? +--- +HBase 如何与 Flink 或 Spark Streaming 集成处理实时数据?如何保证高吞吐量和低延迟? +--- +HBase 如何应对集群扩展后的负载均衡问题?有哪些自动调节机制? +--- +HBase 如何处理数据复制和同步?跨数据中心的同步复制机制是什么? +--- +HBase 如何通过分布式架构实现数据高可用?它与 Zookeeper 的配合机制是什么? +--- diff --git a/HDFS 面试题.md b/HDFS 面试题.md new file mode 100644 index 0000000..170b8c2 --- /dev/null +++ b/HDFS 面试题.md @@ -0,0 +1,92 @@ +HDFS 的核心组件是什么?它们的作用分别是什么? +--- +在 HDFS 中,NameNode 的作用是什么?它如何管理文件系统元数据? +--- +HDFS 默认的数据块(block)大小是多少?为什么 HDFS 采用块存储的方式? +--- +HDFS 如何处理大文件的存储?为什么大文件更适合存储在 HDFS 中? +--- +在 HDFS 中,如何检查文件是否成功复制到所有副本? +--- +在 HDFS 中,文件如何被拆分成多个块?这些块如何分布在不同的 DataNode 上? +--- +HDFS 是如何保证数据高可用性的?数据的副本机制是如何设计的? +--- +HDFS 如何处理节点故障?当一个 DataNode 失效时会发生什么? +--- +在 HDFS 中,副本数量的默认值是多少?为什么需要配置多个副本? +--- +HDFS 中的 Heartbeat 机制是什么?它如何确保集群的健康状态? +--- +在 HDFS 中,NameNode 和 Secondary NameNode 有什么区别?它们如何协同工作? +--- +如何通过配置 HDFS 调整块大小?在什么情况下需要修改块大小? +--- +HDFS 是如何实现机架感知(Rack Awareness)的?为什么它对数据存储很重要? +--- +在 HDFS 中,如何增加或减少文件的副本数量?这对性能有什么影响? +--- +HDFS 中的文件系统检查(fsck)命令的作用是什么?它如何用于维护集群的健康? +--- +HDFS 如何处理小文件问题?为什么小文件会对性能产生负面影响? +--- +在 HDFS 中,如何确保数据的一致性?当发生故障时,如何恢复一致性? +--- +HDFS 如何实现文件的追加写入?这种操作对系统性能有什么影响? +--- +HDFS 中的 SafeMode 是什么?什么时候需要进入 SafeMode? +--- +HDFS 的写操作和读操作流程分别是怎样的?这两者的设计挑战有哪些? +--- +在 HDFS 中,如何实现 NameNode 的高可用性(HA)?需要哪些组件来支持? +--- +HDFS 中如何处理磁盘故障?有哪些监控和恢复机制? +--- +HDFS 的元数据存储在哪里?如何确保元数据的持久性和一致性? +--- +如何调优 HDFS 中的数据传输速度?有哪些常见的优化手段? +--- +HDFS 的 Secondary NameNode 的工作机制是什么?它在高可用性中扮演了什么角色? +--- +在 HDFS 中,BlockPlacementPolicy 如何决定数据块的存储位置? +--- +HDFS 中的编辑日志(EditLog)和图像文件(FsImage)分别是什么?它们如何协同工作? +--- +HDFS 中的 Trash 机制是如何工作的?如何通过配置文件调整 Trash 的行为? +--- +在 HDFS 集群中,如何设计和优化网络拓扑以提高数据传输效率? +--- +HDFS 的快照机制是如何实现的?如何利用快照进行数据恢复? +--- +HDFS 中如何优化对海量小文件的访问?有哪些具体的解决方案? +--- +HDFS 在处理跨数据中心的多机房部署时,如何保证数据一致性和容错性? +--- +在 HDFS 中,如何设计 NameNode 的高可用方案以避免单点故障? +--- +HDFS 中的快照和 Checkpoint 有何不同?它们各自的应用场景是什么? +--- +HDFS 的写入模型是追加(Append-Only)的设计,这种设计的原因和优势是什么? +--- +HDFS 如何支持跨平台的数据共享?有哪些常见的跨平台集成方式? +--- +在 HDFS 中,如何管理和优化元数据的存储和访问?有哪些常见的调优策略? +--- +HDFS 的负载均衡机制是如何设计的?如何通过负载均衡优化集群性能? +--- +如何在大规模 HDFS 集群中保证数据的可靠性和一致性?有哪些实际的解决方案? +--- +在 HDFS 中,NameNode 如何管理文件系统的命名空间?它的扩展性如何保证? +--- +HDFS 如何实现高效的块恢复机制?当多个块副本丢失时会发生什么? +--- +HDFS 中的 Quota(配额)管理机制是如何设计的?如何通过 Quota 控制存储资源的使用? +--- +HDFS 的权限管理机制是如何实现的?如何通过权限控制文件和目录的访问? +--- +HDFS 的文件读写延迟如何调优?有哪些手段可以降低延迟? +--- +在 HDFS 中,如何优化 Secondary NameNode 的性能?它的瓶颈在哪里? +--- +HDFS 如何处理磁盘故障时的数据恢复?在恢复过程中有哪些机制保证数据完整性? +--- diff --git a/HR 面试题.md b/HR 面试题.md new file mode 100644 index 0000000..52ff15a --- /dev/null +++ b/HR 面试题.md @@ -0,0 +1,110 @@ +你选择这份工作的主要动机和原因是什么? +--- +你有什么想要问我们的问题?比如想了解我们公司的哪些情况? +--- +你对我们公司的情况了解多少? +--- +你认为自己能为我们公司带来哪些具体贡献? +--- +对于这份工作,你的期望和目标是什么? +--- +如果你在工作中与同事或上级相处困难,你会如何解决? +--- +你如何适应一个新的工作环境? +--- +在工作中,做什么事或者达到什么成就会让你最满足? +--- +对于这份工作,你认为可能会面临哪些困难? +--- +你在前一家公司的离职原因是什么? +--- +为了更好地完成工作,你会如何获得同事的支持和帮助? +--- +如果你在这次面试中未能被录用,你会怎么做?比如怎么调整求职计划 +--- +如果你的工作经验不足,你将如何弥补?如何胜任这项工作? +--- +你如何高效地安排自己的工作时间? +--- +为什么选择应聘和加入我们公司? +--- +在你的工作经历中,学到了哪些重要的技能或知识? +--- +除了我们公司,你还申请了哪些其他公司? +--- +请做一个简单的自我介绍,比如你的职业背景? +--- +你认为自己在性格上的最大优点是什么? +--- +你认为自己最大的缺点是什么? +--- +你如何看待加班?你对加班的态度是什么? +--- +你对薪资的期望是多少? +--- +请谈谈你的职业发展规划?尤其是未来 1 - 5 年的规划 +--- +你觉得年龄是否会影响你的工作表现?你如何看待程序员的年龄对工作的影响? +--- +如果我们录用你,但在试用期间发现你不适合该职位,你会如何处理? +--- +当你和领导存在意见分歧、或者认为他的方法不对时,你会如何处理? +--- +说说你对跳槽的看法和考虑? +--- +你最擅长的技术方向是什么?请简单介绍 +--- +请用三个词来概括一下你自己? +--- +对于你申请的职位,你认为自己还存在哪些不足之处? +--- +当面对他人的批评时,你通常会如何处理? +--- +你如何看待和面对自己的失败经历? +--- +如果你的工作失误导致公司经济损失,你会如何应对? +--- +当你在工作中与他人发生争执时,你会如何解决? +--- +如果你被录用,你将如何规划和开展你的工作? +--- +如果你在工作中发现领导的方法不如你自己的更优,你会如何处理? +--- +你曾经有哪些成功案例或出色的工作?你具体是怎么做的? +--- +你的朋友对你的评价是什么? +--- +你会如何应对工作中的困难? +--- +你如何理解你申请的这个职位? +--- +你为什么觉得自己适合这个职位? +--- +你最早可以什么时候到岗? +--- +当别人贬低你的项目时,你会怎么做? +--- +你的学历较低,你认为自己能胜任这个职位的理由是什么? +--- +你的年龄较小,你如何证明自己能够承担项目责任? +--- +描述一个你曾经面临的技术难题,以及你是如何解决它的? +--- +你如何看待技术债务?在你的工作中如何管理或减轻技术债务? +--- +如果你发现团队在某个项目上遇到了瓶颈,你会如何帮助团队突破这些瓶颈? +--- +你在工作中如何平衡速度和质量? +--- +在团队项目中,你通常扮演什么角色?如何与团队成员有效合作? +--- +你有没有跨团队合作经历?如何确保不同部门之间的协调合作? +--- +你对新兴技术(如人工智能、区块链等)有什么看法?这些技术会如何影响你的工作? +--- +如果公司正在考虑引入一个新的技术栈,你会如何评估它是否适合公司需求? +--- +你参与过的最具挑战性的项目是什么?你具体做了什么?又如何从中获得成长? +--- +当你遇到无法立即解决的技术问题时,你会如何处理? +--- diff --git a/Hadoop 面试题.md b/Hadoop 面试题.md new file mode 100644 index 0000000..2d363b8 --- /dev/null +++ b/Hadoop 面试题.md @@ -0,0 +1,102 @@ +Hadoop 的核心组件是什么?它们在大数据处理中的角色是什么? +--- +Hadoop 为什么设计为一个分布式系统?它相比集中式系统的优势有哪些? +--- +Hadoop 默认的数据块大小是多少?可以修改吗? +--- +Hadoop 的 NameNode 和 DataNode 之间如何通信? +--- +在 Hadoop 中,JobTracker 和 TaskTracker 的作用是什么? +--- +Hadoop 中的 Job 是如何提交和执行的? +--- +Hadoop 中的作业调度策略是什么?如何选择合适的调度器? +--- +Hadoop 集群如何进行扩展?增加节点的流程是什么? +--- +Hadoop 中的 Rack Awareness 功能是什么?它对数据存储和传输有什么影响? +--- +在 Hadoop 中,如何处理集群中节点的失效? +--- +Hadoop 中如何控制副本数量?这在大数据处理中起到什么作用? +--- +Hadoop 中的心跳机制是如何设计的?它对节点管理有什么作用? +--- +Hadoop 集群的 NameNode 如何管理元数据?这些元数据包括哪些内容? +--- +Hadoop 是如何保证数据高可用性的? +--- +Hadoop 的序列化机制是如何实现的?它对大数据处理有什么影响? +--- +Hadoop 中的数据分片策略是什么?如何自定义分片策略? +--- +Hadoop 的默认输入格式是什么?如何自定义输入格式? +--- +Hadoop 的作业调度器有哪些类型?如何在实际场景中选择? +--- +Hadoop 如何处理数据倾斜问题?有哪些优化策略? +--- +Hadoop 的 Secondary NameNode 有何作用?与主 NameNode 的区别是什么? +--- +Hadoop 中的文件压缩机制是如何工作的?它对性能优化有何影响? +--- +Hadoop 集群中的负载均衡是如何实现的?常见的负载均衡策略有哪些? +--- +Hadoop 的 Shuffle 阶段在数据处理中的作用是什么?如何优化 Shuffle 阶段的性能? +--- +Hadoop 集群中的资源分配策略有哪些?如何提高资源利用率? +--- +在 Hadoop 中,如何保证任务的容错性?Hadoop 是如何实现重试机制的? +--- +Hadoop 如何实现数据本地化?数据本地化对性能优化有什么影响? +--- +在 Hadoop 中,如何处理小文件问题?为什么大量小文件会影响集群性能? +--- +如何调优 Hadoop 中的网络通信性能?有哪些常见的优化手段? +--- +Hadoop 的安全机制是如何设计的?Kerberos 在其中扮演什么角色? +--- +如何在 Hadoop 中实现多租户隔离?有哪些实际的应用场景? +--- +Hadoop 中的数据副本机制是如何工作的?如何根据业务需求调整副本策略? +--- +Hadoop 的数据一致性模型是什么?它是如何保证数据一致性的? +--- +Hadoop 的压缩格式有哪些?在什么场景下选择哪种压缩格式? +--- +在 Hadoop 中,如何监控集群运行状态?有哪些常见的监控工具? +--- +Hadoop 的容错机制是如何设计的?如何处理节点失效问题? +--- +Hadoop 的高可用性是如何实现的?需要哪些组件来保证高可用? +--- +Hadoop 集群的网络拓扑是如何设计的?网络拓扑对性能优化有何影响? +--- +如何优化 Hadoop 集群中的磁盘 I/O 性能?有哪些常见的调优策略? +--- +在 Hadoop 中,如何管理集群中的元数据?如何优化 NameNode 的元数据存储? +--- +Hadoop 中的 ACL(访问控制列表)机制是如何实现的?它对数据安全性有何保障? +--- +Hadoop 的写入路径和读取路径是如何设计的?它们在系统性能中起到什么作用? +--- +Hadoop 的 Checkpoint 机制是如何工作的?如何优化 Checkpoint 的频率? +--- +在大型 Hadoop 集群中,如何实现任务的资源隔离和负载均衡? +--- +Hadoop 中的多租户资源管理是如何实现的?如何保证不同租户间的隔离? +--- +Hadoop 如何处理跨数据中心的容灾和备份?常见的实现方式有哪些? +--- +Hadoop 中的故障恢复机制是如何设计的?如何保证任务的高可用性? +--- +在 Hadoop 中,如何处理数据倾斜问题?哪些因素会导致数据倾斜? +--- +如何基于 Hadoop 进行大规模数据的实时处理?与批处理相比有什么不同? +--- +Hadoop 的分布式缓存机制是如何实现的?如何在大规模集群中优化缓存性能? +--- +在 Hadoop 中,如何管理和优化大规模集群的资源调度和任务分配? +--- +Hadoop 集群的调优策略有哪些?如何根据业务需求选择合适的调优方案? +--- diff --git a/Hive 面试题.md b/Hive 面试题.md new file mode 100644 index 0000000..6017927 --- /dev/null +++ b/Hive 面试题.md @@ -0,0 +1,126 @@ +Hive 是什么?它的主要功能是什么? +--- +Hive 中的数据库和表是如何定义的?如何在 Hive 中创建一个表? +--- +Hive 的内部表和外部表有什么区别?在什么场景下适合使用外部表? +--- +在 Hive 中,如何通过 SQL 查询进行数据的过滤和排序? +--- +Hive 的分区(Partition)和分桶(Bucket)是什么?它们分别有什么作用? +--- +Hive 中的动态分区如何使用?与静态分区相比有什么不同? +--- +在 Hive 中,如何加载数据到表中?支持哪些数据加载方式? +--- +Hive 支持哪些常见的数据文件格式?这些格式有什么区别? +--- +Hive 的架构包括哪些组件?各组件的作用是什么? +--- +Hive 是如何与 Hadoop 生态系统集成的?它主要依赖哪些组件? +--- +在 Hive 中,什么是 SerDe?它在数据读写过程中起到什么作用? +--- +Hive 中的表分区如何实现?使用分区表的好处有哪些? +--- +在 Hive 中,如何创建分桶表?分桶表相比普通表有什么优势? +--- +Hive 中的元数据存储在哪里?如何管理元数据? +--- +Hive 中的 JOIN 操作有哪些类型?如何优化 JOIN 操作的性能? +--- +在 Hive 中,如何实现多表连接?哪些 JOIN 操作的性能较优? +--- +Hive 如何处理大数据量的排序?在实际应用中如何优化排序操作? +--- +在 Hive 中,如何管理表的压缩?哪些常见的压缩格式可以使用? +--- +Hive 是如何将 SQL 转换成 MapReduce 任务的?转换过程的关键步骤是什么? +--- +在 Hive 中,如何优化 GROUP BY 查询的性能?有哪些常见的优化策略? +--- +在 Hive 中,如何通过 UDF 实现自定义函数?UDF 的使用场景有哪些? +--- +Hive 的分区裁剪(Partition Pruning)机制是如何工作的?它对查询性能有什么提升? +--- +Hive 中的窗口函数(Window Function)是什么?它的应用场景有哪些? +--- +Hive 的 Thrift Server 是什么?它如何支持远程查询? +--- +Hive 的表锁机制是如何设计的?如何避免并发操作冲突? +--- +在 Hive 中,如何配置和使用 ACID 表?事务支持的应用场景有哪些? +--- +在 Hive 中,如何优化复杂的多表查询?有哪些常见的调优方法? +--- +Hive 中的向量化查询(Vectorized Query)是什么?它如何提高查询性能? +--- +Hive 的索引机制是如何实现的?索引如何影响查询性能? +--- +Hive 中的 EXPLAIN 语句有什么作用?如何通过它来调优查询? +--- +Hive 的查询优化器是如何工作的?有哪些优化策略? +--- +Hive 的 CBO(Cost-Based Optimizer)优化器是什么?它如何基于代价进行优化? +--- +在 Hive 中,如何优化 MapJoin 操作?MapJoin 与常规 Join 的性能差异是什么? +--- +Hive 如何处理小文件问题?有哪些优化措施可以减少小文件带来的影响? +--- +Hive 的动态分区插入如何实现?它在大规模数据加载中的优势是什么? +--- +Hive 中的 Bucketing 是如何工作的?如何通过 Bucketing 优化查询性能? +--- +Hive 中如何通过优化排序和分区提高查询效率?有哪些常见的优化手段? +--- +Hive 是如何实现 Schema on Read 的?它与 Schema on Write 的区别是什么? +--- +Hive 中的 HCatalog 是什么?它在数据管理中的作用是什么? +--- +在 Hive 中,如何处理 NULL 值?如何优化带有 NULL 值的查询操作? +--- +Hive 中的 Skew Join 是什么?如何通过 Skew Join 解决数据倾斜问题? +--- +Hive 如何处理复杂的查询语句?如何优化复杂查询的执行计划? +--- +在 Hive 中,如何进行数据清洗和预处理?有哪些常用的工具或方法? +--- +在 Hive 中,如何优化数据插入的性能?批量插入操作的性能提升策略有哪些? +--- +Hive 是如何进行数据存储格式选择的?不同数据格式对查询性能的影响有哪些? +--- +Hive 如何实现表和分区的元数据缓存?缓存对性能优化有什么帮助? +--- +在 Hive 中,如何调优资源使用以避免内存溢出?有哪些常见的内存优化策略? +--- +在 Hive 中,如何设计合理的数据分区方案?有哪些常见的分区设计模式? +--- +在 Hive 中,如何处理大规模数据集上的 JOIN 操作?有哪些性能优化策略? +--- +Hive 的优化规则有哪些?如何通过优化规则减少 MapReduce 任务的数量? +--- +在 Hive 中,如何管理和调优元数据的存储?元数据存储的瓶颈在哪里? +--- +Hive 中的多插入操作是如何实现的?如何优化该操作的性能? +--- +在 Hive 中,如何优化 order by 和 sort by 查询?两者有什么区别? +--- +Hive 的 Acid 性能瓶颈在哪里?如何调优 Acid 操作的性能? +--- +Hive 的内存调优策略有哪些?如何通过配置调优提高大数据量查询的性能? +--- +Hive 中的 UDTF(User-Defined Table-Generating Functions)是什么?如何实现一个 UDTF? +--- +在 Hive 中,如何利用索引加速查询?索引的维护成本是什么? +--- +Hive 中的 Materialized View 是什么?它如何帮助提升查询性能? +--- +Hive 中的 Merge 操作如何实现?如何优化 Merge 操作的性能? +--- +Hive 的基于代价的优化器(CBO)是如何工作的?如何利用 CBO 来优化查询计划? +--- +在 Hive 中,如何通过 Partition Filter 提升查询性能?常见的过滤策略有哪些? +--- +Hive 中的 Query Execution Plan 是如何生成的?如何通过执行计划优化查询? +--- +Hive 是如何通过 LLAP 实现低延迟查询的?LLAP 的工作机制是什么? +--- diff --git a/Hudi 面试题.md b/Hudi 面试题.md new file mode 100644 index 0000000..cf5957d --- /dev/null +++ b/Hudi 面试题.md @@ -0,0 +1,82 @@ +什么是 Apache Hudi?它的主要功能是什么? +--- +Hudi 中的 Copy on Write 和 Merge on Read 有什么区别? +--- +Hudi 是如何实现对数据的插入、更新和删除的? +--- +在 Hudi 中,什么是 Hoodie Table?它的作用是什么? +--- +Hudi 如何实现数据的版本控制和回滚操作? +--- +Hudi 如何与 Apache Spark 集成使用? +--- +在 Hudi 中,如何配置数据的分区策略? +--- +什么是 Hudi 中的 commit 文件?它的作用是什么? +--- +Hudi 是如何支持增量数据处理的? +--- +在 Hudi 中,如何查询历史快照数据? +--- +Hudi 如何通过并行写入提高数据写入性能? +--- +Hudi 中的索引机制是如何工作的?如何提高查询效率? +--- +Hudi 是如何处理小文件问题的?有哪些优化策略? +--- +Hudi 与 Delta Lake、Iceberg 的区别是什么? +--- +在 Hudi 中,如何通过 compaction 操作优化存储? +--- +Hudi 的写入模式有哪些?如何选择合适的写入模式? +--- +如何在 Hudi 中进行并发写入?如何保证数据一致性? +--- +Hudi 是如何支持实时查询和批量查询的? +--- +在 Hudi 中,如何管理和优化 commit 文件的生命周期? +--- +Hudi 中的时间线管理是如何实现的? +--- +Hudi 如何支持与 Presto、Trino 等查询引擎的集成? +--- +在 Hudi 中,如何执行批处理任务的调度和优化? +--- +Hudi 的 Merge on Read 模式如何处理增量更新? +--- +Hudi 是如何保证数据一致性的?如何处理冲突写入问题? +--- +在 Hudi 中,如何执行数据的增量读取?有哪些应用场景? +--- +如何在 Hudi 中通过配置分区和索引策略优化查询性能? +--- +Hudi 的 compaction 是如何工作的?如何配置和优化 compaction? +--- +Hudi 如何处理大规模数据的分布式并行写入和读取? +--- +Hudi 中的元数据表是如何加速查询的? +--- +Hudi 如何支持 ACID 事务?如何在分布式环境中保证数据一致性? +--- +在 Hudi 中,如何通过时间线回滚操作进行数据恢复? +--- +Hudi 是如何支持跨集群的数据同步和一致性的? +--- +在 Hudi 中,如何进行分区裁剪以优化查询性能? +--- +Hudi 如何处理大规模数据的增量更新和流式处理? +--- +在 Hudi 中,如何通过存储引擎优化批处理和流处理的结合? +--- +Hudi 是如何通过集群扩展支持海量数据存储和计算的? +--- +如何通过 Hudi 的实时视图和快照视图实现不同的数据查询场景? +--- +Hudi 的索引机制在大规模数据集下如何保证高效查询? +--- +在 Hudi 中,如何处理 schema 演化问题?如何保证数据兼容性? +--- +Hudi 是如何通过并发控制机制支持大规模数据的增量处理的? +--- +在 Hudi 中,如何结合 Kafka 和 Flink 实现实时数据的写入和读取? +--- diff --git a/IT 运维工程师面试题.md b/IT 运维工程师面试题.md new file mode 100644 index 0000000..4c58d89 --- /dev/null +++ b/IT 运维工程师面试题.md @@ -0,0 +1,202 @@ +请解释 Linux 操作系统中的进程与线程的区别,并举例说明它们各自的应用场景。 +--- +描述 Linux 系统中 crontab 的工作原理,并给出一个每天凌晨 3 点执行备份脚本的 crontab 配置例子。 +--- +如何在 Linux 系统中查看某个特定进程的内存使用情况? +--- +解释 Linux 系统中软链接和硬链接的区别,并给出创建软链接的命令。 +--- +说明在 Linux 中如何修改文件的权限,并解释 chmod 755 命令的含义。 +--- +请描述 Windows 操作系统中如何配置系统环境变量,并给出配置 JAVA_HOME 的具体步骤。 +--- +在 Linux 系统中,如何查找某个目录下包含特定字符串的所有文件? +--- +解释 Windows 和 Linux 操作系统中的虚拟内存机制有什么不同。 +--- +描述在 Linux 系统中如何使用 top 命令监控系统资源,并解释关键字段的含义。 +--- +在 Linux 系统中,如何查看和管理磁盘分区? +--- +请解释 Linux 系统中的内核模块管理,并描述如何加载和卸载模块。 +--- +描述在 Linux 系统中如何配置网络接口,并给出具体命令。 +--- +解释 Linux 系统中的文件系统层次结构,并举例说明重要目录的用途。 +--- +在 Windows 操作系统中,如何进行磁盘清理和系统优化? +--- +解释什么是 SELinux,并描述其在 Linux 系统中的作用。 +--- +请描述 Linux 系统中的日志管理机制,并解释如何查看和管理系统日志。 +--- +在 Linux 系统中,如何配置静态 IP 地址? +--- +描述在 Windows 操作系统中如何配置防火墙规则。 +--- +解释什么是系统调用,并描述其在操作系统中的作用。 +--- +请描述在 Linux 系统中如何进行磁盘配额管理。 +--- +请解释 OSI 七层模型中的每一层的作用及其协议。 +--- +描述 TCP 三次握手和四次挥手的过程及其原理。 +--- +如何在 Linux 系统中查看和管理网络接口? +--- +解释什么是 DNS,并描述其工作原理。 +--- +在网络故障排查中,如何使用 ping 和 traceroute 命令? +--- +描述 NAT 的工作原理,并说明它在家庭路由器中的应用。 +--- +请解释防火墙的基本原理,并描述 Linux 系统中如何配置 iptables。 +--- +描述 HTTPS 协议的工作原理,并解释 SSL/TLS 的作用。 +--- +解释什么是负载均衡,并描述常见的负载均衡算法。 +--- +在 Linux 系统中,如何使用 netstat 命令查看当前的网络连接情况? +--- +请描述 VLAN 的基本概念,并解释其在网络中的作用。 +--- +解释什么是 ARP 欺骗攻击,并描述如何防范此类攻击。 +--- +描述什么是 BGP,并解释其在互联网中的作用。 +--- +在网络管理中,什么是 SNMP,并描述其工作原理。 +--- +解释什么是 CDN,并描述其加速原理。 +--- +在计算机网络中,描述 IPSec 协议的作用及其工作原理。 +--- +请解释什么是网络拓扑结构,并描述常见的拓扑类型。 +--- +描述什么是 VPN,并解释其工作原理和常见的应用场景。 +--- +在计算机网络中,描述什么是 QoS,并解释其作用和配置方法。 +--- +解释什么是网络地址转换(NAT),并描述其工作原理。 +--- +请解释 Apache 和 Nginx 的区别,并描述各自的应用场景。 +--- +描述 Tomcat 服务器的架构及其工作原理。 +--- +在 Nginx 中,如何配置反向代理? +--- +请解释在 Web 服务器中,什么是负载均衡,并如何在 Nginx 中配置负载均衡? +--- +如何在 Tomcat 中部署一个 Java Web 应用程序? +--- +在 Apache 中如何启用和配置 HTTPS? +--- +解释什么是 WebSocket?并描述如何在 Nginx 中配置 WebSocket 代理? +--- +请描述 Tomcat 中的 Session 管理机制。 +--- +在 Nginx 中,如何配置静态文件的缓存? +--- +描述在 Apache 中如何配置虚拟主机。 +--- +请解释在 Nginx 中如何实现动静分离,并描述其原理。 +--- +描述在 Tomcat 中如何配置数据源连接池。 +--- +在 Apache 服务器中,如何设置自定义错误页面? +--- +解释什么是 CGI,并描述其在 Web 服务器中的作用。 +--- +请描述在 Nginx 中如何配置访问控制,并给出具体示例。 +--- +描述 Tomcat 服务器的连接器及其作用。 +--- +在 Apache 中,如何配置和使用 mod_rewrite 模块? +--- +请解释反向代理和正向代理的区别,并描述各自的应用场景。 +--- +描述在 Nginx 中如何配置限流,并解释其作用。 +--- +解释什么是负载均衡,并描述常见的负载均衡算法。 +--- +请解释 Docker 的基本概念及其核心组件。 +--- +描述 Docker 镜像的构建过程,并解释 Dockerfile 的作用。 +--- +在 Docker 中,如何管理和查看容器日志? +--- +解释什么是 Kubernetes,并描述其主要组件及其作用。 +--- +描述如何在 Kubernetes 中创建一个 Pod,并给出示例配置文件。 +--- +在 Docker 中,如何进行数据卷管理? +--- +请解释 Kubernetes 中的 Service 和 Ingress 的区别,并描述各自的用途。 +--- +描述在 Kubernetes 中如何进行滚动更新和回滚操作。 +--- +在 Docker 中,如何配置容器的网络? +--- +请解释 Kubernetes 中的 ConfigMap 和 Secret 的作用及其使用场景。 +--- +描述在 Kubernetes 中如何配置资源配额,并解释其作用。 +--- +在 Docker 中,如何优化容器启动时间? +--- +请描述 Kubernetes 中的 Namespace 的作用,并解释其使用场景。 +--- +在 Docker 中,如何实现容器之间的通信? +--- +描述在 Kubernetes 中如何进行日志管理,并解释常用的方法。 +--- +请解释什么是 Docker Swarm,并描述其主要功能。 +--- +描述在Kubernetes中如何配置持久化存储,并解释其工作原理。 +--- +在 Docker 中,如何配置和管理环境变量? +--- +请描述 Kubernetes 中的 Helm 的作用,并解释其使用场景。 +--- +描述在 Kubernetes 中如何进行安全配置,并解释常用的方法。 +--- +请描述关系型数据库和非关系型数据库的区别,并举例说明。 +--- +解释数据库索引的作用,并描述常见的索引类型。 +--- +在 MySQL 中如何执行数据库备份和恢复操作? +--- +请解释 NoSQL 数据库的基本概念,并描述其适用场景。 +--- +描述在 Oracle 数据库中,如何优化查询性能。 +--- +如何在 MySQL 中查看和管理用户权限? +--- +请解释数据库事务的 ACID 特性,并描述其重要性。 +--- +描述在 MongoDB 中,如何进行数据分片? +--- +在 PostgreSQL 中,如何创建和管理表? +--- +解释数据库正则化的概念,并描述其主要步骤。 +--- +如何在 MySQL 中进行查询优化?常用的优化方法有哪些? +--- +在 Oracle 数据库中,如何配置和管理用户角色? +--- +解释什么是数据库连接池,并描述其工作原理。 +--- +描述在 MongoDB 中如何进行数据备份和恢复。 +--- +在 PostgreSQL 中,如何设置和管理数据库索引? +--- +请解释关系型数据库中的范式,并描述常见的几种范式。 +--- +MySQL 中如何配置主从复制? +--- +解释什么是全文索引,并描述其在数据库中的应用。 +--- +在 Oracle 数据库中,如何进行表的分区管理? +--- +请描述在 PostgreSQL 中如何进行数据导入和导出,并给出具体命令。 +--- +Linux 有哪些常用命令? +--- diff --git a/Iac 面试题.md b/Iac 面试题.md new file mode 100644 index 0000000..465877c --- /dev/null +++ b/Iac 面试题.md @@ -0,0 +1,62 @@ +Terraform 与 CloudFormation 的主要区别是什么? +--- +在 Terraform 中,什么是状态文件(state file),其作用是什么? +--- +如何使用 Terraform 管理多环境(如开发、测试、生产)配置? +--- +请简述 CloudFormation 中 Stack 的概念及其主要用途。 +--- +Terraform 中的模块(module)有什么作用?如何创建一个模块? +--- +在 CloudFormation 中,如何使用条件语句来控制资源的创建? +--- +Terraform 中如何处理资源的依赖关系? +--- +CloudFormation 如何实现自动回滚(rollback)功能? +--- +在 Terraform 中,什么是输出变量(output variable),如何使用? +--- +如何使用 Terraform 实现基础设施的版本控制? +--- +CloudFormation 的模板文件通常使用什么格式编写? +--- +在 Terraform 中,什么是动态块(dynamic block),其使用场景有哪些? +--- +请解释 Terraform 的 plan 和 apply 操作的区别。 +--- +CloudFormation 如何使用 Change Sets 管理变更? +--- +Terraform 的 provider 有什么作用?请举例说明常见的 provider。 +--- +如何在 Terraform 中定义并使用变量(variable)? +--- +CloudFormation 中的 Parameter 和 Output 有什么区别? +--- +在 Terraform 中,如何使用 data 源获取外部数据? +--- +CloudFormation 的模板文件中,Resources 部分如何定义? +--- +如何在 Terraform 中使用本地执行计划(local-exec)和远程执行计划(remote-exec)? +--- +CloudFormation 中的条件(Conditions)如何配置? +--- +在 Terraform 中,如何使用 workspace 管理不同的工作环境? +--- +CloudFormation 中如何定义跨栈引用(cross-stack reference)? +--- +Terraform 中的 backend 配置有什么作用? +--- +CloudFormation 中的变更集(Change Set)如何使用? +--- +在 Terraform 中,如何处理敏感数据(如密码)? +--- +CloudFormation 的 StackSet 有什么作用?如何使用? +--- +如何使用 Terraform 管理多云环境的基础设施? +--- +CloudFormation 中的宏(Macro)如何实现模板自定义? +--- +Terraform 中的 lifecycle 块有什么作用? +--- +AWS 的 CloudFormation 与 Terraform 有何异同? +--- diff --git a/Iceberg 面试题.md b/Iceberg 面试题.md new file mode 100644 index 0000000..0b9680c --- /dev/null +++ b/Iceberg 面试题.md @@ -0,0 +1,84 @@ +什么是 Apache Iceberg?它的主要用途是什么? +--- +Iceberg 表与 Hive 表有什么区别? +--- +在 Iceberg 中,如何创建一个表?常见的创建表语法是什么? +--- +Iceberg 是如何管理数据文件的?它的文件组织方式有哪些特点? +--- +在 Iceberg 中,什么是快照?它的作用是什么? +--- +Iceberg 表的分区是如何实现的?与 Hive 的分区方式有何不同? +--- +在 Iceberg 中,如何执行增量查询? +--- +Iceberg 如何支持 ACID 特性?它如何处理数据的插入、更新和删除操作? +--- +在 Iceberg 中,如何进行表的分区裁剪? +--- +Iceberg 的架构是如何实现数据存储和元数据管理分离的? +--- +在 Iceberg 中,如何通过表的快照回滚到指定版本? +--- +Iceberg 如何与 Apache Spark 集成?如何在 Spark 中读取 Iceberg 表? +--- +Iceberg 如何实现数据的时间旅行? +--- +在 Iceberg 中,如何管理元数据文件?如何优化元数据存储的性能? +--- +Iceberg 是如何优化小文件问题的?如何合并小文件提高查询性能? +--- +在 Iceberg 中,如何配置并执行表的 compaction 压缩操作? +--- +Iceberg 是如何实现分布式事务管理的?如何保证数据的一致性? +--- +在 Iceberg 中,如何进行增量数据导入?增量导入的策略是什么? +--- +Iceberg 如何与 Flink 集成实现流数据处理? +--- +在 Iceberg 中,如何对大规模数据进行并行查询优化? +--- +Iceberg 中的表快照是如何实现的?如何基于快照进行版本控制? +--- +Iceberg 是如何与 Delta Lake、Hudi 等其他数据湖框架对比的? +--- +Iceberg 如何通过分区进程和数据文件格式优化查询性能? +--- +Iceberg 如何支持 Schema 演化?它在数据模型变更时如何保持兼容性? +--- +在 Iceberg 中,如何使用 Manifest List 优化元数据管理? +--- +Iceberg 的分区字段是如何进行自动优化的?如何减少数据扫描的范围? +--- +Iceberg 是如何处理事务冲突的?如何保证并发写入的正确性? +--- +在 Iceberg 中,如何实现数据的自动清理?如何设置清理策略? +--- +Iceberg 如何支持跨数据源查询?如何实现多集群间的数据一致性? +--- +Iceberg 中的数据格式如何影响查询性能?常见的数据格式有哪些? +--- +在 Iceberg 中,如何使用并行写入和读取提高数据处理效率? +--- +Iceberg 中的快照和分区裁剪是如何结合提高查询性能的? +--- +Iceberg 如何处理元数据扩展和高并发查询问题? +--- +在 Iceberg 中,如何结合数据湖实现数据生命周期管理? +--- +Iceberg 如何与大数据生态系统中的其他工具(如 Hadoop、Hive)集成? +--- +Iceberg 是如何通过写入策略优化小文件问题的?有哪些常见的写入优化策略? +--- +在 Iceberg 中,如何处理历史数据的归档和回滚?有哪些性能优化策略? +--- +Iceberg 如何处理不同数据存储格式(如 Parquet、ORC)的转换和优化? +--- +Iceberg 的读写性能如何调优?如何处理大规模并发读写场景? +--- +在 Iceberg 中,如何管理和监控数据的增量更新和历史版本? +--- +Iceberg 如何在云存储环境下保持高效的性能表现? +--- +Iceberg 如何在多租户环境中实现数据隔离和权限管理? +--- diff --git a/Impala 面试题.md b/Impala 面试题.md new file mode 100644 index 0000000..83699a6 --- /dev/null +++ b/Impala 面试题.md @@ -0,0 +1,90 @@ +什么是 Apache Impala?它的主要用途是什么? +--- +Impala 与 Hive 有什么区别?它们的应用场景各是什么? +--- +Impala 如何实现对 HDFS 数据的实时查询? +--- +在 Impala 中,如何创建和管理表? +--- +Impala 支持哪些常见的数据格式?如何在不同格式间进行查询? +--- +在 Impala 中,如何执行简单的 SQL 查询操作? +--- +Impala 是如何处理数据的分区和分桶的? +--- +Impala 如何与 Apache Kudu 集成?如何查询 Kudu 表? +--- +在 Impala 中,如何执行数据插入、更新和删除操作? +--- +Impala 的查询是如何优化的?有哪些常见的查询优化技巧? +--- +在 Impala 中,如何进行表的分区裁剪? +--- +Impala 是如何支持 ACID 特性的?如何处理事务管理? +--- +Impala 如何与 HDFS、HBase 等其他存储系统集成? +--- +在 Impala 中,如何使用 UDF(用户自定义函数)进行扩展? +--- +Impala 如何支持数据的并行查询?如何优化并行度? +--- +在 Impala 中,如何进行复杂的 JOIN 查询优化? +--- +Impala 中的查询计划是如何生成的?如何通过查询计划进行优化? +--- +Impala 如何实现跨集群的数据查询和管理? +--- +在 Impala 中,如何通过统计信息优化查询性能? +--- +Impala 是如何处理多租户场景下的资源隔离的? +--- +Impala 如何支持数据权限和访问控制? +--- +Impala 的内存管理是如何实现的?如何优化内存使用? +--- +在 Impala 中,如何处理数据倾斜问题?有哪些优化策略? +--- +Impala 如何通过列式存储加速查询?列式存储的优势是什么? +--- +Impala 与 Presto 和 Spark SQL 有什么区别?如何选择合适的查询引擎? +--- +在 Impala 中,如何进行表的压缩和存储优化? +--- +Impala 的分布式查询引擎是如何工作的?如何进行查询调度? +--- +Impala 如何通过分区和分桶策略提高查询性能? +--- +Impala 如何与 Apache Flink 或 Kafka 集成实现流式数据处理? +--- +在 Impala 中,如何管理大规模数据集的元数据? +--- +Impala 如何处理大规模并发查询?有哪些优化策略? +--- +Impala 的集群扩展是如何实现的?如何提高集群的可扩展性? +--- +Impala 中的查询优化器是如何工作的?如何调优复杂查询? +--- +Impala 如何支持多种存储格式(如 Parquet、Avro)并优化查询性能? +--- +在 Impala 中,如何通过缓存机制优化查询性能? +--- +Impala 如何处理跨数据源的查询?如何进行异构数据源的整合? +--- +Impala 的数据分片和副本机制是如何设计的?如何实现高可用性? +--- +在 Impala 中,如何通过自动化调度和任务管理提高系统性能? +--- +Impala 是如何处理海量数据集的?如何通过集群扩展提高处理能力? +--- +Impala 的查询编译器是如何优化查询执行的?有哪些优化策略? +--- +在 Impala 中,如何通过分布式查询处理器实现大规模数据查询? +--- +Impala 如何通过并发查询和分布式架构处理大数据场景下的低延迟查询? +--- +Impala 如何保证数据的一致性和高可用性?有哪些关键机制? +--- +在 Impala 中,如何通过数据分区、压缩和内存优化提高查询性能? +--- +Impala 如何通过数据存储格式和引擎优化提高查询效率? +--- diff --git a/JMeter 面试题.md b/JMeter 面试题.md new file mode 100644 index 0000000..a72f471 --- /dev/null +++ b/JMeter 面试题.md @@ -0,0 +1,74 @@ +如何使用 JMeter 测试文件上传接口? +--- +对于 POST 请求需要传递 JSON 格式数据,如何在 JMeter 中实现? +--- +如何在 JMeter 中处理需要加密的请求参数? +--- +如果接口返回的数据进行了加密,如何在 JMeter 中进行断言? +--- +如果下一个接口需要使用上一个接口返回的加密数据,如何在 JMeter 中提取? +--- +如何在 JMeter 中测试 GET 请求接口? +--- +如何在 JMeter 中测试 JSON 数据格式的接口? +--- +如何在 JMeter 中添加 Cookie? +--- +如何在 JMeter 中添加 Header 信息? +--- +如何在 JMeter 中测试 SOAP 请求? +--- +如何在 JMeter 中进行参数化?参数化类型有哪些? +--- +如何在 JMeter 中跨线程组传输参数? +--- +如何在 JMeter 中进行断言? +--- +JMeter 测试完成后如何自动发送邮件? +--- +如何在 JMeter 中处理 HTTPS 证书? +--- +如何使用 JMeter 进行 POST 请求测试? +--- +什么是 Apache JMeter? +--- +软件测试中,JMeter 的作用以及优缺点是什么? +--- +JMeter 的工作原理是什么? +--- +JMeter 聚合报告里面的参数是什么意思? +--- +JMeter 的基本使用场景有哪些? +--- +什么是 JMeter 的线程组? +--- +在 JMeter 中怎么使用函数和变量? +--- +JMeter 的正则表达式是什么? +--- +JMeter 中处理器的类型有哪些? +--- +JMeter 中的预置处理器元件是什么?请列出一些预置处理器元件。 +--- +JMeter 中测试元件的执行顺序是什么? +--- +JMeter 中的配置元件是什么? +--- +JMeter 中的计时器是什么?计时器的类型有哪些? +--- +软件测试中,如何减少 JMeter 中的资源请求? +--- +如何在 JMeter 中执行尖峰测试(Spike Testing)? +--- +软件测试中,如何在 JMeter 中捕获身份验证窗口的脚本? +--- +JMeter 的监听器有哪些? +--- +软件测试中,在 JMeter 中是否有必要显式调用嵌入式资源? +--- +JMeter 的后置处理器是什么? +--- +如何使用 JMeter 进行性能测试? +--- +JMeter 为性能测试提供了哪些好处? +--- diff --git a/Java 基础面试题.md b/Java 基础面试题.md new file mode 100644 index 0000000..63e267a --- /dev/null +++ b/Java 基础面试题.md @@ -0,0 +1,131 @@ +Java 中的序列化和反序列化是什么? +--- +Java 中 Exception 和 Error 有什么区别? +--- +你认为 Java 的优势是什么? +--- +什么是 Java 的多态特性? +--- +Java 中的参数传递是按值还是按引用? +--- +为什么 Java 不支持多重继承? +--- +Java 面向对象编程与面向过程编程的区别是什么? +--- +Java 方法重载和方法重写之间的区别是什么? +--- +什么是 Java 内部类?它有什么作用? +--- +Java8 有哪些新特性? +--- +Java25 有哪些新特性? +--- +Java11 有哪些新特性? +--- +Java17 有哪些新特性? +--- +Java21 有哪些新特性? +--- +Java 中 String、StringBuffer 和 StringBuilder 的区别是什么? +--- +Java 的 StringBuilder 是怎么实现的? +--- +Java 中包装类型和基本类型的区别是什么? +--- +接口和抽象类有什么区别? +--- +JDK 和 JRE 有什么区别? +--- +你使用过哪些 JDK 提供的工具? +--- +Java 中 hashCode 和 equals 方法是什么?它们与 == 操作符有什么区别? +--- +Java 中的 hashCode 和 equals 方法之间有什么关系? +--- +什么是 Java 中的动态代理? +--- +JDK 动态代理和 CGLIB 动态代理有什么区别? +--- +Java 中的注解原理是什么? +--- +你使用过 Java 的反射机制吗?如何应用反射? +--- +什么是 Java 中的不可变类? +--- +什么是 Java 的 SPI(Service Provider Interface)机制? +--- +Java 泛型的作用是什么? +--- +Java 泛型擦除是什么? +--- +什么是 Java 泛型的上下界限定符? +--- +Java 中的深拷贝和浅拷贝有什么区别? +--- +什么是 Java 的 Integer 缓存池? +--- +Java 的类加载过程是怎样的? +--- +什么是 Java 的 BigDecimal? +--- +BigDecimal 为什么能保证精度不丢失? + +--- +使用 new String("yupi") 语句在 Java 中会创建多少个对象? +--- +Java 中 final、finally 和 finalize 各有什么区别? +--- +为什么在 Java 中编写代码时会遇到乱码问题? +--- +为什么 JDK 9 中将 String 的 char 数组改为 byte 数组? +--- +如何在 Java 中调用外部可执行程序或系统命令? +--- +如果一个线程在 Java 中被两次调用 start() 方法,会发生什么? +--- +栈和队列在 Java 中的区别是什么? +--- +Java 的 Optional 类是什么?它有什么用? +--- +Java 的 I/O 流是什么? +--- +什么是 Java 的网络编程? +--- +Java 中的基本数据类型有哪些? +--- +什么是 Java 中的自动装箱和拆箱? +--- +什么是 Java 中的迭代器(Iterator)? +--- +Java 运行时异常和编译时异常之间的区别是什么? +--- +什么是 Java 中的继承机制? +--- +什么是 Java 的封装特性? +--- +Java 中的访问修饰符有哪些? +--- +Java 中静态方法和实例方法的区别是什么? +--- +Java 中 for 循环与 foreach 循环的区别是什么? +--- +什么是 Java 中的双亲委派模型? +--- +Java 中 wait() 和 sleep() 的区别? +--- +Java 和 Go 的区别 +--- +Java Object 类中有什么方法,有什么作用? +--- +Java 中的字节码是什么? +--- +什么是 BIO、NIO、AIO? +--- +什么是 Channel? +--- +什么是 Selector? +--- +Float 经过一系列的操作后(加减乘除),如何判断是否和另一个数相等呢? +--- +PO、VO、BO、DTO、DAO、POJO 有什么区别? +--- diff --git a/Java 并发面试题.md b/Java 并发面试题.md new file mode 100644 index 0000000..cca0f1b --- /dev/null +++ b/Java 并发面试题.md @@ -0,0 +1,126 @@ +什么是 Java 中的线程同步? +--- +Java 中的线程安全是什么意思? +--- +什么是协程?Java 支持协程吗? +--- +线程的生命周期在 Java 中是如何定义的? +--- +Java 中线程之间如何进行通信? +--- +Java 中如何创建多线程? +--- +你了解 Java 线程池的原理吗? +--- +如何合理地设置 Java 线程池的线程数? +--- +Java 线程池有哪些拒绝策略? +--- +Java 并发库中提供了哪些线程池实现?它们有什么区别? +--- +Java 线程池核心线程数在运行过程中能修改吗?如何修改? +--- +Java 线程池中 shutdown 与 shutdownNow 的区别是什么? +--- +Java 线程池内部任务出异常后,如何知道是哪个线程出了异常? +--- +Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别? +--- +什么是 Java 的 Timer? +--- +你了解时间轮(Time Wheel)吗?有哪些应用场景? +--- +你使用过哪些 Java 并发工具类? +--- +什么是 Java 的 Semaphore? +--- +什么是 Java 的 CyclicBarrier? +--- +什么是 Java 的 CountDownLatch? +--- +什么是 Java 的 StampedLock? +--- +什么是 Java 的 CompletableFuture? +--- +什么是 Java 的 ForkJoinPool? +--- +如何在 Java 中控制多个线程的执行顺序? +--- +你使用过 Java 中的哪些阻塞队列? +--- +你使用过 Java 中的哪些原子类? +--- +你使用过 Java 的累加器吗? +--- +什么是 Java 的 CAS(Compare-And-Swap)操作? +--- +说说 AQS 吧? +--- +Java 中 ReentrantLock 的实现原理是什么? +--- +Java 的 synchronized 是怎么实现的? +--- +Synchronized 修饰静态方法和修饰普通方法有什么区别? +--- +Java 中的 synchronized 轻量级锁是否会进行自旋? +--- +Synchronized 能不能禁止指令重排序? +--- +当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗? +--- +什么是 Java 中的锁自适应自旋? +--- +Synchronized 和 ReentrantLock 有什么区别? +--- +Volatile 与 Synchronized 的区别是什么? +--- +如何优化 Java 中的锁的使用? +--- +你了解 Java 中的读写锁吗? +--- +什么是 Java 内存模型(JMM)? +--- +什么是 Java 中的原子性、可见性和有序性? +--- +什么是 Java 的 happens-before 规则? +--- +什么是 Java 中的指令重排? +--- +Java 中的 final 关键字是否能保证变量的可见性? +--- +为什么在 Java 中需要使用 ThreadLocal? +--- +Java 中的 ThreadLocal 是如何实现线程资源隔离的? +--- +为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用? +--- +Java 中使用 ThreadLocal 的最佳实践是什么? +--- +Java 中的 InheritableThreadLocal 是什么? +--- +ThreadLocal 的缺点? +--- +为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal ? +--- +什么是 Java 的 TransmittableThreadLocal? +--- +Java 中 Thread.sleep 和 Thread.yield 的区别? +--- +Java 中 Thread.sleep(0) 的作用是什么? +--- +Java 中的 wait、notify 和 notifyAll 方法有什么作用? +--- +Java 中什么情况会导致死锁?如何避免? +--- +Java 中 volatile 关键字的作用是什么? +--- +什么是 Java 中的 ABA 问题? +--- +在 Java 中主线程如何知晓创建的子线程是否执行成功? +--- +Java 创建线程池有哪些方式? +--- +Java 线程安全的集合有哪些? +--- +多线程并发同步数据时(数据库的数据同步到数仓中)需要注意什么问题? +--- diff --git a/Java 手写代码面试题.md b/Java 手写代码面试题.md new file mode 100644 index 0000000..ceed521 --- /dev/null +++ b/Java 手写代码面试题.md @@ -0,0 +1,8 @@ +手写一个 Java 线程池 +--- +手写一个 bitmap +--- +手写一个队列 +--- +手写生产者消费者模型,利用 wait 和 notify 实现 +--- diff --git a/Java 热门面试题 200 道.md b/Java 热门面试题 200 道.md new file mode 100644 index 0000000..a264621 --- /dev/null +++ b/Java 热门面试题 200 道.md @@ -0,0 +1,401 @@ +说说 Java 中 HashMap 的原理? +--- +Java 中 ConcurrentHashMap 1.7 和 1.8 之间有哪些区别? +--- +为什么 JDK 1.8 对 HashMap 进行了红黑树的改动? +--- +JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动? +--- +Java 中有哪些集合类?请简单介绍 +--- +MySQL 索引的最左前缀匹配原则是什么? +--- +数据库的脏读、不可重复读和幻读分别是什么? +--- +MySQL 的存储引擎有哪些?它们之间有什么区别? +--- +MySQL 的覆盖索引是什么? +--- +MySQL 的索引类型有哪些? +--- +MySQL 的索引下推是什么? +--- +MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别? +--- +MySQL 中的回表是什么? +--- +MySQL 中使用索引一定有效吗?如何排查索引效果? +--- +RabbitMQ 怎么实现延迟队列? +--- +MySQL 中的索引数量是否越多越好?为什么? +--- +为什么 RocketMQ 不使用 Zookeeper 作为注册中心呢?而选择自己实现 NameServer? +--- +请详细描述 MySQL 的 B+ 树中查询数据的全过程 +--- +RabbitMQ 中消息什么时候会进入死信交换机? +--- +为什么 MySQL 选择使用 B+ 树作为索引结构? +--- +RabbitMQ 中无法路由的消息会去到哪里? +--- +MySQL 三层 B+ 树能存多少数据? +--- +Kafka为什么要抛弃 Zookeeper? +--- +详细描述一条 SQL 语句在 MySQL 中的执行过程。 +--- +Kafka 中 Zookeeper 的作用? +--- +MySQL 是如何实现事务的? +--- +为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)? +--- +说一下 Kafka 中关于事务消息的实现? +--- +MySQL 事务的二阶段提交是什么? +--- +说一下 RocketMQ 中关于事务消息的实现? +--- +MySQL 中长事务可能会导致哪些问题? +--- +RocketMQ 的事务消息有什么缺点?你还了解过别的事务消息实现吗? +--- +MySQL 中的 MVCC 是什么? +--- +为什么需要消息队列? +--- +MySQL 中的事务隔离级别有哪些? +--- +说一下消息队列的模型有哪些? +--- +MySQL 默认的事务隔离级别是什么?为什么选择这个级别? +--- +谈谈你了解的最常见的几种设计模式,说说他们的应用场景 +--- +MySQL 中有哪些锁类型? +--- +什么是策略模式?一般用在什么场景? +--- +MySQL 的乐观锁和悲观锁是什么? +--- +什么是责任链模式?一般用在什么场景? +--- +MySQL 中如果发生死锁应该如何解决? +--- +什么是模板方法模式?一般用在什么场景? +--- +MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别? +--- +什么是观察者模式?一般用在什么场景? +--- +MySQL 中如何进行 SQL 调优? +--- +什么是代理模式?一般用在什么场景? +--- +说说 Spring 启动过程? +--- +Redis 集群的实现原理是什么? +--- +如何使用 MySQL 的 EXPLAIN 语句进行查询分析? +--- +你了解的 Spring 都用到哪些设计模式? +--- +Redis 集群会出现脑裂问题吗? +--- +请描述简单工厂模式的工作原理。 +--- +Spring 有哪几种事务传播行为? +--- +Redis 中如何实现分布式锁? +--- +MySQL 中如何解决深度分页的问题? +--- +说说 Springboot 的启动流程? +--- +Redis 实现分布式锁时可能遇到的问题有哪些? +--- +工厂模式和抽象工厂模式有什么区别? +--- +SpringBoot 是如何实现自动配置的? +--- +什么是 MySQL 的主从同步机制?它是如何实现的? +--- +说说 Redisson 分布式锁的原理? +--- +如何理解 Spring Boot 中的 starter? +--- +如何使用 Redis 快速实现排行榜? +--- +Redis 中如何保证缓存与数据库的数据一致性? +--- +说说 TCP 的三次握手? +--- +简单说说 Netty 的零拷贝机制? +--- +什么是配置中心?有哪些常见的配置中心? +--- +说说 TCP 的四次挥手? +--- +Netty 是如何解决粘包和拆包问题的? +--- +Spring Boot 是如何通过 main 方法启动 web 项目的? +--- +什么情况下需要使用分布式事务,有哪些方案? +--- +Redis 为什么这么快? +--- +如何使用 Redis 快速实现布隆过滤器? +--- +为什么 Java 中 HashMap 的默认负载因子是 0.75? +--- +如何处理 MySQL 的主从同步延迟? +--- +Netty 如何解决 JDK NIO 中的空轮询 Bug? +--- +Java 中 HashMap 的扩容机制是怎样的? +--- +为什么 Redis 设计为单线程?6.0 版本为何引入多线程? +--- +为什么 TCP 挥手需要有 TIME_WAIT 状态? +--- +Spring Boot 的核心特性有哪些? +--- +为什么 HashMap 在 Java 中扩容时采用 2 的 n 次方倍? +--- +你在项目中使用的 Redis 客户端是什么? +--- +TCP 超时重传机制是为了解决什么问题? +--- +简述 MyBatis 的插件运行原理,以及如何编写一个插件? +--- +数组和链表在 Java 中的区别是什么? +--- +Redis 中常见的数据类型有哪些? +--- +TCP 滑动窗口的作用是什么? +--- +介绍一下 Reactor 线程模型? +--- +Java 线程池核心线程数在运行过程中能修改吗?如何修改? +--- +TCP/IP 四层模型是什么? +--- +说说 MyBatis 的缓存机制? +--- +什么是 Spring Boot? +--- +Java 中如何创建多线程? +--- +Redis 中跳表的实现原理是什么? +--- +Redis 性能瓶颈时如何处理? +--- +OSI 七层模型是什么? +--- +说说 AQS 吧? +--- +Cookie、Session、Token 之间有什么区别? +--- +什么是分库分表?分库分表有哪些类型(或策略)? +--- +MyBatis 中 #{} 和 ${} 的区别是什么? +--- +Java 中的 final 关键字是否能保证变量的可见性? +--- +Redis 的 hash 是什么? +--- +从网络角度来看,用户从输入网址到网页显示,期间发生了什么? +--- +Dubbo 和 Spring Cloud Gateway 有什么区别? +--- +什么是 Java 中的原子性、可见性和有序性? +--- +线程和进程有什么区别? +--- +说说你知道的几种 I/O 模型 +--- +MyBatis 与 Hibernate 有哪些不同? +--- +什么是 Java 内存模型(JMM)? +--- +Redis 和 Memcached 有哪些区别? +--- +什么是物理地址,什么是逻辑地址? +--- +说说什么是 API 网关?它有什么作用? +--- +什么是 Java 的 CAS(Compare-And-Swap)操作? +--- +Select、Poll、Epoll 之间有什么区别? +--- +什么是 MyBatis-Plus?它有什么作用?它和 MyBatis 有哪些区别? + +--- +为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用? +--- +编译执行与解释执行的区别是什么?JVM 使用哪种方式? +--- +Redis 支持事务吗?如何实现? +--- +到底什么是 TCP 连接? +--- +消息队列如何处理重复消息(保证消息的幂等性)? +--- +Java 中什么情况会导致死锁?如何避免? +--- +消息队列如何保证消息的有序性(顺序性)? +--- +说一下 Netty 的应用场景? +--- +什么是 Spring IOC? +--- +你了解 Java 线程池的原理吗? +--- +Redis 数据过期后的删除策略是什么? +--- +消息队列如何处理消息堆积? +--- +什么是服务熔断? +--- +Java 线程池有哪些拒绝策略? +--- +HTTP 1.0 和 2.0 有什么区别? +--- +消息队列如何保证消息不丢失? +--- +Spring AOP默认用的是什么动态代理,两者的区别? +--- +如何合理地设置 Java 线程池的线程数? +--- +Redis 中有哪些内存淘汰策略? +--- +MySQL 中 如果我 select * from 一个有 1000 万行的表,内存会飙升么? +--- +消息队列设计成推消息还是拉消息?推拉模式的优缺点? +--- +你使用过哪些 Java 并发工具类? +--- +什么是设计模式?请简述其作用。 +--- +什么是 AOP? +--- +什么是服务降级? +--- +Synchronized 和 ReentrantLock 有什么区别? +--- +Redis 的 Lua 脚本功能是什么?如何使用? +--- +HTTP 2.0 和 3.0 有什么区别? +--- +单例模式有哪几种实现?如何保证线程安全? +--- +Java 的 synchronized 是怎么实现的? +--- +如何设计一个秒杀功能? +--- +为什么不选择使用原生的 NIO 而选择使用 Netty 呢? +--- +看过源码吗?说下 Spring 由哪些重要的模块组成? +--- +如何优化 Java 中的锁的使用? +--- +Redis 的 Pipeline 功能是什么? +--- +让你设计一个分布式 ID 发号器,怎么设计? +--- +什么是服务雪崩? +--- +JVM 由哪些部分组成? +--- +Redis 通常应用于哪些场景? +--- +让你设计一个短链系统,怎么设计? +--- +什么是循环依赖(常问)? +--- +JVM 垃圾回收调优的主要目标是什么? +--- +Redis 中的 Big Key 问题是什么?如何解决? +--- +HTTP 和 HTTPS 有什么区别? +--- +分布式锁一般都怎样实现? +--- +如何对 Java 的垃圾回收进行调优? +--- +如何设计一个点赞系统? +--- +Spring 如何解决循环依赖? +--- +HTTP 与 RPC 之间的区别? +--- +常用的 JVM 配置参数有哪些? +--- +如何解决 Redis 中的热点 key 问题? +--- +TCP 是用来解决什么问题? +--- +让你设计一个 RPC 框架,怎么设计? +--- +Java 中常见的垃圾收集器有哪些? +--- +什么是限流?限流算法有哪些?怎么实现的? +--- +Netty 性能为什么这么高? +--- +为什么 Spring 循环依赖需要三级缓存,二级不够吗? +--- +JVM 的内存区域是如何划分的? +--- +Redis 的持久化机制有哪些? +--- +如果发现 Redis 内存溢出了?你会怎么做?请给出排查思路和解决方案 +--- +负载均衡算法有哪些? +--- +Java 中有哪些垃圾回收算法? +--- +Redis 中的缓存击穿、缓存穿透和缓存雪崩是什么? +--- +线上发现 Redis 机器爆了,如何优化? +--- +说下 Spring Bean 的生命周期? +--- +JVM 有那几种情况会产生 OOM(内存溢出)? +--- +Redis 在生成 RDB 文件时如何处理请求? +--- +TCP 和 UDP 有什么区别? +--- +线上 CPU 飙高如何排查? +--- +Java 中 volatile 关键字的作用是什么? +--- +怎么分析 JVM 当前的内存占用情况?OOM 后怎么分析? +--- +Spring MVC 具体的工作原理? +--- +分布式和微服务有什么区别? +--- +什么是 Java 中的 ABA 问题? +--- +Redis 的哨兵机制是什么? +--- +TCP 的粘包和拆包能说说吗? +--- +线程的生命周期在 Java 中是如何定义的? +--- +在 MySQL 中建索引时需要注意哪些事项? +--- +Netty 采用了哪些设计模式? +--- +Spring 中的 DI 是什么? +--- +Redis 主从复制的实现原理是什么? +--- +在什么情况下,不推荐为数据库建立索引? +--- +什么是 Seata? +--- diff --git a/Java 虚拟机面试题.md b/Java 虚拟机面试题.md new file mode 100644 index 0000000..a21ad7f --- /dev/null +++ b/Java 虚拟机面试题.md @@ -0,0 +1,92 @@ +Java 中有哪些垃圾回收算法? +--- +JVM 的 TLAB(Thread-Local Allocation Buffer)是什么? +--- +Java 是如何实现跨平台的? +--- +JVM 由哪些部分组成? +--- +编译执行与解释执行的区别是什么?JVM 使用哪种方式? +--- +JVM 的内存区域是如何划分的? +--- +JVM 方法区是否会出现内存溢出? +--- +JVM 有那几种情况会产生 OOM(内存溢出)? +--- +Java 中堆和栈的区别是什么? +--- +什么是 Java 中的直接内存(堆外内存)? +--- +什么是 Java 中的常量池? +--- +你了解 Java 的类加载器吗? +--- +什么是 Java 中的 JIT(Just-In-Time)? +--- +JIT 编译后的代码存在哪? +--- +什么是 Java 的 AOT(Ahead-Of-Time)? +--- +你了解 Java 的逃逸分析吗? +--- +Java 中的强引用、软引用、弱引用和虚引用分别是什么? +--- +Java 中常见的垃圾收集器有哪些? +--- +Java 中如何判断对象是否是垃圾?不同实现方式有何区别? +--- +为什么 Java 的垃圾收集器将堆分为老年代和新生代? +--- +为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)? +--- +为什么 Java 新生代被划分为 S0、S1 和 Eden 区? +--- +什么是三色标记算法? +--- +Java 中的 young GC、old GC、full GC 和 mixed GC 的区别是什么? +--- +什么条件会触发 Java 的 young GC? +--- +什么情况下会触发 Java 的 Full GC? +--- +什么是 Java 的 PLAB? +--- +JVM 垃圾回收时产生的 concurrent mode failure 的原因是什么? +--- +为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的? +--- +为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old +--- +JVM 新生代垃圾回收如何避免全堆扫描? +--- +Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同? +--- +为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集? +--- +Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性? +--- +Java G1 相对于 CMS 有哪些进步的地方? +--- +什么是 Java 中的 logging write barrier? +--- +Java 的 G1 垃圾回收流程是怎样的? +--- +Java 的 CMS 垃圾回收流程是怎样的? +--- +你了解 Java 的 ZGC(Z Garbage Collector)吗? +--- +JVM 垃圾回收调优的主要目标是什么? +--- +如何对 Java 的垃圾回收进行调优? +--- +常用的 JVM 配置参数有哪些? +--- +你常用哪些工具来分析 JVM 性能? +--- +如何在 Java 中进行内存泄漏分析? +--- +Java 里的对象在虚拟机里面是怎么存储的? +--- +说说 Java 的执行流程? +--- diff --git a/Java 集合面试题.md b/Java 集合面试题.md new file mode 100644 index 0000000..94e3365 --- /dev/null +++ b/Java 集合面试题.md @@ -0,0 +1,52 @@ +说说 Java 中 HashMap 的原理? +--- +使用 HashMap 时,有哪些提升性能的技巧? +--- +什么是 Hash 碰撞?怎么解决哈希碰撞? +--- +Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么区别?分别有什么优缺点? +--- +Java 中有哪些集合类?请简单介绍 +--- +数组和链表在 Java 中的区别是什么? +--- +Java 中的 List 接口有哪些实现类? +--- +Java 中 ArrayList 和 LinkedList 有什么区别? +--- +Java ArrayList 的扩容机制是什么? +--- +Java 中的 HashMap 和 Hashtable 有什么区别? +--- +ConcurrentHashMap 和 Hashtable 的区别是什么? +--- +Java 中的 HashSet 和 HashMap 有什么区别? +--- +Java 中 HashMap 的扩容机制是怎样的? +--- +为什么 HashMap 在 Java 中扩容时采用 2 的 n 次方倍? +--- +为什么 Java 中 HashMap 的默认负载因子是 0.75? +--- +为什么 JDK 1.8 对 HashMap 进行了红黑树的改动? +--- +JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动? +--- +Java 中的 LinkedHashMap 是什么? +--- +Java 中的 TreeMap 是什么? +--- +Java 中的 IdentityHashMap 是什么? +--- +Java 中的 WeakHashMap 是什么 ? +--- +Java 中 ConcurrentHashMap 1.7 和 1.8 之间有哪些区别? +--- +Java 中 ConcurrentHashMap 的 get 方法是否需要加锁? +--- +为什么 Java 的 ConcurrentHashMap 不支持 key 或 value 为 null? +--- +Java 中的 CopyOnWriteArrayList 是什么? +--- +你遇到过 ConcurrentModificationException 错误吗?它是如何产生的? +--- diff --git a/Java 面试题.md b/Java 面试题.md new file mode 100644 index 0000000..e952541 --- /dev/null +++ b/Java 面试题.md @@ -0,0 +1,401 @@ +Java 中的序列化和反序列化是什么? +--- +Java 中 Exception 和 Error 有什么区别? +--- +你认为 Java 的优势是什么? +--- +什么是 Java 的多态特性? +--- +Java 中的参数传递是按值还是按引用? +--- +为什么 Java 不支持多重继承? +--- +Java 面向对象编程与面向过程编程的区别是什么? +--- +Java 方法重载和方法重写之间的区别是什么? +--- +什么是 Java 内部类?它有什么作用? +--- +Java8 有哪些新特性? +--- +Java25 有哪些新特性? +--- +Java11 有哪些新特性? +--- +Java17 有哪些新特性? +--- +Java21 有哪些新特性? +--- +Java 中 String、StringBuffer 和 StringBuilder 的区别是什么? +--- +Java 的 StringBuilder 是怎么实现的? +--- +Java 中包装类型和基本类型的区别是什么? +--- +接口和抽象类有什么区别? +--- +JDK 和 JRE 有什么区别? +--- +你使用过哪些 JDK 提供的工具? +--- +Java 中 hashCode 和 equals 方法是什么?它们与 == 操作符有什么区别? +--- +Java 中的 hashCode 和 equals 方法之间有什么关系? +--- +什么是 Java 中的动态代理? +--- +JDK 动态代理和 CGLIB 动态代理有什么区别? +--- +Java 中的注解原理是什么? +--- +你使用过 Java 的反射机制吗?如何应用反射? +--- +什么是 Java 中的不可变类? +--- +什么是 Java 的 SPI(Service Provider Interface)机制? +--- +Java 泛型的作用是什么? +--- +Java 泛型擦除是什么? +--- +什么是 Java 泛型的上下界限定符? +--- +Java 中的深拷贝和浅拷贝有什么区别? +--- +什么是 Java 的 Integer 缓存池? +--- +Java 的类加载过程是怎样的? +--- +什么是 Java 的 BigDecimal? +--- +BigDecimal 为什么能保证精度不丢失? + +--- +使用 new String("yupi") 语句在 Java 中会创建多少个对象? +--- +Java 中 final、finally 和 finalize 各有什么区别? +--- +为什么在 Java 中编写代码时会遇到乱码问题? +--- +为什么 JDK 9 中将 String 的 char 数组改为 byte 数组? +--- +如何在 Java 中调用外部可执行程序或系统命令? +--- +如果一个线程在 Java 中被两次调用 start() 方法,会发生什么? +--- +栈和队列在 Java 中的区别是什么? +--- +Java 的 Optional 类是什么?它有什么用? +--- +Java 的 I/O 流是什么? +--- +什么是 Java 的网络编程? +--- +Java 中的基本数据类型有哪些? +--- +什么是 Java 中的自动装箱和拆箱? +--- +什么是 Java 中的迭代器(Iterator)? +--- +Java 运行时异常和编译时异常之间的区别是什么? +--- +什么是 Java 中的继承机制? +--- +什么是 Java 的封装特性? +--- +Java 中的访问修饰符有哪些? +--- +Java 中静态方法和实例方法的区别是什么? +--- +Java 中 for 循环与 foreach 循环的区别是什么? +--- +什么是 Java 中的双亲委派模型? +--- +Java 中 wait() 和 sleep() 的区别? +--- +Java 和 Go 的区别 +--- +Java Object 类中有什么方法,有什么作用? +--- +Java 中的字节码是什么? +--- +什么是 BIO、NIO、AIO? +--- +什么是 Channel? +--- +什么是 Selector? +--- +Float 经过一系列的操作后(加减乘除),如何判断是否和另一个数相等呢? +--- +PO、VO、BO、DTO、DAO、POJO 有什么区别? +--- +说说 Java 中 HashMap 的原理? +--- +使用 HashMap 时,有哪些提升性能的技巧? +--- +什么是 Hash 碰撞?怎么解决哈希碰撞? +--- +Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么区别?分别有什么优缺点? +--- +Java 中有哪些集合类?请简单介绍 +--- +数组和链表在 Java 中的区别是什么? +--- +Java 中的 List 接口有哪些实现类? +--- +Java 中 ArrayList 和 LinkedList 有什么区别? +--- +Java ArrayList 的扩容机制是什么? +--- +Java 中的 HashMap 和 Hashtable 有什么区别? +--- +ConcurrentHashMap 和 Hashtable 的区别是什么? +--- +Java 中的 HashSet 和 HashMap 有什么区别? +--- +Java 中 HashMap 的扩容机制是怎样的? +--- +为什么 HashMap 在 Java 中扩容时采用 2 的 n 次方倍? +--- +为什么 Java 中 HashMap 的默认负载因子是 0.75? +--- +为什么 JDK 1.8 对 HashMap 进行了红黑树的改动? +--- +JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动? +--- +Java 中的 LinkedHashMap 是什么? +--- +Java 中的 TreeMap 是什么? +--- +Java 中的 IdentityHashMap 是什么? +--- +Java 中的 WeakHashMap 是什么 ? +--- +Java 中 ConcurrentHashMap 1.7 和 1.8 之间有哪些区别? +--- +Java 中 ConcurrentHashMap 的 get 方法是否需要加锁? +--- +为什么 Java 的 ConcurrentHashMap 不支持 key 或 value 为 null? +--- +Java 中的 CopyOnWriteArrayList 是什么? +--- +你遇到过 ConcurrentModificationException 错误吗?它是如何产生的? +--- +什么是 Java 中的线程同步? +--- +Java 中的线程安全是什么意思? +--- +什么是协程?Java 支持协程吗? +--- +线程的生命周期在 Java 中是如何定义的? +--- +Java 中线程之间如何进行通信? +--- +Java 中如何创建多线程? +--- +你了解 Java 线程池的原理吗? +--- +如何合理地设置 Java 线程池的线程数? +--- +Java 线程池有哪些拒绝策略? +--- +Java 并发库中提供了哪些线程池实现?它们有什么区别? +--- +Java 线程池核心线程数在运行过程中能修改吗?如何修改? +--- +Java 线程池中 shutdown 与 shutdownNow 的区别是什么? +--- +Java 线程池内部任务出异常后,如何知道是哪个线程出了异常? +--- +Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别? +--- +什么是 Java 的 Timer? +--- +你了解时间轮(Time Wheel)吗?有哪些应用场景? +--- +你使用过哪些 Java 并发工具类? +--- +什么是 Java 的 Semaphore? +--- +什么是 Java 的 CyclicBarrier? +--- +什么是 Java 的 CountDownLatch? +--- +什么是 Java 的 StampedLock? +--- +什么是 Java 的 CompletableFuture? +--- +什么是 Java 的 ForkJoinPool? +--- +如何在 Java 中控制多个线程的执行顺序? +--- +你使用过 Java 中的哪些阻塞队列? +--- +你使用过 Java 中的哪些原子类? +--- +你使用过 Java 的累加器吗? +--- +什么是 Java 的 CAS(Compare-And-Swap)操作? +--- +说说 AQS 吧? +--- +Java 中 ReentrantLock 的实现原理是什么? +--- +Java 的 synchronized 是怎么实现的? +--- +Synchronized 修饰静态方法和修饰普通方法有什么区别? +--- +Java 中的 synchronized 轻量级锁是否会进行自旋? +--- +Synchronized 能不能禁止指令重排序? +--- +当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗? +--- +什么是 Java 中的锁自适应自旋? +--- +Synchronized 和 ReentrantLock 有什么区别? +--- +Volatile 与 Synchronized 的区别是什么? +--- +如何优化 Java 中的锁的使用? +--- +你了解 Java 中的读写锁吗? +--- +什么是 Java 内存模型(JMM)? +--- +什么是 Java 中的原子性、可见性和有序性? +--- +什么是 Java 的 happens-before 规则? +--- +什么是 Java 中的指令重排? +--- +Java 中的 final 关键字是否能保证变量的可见性? +--- +为什么在 Java 中需要使用 ThreadLocal? +--- +Java 中的 ThreadLocal 是如何实现线程资源隔离的? +--- +为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用? +--- +Java 中使用 ThreadLocal 的最佳实践是什么? +--- +Java 中的 InheritableThreadLocal 是什么? +--- +ThreadLocal 的缺点? +--- +为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal ? +--- +什么是 Java 的 TransmittableThreadLocal? +--- +Java 中 Thread.sleep 和 Thread.yield 的区别? +--- +Java 中 Thread.sleep(0) 的作用是什么? +--- +Java 中的 wait、notify 和 notifyAll 方法有什么作用? +--- +Java 中什么情况会导致死锁?如何避免? +--- +Java 中 volatile 关键字的作用是什么? +--- +什么是 Java 中的 ABA 问题? +--- +在 Java 中主线程如何知晓创建的子线程是否执行成功? +--- +Java 创建线程池有哪些方式? +--- +Java 线程安全的集合有哪些? +--- +多线程并发同步数据时(数据库的数据同步到数仓中)需要注意什么问题? +--- +Java 中有哪些垃圾回收算法? +--- +JVM 的 TLAB(Thread-Local Allocation Buffer)是什么? +--- +Java 是如何实现跨平台的? +--- +JVM 由哪些部分组成? +--- +编译执行与解释执行的区别是什么?JVM 使用哪种方式? +--- +JVM 的内存区域是如何划分的? +--- +JVM 方法区是否会出现内存溢出? +--- +JVM 有那几种情况会产生 OOM(内存溢出)? +--- +Java 中堆和栈的区别是什么? +--- +什么是 Java 中的直接内存(堆外内存)? +--- +什么是 Java 中的常量池? +--- +你了解 Java 的类加载器吗? +--- +什么是 Java 中的 JIT(Just-In-Time)? +--- +JIT 编译后的代码存在哪? +--- +什么是 Java 的 AOT(Ahead-Of-Time)? +--- +你了解 Java 的逃逸分析吗? +--- +Java 中的强引用、软引用、弱引用和虚引用分别是什么? +--- +Java 中常见的垃圾收集器有哪些? +--- +Java 中如何判断对象是否是垃圾?不同实现方式有何区别? +--- +为什么 Java 的垃圾收集器将堆分为老年代和新生代? +--- +为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)? +--- +为什么 Java 新生代被划分为 S0、S1 和 Eden 区? +--- +什么是三色标记算法? +--- +Java 中的 young GC、old GC、full GC 和 mixed GC 的区别是什么? +--- +什么条件会触发 Java 的 young GC? +--- +什么情况下会触发 Java 的 Full GC? +--- +什么是 Java 的 PLAB? +--- +JVM 垃圾回收时产生的 concurrent mode failure 的原因是什么? +--- +为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的? +--- +为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old +--- +JVM 新生代垃圾回收如何避免全堆扫描? +--- +Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同? +--- +为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集? +--- +Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性? +--- +Java G1 相对于 CMS 有哪些进步的地方? +--- +什么是 Java 中的 logging write barrier? +--- +Java 的 G1 垃圾回收流程是怎样的? +--- +Java 的 CMS 垃圾回收流程是怎样的? +--- +你了解 Java 的 ZGC(Z Garbage Collector)吗? +--- +JVM 垃圾回收调优的主要目标是什么? +--- +如何对 Java 的垃圾回收进行调优? +--- +常用的 JVM 配置参数有哪些? +--- +你常用哪些工具来分析 JVM 性能? +--- +如何在 Java 中进行内存泄漏分析? +--- +Java 里的对象在虚拟机里面是怎么存储的? +--- +说说 Java 的执行流程? +--- diff --git a/Kafka 面试题.md b/Kafka 面试题.md new file mode 100644 index 0000000..41d1c16 --- /dev/null +++ b/Kafka 面试题.md @@ -0,0 +1,118 @@ +Kafka 是什么?它的主要应用场景有哪些? +--- +Kafka 的基本架构包括哪些组件?各组件的作用是什么? +--- +Kafka 的 Topic 是什么?它的作用是什么? +--- +Kafka 中的 Producer 和 Consumer 分别是什么角色?它们如何进行消息的生产和消费? +--- +在 Kafka 中,Partition 是什么?Partition 的划分对性能有什么影响? +--- +Kafka 是如何保证消息顺序性的?在什么场景下顺序性是必须的? +--- +Kafka 的消息是如何持久化的?它默认的存储机制是什么? +--- +在 Kafka 中,如何创建一个 Topic?可以通过哪些方式管理 Topic? +--- +Kafka 的 Offset 是什么?如何追踪消息的消费进度? +--- +Kafka 中的 Consumer Group 是什么?它在消息消费中起到什么作用? +--- +Kafka 的副本机制是如何实现的?它对数据可靠性有何保障? +--- +Kafka 如何保证消息的持久性和高可用性? +--- +在 Kafka 中,什么是 Leader 和 Follower?它们在副本机制中如何协同工作? +--- +Kafka 中的 ISR(In-Sync Replica)是什么?它如何保证消息的可靠性? +--- +在 Kafka 中,如何设置消息的过期时间?过期消息是如何被处理的? +--- +Kafka 是如何实现横向扩展的?它如何处理大规模集群中的负载均衡? +--- +Kafka 中的分区副本机制是如何工作的?如何设置副本数? +--- +在 Kafka 中,如何处理消息重复消费的问题?有哪些解决方案? +--- +Kafka 的日志压缩功能是如何实现的?它在什么场景下使用? +--- +在 Kafka 中,如何通过 Acks 配置提高数据可靠性?Acks 的值如何影响性能? +--- +Kafka 的 Producer 是如何发送消息的?如何通过批量发送提高吞吐量? +--- +在 Kafka 中,如何处理消息丢失问题?有哪些常见的应对策略? +--- +Kafka 中 Zookeeper 是做什么的?它在集群管理中起到什么作用? +--- +Kafka 中的 Consumer 是如何订阅 Topic 的?它的消费模式有哪些? +--- +Kafka 的反压机制是如何实现的?如何避免生产者压垮消费者? +--- +Kafka 中的 Consumer Group 是如何进行负载均衡的?它如何保证高效消费? +--- +Kafka 中的批量消费是如何工作的?如何通过批量消费提高处理效率? +--- +Kafka 是如何保证 Exactly Once 语义的?它的实现原理是什么? +--- +在 Kafka 中,如何实现消息的过滤?常见的消息过滤策略有哪些? +--- +Kafka 的高可用性是如何实现的?当 Broker 宕机时,如何保证服务不受影响? +--- +Kafka 中的分区分配策略有哪些?如何选择合适的策略? +--- +在 Kafka 中,如何通过配置优化 Producer 和 Consumer 的性能? +--- +Kafka 的事务机制是如何实现的?它如何保证消息的一致性? +--- +Kafka 中的 Controller 是什么角色?它在集群中的作用是什么? +--- +Kafka 的集群如何进行扩展?扩展过程中需要注意哪些问题? +--- +Kafka 如何处理数据倾斜问题?有哪些优化手段可以均衡负载? +--- +Kafka 的优先副本选举机制是如何工作的?如何配置它? +--- +在 Kafka 中,如何实现多集群的数据同步?跨集群复制的实现原理是什么? +--- +Kafka 的日志分段机制是如何工作的?如何通过分段优化存储? +--- +在 Kafka 中,如何设计合理的分区策略来优化消息的读写性能? +--- +Kafka 的幂等性是如何保证的?它在消息处理中的作用是什么? +--- +在 Kafka 中,如何进行批量消息发送和消费?如何优化批量操作的性能? +--- +Kafka 的内部状态是如何管理的?如何通过状态管理优化性能? +--- +Kafka 是如何处理消费者再均衡的?Rebalance 的代价和优化策略有哪些? +--- +Kafka 的流量控制是如何实现的?如何通过流量控制避免系统过载? +--- +Kafka 在高吞吐量场景下如何保持低延迟?有哪些性能调优的策略? +--- +Kafka 的存储是如何设计的?日志文件的存储格式是什么?如何保证存储效率? +--- +在 Kafka 中,如何优化分区的读写性能?有哪些常见的调优策略? +--- +Kafka 如何保证在集群扩展或缩容时数据的安全性和一致性? +--- +Kafka 与 Flink 的集成是如何实现的?如何优化 Flink 与 Kafka 之间的数据流动? +--- +在 Kafka 中,如何实现幂等性 Producer?它对消息处理的意义是什么? +--- +Kafka 是如何通过 Zookeeper 管理集群元数据的?如何处理 Zookeeper 故障? +--- +在 Kafka 中,如何优化磁盘 I/O 性能?有哪些策略可以减少 I/O 开销? +--- +Kafka 的事务机制与幂等性机制如何协同工作?它们在保证消息一致性上有什么作用? +--- +Kafka 的 Controller Failover 是如何设计的?在 Controller 宕机时如何进行故障恢复? +--- +Kafka 如何保证消息的严格顺序性?在高并发场景下如何优化顺序消费? +--- +Kafka 的多租户支持是如何实现的?如何通过配额控制各租户的资源使用? +--- +Kafka 的 Stream 和 Table 是如何相互转换的?它们在 Kafka Streams 中的应用场景是什么? +--- +Kafka 的 Exactly Once 语义在分布式系统中是如何实现的?如何处理分布式事务中的异常情况? +--- diff --git a/Koa 框架面试题.md b/Koa 框架面试题.md new file mode 100644 index 0000000..27dd57d --- /dev/null +++ b/Koa 框架面试题.md @@ -0,0 +1,104 @@ +Koa 在处理请求时是如何利用事件循环的? +--- +如何在 Koa 中实现中间件的依赖注入? +--- +如何在 Koa 中实现分布式事务? +--- +如何在 Koa 中实现请求的幂等性? +--- +Koa 中如何实现国际化(i18n)支持? +--- +在 Koa 中如何处理多部分(multipart)请求? +--- +Koa 的中间件机制是如何实现的?其底层原理是什么? +--- +在高并发情况下,如何优化 Koa 应用的性能和稳定性? +--- +Koa 如何处理异步错误?底层是如何实现的? +--- +Koa 中上下文对象的创建过程和生命周期具体是怎样的? +--- +Koa 2 与 Koa 有哪些区别?升级到 Koa 2 需要注意什么? +--- +如何在 Koa 中实现自定义的流式响应? +--- +在 Koa 中如何高效处理长连接和实时数据推送? +--- +如何在 Koa 中实现微服务架构? +--- +在 Koa 中如何使用 Redis 或其他缓存机制? +--- +如何在 Koa 中进行数据库的连接和操作? +--- +在 Koa 中如何实现请求限流? +--- +如何在 Koa 中使用 Session 机制? +--- +Koa 中如何实现自定义中间件? +--- +在 Koa 中如何处理 WebSocket 通信? +--- +如何在 Koa 中使用 HTTPS? +--- +如何在 Koa 中实现接口的版本控制? +--- +如何在 Koa 中实现请求的重试机制? +--- +如何在 Koa 中进行单元测试和集成测试? +--- +如何在 Koa 中实现错误日志记录? +--- +Koa 中的洋葱模型(中间件执行顺序)是如何工作的? +--- +在 Koa 中如何处理文件上传? +--- +如何在 Koa 中使用 JWT 实现用户认证? +--- +Koa 中如何设置响应的内容类型(Content-Type)? +--- +在 Koa 中如何获取请求的 IP 地址? +--- +Koa 中的应用程序对象(app)有哪些常用方法? +--- +Koa 中如何处理 POST 请求的数据? +--- +在 Koa 中如何使用静态文件服务? +--- +如何在 Koa 中使用第三方中间件? +--- +如何在 Koa 中使用模板引擎渲染页面? +--- +Koa 中的 next() 函数有什么作用? +--- +为什么 Koa 使用 async/await 而不是回调函数? +--- +如何在 Koa 中实现请求重定向? +--- +Koa 中如何处理 CORS 跨域请求? +--- +在 Koa 中如何设置 Cookie? +--- +如何在 Koa 中设置全局变量或配置项? +--- +什么是 async/await,Koa 如何利用它? +--- +如何在 Koa 中设置响应的状态码和头信息? +--- +在 Koa 中如何解析请求的参数和查询字符串? +--- +Koa 的上下文对象(ctx)包含哪些常用属性? +--- +如何在 Koa 中实现路由功能? +--- +Koa 框架的中间件是什么,如何使用? +--- +如何在 Koa 框架中处理错误和异常? +--- +Koa 与 Express 的主要区别有哪些? +--- +在 Koa 中如何创建一个简单的 HTTP 服务器? +--- +Koa 框架的基本使用步骤是什么? +--- +Express.js 和 Koa.js 框架有什么区别? +--- diff --git a/Kubernetes 面试题.md b/Kubernetes 面试题.md new file mode 100644 index 0000000..886243a --- /dev/null +++ b/Kubernetes 面试题.md @@ -0,0 +1,54 @@ +解释什么是 Kubernetes,并描述其主要组件及其作用。 +--- +描述如何在 Kubernetes 中创建一个 Pod,并给出示例配置文件。 +--- +请解释 Kubernetes 中的 Service 和 Ingress 的区别,并描述各自的用途。 +--- +描述在 Kubernetes 中如何进行滚动更新和回滚操作。 +--- +请解释 Kubernetes 中的 ConfigMap 和 Secret 的作用及其使用场景。 +--- +描述在 Kubernetes 中如何配置资源配额,并解释其作用。 +--- +请描述 Kubernetes 中的 Namespace 的作用,并解释其使用场景。 +--- +描述在 Kubernetes 中如何进行日志管理,并解释常用的方法。 +--- +描述在Kubernetes中如何配置持久化存储,并解释其工作原理。 +--- +请描述 Kubernetes 中的 Helm 的作用,并解释其使用场景。 +--- +描述在 Kubernetes 中如何进行安全配置,并解释常用的方法。 +--- +Kubernetes 中的 Pod 是什么?其作用是什么? +--- +如何在 Kubernetes 中实现服务的自动伸缩(autoscaling)? +--- +Kubernetes 中的 Deployment 和 StatefulSet 有什么区别? +--- +Kubernetes 中,ConfigMap 和 Secret 的作用是什么? +--- +Docker Swarm 和 Kubernetes 在集群管理上的主要区别是什么? +--- +在 Kubernetes 中,如何实现持久化存储(Persistent Storage)? +--- +Kubernetes 中的 Ingress 资源有什么作用?如何配置? +--- +如何在 Kubernetes 中使用 Helm 部署应用? +--- +Docker 的容器编排(orchestration)有哪些常见工具? +--- +Kubernetes 中的 DaemonSet 有什么作用? +--- +Kubernetes 中的 ReplicaSet 和 ReplicationController 有什么区别? +--- +Kubernetes 中的 Service 有哪几种类型?请分别简述。 +--- +Kubernetes 的 Helm Charts 如何实现应用的版本控制? +--- +Kubernetes 中的 Job 和 CronJob 有什么区别? +--- +Kubernetes 中的 Persistent Volume 和 Persistent Volume Claim 有什么区别? +--- +Kubernetes 中的网络策略(Network Policy)如何实现? +--- diff --git a/Kudu 面试题.md b/Kudu 面试题.md new file mode 100644 index 0000000..a9d767d --- /dev/null +++ b/Kudu 面试题.md @@ -0,0 +1,88 @@ +什么是 Apache Kudu?它的主要用途是什么? +--- +Kudu 与 HDFS 和 HBase 有什么区别? +--- +在 Kudu 中,如何创建一张表?有哪些常见的表结构? +--- +Kudu 支持哪些数据类型?如何选择合适的数据类型? +--- +Kudu 的存储模式是怎样的?它如何支持列式存储? +--- +如何在 Kudu 中进行数据的插入和更新操作? +--- +Kudu 如何支持主键?主键在表设计中有什么作用? +--- +Kudu 中的分区是如何工作的?如何配置分区策略? +--- +如何在 Kudu 中使用 SQL 查询数据? +--- +Kudu 是如何处理数据压缩的?有哪些常见的压缩算法? +--- +Kudu 是如何与 Apache Impala 集成的?如何使用 Impala 查询 Kudu 表? +--- +在 Kudu 中,如何进行表的水平扩展?如何支持大规模数据存储? +--- +Kudu 如何实现数据的一致性和高可用性? +--- +在 Kudu 中,如何进行多租户的权限管理? +--- +如何通过 Apache Kudu 进行实时数据分析?Kudu 如何支持实时数据更新? +--- +在 Kudu 中,如何配置数据的副本?副本机制是如何保障数据安全的? +--- +Kudu 的表分区机制是如何优化查询性能的? +--- +Kudu 的存储架构是如何设计的?它如何支持高效的数据写入和读取? +--- +在 Kudu 中,如何进行数据的批量导入和导出操作? +--- +Kudu 的 Raft 协议是如何工作的?如何通过 Raft 实现一致性和容错? +--- +在 Kudu 中,如何处理大规模并发读写操作? +--- +如何在 Kudu 中优化查询性能?常见的性能优化策略有哪些? +--- +Kudu 的列式存储是如何影响查询效率的? +--- +如何在 Kudu 中通过分布式查询提高大规模数据查询的性能? +--- +在 Kudu 中,如何通过集群扩展支持大规模数据存储? +--- +Kudu 是如何与 Apache Spark 集成的?如何使用 Spark 处理 Kudu 数据? +--- +在 Kudu 中,如何通过 Raft 协议保证数据的一致性和高可用性? +--- +Kudu 是如何处理大规模数据的分片和副本管理的? +--- +如何在 Kudu 中进行复杂的查询优化?常见的优化技术有哪些? +--- +在 Kudu 中,如何进行数据的备份与恢复操作? +--- +Kudu 的列式存储与行式存储的差异是什么?如何根据应用场景选择存储方式? +--- +在 Kudu 中,如何处理数据分布不均导致的查询性能问题? +--- +如何通过 Kudu 实现实时数据流处理?它与 Kafka 如何结合使用? +--- +在 Kudu 中,如何使用预写日志提高数据安全性? +--- +Kudu 的分区键和主键设计对查询性能有何影响?如何优化键的设计? +--- +如何在 Kudu 中处理数据的冷热分离?有哪些常见的分层存储策略? +--- +在 Kudu 中,如何通过副本机制提高容错性和数据可用性? +--- +Kudu 的分布式架构是如何处理数据一致性和高可用性的? +--- +在 Kudu 中,如何通过水平扩展和副本机制实现大规模数据的高效存储和读取? +--- +Kudu 是如何通过分布式一致性协议(如 Raft)保证数据写入和读取的一致性的? +--- +在 Kudu 集群中,如何处理网络分区带来的数据不一致性问题? +--- +Kudu 是如何与数据分析框架(如 Impala 和 Spark)集成的?如何实现高效的数据分析? +--- +如何在 Kudu 中管理海量数据的分片和副本?有哪些性能优化方法? +--- +在 Kudu 中,如何设计复杂的查询优化方案以提升大规模查询性能? +--- diff --git a/Kylin 面试题.md b/Kylin 面试题.md new file mode 100644 index 0000000..2fad67c --- /dev/null +++ b/Kylin 面试题.md @@ -0,0 +1,96 @@ +什么是 Apache Kylin?它的主要应用场景是什么? +--- +Kylin 的核心架构包括哪些组件?各自的作用是什么? +--- +在 Kylin 中,如何创建一个 Cube? +--- +Kylin 是如何实现 OLAP 在线分析处理的? +--- +Kylin 中的维度表和事实表有什么区别? +--- +在 Kylin 中,如何导入 Hive 表中的数据? +--- +Kylin 支持哪些数据源?如何从 HBase 加载数据? +--- +Kylin 中的 Cube 是什么?它的基本构建过程是什么? +--- +在 Kylin 中,如何配置维度和度量? +--- +Kylin 如何通过预计算加速查询? +--- +在 Kylin 中,如何使用 SQL 进行数据查询? +--- +Kylin 是如何实现高效的多维分析的? +--- +Kylin 中的 Cube 构建过程如何优化?有哪些常见的优化策略? +--- +Kylin 的增量构建模式是什么?与全量构建有何不同? +--- +Kylin 中的存储层是如何工作的?它如何利用 HBase 实现数据存储? +--- +在 Kylin 中,如何配置和管理 Cube 的分区? +--- +Kylin 的查询优化机制是如何设计的?如何提高查询效率? +--- +Kylin 中的星型模型和雪花模型有什么区别?如何选择合适的建模方法? +--- +在 Kylin 中,如何处理高基数维度的优化问题? +--- +Kylin 的 Real-Time OLAP 是如何实现的?有哪些应用场景? +--- +在 Kylin 中,如何监控和优化 Cube 构建的性能? +--- +Kylin 的维度裁剪机制是如何实现的? +--- +Kylin 中的 Cube 设计如何影响查询性能?有哪些设计上的考虑? +--- +在 Kylin 中,如何进行分布式查询的调优? +--- +Kylin 是如何处理多租户数据隔离的? +--- +Kylin 与 Spark 的集成是如何实现的?如何利用 Spark 加速数据计算? +--- +Kylin 如何与 Hadoop 集成?它是如何利用 HDFS 进行数据存储的? +--- +Kylin 是如何支持数据增量更新的?增量更新的优势是什么? +--- +Kylin 的存储优化机制是如何设计的?如何减少存储空间的使用? +--- +在 Kylin 中,如何进行 Cube 的版本管理? +--- +Kylin 的查询加速机制是如何工作的?如何配置查询缓存? +--- +Kylin 是如何进行多维度聚合的?聚合的过程如何优化? +--- +Kylin 的容错机制是如何设计的?如何保证 Cube 构建过程中的数据一致性? +--- +在 Kylin 中,如何处理高并发查询?有哪些常见的优化策略? +--- +Kylin 的自适应 Cube 构建功能是什么?如何自动选择最优 Cube? +--- +Kylin 中的存储层是如何与计算层解耦的?这种架构设计有什么优势? +--- +Kylin 的元数据管理是如何实现的?元数据对查询性能的影响是什么? +--- +Kylin 在大规模集群下的性能优化有哪些策略? +--- +在 Kylin 中,如何实现对复杂 SQL 查询的支持?有哪些查询优化的机制? +--- +Kylin 如何处理跨数据源的查询?如何实现对多数据源的联合查询? +--- +Kylin 的内存管理机制是如何设计的?如何优化内存使用以提高查询性能? +--- +Kylin 的安全性机制是如何设计的?如何保障数据和查询的安全? +--- +在 Kylin 中,如何通过分布式计算框架提高 Cube 构建和查询的性能? +--- +Kylin 是如何进行动态分区的?动态分区对大规模数据的处理有哪些优势? +--- +Kylin 中的查询优化器是如何工作的?如何通过优化器提高查询性能? +--- +在 Kylin 中,如何进行大规模数据集的增量和全量数据同步? +--- +Kylin 如何通过机器学习算法进行 Cube 设计优化? +--- +在 Kylin 中,如何处理大规模的复杂查询?有哪些查询优化策略? +--- diff --git a/Linux 系统面试题.md b/Linux 系统面试题.md new file mode 100644 index 0000000..d1acbae --- /dev/null +++ b/Linux 系统面试题.md @@ -0,0 +1,88 @@ +Linux 中的硬链接和软连接是什么,二者有什么区别? +--- +CC 攻击是什么?什么叫 DDOS 攻击?什么是网站数据库注入? +--- +如何在 Linux 中查看系统资源使用情况?比如内存、CPU、网络端口。 +--- +请解释 Linux 操作系统中的进程与线程的区别,并举例说明它们各自的应用场景。 +--- +描述 Linux 系统中 crontab 的工作原理,并给出一个每天凌晨 3 点执行备份脚本的 crontab 配置例子。 +--- +如何在 Linux 系统中查看某个特定进程的内存使用情况? +--- +解释 Linux 系统中软链接和硬链接的区别,并给出创建软链接的命令。 +--- +说明在 Linux 中如何修改文件的权限,并解释 chmod 755 命令的含义。 +--- +在 Linux 系统中,如何查找某个目录下包含特定字符串的所有文件? +--- +解释 Windows 和 Linux 操作系统中的虚拟内存机制有什么不同。 +--- +描述在 Linux 系统中如何使用 top 命令监控系统资源,并解释关键字段的含义。 +--- +在 Linux 系统中,如何查看和管理磁盘分区? +--- +请解释 Linux 系统中的内核模块管理,并描述如何加载和卸载模块。 +--- +描述在 Linux 系统中如何配置网络接口,并给出具体命令。 +--- +解释 Linux 系统中的文件系统层次结构,并举例说明重要目录的用途。 +--- +解释什么是 SELinux,并描述其在 Linux 系统中的作用。 +--- +请描述 Linux 系统中的日志管理机制,并解释如何查看和管理系统日志。 +--- +在 Linux 系统中,如何配置静态 IP 地址? +--- +请描述在 Linux 系统中如何进行磁盘配额管理。 +--- +如何在 Linux 系统中查看和管理网络接口? +--- +在 Linux 系统中,如何使用 netstat 命令查看当前的网络连接情况? +--- +解释如何在 Linux 和 Windows 操作系统上设置环境变量。 +--- +描述 Linux 文件系统的结构,并解释每个目录的作用。 +--- +如何在 Linux 系统上查看和管理进程? +--- +如何在 Linux 系统中使用 crontab 定时执行任务? +--- +描述如何在 Linux 和 Windows 操作系统中安装和卸载软件包。 +--- +在 Linux 系统中,如何检查系统的磁盘使用情况? +--- +请解释 Linux 系统中的权限管理机制。 +--- +在 Linux 系统中,如何查看和管理系统服务? +--- +如何在 Linux 系统中使用 SSH 进行远程登录? +--- +如何在 Linux 系统中配置静态 IP 地址? +--- +在 Linux 系统中,如何设置文件的权限和拥有者? +--- +请描述 Linux 系统中常用的日志文件及其位置。 +--- +描述一次常见的 Linux 系统故障及其解决过程。 +--- +请解释如何使用 strace 工具调试和排查 Linux 程序的问题。 +--- +请解释如何使用 tcpdump 工具分析网络流量。 +--- +在 Linux 系统中,如何检查并修复文件系统错误? +--- +在 Linux 系统中,如何使用 dmesg 命令查看内核日志? +--- +如何在 Linux 系统中使用 lsof 命令排查文件占用问题? +--- +如何使用 Linux 系统中的 top 命令进行性能监控? +--- +请描述 Linux 系统中一次常见的网络故障及其解决方案。 +--- +请解释 Linux 系统中的内存泄漏问题及其排查方法。 +--- +Linux 有哪些常用命令? +--- +听说过 CFS 吗?(Linux ) +--- diff --git a/Logstash 面试题.md b/Logstash 面试题.md new file mode 100644 index 0000000..5db76eb --- /dev/null +++ b/Logstash 面试题.md @@ -0,0 +1,74 @@ +什么是 Logstash?它的主要用途是什么? +--- +在 Logstash 中,如何配置数据输入? +--- +Logstash 支持哪些常见的输入插件?如何选择合适的输入插件? +--- +Logstash 是如何处理数据过滤的?有哪些常用的过滤插件? +--- +Logstash 如何将数据输出到 Elasticsearch? +--- +Logstash 的 Pipeline 是什么?它的作用是什么? +--- +在 Logstash 中,如何使用 grok 过滤插件解析日志数据? +--- +Logstash 中的 mutate 插件是如何使用的?有哪些常见的用法? +--- +在 Logstash 中,如何处理多线程并发数据处理? +--- +Logstash 如何与 Kafka 集成?如何从 Kafka 中消费数据? +--- +如何在 Logstash 中实现数据的条件过滤? +--- +在 Logstash 中,如何将处理后的数据输出到多个目标? +--- +Logstash 的 json 插件如何解析和处理 JSON 格式的数据? +--- +在 Logstash 中,如何处理数据中的时间字段? +--- +Logstash 的队列机制是如何工作的?如何提高数据处理性能? +--- +Logstash 是如何处理数据丢失和重试机制的? +--- +如何在 Logstash 中配置和使用 geoip 插件进行地理位置解析? +--- +在 Logstash 中,如何通过 drop 插件过滤掉不需要的数据? +--- +Logstash 的 aggregate 插件是如何工作的?适用于哪些场景? +--- +如何在 Logstash 中处理大规模数据的实时处理和批处理结合? +--- +Logstash 的持久队列是如何工作的?它的优点是什么? +--- +如何在 Logstash 中配置多个管道?多管道如何并行处理数据? +--- +Logstash 是如何与 Beats 集成的?如何从 Beats 中接收数据? +--- +在 Logstash 中,如何通过 translate 插件进行字段映射转换? +--- +Logstash 中的 DLQ 机制是如何工作的?如何配置它? +--- +如何在 Logstash 中处理高并发数据流?有哪些优化策略? +--- +Logstash 的性能监控和日志管理是如何实现的? +--- +在 Logstash 中,如何通过自定义插件扩展功能? +--- +Logstash 的 Pipeline 工作机制是如何实现的?如何优化 Pipeline 的性能? +--- +如何在 Logstash 中处理跨数据源的数据集成? +--- +Logstash 中的事件处理是如何进行的?如何保证事件处理的可靠性? +--- +在 Logstash 中,如何进行分布式部署以处理海量数据? +--- +Logstash 的吞吐量如何提升?如何优化内存使用和队列处理? +--- +如何在 Logstash 中处理复杂的数据转换逻辑?有哪些常见的转换方式? +--- +Logstash 是如何与大数据生态系统(如 Hadoop、Spark)集成的? +--- +在 Logstash 中,如何处理流式数据和批处理数据的混合处理场景? +--- +Logstash 的容错机制是如何设计的?如何处理系统故障和数据恢复? +--- diff --git a/Mahout 面试题.md b/Mahout 面试题.md new file mode 100644 index 0000000..c6acae4 --- /dev/null +++ b/Mahout 面试题.md @@ -0,0 +1,102 @@ +Apache Mahout 是什么?它的主要应用场景有哪些? +--- +Mahout 支持的主要机器学习算法有哪些? +--- +在 Mahout 中,如何使用 K-means 算法进行聚类? +--- +Mahout 是如何处理大规模数据集的?它依赖的计算框架是什么? +--- +在 Mahout 中,如何使用协同过滤算法实现推荐系统? +--- +什么是 Mahout 中的隐式和显式反馈?如何区分两者? +--- +在 Mahout 中,如何执行数据的标准化和归一化? +--- +Mahout 支持哪些数据存储格式?如何加载不同格式的数据集? +--- +在 Mahout 中,如何处理缺失值?有哪些常用的处理方法? +--- +Mahout 中的 ALS(交替最小二乘法)算法是如何工作的? +--- +Mahout 中的朴素贝叶斯分类器是如何实现的?适用哪些场景? +--- +在 Mahout 中,如何优化推荐系统的性能? +--- +Mahout 是如何通过 Hadoop 实现分布式计算的? +--- +在 Mahout 中,如何使用矩阵分解进行推荐系统的构建? +--- +Mahout 中的随机森林算法是如何实现的?它的适用场景是什么? +--- +在 Mahout 中,如何实现数据的分层聚类?分层聚类与 K-means 有何区别? +--- +Mahout 中的 SVD(奇异值分解)算法是如何用于降维的? +--- +在 Mahout 中,如何通过合并多种模型提高推荐系统的精度? +--- +Mahout 如何与 Spark 集成?两者的结合优势是什么? +--- +在 Mahout 中,如何进行协同过滤算法的参数调优? +--- +Mahout 是如何实现流式数据处理的?它支持哪些实时计算场景? +--- +在 Mahout 中,如何评估推荐系统的效果?常见的评估指标有哪些? +--- +Mahout 中的并行 SVD 是如何实现的?它的优势是什么? +--- +在 Mahout 中,如何通过隐式反馈数据改进推荐系统? +--- +Mahout 的聚类算法支持哪些距离度量方式?如何选择合适的度量? +--- +在 Mahout 中,如何通过 TensorFlow 或 Spark MLlib 提高计算效率? +--- +在 Mahout 中,如何使用 Item-based 和 User-based 推荐算法?两者有何区别? +--- +Mahout 中的在线学习算法是如何实现的?适用哪些场景? +--- +在 Mahout 中,如何使用隐式反馈改进协同过滤算法? +--- +Mahout 是如何支持大规模并行矩阵计算的? +--- +在 Mahout 中,如何通过 LDA(潜在狄利克雷分配)进行文本主题建模? +--- +Mahout 中的分布式 K-means 是如何实现的?如何处理大规模数据集? +--- +在 Mahout 中,如何通过合并多个推荐算法提高推荐系统的性能? +--- +Mahout 如何与 Flink 或 Storm 集成实现实时计算? +--- +在 Mahout 中,如何通过 ALS 模型进行隐式反馈的推荐? +--- +Mahout 中的协同过滤算法是如何处理稀疏矩阵的? +--- +在 Mahout 中,如何使用 Collaborative Filtering 实现个性化推荐系统? +--- +Mahout 的矩阵分解方法有哪些?如何选择合适的分解方式? +--- +在 Mahout 中,如何通过 MapReduce 优化大规模矩阵计算? +--- +Mahout 的 Spark 实现如何提高数据处理效率? +--- +在 Mahout 中,如何优化分布式聚类算法的执行效率? +--- +Mahout 中的增量学习算法是如何实现的?有哪些应用场景? +--- +在 Mahout 中,如何处理实时推荐和批处理推荐的结合? +--- +Mahout 如何支持大规模数据集的分布式训练?有哪些优化策略? +--- +在 Mahout 中,如何通过混合推荐算法提高推荐精度? +--- +Mahout 是如何通过并行 SVD 提高推荐系统效率的? +--- +Mahout 中的 LDA 算法如何用于文本分类和聚类? +--- +在 Mahout 中,如何通过大规模数据的迭代计算优化协同过滤算法? +--- +Mahout 的分布式矩阵计算框架是如何实现的?如何处理大规模数据集? +--- +在 Mahout 中,如何使用深度学习模型进行推荐任务的优化? +--- +Mahout 中的 Item-based 推荐算法是如何实现的?它的优势和劣势是什么? +--- diff --git a/MapReduce 面试题.md b/MapReduce 面试题.md new file mode 100644 index 0000000..5cb2a6a --- /dev/null +++ b/MapReduce 面试题.md @@ -0,0 +1,100 @@ +MapReduce 的基本工作流程是什么?它包括哪些主要阶段? +--- +在 MapReduce 中,Map 阶段和 Reduce 阶段的功能分别是什么? +--- +MapReduce 中的输入格式(InputFormat)是什么?常见的输入格式有哪些? +--- +在 MapReduce 中,什么是键值对?它们在数据处理中的作用是什么? +--- +在 MapReduce 中,如何控制作业的输出格式(OutputFormat)?常见的输出格式有哪些? +--- +什么是 MapReduce 的 Combiner?它的作用是什么?在什么场景下适合使用? +--- +在 MapReduce 中,如何配置和管理作业的输入分片(InputSplit)? +--- +MapReduce 中的分区器(Partitioner)是什么?它的主要作用是什么? +--- +MapReduce 的 Reducer 是如何工作的?一个 Reducer 可以处理多个键值对吗? +--- +在 MapReduce 中,什么是 Shuffle 阶段?它的作用是什么? +--- +如何在 MapReduce 中设置任务的数量?Map 和 Reduce 任务的数量如何确定? +--- +在 MapReduce 中,如何实现数据的排序?默认的排序规则是什么? +--- +MapReduce 中的计数器(Counter)是什么?如何使用计数器来监控任务进度? +--- +MapReduce 中的作业提交机制是如何设计的?作业的提交流程是怎样的? +--- +在 MapReduce 中,如何调优作业的性能?有哪些常见的优化策略? +--- +在 MapReduce 中,如何处理数据倾斜问题?哪些策略可以减少数据倾斜? +--- +在 MapReduce 中,如何通过设置合适的 combiner 来减少网络开销? +--- +在 MapReduce 中,Partitioner 的作用是什么?如何自定义 Partitioner? +--- +如何使用 MapReduce 进行日志分析?举一个简单的用例说明如何处理大规模日志文件。 +--- +MapReduce 如何处理任务失败?它有哪些容错机制? +--- +在 MapReduce 中,如何优化 Shuffle 阶段的性能?有哪些具体的优化手段? +--- +在 MapReduce 中,如何设计和实现一个自定义的输入格式(InputFormat)? +--- +MapReduce 是如何实现数据本地化的?数据本地化对性能优化有何帮助? +--- +在 MapReduce 中,如何实现多表连接操作?有哪些常见的连接策略? +--- +在 MapReduce 中,如何调节内存使用?如何通过调优减少溢写操作? +--- +在 MapReduce 中,如何自定义一个排序规则?有哪些实际应用场景? +--- +在 MapReduce 中,如何管理作业的依赖关系?如何处理多个作业之间的数据流动? +--- +在 MapReduce 中,如何优化 Reducer 的数量?如何选择最佳的 Reducer 数量? +--- +MapReduce 的数据压缩机制是如何设计的?在什么场景下需要使用数据压缩? +--- +在 MapReduce 中,如何确保作业的容错性?当任务失败时如何恢复? +--- +MapReduce 的排序和分区是如何协同工作的?如何优化排序和分区性能? +--- +如何在 MapReduce 中实现数据的二次排序?它的应用场景是什么? +--- +在 MapReduce 中,如何优化大规模数据处理中的网络带宽使用? +--- +如何通过自定义输入分片(InputSplit)优化 MapReduce 的性能? +--- +MapReduce 的数据倾斜问题是如何产生的?如何通过调优解决数据倾斜问题? +--- +MapReduce 是如何实现跨集群作业调度的?它在大规模集群中如何实现高可用性? +--- +在 MapReduce 中,如何调优数据的序列化和反序列化过程?有哪些常见的优化策略? +--- +MapReduce 的输入格式(InputFormat)如何影响作业的性能?如何优化输入格式? +--- +MapReduce 中的 Shuffle 和排序是如何设计的?它们在性能优化中起到什么作用? +--- +在 MapReduce 中,如何通过动态调节并发度来优化作业的执行效率? +--- +MapReduce 的作业调度器(Scheduler)是如何工作的?如何自定义调度策略? +--- +MapReduce 如何处理流式数据?如何通过自定义 MapReduce 实现近实时处理? +--- +MapReduce 是如何通过 Checkpoint 机制保证作业容错的?如何优化 Checkpoint 的使用? +--- +MapReduce 的性能瓶颈通常在哪里?如何通过数据压缩和网络优化来提升性能? +--- +如何在 MapReduce 中实现多级聚合?有哪些常见的多级聚合策略? +--- +MapReduce 如何实现大规模数据排序?排序的性能瓶颈在哪里,如何进行优化? +--- +在 MapReduce 中,如何通过调节内存缓冲区大小减少磁盘 I/O 操作? +--- +MapReduce 中的 Skew Join 是什么?如何优化它以减少数据倾斜? +--- +MapReduce 的 Join 操作有哪几种类型?它们各自的优缺点是什么? +--- +如何通过 MapReduce 实现复杂的多表聚合操作?有哪些优化策略? +--- diff --git a/Metacat 面试题.md b/Metacat 面试题.md new file mode 100644 index 0000000..1e1fd5c --- /dev/null +++ b/Metacat 面试题.md @@ -0,0 +1,76 @@ +什么是 Netflix Metacat?它的主要功能是什么? +--- +Metacat 主要用于解决哪些大数据领域的问题? +--- +Metacat 是如何与 Hive、S3 和其他数据源集成的? +--- +在 Metacat 中,如何创建和管理元数据? +--- +Metacat 如何帮助管理多个数据目录? +--- +Metacat 的 REST API 如何与其他大数据平台进行交互? +--- +Metacat 如何实现跨数据源的查询和数据整合? +--- +在 Metacat 中,如何处理元数据的注册和同步? +--- +Metacat 是如何支持数据湖和数据仓库的集成的? +--- +Metacat 如何与 AWS Glue 集成管理元数据? +--- +在 Metacat 中,如何实现跨数据源的元数据搜索? +--- +Metacat 如何确保元数据的一致性和高可用性? +--- +如何通过 Metacat 实现数据目录的版本控制? +--- +在 Metacat 中,如何处理数据源的权限管理和访问控制? +--- +Metacat 如何与 Presto 和 Athena 集成以支持查询? +--- +如何使用 Metacat 实现跨平台的数据治理和元数据管理? +--- +Metacat 是如何处理大规模分布式系统中的元数据查询的? +--- +在 Metacat 中,如何实现对元数据的缓存以提高查询性能? +--- +Metacat 如何通过 RESTful API 实现与外部系统的集成? +--- +在 Metacat 中,如何实现数据的跨区域查询和数据共享? +--- +Metacat 如何帮助数据分析师管理和探索元数据? +--- +Metacat 是如何通过插件架构扩展数据源支持的? +--- +在 Metacat 中,如何处理元数据的同步问题,确保跨集群数据一致性? +--- +Metacat 如何支持数据的标签管理和分类? +--- +Metacat 如何处理不同数据源元数据的格式差异? +--- +Metacat 是如何通过异步更新机制优化元数据的管理的? +--- +如何在 Metacat 中处理元数据的自动发现和注册? +--- +Metacat 在处理大量元数据时如何优化查询性能? +--- +在 Metacat 中,如何集成 Kafka 以处理实时数据的元数据更新? +--- +Metacat 如何在分布式系统中管理元数据的高可用性和容错性? +--- +在 Metacat 中,如何确保对元数据的访问安全?有哪些安全策略? +--- +Metacat 如何处理跨数据源的数据关系和依赖分析? +--- +如何通过 Metacat 实现多租户环境下的数据隔离和管理? +--- +Metacat 是如何通过元数据版本管理实现数据历史追踪的? +--- +在 Metacat 中,如何处理动态数据源的元数据注册与查询? +--- +Metacat 如何与 Elasticsearch 集成实现元数据的全文搜索? +--- +在 Metacat 中,如何通过监控和告警机制确保元数据管理的稳定性? +--- +Metacat 是如何通过负载均衡和集群管理来优化元数据服务的性能的? +--- diff --git a/MongoDB 面试题.md b/MongoDB 面试题.md new file mode 100644 index 0000000..cbf42e3 --- /dev/null +++ b/MongoDB 面试题.md @@ -0,0 +1,144 @@ +什么是 MongoDB?它与传统关系型数据库的区别是什么? +--- +在 MongoDB 中,什么是文档?它与表中的行有何不同? +--- +MongoDB 的 BSON 格式是什么?与 JSON 有何区别? +--- +如何在 MongoDB 中创建一个集合? +--- +MongoDB 的数据类型有哪些?如何在插入文档时使用不同的数据类型? +--- +在 MongoDB 中,如何使用 find() 方法查询文档? +--- +什么是 MongoDB 中的索引?如何创建索引? +--- +如何在 MongoDB 中进行分页查询? +--- +什么是 MongoDB 中的主键 _id?如何自定义 _id 字段? +--- +MongoDB 的复制集是什么?它的作用是什么? +--- +在 MongoDB 中,如何实现数据的增删改查操作? +--- +什么是 MongoDB 中的分片?如何配置分片? +--- +在 MongoDB 中,如何通过 aggregate() 进行数据聚合? +--- +MongoDB 的索引优化有哪些策略?如何提高查询效率? +--- +在 MongoDB 中,如何实现多字段索引? +--- +什么是 MongoDB 中的复合索引?如何创建并优化复合索引? +--- +MongoDB 的数据复制机制是如何工作的?如何保证数据的一致性? +--- +在 MongoDB 中,如何实现备份和恢复? +--- +MongoDB 的事务是如何实现的?如何在 MongoDB 中进行多文档事务? +--- +在 MongoDB 中,如何实现全文检索功能? +--- +MongoDB 的查询优化器是如何工作的?如何分析查询性能? +--- +在 MongoDB 中,如何管理大规模的分布式集群? +--- +如何在 MongoDB 中使用 $group 和 $match 进行复杂的聚合查询? +--- +MongoDB 中的 explain() 方法是如何帮助查询优化的? +--- +如何在 MongoDB 中处理数据的并发性问题? +--- +在 MongoDB 中,如何处理数据一致性和高可用性之间的权衡? +--- +什么是 MongoDB 中的 CAP 理论?它如何应用于 MongoDB 的架构设计? +--- +如何在 MongoDB 中使用管道进行数据流处理? +--- +MongoDB 是如何通过分片实现水平扩展的? +--- +如何在 MongoDB 中优化写操作的性能?有哪些常用方法? +--- +MongoDB 的副本集是如何处理故障转移和自动恢复的? +--- +在 MongoDB 中,如何实现延迟副本? +--- +MongoDB 是如何支持多数据中心的部署和复制的? +--- +在 MongoDB 中,如何配置分片键以保证数据分布均匀? +--- +MongoDB 中的 writeConcern 是什么?如何影响数据的一致性? +--- +如何在 MongoDB 中实现复杂的事务管理?有哪些场景适合使用事务? +--- +在 MongoDB 中,如何通过 mapReduce 实现分布式数据处理? +--- +MongoDB 的 changeStream 是如何工作的?它有哪些应用场景? +--- +在 MongoDB 中,如何设计 Schema 以优化查询和存储效率? +--- +MongoDB 的并发控制机制是如何实现的?如何管理并发读写操作? +--- +在 MongoDB 中,如何处理大规模集合的性能问题? +--- +MongoDB 的 ttl 索引是如何实现的?它在什么场景下使用? +--- +在 MongoDB 中,如何处理数据一致性、分布式事务和性能之间的平衡? +--- +MongoDB 的主从同步机制是如何工作的?如何配置从节点? +--- +在 MongoDB 中,如何实现热备份和冷备份?它们各自的优缺点是什么? +--- +如何在 MongoDB 中使用 GridFS 存储大文件? +--- +在 MongoDB 中,如何使用 $lookup 实现关联查询? +--- +MongoDB 是如何处理多副本集的同步和冲突解决的? +--- +在 MongoDB 中,如何实现分布式事务和 ACID 特性? +--- +MongoDB 的存储引擎 WiredTiger 是如何工作的?它与 MMAPv1 有何区别? +--- +在 MongoDB 中,如何处理二次索引和覆盖索引以优化查询性能? +--- +MongoDB 中的 `oplog` 是如何工作的?它在复制集中的作用是什么? +--- +在 MongoDB 中,如何通过分区提高数据的读写性能? +--- +MongoDB 如何处理大规模数据集的并行查询和负载均衡? +--- +在 MongoDB 中,如何通过自定义聚合函数优化复杂查询? +--- +MongoDB 中的 aggregation pipeline 是如何优化数据流处理的? +--- +如何在 MongoDB 中设计跨集群的高可用性方案? +--- +MongoDB 是如何通过 journal 实现数据的持久化和一致性的? +--- +在 MongoDB 中,如何处理大规模并发写入的性能优化问题? +--- +MongoDB 的水平扩展机制是如何实现的?如何动态增加节点? +--- +在 MongoDB 中,如何处理数据倾斜和负载不均的问题? +--- +MongoDB 是如何保证分布式集群中数据的一致性和可用性的? +--- +在 MongoDB 中,如何优化跨分片的查询性能? +--- +MongoDB 的 two-phase commit 机制是如何保证分布式事务的? +--- +在 MongoDB 中,如何通过性能监控和日志分析优化集群性能? +--- +MongoDB 是如何通过异步复制实现高可用性的?如何配置异步复制? +--- +在 MongoDB 中,如何通过自定义存储引擎优化数据的持久化策略? +--- +MongoDB 的 readConcern 是如何配置的?它如何影响查询的结果一致性? +--- +在 MongoDB 中,如何通过数据分布策略优化集群的存储和计算效率? +--- +如何在 MongoDB 中通过分布式聚合优化大规模数据的处理效率? +--- +MongoDB 的 causal consistency 是如何保证事件顺序的? +--- +在 MongoDB 中,如何结合 Spark 实现大规模数据的实时处理? +--- diff --git a/MyBatis 面试题.md b/MyBatis 面试题.md new file mode 100644 index 0000000..81bbe73 --- /dev/null +++ b/MyBatis 面试题.md @@ -0,0 +1,35 @@ +说说 MyBatis 的缓存机制? +--- +能详细说说 MyBatis 的执行流程吗? +--- +MyBatis 与 Hibernate 有哪些不同? +--- +MyBatis 中 #{} 和 ${} 的区别是什么? +--- +MyBatis 写个 Xml 映射文件,再写个 DAO 接口就能执行,这个原理是什么? +--- +MyBatis 动态 sql 有什么用?执行原理?有哪些动态 sql? +--- +Mybatis 如何实现一对一、一对多的关联查询 ? +--- +MyBatis 是否支持延迟加载?如果支持,它的实现原理是什么? +--- +使用 MyBatis 的 mapper 接口调用时有哪些要求? +--- +简述 MyBatis 的插件运行原理,以及如何编写一个插件? +--- +JDBC 编程有哪些不足之处,MyBatis 是如何解决的? +--- +Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么? +--- +MyBatis 如何实现数据库类型和 Java 类型的转换的? +--- +MyBatis 自带的连接池有了解过吗? +--- +什么是 MyBatis-Plus?它有什么作用?它和 MyBatis 有哪些区别? + +--- +MyBatis 的优点? +--- +MyBatis 的缺点? +--- diff --git a/MySQL 面试题.md b/MySQL 面试题.md new file mode 100644 index 0000000..469289f --- /dev/null +++ b/MySQL 面试题.md @@ -0,0 +1,162 @@ +MySQL 中的数据排序是怎么实现的? +--- +MySQL 的 Change Buffer 是什么?它有什么作用? +--- +什么是批量数据入库?相比单条插入有什么优势? +--- +什么是数据全量同步和增量同步?它们各有什么优缺点? +--- +什么是游标 Cursor 分页?相比传统 LIMIT OFFSET 分页有什么优势? +--- +详细描述一条 SQL 语句在 MySQL 中的执行过程。 +--- +MySQL 的存储引擎有哪些?它们之间有什么区别? +--- +MySQL 的索引类型有哪些? +--- +MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别? +--- +MySQL 中的回表是什么? +--- +MySQL 索引的最左前缀匹配原则是什么? +--- +MySQL 的覆盖索引是什么? +--- +MySQL 的索引下推是什么? +--- +在 MySQL 中建索引时需要注意哪些事项? +--- +MySQL 中使用索引一定有效吗?如何排查索引效果? +--- +MySQL 中的索引数量是否越多越好?为什么? +--- +请详细描述 MySQL 的 B+ 树中查询数据的全过程 +--- +为什么 MySQL 选择使用 B+ 树作为索引结构? +--- +MySQL 是如何实现事务的? +--- +MySQL 中长事务可能会导致哪些问题? +--- +MySQL 中的 MVCC 是什么? +--- +MySQL 二级索引有 MVCC 快照吗? +--- +如果 MySQL 中没有 MVCC,会有什么影响? +--- +MySQL 中的事务隔离级别有哪些? +--- +MySQL 默认的事务隔离级别是什么?为什么选择这个级别? +--- +数据库的脏读、不可重复读和幻读分别是什么? +--- +MySQL 中有哪些锁类型? +--- +MySQL 的乐观锁和悲观锁是什么? +--- +MySQL 中如果发生死锁应该如何解决? +--- +如何使用 MySQL 的 EXPLAIN 语句进行查询分析? +--- +MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别? +--- +MySQL 中 int(11) 的 11 表示什么? +--- +MySQL 中 varchar 和 char 有什么区别? +--- +MySQL 中如何进行 SQL 调优? +--- +如何在 MySQL 中避免单点故障? +--- +如何在 MySQL 中实现读写分离? +--- +什么是 MySQL 的主从同步机制?它是如何实现的? +--- +如何处理 MySQL 的主从同步延迟? +--- +什么是分库分表?分库分表有哪些类型(或策略)? +--- +如果组长要求你主导项目中的分库分表,大致的实施流程是? +--- +对数据库进行分库分表可能会引发哪些问题? +--- +从 MySQL 获取数据,是从磁盘读取的吗?(buffer pool) +--- +MySQL 的 Doublewrite Buffer 是什么?它有什么作用? +--- +MySQL 中的 Log Buffer 是什么?它有什么作用? +--- +为什么在 MySQL 中不推荐使用多表 JOIN? +--- +MySQL 中如何解决深度分页的问题? +--- +如何在 MySQL 中监控和优化慢 SQL? +--- +MySQL 中 DELETE、DROP 和 TRUNCATE 的区别是什么? +--- +MySQL 中 INNER JOIN、LEFT JOIN 和 RIGHT JOIN 的区别是什么? +--- +MySQL 中 `LIMIT 100000000, 10` 和 `LIMIT 10` 的执行速度是否相同? +--- +MySQL 中 DATETIME 和 TIMESTAMP 类型的区别是什么? +--- +数据库的三大范式是什么? +--- +在 MySQL 中,你使用过哪些函数? +--- +MySQL 中 TEXT 类型最大可以存储多长的文本? +--- +MySQL 中 AUTO_INCREMENT 列达到最大值时会发生什么? +--- +在 MySQL 中存储金额数据,应该使用什么数据类型? +--- +什么是数据库的视图? +--- +什么是数据库的游标? +--- +为什么不推荐在 MySQL 中直接存储图片、音频、视频等大容量内容? +--- +相比于 Oracle,MySQL 的优势有哪些? +--- +MySQL 中 VARCHAR(100) 和 VARCHAR(10) 的区别是什么? +--- +在什么情况下,不推荐为数据库建立索引? +--- +MySQL 中 EXISTS 和 IN 的区别是什么? +--- +什么是 Write-Ahead Logging (WAL) 技术?它的优点是什么?MySQL 中是否用到了 WAL? +--- +你们生产环境的 MySQL 中使用了什么事务隔离级别?为什么? +--- +为什么阿里巴巴的 Java 手册不推荐使用存储过程? +--- +如何实现数据库的不停服迁移? +--- +MySQL 数据库的性能优化方法有哪些? +--- +MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么? +--- +MySQL 的查询优化器如何选择执行计划? +--- +什么是数据库的逻辑删除?数据库的物理删除和逻辑删除有什么区别? +--- +什么是数据库的逻辑外键?数据库的物理外键和逻辑外键各有什么优缺点? +--- +MySQL 事务的二阶段提交是什么? +--- +MySQL 三层 B+ 树能存多少数据? +--- +MySQL 在设计表(建表)时需要注意什么? +--- +MySQL 插入一条 SQL 语句,redo log 记录的是什么? +--- +SQL 中 select、from、join、where、group by、having、order by、limit 的执行顺序是什么? +--- +为什么 MySQL 索引用的是 B+ 树而不是红黑树? +--- +MySQL一张表最多可以有多少列? +--- +什么是 CDC(Change Data Capture)?常见的 CDC 工具有哪些? +--- +多线程并发同步数据时(数据库的数据同步到数仓中)需要注意什么问题? +--- diff --git a/Netty 面试题.md b/Netty 面试题.md new file mode 100644 index 0000000..4cd0a64 --- /dev/null +++ b/Netty 面试题.md @@ -0,0 +1,26 @@ +什么是 Netty,它在网络编程中解决了什么问题? +--- +说说你知道的几种 I/O 模型 +--- +说一下 Netty 的应用场景? +--- +介绍一下 Reactor 线程模型? +--- +简单说说 Netty 的零拷贝机制? +--- +简单说说 Netty 的线程模型,并且其是如何完成工作的? +--- +为什么不选择使用原生的 NIO 而选择使用 Netty 呢? +--- +Netty 性能为什么这么高? +--- +说一下 TCP 半包和粘包问题? +--- +Netty 是如何解决粘包和拆包问题的? +--- +Netty 采用了哪些设计模式? +--- +Netty 如何解决 JDK NIO 中的空轮询 Bug? +--- +在 Netty 中,什么是 Channel ? 什么是 ChannelHandlerContext? +--- diff --git a/Nginx 原理面试题.md b/Nginx 原理面试题.md new file mode 100644 index 0000000..9498a4c --- /dev/null +++ b/Nginx 原理面试题.md @@ -0,0 +1,40 @@ +什么是 Nginx 惊群问题?如何解决惊群问题? +--- +Nginx 实现负载均衡的底层原理是什么? +--- +Nginx 支持哪些常用的负载均衡算法?这些算法的原理是什么? +--- +什么是 C10K 问题?Nginx 如何解决 C10K 问题? +--- +Nginx 如何实现超高并发的请求处理? +--- +什么是 Nginx 的 IO 事件模型? +--- +为什么 Nginx 不使用多线程? +--- +Nginx 用到的 epoll 模型为什么快?与 Apache 常用的 select 模型相比有什么优劣? +--- +Nginx 底层是如何实现限流的?有哪些常见的限流算法? +--- +Nginx 的目录结构有哪些?请分别介绍 +--- +Nginx 如何处理 HTTP 请求?请求处理过程包含哪些阶段? +--- +为什么 Nginx 的性能那么高? +--- +Nginx 是如何处理一个请求的? +--- +Nginx 为什么采用多进程模型?多进程模型有哪些优缺点? +--- +Nginx 有哪些进程模型?请分别介绍 +--- +什么是 Nginx 服务器的 Master 和 Worker 进程?分别有什么作用? +--- +Nginx 中的 500、502、503 和 504 错误状态码有什么区别? +--- +使用 Nginx 出现 502 错误的可能原因有哪些? +--- +Nginx 是哪一层的负载均衡?和四层负载均衡有什么区别? +--- +Nginx 是否有连接数的上限?为什么?如何修改上限? +--- diff --git a/Nginx 应用面试题.md b/Nginx 应用面试题.md new file mode 100644 index 0000000..4cca050 --- /dev/null +++ b/Nginx 应用面试题.md @@ -0,0 +1,78 @@ +如何配置 Nginx 实现静态资源访问? +--- +如何在 Nginx 中配置使用非默认的 80 端口进行服务? +--- +如何使用 Nginx 禁止某个 IP 的访问? +--- +如何在 Nginx 中实现请求的重定向?请举例说明 +--- +使用反向代理服务器有哪些优点?如何利用 Nginx 实现反向代理? +--- +如何利用 Nginx 解决前端跨域问题? +--- +什么是动静分离?它有什么好处?如何利用 Nginx 实现动静分离? +--- +如何使用 Nginx 实现负载均衡? +--- +什么是 Nginx 的 rewrite 指令?它有什么作用? +--- +Nginx 中如何定义和配置错误提示页面? +--- +如何配置 Nginx 以将请求转发到后端应用服务器? +--- +如何使用 Nginx 限制浏览器和爬虫的访问? +--- +如何用 Nginx 实现后端服务的健康检查? +--- +什么是限流?如何使用 Nginx 实现限流? +--- +如何使用 Nginx 进行安全配置? +--- +如何使用 Nginx 限制某个 IP 的访问频率? +--- +如何使用 Nginx 限制每个 IP 地址的连接数? +--- +如何让 Nginx 支持处理 HTTPS 请求?需要哪些配置? +--- +如何在 Nginx 中实现 IP 白名单和黑名单? +--- +如何在 Nginx 中处理 WebSocket 连接?需要哪些配置? +--- +如何使用 Nginx 实现安全的 WebSocket 连接? +--- +如何在 Nginx 中配置缓存控制?有哪些常用的缓存策略? +--- +如何在 Nginx 中配置对静态文件的缓存? +--- +如何使用 Nginx 实现高效的反向代理缓存? +--- +如何通过 Nginx 配置实现多语言的内容(国际化)? +--- +如何通过 Nginx 实现服务的高可用性? +--- +什么是正向代理和反向代理?分别有哪些应用场景? +--- +Nginx 与 Apache、Tomcat 之间有哪些区别?Nginx 有哪些优缺点? +--- +什么是 Nginx 的压缩功能?Nginx 支持哪些压缩方式? +--- +如何获取 Nginx 中请求最多的 N 个 IP? +--- +如何获取 Nginx 中请求大于 N 次的 IP? +--- +如何获取 Nginx 中某天内请求最多的 IP? +--- +如何获取 Nginx 中请求最多的 N 个页面? +--- +如何获取 Nginx 中响应内容的总大小? +--- +如何获取 Nginx 中特定状态码的请求 IP 及请求次数? +--- +如何获取 Nginx 中每个 IP 的请求状态码情况? +--- +什么是 Nginx 惊群问题?如何解决惊群问题? +--- +什么是 C10K 问题?Nginx 如何解决 C10K 问题? +--- +Nginx 如何实现超高并发的请求处理? +--- diff --git a/Nginx 配置面试题.md b/Nginx 配置面试题.md new file mode 100644 index 0000000..a544a29 --- /dev/null +++ b/Nginx 配置面试题.md @@ -0,0 +1,134 @@ +Nginx 是否有连接数的上限?为什么?如何修改上限? +--- +如何配置 Nginx 实现静态资源访问? +--- +什么是 Nginx 虚拟主机?如何配置 Nginx 虚拟主机? +--- +如何在 Nginx 中配置使用非默认的 80 端口进行服务? +--- +如何在 Nginx 中启用 gzip 压缩?有哪些配置参数? +--- +如何在 Nginx 中获取当前时间? +--- +如何使用 Nginx 禁止某个 IP 的访问? +--- +如何在 Nginx 中实现请求的重定向?请举例说明 +--- +使用反向代理服务器有哪些优点?如何利用 Nginx 实现反向代理? +--- +Nginx 配置文件 nginx.conf 中的属性模块有哪些? +--- +如何利用 Nginx 解决前端跨域问题? +--- +Nginx 中 location 的作用是什么?它的语法是怎样的? +--- +什么是动静分离?它有什么好处?如何利用 Nginx 实现动静分离? +--- +如何使用 Nginx 实现负载均衡? +--- +什么是 Nginx 的 rewrite 指令?它有什么作用? +--- +Nginx 中有哪些全局变量?请分别介绍 +--- +Nginx 中 rewrite 指令有哪些 flag 标志位?分别表示什么? +--- +在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求? +--- +Nginx 中 ngx_http_upstream_module 的作用是什么? +--- +Nginx 中如何定义和配置错误提示页面? +--- +如何在 Nginx 中将某个错误码替换为 502 或 503 错误码? +--- +在 Nginx 中,如何实现路径的精准匹配? +--- +Nginx 路径匹配的优先级规则是什么? +--- +如何配置 Nginx 以将请求转发到后端应用服务器? +--- +在 Nginx 中,如何根据文件类型设置缓存过期时间? +--- +如何在 Nginx 中禁止访问特定目录? +--- +在 Nginx 中,如何在 URL 中保留双斜杠? +--- +Nginx 中的 stub_status 和 sub_filter 指令各自的作用是什么? +--- +开启 Nginx 压缩功能的优缺点是什么?如何选择适合的压缩策略? +--- +Nginx 是否支持将请求压缩后转发至上游服务器? +--- +如何在 Nginx 中设置超时时间?请列举各种超时配置 +--- +如何使用 Nginx 限制浏览器和爬虫的访问? +--- +如何用 Nginx 实现后端服务的健康检查? +--- +什么是限流?如何使用 Nginx 实现限流? +--- +如何优化 Nginx 的 FastCGI 参数? +--- +生产环境中如何设置 Nginx 的 worker 进程数量? +--- +Nginx 的 upstream 中,ip_hash 和 url_hash 分别有什么作用?二者有什么区别? +--- +Nginx 有哪些日志类型?如何配置日志(比如输出路径)? +--- +如何使用 Nginx 进行安全配置? +--- +如何使用 Nginx 限制某个 IP 的访问频率? +--- +如何使用 Nginx 限制每个 IP 地址的连接数? +--- +如何让 Nginx 支持处理 HTTPS 请求?需要哪些配置? +--- +如何在 Nginx 中配置负载均衡的会话保持? +--- +Nginx 中有哪些反向代理的相关配置?比如 proxy_pass 指令有什么作用? +--- +Nginx 的 include 指令有什么作用?如何利用它简化配置文件? +--- +如何在 Nginx 中实现 IP 白名单和黑名单? +--- +如何在 Nginx 中处理 WebSocket 连接?需要哪些配置? +--- +如何使用 Nginx 实现安全的 WebSocket 连接? +--- +如何在 Nginx 中配置缓存控制?有哪些常用的缓存策略? +--- +如何在 Nginx 中配置对静态文件的缓存? +--- +Nginx 中如何管理和优化多个虚拟主机的配置? +--- +如何使用 Nginx 实现高效的反向代理缓存? +--- +Nginx 的 try_files 指令有什么作用?请举例说明 +--- +在 Nginx 中如何处理较多的长时间运行的请求? +--- +在 Nginx 中如何为请求添加自定义 HTTP 头? +--- +Nginx 中的 resolver 指令有什么作用?如何配置 DNS 解析? +--- +使用 Nginx 实现反向代理时,如何配置将客户端信息传递给后端服务器? +--- +Nginx 中的 proxy_buffering 指令有什么作用?如何配置? +--- +Nginx 中的 client_body_buffer_size 指令有什么作用?如何配置? +--- +Nginx 支持哪些协议?如何配置 Nginx 以支持不同的协议? +--- +如何通过 Nginx 配置实现多语言的内容(国际化)? +--- +如何配置 Nginx 以支持 HTTP/2?需要哪些额外的设置? +--- +如何通过 Nginx 实现服务的高可用性? +--- +如何为 Nginx 添加新的模块? +--- +如何在 Nginx 中动态添加模块? +--- +如何进行 Nginx 的调优?比如 Nginx 常见的优化配置有哪些? +--- +如何调整 Linux 操作系统的内核参数来优化 Nginx? +--- diff --git a/Nginx 面试题.md b/Nginx 面试题.md new file mode 100644 index 0000000..a705964 --- /dev/null +++ b/Nginx 面试题.md @@ -0,0 +1,230 @@ +Nginx 是什么?它有哪些应用场景? +--- +什么是正向代理和反向代理,如何使用 Nginx 做反向代理? +--- +如何用 Nginx 做限流,有几种限流算法,分别如何实现? +--- +请解释 Apache 和 Nginx 的区别,并描述各自的应用场景。 +--- +在 Nginx 中,如何配置反向代理? +--- +请解释在 Web 服务器中,什么是负载均衡,并如何在 Nginx 中配置负载均衡? +--- +解释什么是 WebSocket?并描述如何在 Nginx 中配置 WebSocket 代理? +--- +在 Nginx 中,如何配置静态文件的缓存? +--- +请解释在 Nginx 中如何实现动静分离,并描述其原理。 +--- +请描述在 Nginx 中如何配置访问控制,并给出具体示例。 +--- +描述在 Nginx 中如何配置限流,并解释其作用。 +--- +什么是 Nginx?Nginx 有哪些作用和应用场景? +--- +Nginx 的目录结构有哪些?请分别介绍 +--- +如何配置 Nginx 实现静态资源访问? +--- +什么是 Nginx 虚拟主机?如何配置 Nginx 虚拟主机? +--- +Nginx 的常用命令有哪些? +--- +如何在 Nginx 中配置使用非默认的 80 端口进行服务? +--- +如何在 Nginx 中启用 gzip 压缩?有哪些配置参数? +--- +如何在 Nginx 中获取当前时间? +--- +Nginx 命令中 -s 参数的作用是什么?具体有哪些用法? +--- +如何使用 Nginx 禁止某个 IP 的访问? +--- +如何在 Nginx 中实现请求的重定向?请举例说明 +--- +Nginx 如何处理 HTTP 请求?请求处理过程包含哪些阶段? +--- +为什么 Nginx 的性能那么高? +--- +Nginx 是如何处理一个请求的? +--- +什么是正向代理和反向代理?分别有哪些应用场景? +--- +使用反向代理服务器有哪些优点?如何利用 Nginx 实现反向代理? +--- +Nginx 有哪些特性?请分别介绍 +--- +Nginx 为什么采用多进程模型?多进程模型有哪些优缺点? +--- +Nginx 配置文件 nginx.conf 中的属性模块有哪些? +--- +如何利用 Nginx 解决前端跨域问题? +--- +Nginx 中 location 的作用是什么?它的语法是怎样的? +--- +什么是动静分离?它有什么好处?如何利用 Nginx 实现动静分离? +--- +如何使用 Nginx 实现负载均衡? +--- +Nginx 与 Apache、Tomcat 之间有哪些区别?Nginx 有哪些优缺点? +--- +什么是 Nginx 的 rewrite 指令?它有什么作用? +--- +Nginx 中有哪些全局变量?请分别介绍 +--- +Nginx 中 rewrite 指令有哪些 flag 标志位?分别表示什么? +--- +在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求? +--- +Nginx 有哪些进程模型?请分别介绍 +--- +什么是 Nginx 服务器的 Master 和 Worker 进程?分别有什么作用? +--- +Nginx 中 ngx_http_upstream_module 的作用是什么? +--- +Nginx 中如何定义和配置错误提示页面? +--- +如何在 Nginx 中将某个错误码替换为 502 或 503 错误码? +--- +Nginx 中的 500、502、503 和 504 错误状态码有什么区别? +--- +在 Nginx 中,如何实现路径的精准匹配? +--- +Nginx 路径匹配的优先级规则是什么? +--- +如何配置 Nginx 以将请求转发到后端应用服务器? +--- +在 Nginx 中,如何根据文件类型设置缓存过期时间? +--- +如何在 Nginx 中禁止访问特定目录? +--- +在 Nginx 中,如何在 URL 中保留双斜杠? +--- +Nginx 中的 stub_status 和 sub_filter 指令各自的作用是什么? +--- +什么是 Nginx 的压缩功能?Nginx 支持哪些压缩方式? +--- +开启 Nginx 压缩功能的优缺点是什么?如何选择适合的压缩策略? +--- +Nginx 是否支持将请求压缩后转发至上游服务器? +--- +如何在 Nginx 中设置超时时间?请列举各种超时配置 +--- +如何使用 Nginx 限制浏览器和爬虫的访问? +--- +使用 Nginx 出现 502 错误的可能原因有哪些? +--- +如何用 Nginx 实现后端服务的健康检查? +--- +什么是限流?如何使用 Nginx 实现限流? +--- +如何优化 Nginx 的 FastCGI 参数? +--- +生产环境中如何设置 Nginx 的 worker 进程数量? +--- +Nginx 的 upstream 中,ip_hash 和 url_hash 分别有什么作用?二者有什么区别? +--- +什么是 LVS?Nginx 和 LVS 有什么区别? +--- +Nginx 有哪些日志类型?如何配置日志(比如输出路径)? +--- +如何获取 Nginx 中请求最多的 N 个 IP? +--- +如何获取 Nginx 中请求大于 N 次的 IP? +--- +如何获取 Nginx 中某天内请求最多的 IP? +--- +如何获取 Nginx 中请求最多的 N 个页面? +--- +如何获取 Nginx 中响应内容的总大小? +--- +如何获取 Nginx 中特定状态码的请求 IP 及请求次数? +--- +如何获取 Nginx 中每个 IP 的请求状态码情况? +--- +Nginx 是哪一层的负载均衡?和四层负载均衡有什么区别? +--- +Nginx 是否有连接数的上限?为什么?如何修改上限? +--- +如何使用 Nginx 进行安全配置? +--- +如何使用 Nginx 限制某个 IP 的访问频率? +--- +如何使用 Nginx 限制每个 IP 地址的连接数? +--- +如何让 Nginx 支持处理 HTTPS 请求?需要哪些配置? +--- +如何在 Nginx 中配置负载均衡的会话保持? +--- +Nginx 中有哪些反向代理的相关配置?比如 proxy_pass 指令有什么作用? +--- +Nginx 的 include 指令有什么作用?如何利用它简化配置文件? +--- +如何在 Nginx 中实现 IP 白名单和黑名单? +--- +如何在 Nginx 中处理 WebSocket 连接?需要哪些配置? +--- +如何使用 Nginx 实现安全的 WebSocket 连接? +--- +如何在 Nginx 中配置缓存控制?有哪些常用的缓存策略? +--- +什么是 Nginx 的 access_log 和 error_log?如何配置它们的日志级别和输出格式? +--- +如何在 Nginx 中配置对静态文件的缓存? +--- +Nginx 中如何管理和优化多个虚拟主机的配置? +--- +如何使用 Nginx 实现高效的反向代理缓存? +--- +Nginx 的 try_files 指令有什么作用?请举例说明 +--- +在 Nginx 中如何处理较多的长时间运行的请求? +--- +在 Nginx 中如何为请求添加自定义 HTTP 头? +--- +Nginx 中的 resolver 指令有什么作用?如何配置 DNS 解析? +--- +什么是 OpenResty?它有什么作用?它是如何与 Nginx 集成的? +--- +如何在 Nginx 配置中使用 Lua 脚本? +--- +使用 Nginx 实现反向代理时,如何配置将客户端信息传递给后端服务器? +--- +Nginx 中的 proxy_buffering 指令有什么作用?如何配置? +--- +Nginx 中的 client_body_buffer_size 指令有什么作用?如何配置? +--- +Nginx 支持哪些协议?如何配置 Nginx 以支持不同的协议? +--- +如何通过 Nginx 配置实现多语言的内容(国际化)? +--- +如何配置 Nginx 以支持 HTTP/2?需要哪些额外的设置? +--- +什么是 Nginx 惊群问题?如何解决惊群问题? +--- +Nginx 实现负载均衡的底层原理是什么? +--- +Nginx 支持哪些常用的负载均衡算法?这些算法的原理是什么? +--- +如何通过 Nginx 实现服务的高可用性? +--- +什么是 C10K 问题?Nginx 如何解决 C10K 问题? +--- +Nginx 如何实现超高并发的请求处理? +--- +什么是 Nginx 的 IO 事件模型? +--- +为什么 Nginx 不使用多线程? +--- +Nginx 用到的 epoll 模型为什么快?与 Apache 常用的 select 模型相比有什么优劣? +--- +如何为 Nginx 添加新的模块? +--- +如何在 Nginx 中动态添加模块? +--- +Nginx 底层是如何实现限流的?有哪些常见的限流算法? +--- +如何进行 Nginx 的调优?比如 Nginx 常见的优化配置有哪些? +--- +如何调整 Linux 操作系统的内核参数来优化 Nginx? +--- diff --git a/Node.js 框架面试题.md b/Node.js 框架面试题.md new file mode 100644 index 0000000..5f1b857 --- /dev/null +++ b/Node.js 框架面试题.md @@ -0,0 +1,220 @@ +如何在 Koa 中实现请求的幂等性? +--- +如何在 Koa 中实现分布式事务? +--- +如何在 Koa 中实现中间件的依赖注入? +--- +Koa 在处理请求时是如何利用事件循环的? +--- +在 Koa 中如何处理多部分(multipart)请求? +--- +Koa 中如何实现国际化(i18n)支持? +--- +Koa 的中间件机制是如何实现的?其底层原理是什么? +--- +在高并发情况下,如何优化 Koa 应用的性能和稳定性? +--- +Koa 如何处理异步错误?底层是如何实现的? +--- +如何在 Koa 中实现微服务架构? +--- +Koa 中上下文对象的创建过程和生命周期具体是怎样的? +--- +Koa 2 与 Koa 有哪些区别?升级到 Koa 2 需要注意什么? +--- +如何在 Koa 中实现自定义的流式响应? +--- +在 Koa 中如何高效处理长连接和实时数据推送? +--- +如何在 Koa 中进行数据库的连接和操作? +--- +在 Koa 中如何实现请求限流? +--- +如何在 Koa 中使用 Session 机制? +--- +Koa 中如何实现自定义中间件? +--- +在 Koa 中如何处理 WebSocket 通信? +--- +如何在 Koa 中使用 HTTPS? +--- +如何在 Koa 中实现接口的版本控制? +--- +在 Koa 中如何使用 Redis 或其他缓存机制? +--- +如何在 Koa 中实现请求的重试机制? +--- +如何在 Koa 中进行单元测试和集成测试? +--- +Koa 中的应用程序对象(app)有哪些常用方法? +--- +在 Koa 中如何获取请求的 IP 地址? +--- +Koa 中如何设置响应的内容类型(Content-Type)? +--- +如何在 Koa 中使用 JWT 实现用户认证? +--- +在 Koa 中如何处理文件上传? +--- +如何在 Koa 中实现错误日志记录? +--- +Koa 中的洋葱模型(中间件执行顺序)是如何工作的? +--- +在 Koa 中如何使用静态文件服务? +--- +如何在 Koa 中使用第三方中间件? +--- +Koa 中如何处理 POST 请求的数据? +--- +如何在 Koa 中使用模板引擎渲染页面? +--- +Koa 中的 next() 函数有什么作用? +--- +为什么 Koa 使用 async/await 而不是回调函数? +--- +如何在 Koa 中实现请求重定向? +--- +Koa 中如何处理 CORS 跨域请求? +--- +在 Koa 中如何设置 Cookie? +--- +如何在 Koa 中设置全局变量或配置项? +--- +Express 在处理异步操作时,如何避免内存泄漏? +--- +Koa 框架的基本使用步骤是什么? +--- +在 Koa 中如何创建一个简单的 HTTP 服务器? +--- +Koa 与 Express 的主要区别有哪些? +--- +如何在 Koa 框架中处理错误和异常? +--- +Koa 框架的中间件是什么,如何使用? +--- +如何在 Koa 中实现路由功能? +--- +Koa 的上下文对象(ctx)包含哪些常用属性? +--- +在 Koa 中如何解析请求的参数和查询字符串? +--- +如何在 Koa 中设置响应的状态码和头信息? +--- +什么是 async/await,Koa 如何利用它? +--- +Express 内部是如何处理路由匹配的,底层机制是什么? +--- +如何在 Express 中实现自定义的请求解析器? +--- +如何在 Express 中进行性能监控和分析? +--- +Express 中如何实现多进程、多线程的支持? +--- +Express 中如何实现 HTTP/2 的支持? +--- +Express 中如何处理大规模的文件存储和管理? +--- +如何在 Express 中实现集群模式,以提高性能? +--- +Express 在处理请求和响应时的内部流程具体是怎样的? +--- +Express 如何与其他框架(如 Socket.io)集成,底层原理是什么? +--- +在 Express 中如何实现负载均衡和高可用性? +--- +Express 中如何实现请求队列和异步处理? +--- +如何在 Express 中使用 Morgan 记录日志? +--- +Express 中如何实现自定义的错误页面? +--- +在 Express 中如何使用 Helmet 提高安全性? +--- +如何在 Express 中处理压缩响应数据? +--- +Express 中如何实现请求参数的验证和校验? +--- +Express 4 相比老版本有哪些区别,升级需要注意什么? +--- +Express 如何与 TypeScript 集成,需注意哪些问题? +--- +如何在 Express 中实现自定义的 HTTP 方法? +--- +Express 中间件的顺序对应用有什么影响,如何管理? +--- +Express 中如何处理文件下载功能? +--- +如何在 Express 中实现 CSRF 防护? +--- +在 Express 中如何实现应用级别、路由级别和错误处理中间件? +--- +如何在 Express 中集成 GraphQL? +--- +在 Express 中如何使用 Passport.js 进行身份认证? +--- +Express 中如何处理异步请求和避免回调地狱? +--- +在 Express 中如何实现实时通讯,如 SSE 服务端事件推送? +--- +Express 中如何实现应用的热更新? +--- +在 Express 中如何实现数据的分页和排序? +--- +如何在 Express 中使用环境变量和配置文件? +--- +在 Express 中如何处理子域和虚拟主机? +--- +如何在 Express 中处理 JSON 格式的请求体? +--- +Express 中的 app.get() 和 app.post() 方法有什么区别? +--- +在 Express 中如何使用参数匹配路由? +--- +Express 中如何设置模板引擎,如 EJS、Pug? +--- +Express 中如何设置和获取 HTTP 请求头信息? +--- +如何在 Express 中实现简单的表单提交和处理? +--- +Express 中如何设置默认的错误处理程序? +--- +在 Express 中如何实现用户认证和授权? +--- +Express 中的错误处理中间件如何编写? +--- +Express 中的请求对象 req 包含哪些常用属性? +--- +Express 中的响应对象 res 有哪些常用方法? +--- +在 Express 中如何处理 404 错误? +--- +什么是 Express 中的路由方法链式调用? +--- +如何在 Express 中使用 app.use() 方法? +--- +Express 中的 app.set() 方法有什么作用? +--- +Express 中的模板引擎有哪些?如何选择? +--- +在 Express 中如何处理静态文件的缓存? +--- +Express 框架的基本使用步骤是什么? +--- +如何在 Express 中创建一个路由? +--- +Express 的中间件是什么,如何使用? +--- +Express 中如何使用静态文件中间件提供静态资源? +--- +什么是 Express 中的路由参数,如何使用它们? +--- +Express 中的 app.listen() 方法有什么作用? +--- +什么是 Express Generator,如何使用它? +--- +在 Express 中如何使用路由器(Router)模块化路由? +--- +Express 的中间件有哪些类型? +--- +什么是 Socket.io?如何在 Node.js 中使用它实现实时通信? +--- diff --git a/Node.js 面试题.md b/Node.js 面试题.md new file mode 100644 index 0000000..697485f --- /dev/null +++ b/Node.js 面试题.md @@ -0,0 +1,270 @@ +什么是 Node.js?它的主要特点是什么?适用于哪些场景? +--- +如何在 Node.js 中创建一个简单的 HTTP 服务器? +--- +在 Node.js 中,如何导入和导出模块? +--- +Node.js 中,同步和异步代码有什么区别? +--- +什么是 npm?如何使用它来管理项目的依赖? +--- +Node.js 中的回调函数是什么?请举例说明 +--- +如何使用 Node.js 读取和写入文件? +--- +什么是 package.json 文件?它的作用是什么? +--- +如何在 Node.js 中捕获和处理异常? +--- +什么是 Node.js 全局对象?有哪些全局对象? +--- +什么是 Node.js 全局变量?有哪些全局变量? +--- +Node.js 中的 Buffer 对象是什么?它有什么作用? +--- +如何在 Node.js 中解析 JSON 数据? +--- +什么是 Node.js 中的模块加载机制? +--- +Node.js 中的 process 对象是什么?它有哪些常用属性? +--- +什么是 Node.js 中的 REPL? +--- +什么是子进程?如何在 Node.js 中创建子进程? +--- +如何使用 Node.js 发送 HTTP 请求?比如 GET 和 POST 请求? +--- +在 Node.js 中,如何获取命令行参数? +--- +什么是 Node.js 中的 global 对象?它包含哪些常用属性? +--- +Node.js 中的 require 和 import 有什么区别? +--- +Node.js 中 require 方法是同步还是异步操作?为什么? +--- +什么是 CommonJS 模块规范?Node.js 如何实现它? +--- +如何在 Node.js 中发送电子邮件? +--- +Node.js 的 process.nextTick() 有什么作用? +--- +Node.js 中的 util 模块提供了哪些常用功能? +--- +如何在 Node.js 中创建 TCP 服务器? +--- +在 Node.js 中,如何检查一个路径是文件还是目录? +--- +什么是 Node.js 中的标准输入、输出和错误流?如何使用它们? +--- +如何在 Node.js 中创建和解析 URL? +--- +Node.js 中的定时器函数 setImmediate() 和 setTimeout() 有什么区别? +--- +如何在 Node.js 中执行外部命令或脚本? +--- +Node.js 中的 path 模块有哪些常用方法? +--- +在 Node.js 中,如何获取和设置环境变量? +--- +什么是 Node.js 中的 console 模块?它有哪些常用方法? +--- +如何在 Node.js 中生成和使用加密的随机数? +--- +如何在 Node.js 中对 base64 进行编解码? +--- +如何在 Node.js 中获取项目的根路径? +--- +什么是 Node.js 中的 crypto 模块?它有什么作用? +--- +如何在 Node.js 中生成和验证哈希值? +--- +什么是 Node.js 中的事件发射器(EventEmitter)?它有什么作用?如何使用? +--- +如何在 Node.js 中处理 HTTP 请求的路由? +--- +什么是 Node.js 中的 middleware?如何使用它? +--- +Node.js 中如何使用异步函数处理文件系统操作? +--- +什么是 Node.js 中的回调函数嵌套? +--- +如何在 Node.js 中实现简单的 Web 服务端渲染? +--- +什么是 Node.js 中的 fs 模块?它有什么作用? +--- +如何在 Node.js 中使用 querystring 模块解析 URL 参数? +--- +什么是非阻塞 I/O?Node.js 如何实现非阻塞 I/O? +--- +Node.js 中的回调、Promise 和 async/await 有什么区别? +--- +如何在 Node.js 中进行错误处理,特别是在异步代码中? +--- +什么是 Stream 流?举例说明如何在 Node.js 中使用流处理数据? +--- +什么是集群?如何在 Node.js 中实现集群和负载均衡? +--- +如何调试 Node.js 程序?有哪些方法? +--- +在 Node.js 中,如何避免回调地狱? +--- +如何在 Node.js 中处理多线程或多进程操作? +--- +什么是模块依赖循环?如何在 Node.js 中避免或解决它? +--- +如何在 Node.js 中实现文件的压缩和解压缩? +--- +有哪些常用的 Node.js 测试框架?如何编写测试用例? +--- +什么是 package-lock.json 文件?它的作用是什么? +--- +如何在 Node.js 中使用 WebSocket 实现实时通信? +--- +在 Node.js 中如何进行数据库操作,比如使用什么 DB 和 ORM? +--- +ES6 模块和 CommonJS 模块在 Node.js 中有什么区别? +--- +在 Node.js 中如何处理文件上传和下载? +--- +在 Node.js 中如何实现定时任务?有哪些方法? +--- +什么是 Socket.io?如何在 Node.js 中使用它实现实时通信? +--- +如何在 Node.js 中实现断言? +--- +如何在 Node.js 中实现纳秒级别的高精度计时? +--- +如何在 Node.js 中实现数据的缓存,以提高性能? +--- +什么是 Node.js 的中间件?有哪些常用的中间件? +--- +如何编写自定义的 Node.js 中间件? +--- +有哪些常用的 Node.js 开发框架?分别有什么特点? +--- +在 Node.js 中,如何处理静态文件的服务? +--- +如何在 Node.js 中实现 OAuth 认证? +--- +Node.js 中的守护进程是如何实现的? +--- +如何在 Node.js 中处理文件系统的监控,例如检测文件的变化? +--- +在 Node.js 中如何使用 worker_threads 模块? +--- +在 Node.js 中,如何实现应用程序的国际化(i18n)? +--- +如何在 Node.js 中处理和解析二进制数据? +--- +什么是模板引擎?如何在 Node.js 中使用模板引擎? +--- +如何在 Node.js 中使用 Redis 实现数据缓存? +--- +在 Node.js 中,如何使用 JWT 进行用户认证? +--- +如何在 Node.js 中实现日志记录,并配置不同级别的日志? +--- +如何在 Node.js 中实现请求的限流? +--- +Node.js 中的 process.nextTick() 和 setImmediate() 有什么区别? +--- +什么是 Node.js 中的事件循环? +--- +Node.js 中的 Streams 有哪几种类型? +--- +如何在 Node.js 中实现模块的懒加载? +--- +什么是 Node.js 中的域模块?它有什么作用? +--- +Node.js 中如何实现自定义的事件发射器? +--- +如何在 Node.js 中进行单元测试和集成测试? +--- +如何在 Node.js 中使用 Gulp 或 Grunt 进行任务自动化? +--- +什么是 Node.js 中的事件发射器和事件监听器? +--- +在 Node.js 中,如何实现 CORS 跨域资源共享? +--- +如何在 Node.js 中使用消息队列实现异步处理? +--- +如何使用 Node.js 获取到客户端连接的真实 IP? +--- +Node.js 中 require 方法的文件查找策略是怎样的? +--- +如何在 Node.js 中使用 Web Workers? +--- +如何部署 Node.js 项目? +--- +Node.js 项目中可以使用哪些工具来保证代码规范? +--- +什么是 PM2?如何使用它部署 Node.js 项目? +--- +开发 Node.js 项目时如何管理多个 Node 版本? +--- +什么是 BFF?如何用 Node.js 实现 BFF? +--- +Node.js 中的 exec、execFile、spawn 和 fork 有什么区别? +--- +Node.js 中的 Libuv 库有什么作用?比如 Node.js 事件循环与它有什么关系? +--- +如何分析和优化 Node.js 应用程序的性能瓶颈? +--- +什么是 V8 引擎?它对于 Node.js 有什么作用?它如何执行 JavaScript 代码? +--- +如何处理 Node.js 应用程序中的高并发请求,并避免阻塞? +--- +如何编写原生的 C++ 扩展模块供 Node.js 使用? +--- +在 Node.js 中如何确保应用程序的安全?防止常见的安全漏洞如 SQL 注入和 XSS 攻击? +--- +Node.js 中的 Stream 模块是如何实现背压的? +--- +Node.js 中的 Async Hooks 是什么?它有什么应用场景? +--- +如何在 Node.js 中使用 MQ 或其他库实现分布式系统? +--- +如何在 Node.js 中进行代码热更新? +--- +如何在 Node.js 中处理高频率的实时数据流? +--- +Node.js 中的事件循环和浏览器中的事件循环有什么异同? +--- +如何在 Node.js 中检测和处理内存泄漏问题? +--- +如何在 Node.js 中处理 CPU 密集型任务,避免阻塞事件循环? +--- +Node.js 异步编程模型的底层实现原理是怎样的? +--- +如何在 Node.js 中实现一个高性能的 Web 服务器? +--- +Node.js 是基于单线程实现的么?为什么? +--- +请介绍 Node.js 中的事件驱动架构,它与传统线程模型有什么区别? +--- +如何在 Node.js 中使用 TLS/SSL 来建立安全的网络连接? +--- +如何在 Node.js 中编写高性能的网络应用,需考虑哪些因素? +--- +Node.js 中的事件循环是如何与操作系统的线程池进行交互的? +--- +Node.js 中如何处理大文件的读取和写入,避免阻塞主线程? +--- +如何在 Node.js 中进行高效的日志处理,避免影响性能? +--- +如何在 Node.js 中实现微服务架构? +--- +什么是 Node.js 的内存管理机制?如何避免内存泄漏和溢出? +--- +什么是 Node.js 的垃圾回收机制?如何手动触发垃圾回收? +--- +说说你对Node.js 的理解?优缺点?应用场景? +--- +什么是 Node.js 中的 process?它有哪些方法和应用场景? +--- +什么是 Node.js 的事件循环机制?它是怎么实现的? +--- +Node.js 有哪些全局对象?它们分别有什么作用? +--- +怎么调试 Node.js 程序? +--- diff --git a/OJ 判题项目面试题.md b/OJ 判题项目面试题.md new file mode 100644 index 0000000..696f208 --- /dev/null +++ b/OJ 判题项目面试题.md @@ -0,0 +1,87 @@ +请介绍整个系统后端的架构设计,有哪些模块以及各模块之间的关系? +--- +什么是微服务架构?它有什么优点?为什么在项目中选择使用微服务架构? +--- +什么是 Spring Cloud Alibaba?它和 Spring Cloud 有什么区别?由哪些核心技术组成? +--- +你在项目中是如何设计库表的?可以从字段、索引、关联等方面回答。 +--- +介绍一下判题机模块的架构?尤其是代码沙箱的抽象调用接口和实现类。 +--- +为什么使用策略模式来封装不同语言的判题算法,它有哪些好处?具体如何实现? +--- +你在项目中使用了 2 种方式来实现代码沙箱,请介绍一下这两种方式的实现原理和区别? +--- +什么是 Java 安全管理器?你在项目中是如何使用它来实现权限控制的? +--- +你了解哪些 JVM 参数,请分别介绍它们的作用? +--- +你是怎么进行远程开发的?用了什么技术、工具或方法? +--- +什么是 Docker?为什么要在项目中用到 Docker?以及你在项目中是如何使用 Docker 的? +--- +你是怎么保证 Docker 代码沙箱执行程序时的安全性的? +--- +为什么在项目中使用模板方法模式来定义代码沙箱执行流程?它有什么优势? +--- +为什么在项目中使用 RabbitMQ 消息队列来处理判题操作?它有什么优势? +--- +你如何保证代码沙箱服务接口的安全性? +--- +Redis 分布式 Session 实现用户登录的原理是什么? +--- +什么是 Nacos?你的微服务项目中,哪些服务要和 Nacos 交互? +--- +什么是 OpenFeign?你的微服务项目中,有哪些接口需要使用 OpenFeign 调用? +--- +项目中使用了 Gateway 网关,请介绍它的作用,以及如何实现了服务的路由? +--- +你是如何通过自定义 Gateway 的 GlobalFilter 来保护接口的,请介绍具体实现过程? +--- +你的项目中实现了接口文档的统一聚合,请介绍具体的实现过程? +--- +项目中使用了 Vue-CLI 脚手架来初始化项目,请解释一下脚手架的作用? + +--- +在项目中使用了 TypeScript、ESLint、Prettier 和 Husky 来保证项目的编码规范,解释一下它们各自的作用? +--- +请介绍一下你自定义的前端项目模板的主要功能? +--- +项目中使用了 Vue Router 来进行全局导航生成,请详细解释一下如何根据路由配置文件自动生成导航菜单? +--- +项目中使用了全局权限管理,请详细描述如何通过 Vue Router 的路由守卫来实现全局权限控制? +--- +项目中使用 Vuex 来进行全局状态管理,请解释为什么在项目中需要全局状态管理以及如何使用 Vuex? +--- +项目中使用了 Arco Design 的 Table 组件,请介绍下你是如何使用 Table 组件的、使用了其哪些功能? +--- +项目中使用了 Monaco Editor 开源代码编辑器组件,请解释一下它的特点和在项目中的应用? +--- +项目中使用了 ByteMD 文本编辑器组件,请解释下你是如何封装了可复用的 Editor 和 Viewer 组件? +--- +你是如何使用 JetBrains 的 Live Templates 功能来自定义代码模板的? + +--- +什么是前端的组件?针对不同类型的数据,你分别选择哪种组件进行展示? +--- +什么是 openapi-typescript-codegen 工具?它是如何生成接口调用代码的? + +--- +项目中使用了 Webpack 整合 Monaco Editor,请解释一下 Webpack 的作用,以及如何整合 Monaco Editor? +--- +请介绍一下 Vue 3 的新特性和与 Vue 2 相比有哪些变化? +--- +什么是 Vue 中的响应式变量? +--- +项目是否有上线?你是如何实现前端页面部署的? +--- +请介绍一下本项目的完整业务流程? +--- +有调研过 OJ 系统的实现方案么? +--- +请介绍一下判题的具体流程和方法? +--- +请介绍一下代码沙箱的作用?代码沙箱和判题服务有什么关系? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- diff --git a/Oracle 数据库面试题.md b/Oracle 数据库面试题.md new file mode 100644 index 0000000..21b7bd2 --- /dev/null +++ b/Oracle 数据库面试题.md @@ -0,0 +1,80 @@ +描述在 Oracle 数据库中,如何优化查询性能。 +--- +在 Oracle 数据库中,如何配置和管理用户角色? +--- +在 Oracle 数据库中,如何进行表的分区管理? +--- +解释 Oracle 数据库的存储结构以及表空间的概念。 +--- +Oracle 中的 SGA 和 PGA 有什么区别? +--- +Oracle 中的 ASM(Automatic Storage Management)是什么?它如何优化存储性能? +--- +Oracle 的多租户架构(Multitenant Architecture)是什么?它的优点是什么? +--- +请说明 Oracle 数据库中的控制文件(Control File)的作用和管理方法。 +--- +Oracle 中的表和索引组织表(IOT)有何不同? +--- +Oracle 的集群文件系统(Cluster File System)有哪些特点? +--- +Oracle 的 Redo Log 和 Undo Log 有何区别? +--- +Oracle 的 AWR(Automatic Workload Repository)报告如何用于性能调优? +--- +Oracle 的 ASH(Active Session History)如何用于分析性能瓶颈? +--- +如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能? +--- +Oracle 中的并行查询(Parallel Query)如何配置和优化? +--- +如何在 Oracle 中使用 ADDM(Automatic Database Diagnostic Monitor)进行性能分析? +--- +Oracle 的 SQL Tuning Advisor 如何配置和使用? +--- +如何在 Oracle 中使用 SPM(SQL Plan Management)来管理执行计划? +--- +如何在 Oracle 中使用 SQL Trace 和 TKPROF 工具进行 SQL 调优? +--- +Oracle 中的 Cost-Based Optimizer (CBO) 是如何工作的? +--- +如何在 Oracle 中使用 Hints 提示优化 SQL 语句? +--- +如何在 Oracle 中使用 Materialized View 来优化查询? +--- +Oracle 中的 Bind Variables 如何优化性能? +--- +如何在 Oracle 中使用 SQL Profiles 和 SQL Plan Baselines 进行调优? +--- +Oracle 中的 Table Partitioning 如何优化查询性能? +--- +如何在 Oracle 中使用自动优化(Automatic Tuning)特性? +--- +Oracle 中的 RMAN 工具如何进行数据库备份和恢复? +--- +如何在 Oracle 中进行增量备份和差异备份? +--- +如何在 Oracle 中配置和使用 Data Pump 进行数据导出和导入? +--- +Oracle 中的闪回查询(Flashback Query)功能如何实现数据恢复? +--- +Oracle 的闪回数据库(Flashback Database)功能如何配置和使用? +--- +Oracle 的 Data Guard 配置中,如何使用 Fast-Start Failover 实现自动故障切换? +--- +Oracle Data Guard 如何实现高可用性和数据保护? +--- +Oracle RAC(Real Application Clusters)如何实现高可用性? +--- +如何在 Oracle 中配置和管理 Data Guard Broker? +--- +Oracle 的 Flashback 技术如何用于数据恢复和高可用性? +--- +Oracle 中的 Active Data Guard 如何配置和管理? +--- +Oracle 的 Data Guard 与 GoldenGate 有何不同? +--- +Oracle 的 GoldenGate 如何实现实时数据集成和高可用性? +--- +Oracle 的 Data Guard 和 RAC 如何结合使用实现最高可用性? +--- diff --git a/PHP 基础面试题.md b/PHP 基础面试题.md new file mode 100644 index 0000000..7880f30 --- /dev/null +++ b/PHP 基础面试题.md @@ -0,0 +1,102 @@ +在 PHP 中,如何实现批量操作数据库记录? +--- +PHP 中,使用 final 修饰的类和方法分别有什么特点? +--- +PHP 有哪些配置文件?开发中可能会修改哪些配置参数? +--- +PHP 如何与 Nginx 协作来处理用户请求? +--- +PHP 中的类型 hint 和 hinting 是什么?如何帮助解决类型安全问题? +--- +什么是 PHP 的可变变量?有什么实际作用? +--- +PHP 中的 OPcache 是什么?如何使用? +--- +什么是 PHP 的 SPL 库?有哪些常用的 SPL 库? +--- +PHP 是否可以定义方法的返回数据类型? +--- +什么是 PHP 的变量作用域?有哪些类型的变量作用域? +--- +如何在 PHP 中使用正则表达式?有哪些常用函数? +--- +在 PHP 中,如何处理和操作 JSON 数据? +--- +PHP 的垃圾回收机制是如何工作的? +--- +PHP 中如何处理日期和时间?有哪些常用函数? +--- +如何在 PHP 中实现异步编程? +--- +PHP 的 eval() 函数如何使用?它有哪些风险? +--- +如何在 PHP 中处理文件的上传和下载? +--- +PHP 中的 trim() 函数有什么作用?它有哪些变体? +--- +PHP 有哪些错误处理模式?如何实现自定义错误处理? +--- +PHP-FPM 的工作流程是怎样的?它是如何处理请求的? +--- +PHP 相比于 Java 和 Go 有哪些优点和缺点? +--- +PHP 是怎么管理数据库资源的? +--- +什么是 PHP 的模板引擎?如何优化模板引擎? +--- +什么是 PHP 的内存泄漏?如何避免? +--- +PHP 的 array_walk() 和 array_map() 有什么区别?分别适用于什么场景? +--- +PHP 的 isset() 和 unset() 如何影响变量的生命周期? +--- +什么是 PHP 的命名空间? +--- +PHP 中的 include 和 require 有什么区别? +--- +PHP 中的 == 和 === 有什么区别? +--- +PHP 传值和传引用有什么区别? +--- +如何在 PHP 程序中处理异常? +--- +PHP 如何维持会话? +--- +有哪些常用的 PHP 预定义变量?请列举并分别描述作用 +--- +PHP 的接口和抽象类有什么区别? +--- +什么是 PHP 的 composer?它有什么作用? +--- +PHP 中的 GET 与 POST 有什么区别?如何使用? +--- +PHP 中的 Cookie 和 Session 有什么区别?如何使用? +--- +PHP 如何将对象存储到数据库或缓存?有哪些方式? +--- +什么是 PHP 的自动加载?有哪些实际应用? +--- +PHP 中,整数 666 和字符串 "996" 能否比较?结果是什么? +--- +PHP 中,整数 1024 与字符串 "yupi" 相加会得到什么结果? +--- +什么是 PHP 的深拷贝和浅拷贝?分别有哪些应用场景? +--- +PHP 的内存管理机制是怎样的? +--- +什么是 PHP 的超级全局变量?有什么作用? +--- +PHP 的 CLI 命令行是什么?一般用于哪些场景? +--- +什么是 PHP 的自动类型转换和强制类型转换? +--- +如何在 PHP 中防止 SQL 注入? +--- +什么是 PHP 中的匿名函数(闭包)? +--- +如何在 PHP 中实现错误日志记录? +--- +PHP 是强类型还是弱类型语言?这类语言有哪些特点? +--- +PHP 有哪些报错级别,应该如何设置? +--- diff --git a/PHP 应用场景面试题.md b/PHP 应用场景面试题.md new file mode 100644 index 0000000..09e6a9c --- /dev/null +++ b/PHP 应用场景面试题.md @@ -0,0 +1,48 @@ +使用集群部署 PHP 项目时,如何实现会话共享? +--- +如何优化 PHP 代码的性能? +--- +在 PHP 项目中如何实现动态图片的生成和处理? +--- +在 PHP 中如何实现 API 限流?有哪些常用工具或库? +--- +如何处理 PHP 项目中的跨域请求问题? +--- +如何在 PHP 项目中实现 WebSocket 实时通信? +--- +如何设计 PHP 项目中的缓存策略?有哪些常见的缓存工具? +--- +如何通过 PHP 实现日志分级和多渠道日志输出? +--- +如何在 PHP 中处理并发请求?有哪些高效的方案? +--- +PHP 项目中如何进行权限管理?有哪些实现方案? +--- +在 PHP 中如何提高页面加载速度?有哪些常见的优化方法? +--- +如何通过 PHP 实现数据库连接池?如何优化数据库连接池? +--- +团队开发中,如何保证 PHP 的开发环境一致?有哪些方案? +--- +如果要将 PHP 项目从 PHP5 升级到 PHP7,应该怎么做? +--- +如何评估 PHP 项目的单机最大并发数?有哪些方案? +--- +使用 Nginx 部署 PHP 项目时,如果 Nginx 响应了 502 或 504,如何排查问题? +--- +PHP 项目中,如何实现全局异常处理和错误处理机制? +--- +只有 100M 内存,如何使用 PHP 查库并将 100W 条数据写入 csv? +--- +只有 100M 内存,如何使用 PHP 将 1G 的 csv 数据入库? +--- +如何定位分析一个严重消耗内存的 PHP 请求? +--- +如何在 PHP 项目中记录和收集所有的请求日志? +--- +PHP 项目中如果遇到 PHP-FPM 启动失败的情况,你会如何排查? +--- +如何提高 PHP 服务的安全性? +--- +如何在 PHP 中实现一个简单的 MVC 框架? +--- diff --git a/PHP 框架面试题.md b/PHP 框架面试题.md new file mode 100644 index 0000000..d00b18b --- /dev/null +++ b/PHP 框架面试题.md @@ -0,0 +1,120 @@ +如何在 PHP 中实现一个简单的 MVC 框架? +--- +Swoole 框架支持哪些通信协议?请举例说明 +--- +Swoole 框架能处理静态文件请求吗? +--- +Swoole 的 Table 和 MemoryTable 有什么区别?分别适用于什么场景? +--- +Swoole 是如何实现进程间数据共享的?有哪些方法? +--- +如何在 Laravel 中定义和使用自定义助手函数? +--- +什么是 Swoole 的协程?它有什么优势? +--- +Laravel 的中间件是如何实现的? +--- +如何在 Yaf 框架中实现事件机制? +--- +在 CodeIgniter 中,如何实现数据库操作?它的 Active Record 模式有什么特点? +--- +Symfony 框架中的依赖注入容器是什么?它有什么作用? +--- +Laravel 的表单验证机制是如何实现的?如何自定义验证规则? +--- +Laravel 中的 Eloquent ORM 如何进行关联查询?有哪些类型的关联关系? +--- +如何在 Laravel 框架中实现路由参数的验证? +--- +如何在 Laravel 中实现身份验证? +--- +Laravel 的事件和监听器是如何工作的? +--- +如何在 Laravel 中优化数据库查询?Eager Loading 和 Lazy Loading 有什么区别? +--- +如何使用 Laravel 的测试功能?如何编写一个简单的测试用例? +--- +Swoole 如何实现数据库连接池?有什么方法? +--- +如何处理 Swoole 中的异常? +--- +如何解决 Swoole Task 的任务堆积问题? +--- +Swoole 和传统的 php-fpm 有什么区别? +--- +什么是 Swoole 的 Lock?它能解决什么问题? +--- +什么是 Swoole 的异步 I/O?它有哪些优势? +--- +如何在 Swoole 中实现跨进程通信? +--- +Swoole 的回调函数和异步任务的区别是什么? +--- +Swoole 中的进程模型有哪些?分别有什么作用? +--- +使用 Swoole 提供 websocket 服务时,如何维持长连接? +--- +如何在 Swoole 中实现一个高性能的文件上传功能? +--- +什么是 EventLoop?它在 Swoole 框架中的作用是什么? +--- +如何利用 Swoole 的 WebSocket 服务实现群聊功能? +--- +在 Laravel 框架开发中,如何实现多模块? +--- +什么是 Laravel Artisan?一般用它来做什么? +--- +如何在 Laravel 框架中,记录请求和响应信息? +--- +ThinkPHP 框架中的 session 是如何管理的? +--- +如何在 PHP 中安装和配置 Yaf 框架? +--- +Yaf 框架有自带的 ORM 么?如何集成其他 ORM 工具类? +--- +什么是服务容器?Yaf 框架的服务容器是如何实现的? +--- +如何在 Yaf 框架中配置和管理日志记录? +--- +如何在 Yaf 框架中实现错误和异常的全局处理?如何实现自定义的错误页面? +--- +Yaf 框架如何与 Composer 集成? +--- +Yaf 框架中的配置文件如何组织和使用? +--- +如何在 Yaf 框架中进行模板渲染? +--- +如何在 Yaf 中使用插件?插件的生命周期是什么样的? +--- +如何在 Yaf 框架中定义和使用路由? +--- +Yaf 如何实现全局数据过滤?可以通过哪些方式来防止非法请求? +--- +Yaf 的 Bootstrap 文件是什么?它有什么作用? +--- +ThinkPHP 框架支持哪些缓存机制? +--- +ThinkPHP 中的 event 机制是什么?它有哪些应用场景? +--- +如何使用 ThinkPHP 框架实现定时任务? +--- +ThinkPHP 框架中,如何导入第三方库? +--- +ThinkPHP 如何实现全局数据过滤?可以通过哪些方式来防止非法请求? +--- +使用 ThinkPHP 框架时,有哪些优化方法? +--- +Laravel 的队列有什么优缺点?适用于什么场景? +--- +什么是门面模式?它在 Laravel 中如何应用? +--- +Laravel 框架中怎么实现定时任务?原理是什么? +--- +Laravel 框架中有哪些缓存提供者?分别有哪些使用场景? +--- +什么是 Laravel 的服务提供器?它的主要作用是什么? +--- +如何在生产环境部署 Laravel 项目?请描述完整流程 +--- +什么是 Laravel 的中间件?可以用 Laravel 中间件实现哪些功能? +--- diff --git a/PHP 面向对象面试题.md b/PHP 面向对象面试题.md new file mode 100644 index 0000000..d7c6f4e --- /dev/null +++ b/PHP 面向对象面试题.md @@ -0,0 +1,40 @@ +PHP 中,使用 final 修饰的类和方法分别有什么特点? +--- +PHP 的接口和抽象类有什么区别? +--- +什么是 PHP 的深拷贝和浅拷贝?分别有哪些应用场景? +--- +如何在 PHP 中为类添加动态方法? +--- +什么是 PHP 的延迟静态绑定? +--- +PHP 中的访问控制修饰符有哪些?它们的区别是什么? +--- +如何在 PHP 中实现一个单例模式? +--- +在 PHP 中如何实现多态?请举例说明 +--- +如何在 PHP 中实现类的继承?有哪些需要注意的点? +--- +PHP 类的关键字 trait 有什么作用? +--- +PHP 中的魔术常量有哪些?如何在项目中使用? +--- +PHP 如何实现枚举?在实际开发中如何使用? +--- +PHP 类的魔术方法有哪些? +--- +在 PHP 类中如何使用 __sleep 和 __wakeup 函数? +--- +什么是 PHP 类中的动态属性?它有哪些应用场景? +--- +PHP 类中的 static 关键字有什么作用? +--- +PHP 支持多重继承吗?如果不支持,它如何实现类似的功能? +--- +PHP 类有哪些修饰符?它们有什么区别? +--- +PHP 的构造函数和析构函数是什么?有什么作用? +--- +PHP 项目中,如何实现和管理调用链? +--- diff --git a/PHP 面试题.md b/PHP 面试题.md new file mode 100644 index 0000000..37b650a --- /dev/null +++ b/PHP 面试题.md @@ -0,0 +1,302 @@ +在 PHP 中,如何实现批量操作数据库记录? +--- +PHP 中,使用 final 修饰的类和方法分别有什么特点? +--- +PHP 有哪些配置文件?开发中可能会修改哪些配置参数? +--- +PHP 如何与 Nginx 协作来处理用户请求? +--- +PHP 中的类型 hint 和 hinting 是什么?如何帮助解决类型安全问题? +--- +什么是 PHP 的可变变量?有什么实际作用? +--- +PHP 中的 OPcache 是什么?如何使用? +--- +什么是 PHP 的 SPL 库?有哪些常用的 SPL 库? +--- +PHP 是否可以定义方法的返回数据类型? +--- +什么是 PHP 的变量作用域?有哪些类型的变量作用域? +--- +如何在 PHP 中使用正则表达式?有哪些常用函数? +--- +在 PHP 中,如何处理和操作 JSON 数据? +--- +PHP 的垃圾回收机制是如何工作的? +--- +PHP 中如何处理日期和时间?有哪些常用函数? +--- +如何在 PHP 中实现异步编程? +--- +PHP 的 eval() 函数如何使用?它有哪些风险? +--- +如何在 PHP 中处理文件的上传和下载? +--- +PHP 中的 trim() 函数有什么作用?它有哪些变体? +--- +PHP 有哪些错误处理模式?如何实现自定义错误处理? +--- +PHP-FPM 的工作流程是怎样的?它是如何处理请求的? +--- +PHP 相比于 Java 和 Go 有哪些优点和缺点? +--- +PHP 是怎么管理数据库资源的? +--- +什么是 PHP 的模板引擎?如何优化模板引擎? +--- +什么是 PHP 的内存泄漏?如何避免? +--- +PHP 的 array_walk() 和 array_map() 有什么区别?分别适用于什么场景? +--- +PHP 的 isset() 和 unset() 如何影响变量的生命周期? +--- +什么是 PHP 的命名空间? +--- +PHP 中的 include 和 require 有什么区别? +--- +PHP 中的 == 和 === 有什么区别? +--- +PHP 传值和传引用有什么区别? +--- +如何在 PHP 程序中处理异常? +--- +PHP 如何维持会话? +--- +有哪些常用的 PHP 预定义变量?请列举并分别描述作用 +--- +PHP 的接口和抽象类有什么区别? +--- +什么是 PHP 的 composer?它有什么作用? +--- +PHP 中的 GET 与 POST 有什么区别?如何使用? +--- +PHP 中的 Cookie 和 Session 有什么区别?如何使用? +--- +PHP 如何将对象存储到数据库或缓存?有哪些方式? +--- +什么是 PHP 的自动加载?有哪些实际应用? +--- +PHP 中,整数 666 和字符串 "996" 能否比较?结果是什么? +--- +PHP 中,整数 1024 与字符串 "yupi" 相加会得到什么结果? +--- +什么是 PHP 的深拷贝和浅拷贝?分别有哪些应用场景? +--- +PHP 的内存管理机制是怎样的? +--- +什么是 PHP 的超级全局变量?有什么作用? +--- +PHP 的 CLI 命令行是什么?一般用于哪些场景? +--- +什么是 PHP 的自动类型转换和强制类型转换? +--- +如何在 PHP 中防止 SQL 注入? +--- +什么是 PHP 中的匿名函数(闭包)? +--- +如何在 PHP 中实现错误日志记录? +--- +PHP 是强类型还是弱类型语言?这类语言有哪些特点? +--- +PHP 有哪些报错级别,应该如何设置? +--- +如何在 PHP 中为类添加动态方法? +--- +什么是 PHP 的延迟静态绑定? +--- +PHP 中的访问控制修饰符有哪些?它们的区别是什么? +--- +如何在 PHP 中实现一个单例模式? +--- +在 PHP 中如何实现多态?请举例说明 +--- +如何在 PHP 中实现类的继承?有哪些需要注意的点? +--- +PHP 类的关键字 trait 有什么作用? +--- +PHP 中的魔术常量有哪些?如何在项目中使用? +--- +PHP 如何实现枚举?在实际开发中如何使用? +--- +PHP 类的魔术方法有哪些? +--- +在 PHP 类中如何使用 __sleep 和 __wakeup 函数? +--- +什么是 PHP 类中的动态属性?它有哪些应用场景? +--- +PHP 类中的 static 关键字有什么作用? +--- +PHP 支持多重继承吗?如果不支持,它如何实现类似的功能? +--- +PHP 类有哪些修饰符?它们有什么区别? +--- +PHP 的构造函数和析构函数是什么?有什么作用? +--- +PHP 项目中,如何实现和管理调用链? +--- +如何在 PHP 中实现一个简单的 MVC 框架? +--- +Swoole 框架支持哪些通信协议?请举例说明 +--- +Swoole 框架能处理静态文件请求吗? +--- +Swoole 的 Table 和 MemoryTable 有什么区别?分别适用于什么场景? +--- +Swoole 是如何实现进程间数据共享的?有哪些方法? +--- +如何在 Laravel 中定义和使用自定义助手函数? +--- +什么是 Swoole 的协程?它有什么优势? +--- +Laravel 的中间件是如何实现的? +--- +如何在 Yaf 框架中实现事件机制? +--- +在 CodeIgniter 中,如何实现数据库操作?它的 Active Record 模式有什么特点? +--- +Symfony 框架中的依赖注入容器是什么?它有什么作用? +--- +Laravel 的表单验证机制是如何实现的?如何自定义验证规则? +--- +Laravel 中的 Eloquent ORM 如何进行关联查询?有哪些类型的关联关系? +--- +如何在 Laravel 框架中实现路由参数的验证? +--- +如何在 Laravel 中实现身份验证? +--- +Laravel 的事件和监听器是如何工作的? +--- +如何在 Laravel 中优化数据库查询?Eager Loading 和 Lazy Loading 有什么区别? +--- +如何使用 Laravel 的测试功能?如何编写一个简单的测试用例? +--- +Swoole 如何实现数据库连接池?有什么方法? +--- +如何处理 Swoole 中的异常? +--- +如何解决 Swoole Task 的任务堆积问题? +--- +Swoole 和传统的 php-fpm 有什么区别? +--- +什么是 Swoole 的 Lock?它能解决什么问题? +--- +什么是 Swoole 的异步 I/O?它有哪些优势? +--- +如何在 Swoole 中实现跨进程通信? +--- +Swoole 的回调函数和异步任务的区别是什么? +--- +Swoole 中的进程模型有哪些?分别有什么作用? +--- +使用 Swoole 提供 websocket 服务时,如何维持长连接? +--- +如何在 Swoole 中实现一个高性能的文件上传功能? +--- +什么是 EventLoop?它在 Swoole 框架中的作用是什么? +--- +如何利用 Swoole 的 WebSocket 服务实现群聊功能? +--- +在 Laravel 框架开发中,如何实现多模块? +--- +什么是 Laravel Artisan?一般用它来做什么? +--- +如何在 Laravel 框架中,记录请求和响应信息? +--- +ThinkPHP 框架中的 session 是如何管理的? +--- +如何在 PHP 中安装和配置 Yaf 框架? +--- +Yaf 框架有自带的 ORM 么?如何集成其他 ORM 工具类? +--- +什么是服务容器?Yaf 框架的服务容器是如何实现的? +--- +如何在 Yaf 框架中配置和管理日志记录? +--- +如何在 Yaf 框架中实现错误和异常的全局处理?如何实现自定义的错误页面? +--- +Yaf 框架如何与 Composer 集成? +--- +Yaf 框架中的配置文件如何组织和使用? +--- +如何在 Yaf 框架中进行模板渲染? +--- +如何在 Yaf 中使用插件?插件的生命周期是什么样的? +--- +如何在 Yaf 框架中定义和使用路由? +--- +Yaf 如何实现全局数据过滤?可以通过哪些方式来防止非法请求? +--- +Yaf 的 Bootstrap 文件是什么?它有什么作用? +--- +ThinkPHP 框架支持哪些缓存机制? +--- +ThinkPHP 中的 event 机制是什么?它有哪些应用场景? +--- +如何使用 ThinkPHP 框架实现定时任务? +--- +ThinkPHP 框架中,如何导入第三方库? +--- +ThinkPHP 如何实现全局数据过滤?可以通过哪些方式来防止非法请求? +--- +使用 ThinkPHP 框架时,有哪些优化方法? +--- +Laravel 的队列有什么优缺点?适用于什么场景? +--- +什么是门面模式?它在 Laravel 中如何应用? +--- +Laravel 框架中怎么实现定时任务?原理是什么? +--- +Laravel 框架中有哪些缓存提供者?分别有哪些使用场景? +--- +什么是 Laravel 的服务提供器?它的主要作用是什么? +--- +如何在生产环境部署 Laravel 项目?请描述完整流程 +--- +什么是 Laravel 的中间件?可以用 Laravel 中间件实现哪些功能? +--- +使用集群部署 PHP 项目时,如何实现会话共享? +--- +如何优化 PHP 代码的性能? +--- +在 PHP 项目中如何实现动态图片的生成和处理? +--- +在 PHP 中如何实现 API 限流?有哪些常用工具或库? +--- +如何处理 PHP 项目中的跨域请求问题? +--- +如何在 PHP 项目中实现 WebSocket 实时通信? +--- +如何设计 PHP 项目中的缓存策略?有哪些常见的缓存工具? +--- +如何通过 PHP 实现日志分级和多渠道日志输出? +--- +如何在 PHP 中处理并发请求?有哪些高效的方案? +--- +PHP 项目中如何进行权限管理?有哪些实现方案? +--- +在 PHP 中如何提高页面加载速度?有哪些常见的优化方法? +--- +如何通过 PHP 实现数据库连接池?如何优化数据库连接池? +--- +团队开发中,如何保证 PHP 的开发环境一致?有哪些方案? +--- +如果要将 PHP 项目从 PHP5 升级到 PHP7,应该怎么做? +--- +如何评估 PHP 项目的单机最大并发数?有哪些方案? +--- +使用 Nginx 部署 PHP 项目时,如果 Nginx 响应了 502 或 504,如何排查问题? +--- +PHP 项目中,如何实现全局异常处理和错误处理机制? +--- +只有 100M 内存,如何使用 PHP 查库并将 100W 条数据写入 csv? +--- +只有 100M 内存,如何使用 PHP 将 1G 的 csv 数据入库? +--- +如何定位分析一个严重消耗内存的 PHP 请求? +--- +如何在 PHP 项目中记录和收集所有的请求日志? +--- +PHP 项目中如果遇到 PHP-FPM 启动失败的情况,你会如何排查? +--- +如何提高 PHP 服务的安全性? +--- diff --git a/PostgreSQL 数据库面试题.md b/PostgreSQL 数据库面试题.md new file mode 100644 index 0000000..4427ed2 --- /dev/null +++ b/PostgreSQL 数据库面试题.md @@ -0,0 +1,64 @@ +在 PostgreSQL 中,如何创建和管理表? +--- +在 PostgreSQL 中,如何设置和管理数据库索引? +--- +请描述在 PostgreSQL 中如何进行数据导入和导出,并给出具体命令。 +--- +请简要说明 PostgreSQL 的体系结构及其与 MySQL 的主要区别。 +--- +讨论 PostgreSQL 的 WAL(Write-Ahead Logging)机制及其作用。 +--- +请说明 PostgreSQL 的表分区(Partitioning)功能及其使用场景。 +--- +PostgreSQL 的多版本并发控制(MVCC)机制是如何工作的? +--- +PostgreSQL 的 TOAST 机制是什么?它是如何处理大对象的? +--- +PostgreSQL 中的表继承(Table Inheritance)功能及其应用场景是什么? +--- +PostgreSQL 中的 pg_stat_statements 扩展如何帮助进行性能分析? +--- +如何在 PostgreSQL 中使用 auto_explain 扩展进行查询性能分析? +--- +PostgreSQL 中的 autovacuum 如何影响数据库性能? +--- +PostgreSQL 中的 pg_stat_activity 视图如何用于监控和调优? +--- +PostgreSQL 中的 auto_explain 模块如何帮助进行查询性能分析? +--- +PostgreSQL 的 pgBadger 工具如何用于性能分析和调优? +--- +解释 PostgreSQL 中的 VACUUM 命令及其优化作用。 +--- +如何在 PostgreSQL 中使用 Index Only Scan 优化查询? +--- +解释 PostgreSQL 的查询计划(Query Plan)及如何读取它。 +--- +PostgreSQL 中的 Common Table Expressions(CTEs)如何优化查询? +--- +PostgreSQL 中的并行查询(Parallel Query)如何提高查询效率? +--- +PostgreSQL 中的自定义函数(User-Defined Functions)如何影响查询性能? +--- +如何在 PostgreSQL 中实现 WAL 归档(WAL Archiving)备份策略? +--- +PostgreSQL 的 pg_dump 和 pg_restore 工具如何进行逻辑备份和恢复? +--- +PostgreSQL 中的 PITR(Point-in-Time Recovery)恢复方法是什么? +--- +PostgreSQL 中的 pg_basebackup 工具如何进行物理备份? +--- +PostgreSQL 的 Barman(Backup and Recovery Manager)工具如何使用? +--- +PostgreSQL 中的 Point-In-Time Recovery(PITR)与流复制(Streaming Replication)如何结合使用? +--- +PostgreSQL 的 Streaming Replication 和 Logical Replication 有何区别? +--- +请说明 PostgreSQL 的 Patroni 高可用性框架及其配置。 +--- +PostgreSQL 中的 BDR(Bi-Directional Replication)如何实现双向复制? +--- +如何在 PostgreSQL 中使用 Patroni 实现高可用性? +--- +PostgreSQL 中的 repmgr 工具如何用于管理和监控复制集群? +--- diff --git a/Presto 面试题.md b/Presto 面试题.md new file mode 100644 index 0000000..b65a1a7 --- /dev/null +++ b/Presto 面试题.md @@ -0,0 +1,84 @@ +什么是 Presto?它的主要应用场景是什么? +--- +Presto 与 Hive 的查询引擎有何不同?各自的优势是什么? +--- +在 Presto 中,如何连接到 Hive 数据源并进行查询? +--- +Presto 支持哪些常见的数据源?如何实现多源查询? +--- +Presto 是如何处理大规模并发查询的? +--- +Presto 的架构由哪些组件构成?各自的作用是什么? +--- +在 Presto 中,如何优化 SQL 查询的性能? +--- +Presto 的分布式查询引擎是如何设计的?如何处理跨节点的查询? +--- +在 Presto 中,如何进行 JOIN 优化?如何避免数据倾斜问题? +--- +Presto 是如何通过内存和 CPU 优化查询性能的? +--- +Presto 如何与 Hadoop 和 HDFS 集成? +--- +在 Presto 中,如何进行分区裁剪优化查询? +--- +Presto 如何处理复杂的 SQL 查询?有哪些查询优化技巧? +--- +在 Presto 中,如何进行跨数据源的联合查询? +--- +Presto 是如何处理大规模数据集的?它的分布式计算模型如何工作? +--- +如何在 Presto 中使用 UDF(用户自定义函数)进行扩展? +--- +Presto 的任务调度机制是如何工作的?如何配置调度策略? +--- +在 Presto 中,如何处理数据的读写分离?如何优化查询效率? +--- +Presto 如何处理数据倾斜问题?有哪些常见的解决方案? +--- +在 Presto 中,如何配置和管理集群节点以提升查询性能? +--- +Presto 的内存管理是如何实现的?如何优化内存使用? +--- +在 Presto 中,如何进行大规模数据的查询并发控制? +--- +Presto 如何支持多租户查询?如何隔离不同租户的资源? +--- +在 Presto 中,如何通过分布式查询和多节点优化查询性能? +--- +Presto 如何与 Kafka 集成?如何处理流式数据查询? +--- +Presto 是如何处理查询执行计划的?如何优化查询执行计划? +--- +在 Presto 中,如何进行高效的数据聚合操作? +--- +Presto 的查询缓存机制是如何实现的?如何配置缓存以提高性能? +--- +Presto 是如何通过数据分片提高查询效率的? +--- +Presto 如何实现跨数据源查询的一致性?如何保证查询结果的准确性? +--- +Presto 的容错机制是如何设计的?如何应对节点故障? +--- +在 Presto 中,如何通过动态资源分配优化查询性能? +--- +Presto 是如何通过分布式架构支持大规模查询并发的? +--- +Presto 如何与 Spark 和 Flink 集成?如何处理批处理和流处理的数据? +--- +Presto 的查询优化器是如何工作的?如何在大规模数据集下优化查询计划? +--- +在 Presto 中,如何配置和优化任务调度以提高集群性能? +--- +Presto 如何通过列式存储(如 Parquet、ORC)提高查询效率? +--- +Presto 的跨数据源 JOIN 是如何实现的?如何优化跨源查询? +--- +Presto 是如何处理海量数据查询的负载均衡问题的? +--- +在 Presto 中,如何结合机器学习算法进行数据查询和分析? +--- +Presto 是如何通过智能查询优化器处理复杂查询的? +--- +如何在 Presto 中处理多租户环境下的安全性和权限管理问题? +--- diff --git a/PySpark 面试题.md b/PySpark 面试题.md new file mode 100644 index 0000000..77efefc --- /dev/null +++ b/PySpark 面试题.md @@ -0,0 +1,96 @@ +什么是 PySpark?它的主要应用场景是什么? +--- +在 PySpark 中,如何创建一个基本的 SparkSession? +--- +PySpark 中的 RDD 是什么?它的特点是什么? +--- +在 PySpark 中,如何将 Python 的列表转换为 RDD? +--- +在 PySpark 中,如何使用 filter() 函数过滤 RDD 中的数据? +--- +PySpark 中的 DataFrame 是什么?与 RDD 相比有哪些优势? +--- +在 PySpark 中,如何从 CSV 文件加载数据到 DataFrame? +--- +PySpark 中的 map() 和 flatMap() 有什么区别? +--- +在 PySpark 中,如何使用 groupBy() 和 agg() 进行数据聚合操作? +--- +如何在 PySpark 中进行简单的 SQL 查询? +--- +PySpark 是如何实现懒执行的?懒执行的优势是什么? +--- +在 PySpark 中,如何使用 join() 实现两个 DataFrame 的连接操作? +--- +PySpark 中的广播变量是什么?它的作用是什么? +--- +在 PySpark 中,如何使用 cache() 和 persist() 提高计算性能? +--- +PySpark 中的 reduceByKey() 和 groupByKey() 有什么区别? +--- +如何在 PySpark 中通过 SQL 查询 Hive 表? +--- +在 PySpark 中,如何处理数据倾斜问题?有哪些常见的优化方法? +--- +PySpark 中的窗口函数是什么?如何使用窗口函数进行数据计算? +--- +PySpark 中的分区器是什么?如何自定义分区器? +--- +在 PySpark 中,如何通过 repartition() 和 coalesce() 调整分区数? +--- +PySpark 是如何进行故障恢复的?常见的容错机制有哪些? +--- +在 PySpark 中,如何使用 UDF 进行自定义操作? +--- +PySpark 中的 DAG 是如何工作的?它在任务调度中的作用是什么? +--- +在 PySpark 中,如何使用累加器进行全局共享变量的操作? +--- +PySpark 中的 window() 函数如何与时间窗口结合使用? +--- +PySpark 如何与 Hadoop 集成?如何在 HDFS 上读写数据? +--- +在 PySpark 中,如何处理大规模数据集的内存优化问题? +--- +PySpark 是如何执行任务调度的?如何优化任务调度过程? +--- +在 PySpark 中,如何使用 checkpoint() 对中间结果进行检查点操作? +--- +PySpark 中的 SparkSQL 是如何工作的?如何通过 SQL 进行数据处理? +--- +在 PySpark 中,如何进行数据的二次排序? +--- +PySpark 中的 Catalyst 优化器是如何工作的?如何优化查询性能? +--- +PySpark 如何通过广播 join 优化小表与大表的连接操作? +--- +在 PySpark 中,如何实现复杂的 ETL 作业?有哪些常见的优化策略? +--- +PySpark 如何通过 Spark Streaming 实现实时数据处理? +--- +PySpark 中的 Shuffle 操作是什么?如何优化 Shuffle 性能? +--- +PySpark 中的 Tungsten 项目是什么?它如何提升内存和 CPU 的性能? +--- +在 PySpark 中,如何通过自定义分区器优化数据的分布和处理? +--- +PySpark 如何与 Kafka 集成进行流式数据处理? +--- +在 PySpark 中,如何通过动态分区插入优化大数据写入性能? +--- +PySpark 中的执行计划是如何生成的?如何使用 explain() 查看执行计划? +--- +PySpark 中的性能调优有哪些常见的策略?如何优化大规模数据集的处理? +--- +在 PySpark 中,如何实现数据倾斜处理?有哪些调优方案? +--- +PySpark 如何处理机器学习任务?如何通过 MLlib 进行模型训练和评估? +--- +在 PySpark 中,如何优化 SQL 查询的执行性能?有哪些常见的优化方法? +--- +PySpark 中的 RDD.cache() 和 DataFrame.cache() 有什么区别?它们的使用场景是什么? +--- +在 PySpark 中,如何处理大规模 Join 操作?如何通过调优提升 Join 性能? +--- +PySpark 是如何与 Delta Lake 集成的?如何实现数据湖的高效管理? +--- diff --git a/Python 代码分析面试题.md b/Python 代码分析面试题.md new file mode 100644 index 0000000..0ca925d --- /dev/null +++ b/Python 代码分析面试题.md @@ -0,0 +1,16 @@ +请讲解以下 Python 代码的含义? +--- +假设你使用的是官方的 CPython,说出下面代码的运行结果 +--- +以下 Python 程序的运行结果是? +--- +以下 Python 程序的运行结果是? +--- +以下 Python 程序的运行结果是? +--- +以下 Python 程序的运行结果是? +--- +以下 Python 程序的运行结果是? +--- +以下 Python 程序的运行结果是? +--- diff --git a/Python 手写代码面试题.md b/Python 手写代码面试题.md new file mode 100644 index 0000000..f13e3b2 --- /dev/null +++ b/Python 手写代码面试题.md @@ -0,0 +1,50 @@ +编写 Python 程序,计算文件中的大写字母数量 +--- +Python 如何随机打乱列表中的元素? +--- +编写 Python 程序,查找文本文件中最长的单词 +--- +编写 Python 程序,检查序列是否为回文 +--- +编写 Python 程序,打印斐波那契数列的前十项 +--- +编写 Python 程序,计算文件中单词的出现频率 +--- +编写 Python 程序,输出给定序列中的所有质数 +--- +编写 Python 程序,检查数字是否为 Armstrong 数 +--- +用一行 Python 代码,从给定列表中取出所有偶数和奇数 +--- +在 Python 中如何实现单例模式? +--- +Python 如何不使用中间变量,交换两个变量的值? +--- +写一个 Python 删除列表中重复元素的函数,要求去重后元素相对位置保持不变 +--- +用 Python 代码实现 Python 内置函数 max +--- +写一个 Python 函数,统计传入的列表中每个数字出现的次数并返回对应的字典 +--- +编写 Python 程序来遍历一个文件夹 +--- +写一个 Python 函数,给定矩阵的阶数 n,输出一个螺旋式数字矩阵 +--- +编写 Python 程序,判断某个日期是这一年的第几天 +--- +写一个 Python 记录函数执行时间的装饰器 +--- +编写一个 Python 函数实现对逆波兰表达式求值,不能使用Python 的内置函数 +--- +对下面给出的 Python 字典,按值从大到小对键进行排序 +--- +按照题目要求写出对应的 Python 函数 +--- +按照题目要求写出对应的 Python 函数 +--- +按照题目要求写出对应的 Python 装饰器 +--- +写一个 Python 函数实现字符串反转,你有多少种实现方法? +--- +按照题目要求写出对应的 Python 函数 +--- diff --git a/Python 面试题.md b/Python 面试题.md new file mode 100644 index 0000000..8cbf969 --- /dev/null +++ b/Python 面试题.md @@ -0,0 +1,186 @@ +解释型语言 Python 和编译型语言有什么区别? +--- +Python3 中 is 和 == 有什么区别? +--- +Python 中 read、readline、readlines 有哪些区别? +--- +什么是 Python 面向对象中的继承特点? +--- +Python 中 any() 和 all() 方法有什么作用? +--- +说明 Python3 中装饰器的用法 +--- +说明 Python3 中 yield 的用法 +--- +说明 Python 中 enumerate() 的用法 +--- +解释 Python 中 //、% 和 ** 运算符 +--- +Python 有哪些特点和优点? +--- +Python 中深拷贝和浅拷贝有什么区别? +--- +Python 中的列表和元组有什么区别? +--- +什么是 Python 中的三元表达式? +--- +请简单介绍 Python 的 Flask 框架,有什么作用? +--- +如何在 Python 中管理内存? +--- +Python 中 help() 函数和 dir() 函数有什么作用? +--- +Python 程序退出时,是否释放所有内存分配? +--- +什么是 Python 的字典,有哪些用法? +--- +什么是 Python 的负索引? +--- +Python 中 join() 和 split() 函数有什么区别? +--- +Python 是否区分大小写? +--- +说明 Python 中标识符的命名规则 +--- +Python 中如何删除字符串中的前置空格? +--- +Python 中如何将字符串转换为小写? +--- +Python 的 pass 语句有什么作用? +--- +什么是 Python 的闭包? +--- +什么是 Python 的关系运算符? +--- +什么是 Python 的赋值和算术运算符? +--- +什么是 Python 的逻辑运算符? +--- +什么是 Python 的成员运算符? +--- +什么是 Python 的身份运算符? +--- +什么是 Python 的位运算符? +--- +如何在 Python 中使用多进制数字? +--- +Python 中如何获取字典的所有键? +--- +为什么 Python 不建议使用下划线开头的标识符? +--- +Python 如何声明多个变量并赋值? +--- +什么是 Python 元组的解封装? +--- +什么是 Python?为什么它会这么流行? +--- +请列举一些 Python 的应用场景 +--- +Python 有哪些局限性? +--- +请解释 Python 代码的执行过程? +--- +Python 有哪些内置数据结构? +--- +Python 中单引号和双引号有什么区别? +--- +Python 中 append、insert 和 extend 有什么区别? +--- +Python 中 break、continue、pass 有什么作用? +--- +Python 中 remove、del 和 pop 有什么区别? +--- +Python 中如何实现 switch 语句? +--- +Python 的 range 函数如何运用?请举例说明 +--- +如何更改 Python 列表的数据类型? +--- +Python 中怎么注释代码? +--- +Python 中的 != 和 is not 运算符有什么区别? +--- +Python 是否有 main 函数? +--- +Python 的 iterables 和 iterators 有什么区别? +--- +Python 中的 Map 函数有什么作用?怎么使用? +--- +Python 中的 Filter 函数有什么作用?怎么使用? +--- +Python 中 reduce 函数有什么作用?怎么使用? +--- +什么是 Python 的 pickling 和 unpickling? +--- +什么是 Python 的生成器? +--- +Python 中如何使用索引反转字符串? +--- +什么是 Python 的 Lambda 函数,有哪些应用场景? +--- +Python 的迭代器和生成器有什么区别? +--- +Python 正则表达式中 match 和 search 有什么区别? +--- +为什么 Python 中没有函数重载? +--- +Python 的 __**init__** 和 __**new__** 方法有什么区别? +--- +你知道哪些 Python 魔术方法? +--- +Python 函数参数 *arg 和 **kwargs 有什么区别?怎么使用? +--- +请介绍 Python 中变量的作用域? +--- +Python 2 和 Python 3 有什么区别? +--- +什么是 “猴子补丁”(monkey patching)? +--- +如何在 Python 中实现字符串替换操作? +--- +Python 在什么情况下会出现 KeyError、TypeError、ValueError? +--- +什么是 Python 中的模块和包? +--- +你知道哪些 Python 的编码规范? +--- +Python 的类和对象有什么区别? +--- +什么是 Python 类中的 self? +--- +init 方法在 Python 中有什么作用? +--- +什么是 Python 的 OOPS(面向对象编程)? +--- +什么是 Python 面向对象的抽象特性? +--- +什么是 Python 面向对象的封装特性? +--- +什么是 Python 面向对象的多态特性? +--- +Python 是否支持多重继承? +--- +什么是鸭子类型(duck typing)? +--- +为什么 Python 执行速度慢,如何改进? +--- +如何分析 Python 代码的执行性能? +--- +Python 中如何读取大文件,例如内存只有 4G,如何读取一个大小为 8G 的文件 +--- +你使用过哪些 Python 标准库模块? +--- +Python 的 re 模块中 split()、sub()、subn() 方法有什么作用? +--- +Python 的 namedtuple 有什么作用?怎么使用? +--- +说明 Python 中的 zip 函数 +--- +如何使用 Python 的 random 模块生成随机数、实现随机乱序和随机抽样? +--- +Python 中如何实现多线程? +--- +请介绍 Python 中多线程和多进程的应用场景,以及优缺点? +--- +请解释 Python 线程池的工作原理? +--- diff --git a/RabbitMQ 面试题.md b/RabbitMQ 面试题.md new file mode 100644 index 0000000..84e86d1 --- /dev/null +++ b/RabbitMQ 面试题.md @@ -0,0 +1,62 @@ +RabbitMQ 是什么?它有哪些主要应用场景? +--- +RabbitMQ 的基本架构是什么?包括哪些核心组件? +--- +如何在 RabbitMQ 中声明一个队列?有哪些必要参数? +--- +什么是 RabbitMQ 中的消费者和生产者? +--- +RabbitMQ 的交换机有哪几种类型?它们的工作方式是什么? +--- +在 RabbitMQ 中,如何确保消息不会丢失? +--- +如何在 RabbitMQ 中实现消息的持久化? +--- +RabbitMQ 的消息确认机制是如何工作的? +--- +RabbitMQ 中的 prefetch 参数的作用是什么? +--- +如何在 RabbitMQ 中配置消息的 TTL(过期时间)? +--- +什么是 RabbitMQ 中的死信队列(DLX)? +--- +在 RabbitMQ 中,如何实现延迟消息? +--- +RabbitMQ 中如何处理未被消费者确认的消息? +--- +如何在 RabbitMQ 中创建一个镜像队列? +--- +什么是 RabbitMQ 中的虚拟主机(vhost)?有什么作用? +--- +RabbitMQ 如何实现消息的路由?有哪些常见的路由策略? +--- +RabbitMQ 中的持久化队列与非持久化队列有什么区别? +--- +如何在 RabbitMQ 中处理消息的重复消费问题? +--- +在 RabbitMQ 中,如何防止消息堆积? +--- +RabbitMQ 中的消息如何确保顺序性? +--- +如何在 RabbitMQ 中设置队列的最大长度? +--- +在 RabbitMQ 集群中,节点间如何同步数据? +--- +RabbitMQ 的流控机制(Flow Control)是什么?为什么需要它? +--- +如何在 RabbitMQ 中实现消息的批量消费? +--- +什么是 RabbitMQ 中的分区问题?如何解决? +--- +RabbitMQ 如何与其他消息队列(如 Kafka)进行对比?它们适用的场景有哪些? +--- +RabbitMQ 的镜像队列和 Quorum Queue 有什么区别? +--- +RabbitMQ 的高可用集群模式有哪些?如何实现? +--- +RabbitMQ 如何通过插件扩展功能?常用的插件有哪些? +--- +如何确保 RabbitMQ 在极端情况下不会丢失消息? +--- +如何在 RabbitMQ 中实现消息幂等性? +--- diff --git a/React Router 面试题.md b/React Router 面试题.md new file mode 100644 index 0000000..7475f13 --- /dev/null +++ b/React Router 面试题.md @@ -0,0 +1,36 @@ +React Router 支持哪几种模式?请解释每种模式的实现原理 +--- +React Router 中的 Router 组件有几种类型? +--- +在 React Router 的 history 模式中,push 和 replace 方法有什么区别? +--- +React Router 中的 Switch 有什么作用? +--- +React Router 支持的路由模式有哪些? +--- +什么是 React Router ?常用的 Router 组件有哪些? +--- +React Router 的路由是什么?它和普通路由有什么区别?有什么优缺点? +--- +如何在 React 路由中实现动态加载模块,以实现按需加载? +--- +什么是 React Router?常用的 Router 组件有哪些? +--- +React Router 的路由变化时,如何重新渲染同一个组件? +--- +如何在 React Router 中设置重定向? +--- +在 React Router 中如何获取 URL 参数? +--- +如何配置 React Router 实现路由切换? +--- +React Router 4 和 React Router 3 有哪些变化?新增了哪些特性? +--- +在 React Router 中如何获取历史对象? +--- +React Router 的实现原理是什么? +--- +React 路由切换时,如果同一组件无法重新渲染,有哪些方法可以解决? +--- +React Router 中的 Link 标签和 HTML 的 a 标签有什么区别? +--- diff --git a/React 基础面试题.md b/React 基础面试题.md new file mode 100644 index 0000000..53234a2 --- /dev/null +++ b/React 基础面试题.md @@ -0,0 +1,214 @@ +如果 React 组件的属性没有传值,它的默认值是什么? +--- +React 中除了在构造函数中绑定 this,还有其他绑定 this 的方式么? +--- +如何在 React 中引入其他 UI 库,比如 tailwind? +--- +为什么在 React 中遍历时不建议使用索引作为唯一的 key 值? +--- +React Router 中的 Router 组件有几种类型? +--- +React 的 constructor 和 getInitialState 有什么区别? +--- +在 React 的 render 函数中,是否可以直接写 if else 判断?为什么? +--- +如何在 React 项目中引入图片?哪种方式更好? +--- +在 React 的 JSX 中,属性是否可以被覆盖?覆盖的原则是什么? +--- +在 React 中,如何操作虚拟 DOM 的 class 属性? +--- +如何在 React 中创建一个事件? +--- +什么是 React 中的受控组件?它的应用场景是什么? +--- +React 中的 mixins 有什么作用?适用于什么场景? +--- +在 React Router 的 history 模式中,push 和 replace 方法有什么区别? +--- +React 的 render 函数在什么情况下会被触发? +--- +React 15 和 React 16 对 IE 的支持版本分别是什么? +--- +为什么浏览器不能直接解析 React 的 JSX?怎么解决? +--- +React 事件绑定的方式有哪些?每种方式有什么区别? +--- +在 React 构造函数中调用 super(props) 的目的是什么? +--- +使用 create-react-app 创建新应用时,如果遇到卡顿的问题,如何解决? +--- +在 React 的 JSX 中如何写注释? +--- +React 中 Component 和 PureComponent 有什么区别? +--- +React 项目如何将多个组件嵌入到一个组件中? +--- +事件在 React 中是如何处理的? +--- +如何在 React 项目中开启生产模式? +--- +在 React 中,是否可以在 render 方法中访问 refs?为什么? +--- +在 React 中声明组件时,组件名的第一个字母是否必须是大写?为什么? +--- +React 的类组件和函数式组件有什么区别? +--- +React 的 render 函数返回的数据类型是什么? +--- +Redux 状态管理器与将变量挂载到 window 对象中有什么区别? +--- +React 的 state 和 setState 有什么区别? +--- +React 的 JSX 和 HTML 有什么区别? +--- +在 React 中,如何检验 props?为什么要验证 props? +--- +如何在 React JSX 中实现 for 循环? +--- +在 React 中,组件和元素有什么区别? +--- +什么是 React 的 propTypes?它有什么作用? +--- +什么是 React 的 childContextTypes?它的作用是什么? +--- +什么是 React 的 useState?为什么要使用 useState? +--- +如何在 React Router 中设置重定向? +--- +如何定时更新一个 React 组件? +--- +React 组件推荐的命名规范是什么?为什么不推荐使用 displayName? +--- +在 React 项目中,如何使用字体图标? +--- +在 React 的 JSX 中,如何使用自定义属性? +--- +在 React Router 中如何获取 URL 参数? +--- +React 的 getInitialState 方法有什么作用? +--- +使用 React 进行开发的方式有哪些? +--- +React 的 props.children.map 和 JS 的 map 有什么区别?为什么优先选择 React 的 map? +--- +React 的 createClass 是怎么实现的? +--- +React 的 createElement 和 cloneElement 有什么区别? +--- +React 项目中,什么时候使用箭头函数会更方便? +--- +什么是 React 中的非受控组件?它的应用场景是什么? +--- +在 React 中,如何将参数传递给事件处理函数? +--- +React 组件的构造函数是否必须存在? +--- +为什么 React 中的 props 被认为是只读的? +--- +使用 create-react-app 创建 React 项目有什么好处? +--- +React 中,如何防止 HTML 被转义? +--- +如何有条件地渲染 React 组件? +--- +在 React 的 componentWillUpdate 中是否可以直接修改 state 的值?为什么? +--- +React 中如何监听 state 的变化? +--- +React 中 Element 和 Component 有什么区别? +--- +什么是无状态组件?无状态组件的应用场景有哪些? +--- +React 中引入 CSS 的方式有哪些? +--- +什么是 React 的事件机制? +--- +在 React 中,super() 和 super(props) 有什么区别? +--- +React 中 setState 什么时候是同步的,什么时候是异步的? +--- +什么是 React 的实例?函数式组件是否有实例? +--- +说说真实 DOM 和虚拟 DOM 的区别?它们的优缺点是什么? +--- +React、React-dom 和 babel 的作用分别是什么? +--- +React 的 keys 是否需要设置为全局唯一?为什么? +--- +如何在 React 中创建一个事件?请举例说明 +--- +为什么说:在 React 中,一切都是组件? +--- +React 中 key 的作用是什么? +--- +如何在 React 中阻止事件的默认行为? +--- +React 生命周期有哪些阶段?每个阶段对应的函数是什么? +--- +React 的触摸事件有哪些? +--- +在 React Router 中如何获取历史对象? +--- +为什么在 React 项目标签中使用 htmlFor 而不是 for? +--- +React 中如何获取组件对应的 DOM 元素? +--- +如何将事件传递给 React 子组件? +--- +React 的事件与普通 HTML 事件有什么区别? +--- +React 处理表单输入的方法有哪些? +--- +什么是 React 中类组件和函数组件?它们有什么区别? +--- +React 的代码编写规范有哪些? +--- +相比于原生开发,React 框架的优缺点是什么? +--- +如何使用 React 开发任务记录网站?实现思路是什么? +--- +React 组件的 state 和 props 有什么区别? +--- +React 项目中,如何动态改变组件的 class 来切换样式? +--- +如果 React 的 Consumer 组件在上下文树中找不到 Provider,如何处理? +--- +React Router 中的 Link 标签和 HTML 的 a 标签有什么区别? +--- +如何使用 React 的 useState?请举例说明 +--- +React 框架的核心思想有哪些? +--- +React JSX 怎么进行内联条件渲染?请举例说明 +--- +React 是否必须使用 JSX?为什么? +--- +React 中,父子组件如何进行通信? +--- +使用 ES6 或 ES5 语法来编写 React 代码有什么区别? +--- +什么是 React 的 getDefaultProps?它有什么作用? +--- +React 的 displayName 属性有什么作用? +--- +React 中如何为非受控组件设置默认值? +--- +React 中有几种构建组件的方式?它们的区别是什么? +--- +React 组件的构造函数有什么作用? +--- +如果 React 的 render 函数中的 return 没有使用圆括号,会出现什么问题? +--- +在 React 自定义组件中,render 函数是可选的吗?为什么? +--- +为什么 React 不推荐直接修改 state?如果需要修改 state,应该如何操作? +--- +在 React 中,如何判断点击的元素属于哪个组件? +--- +什么是 React 受控组件和非受控组件?它们有什么区别? +--- +为什么在 React 中使用 className 而不是 class? +--- +React.createClass 和 extends Component 有哪些区别? +--- diff --git a/React 工具和库面试题.md b/React 工具和库面试题.md new file mode 100644 index 0000000..0e1ba6c --- /dev/null +++ b/React 工具和库面试题.md @@ -0,0 +1,180 @@ +什么是 React Intl?它有什么作用? +--- +什么是 MERN 脚手架?它有什么作用? +--- +有哪些 React 表单库?它们分别有什么优缺点? +--- +MERN 和 Yeoman 脚手架有什么区别? +--- +React 中使用 PropTypes 和 Flow 有什么区别? +--- +在 React 中,如何在页面重新加载时保留数据? +--- +如何在 React 中引入其他 UI 库,比如 tailwind? +--- +如何在 React 项目中引入图片?哪种方式更好? +--- +什么是 Suspense 组件?它解决了什么问题? +--- +什么是 loadable 组件?它解决了什么问题? +--- +如何在 React 项目中使用 Hooks 从服务端获取数据? +--- +如何在 React 中根据不同的环境打包不同的域名? +--- +在 React 中如何引用第三方插件,比如 Axios? +--- +React 15 和 React 16 对 IE 的支持版本分别是什么? +--- +为什么浏览器不能直接解析 React 的 JSX?怎么解决? +--- +React 项目中如何进行单元测试?可以使用哪些工具? +--- +如何在 React 项目中去除生产环境中的 sourcemap? +--- +使用 create-react-app 创建新应用时,如果遇到卡顿的问题,如何解决? +--- +React 的严格模式(Strict Mode)有什么作用? +--- +如何在 React 项目中开启生产模式? +--- +在 React 项目中,如何应用 TypeScript? +--- +在 React 项目中如何使用 async/await? +--- +在 React 中,如何检验 props?为什么要验证 props? +--- +React 应用的打包和发布过程是什么? +--- +从旧版本的 React 升级到新版本时,可能会有哪些问题? +--- +什么是 React 的 propTypes?它有什么作用? +--- +ES6 的扩展运算符 ... 在 React 中有哪些应用? +--- +在 React 项目中,如何使用字体图标? +--- +介绍一下 React 项目的结构? +--- +装饰器(Decorator)在 React 中有哪些应用场景? +--- +React 项目中如何引入 SVG 文件? +--- +使用 create-react-app 创建 React 项目有什么好处? +--- +React 中引入 CSS 的方式有哪些? +--- +在 React 中如何引用 Sass 或 Less? +--- +React、React-dom 和 babel 的作用分别是什么? +--- +什么是 React 的 formik 库?它有什么优缺点? +--- +在 React 项目中如何捕获和处理错误? +--- +什么是 React Devtools?它有什么作用和优缺点? +--- +React 是否必须使用 JSX?为什么? +--- +React Intl 是如何实现国际化的?它的原理是什么? +--- +什么是 Yeoman 脚手架?它有什么作用? +--- +使用 ES6 或 ES5 语法来编写 React 代码有什么区别? +--- +如何在 React 中动态导入组件? +--- +什么是 React 的 getDefaultProps?它有什么作用? +--- +React 的 displayName 属性有什么作用? +--- +在 React 开发中是否存在安全问题?如何解决这些问题? +--- +如何在 React 中实现组件的国际化? +--- +使用 Webpack 打包 React 项目时,如何减小生成的 JavaScript 文件大小? +--- +如果不使用脚手架,你如何手动搭建 React 项目? +--- +React Router 中的 Router 组件有几种类型? +--- +什么是 React 中的受控组件?它的应用场景是什么? +--- +在 React Router 的 history 模式中,push 和 replace 方法有什么区别? +--- +React Router 中的 Switch 有什么作用? +--- +React Router 支持的路由模式有哪些? +--- +React 项目如何将多个组件嵌入到一个组件中? +--- +什么是 React Router ?常用的 Router 组件有哪些? +--- +有哪些 React UI 库?它们有什么优缺点? +--- +如何在 React 中实现滚动动画? +--- +React Router 的路由是什么?它和普通路由有什么区别?有什么优缺点? +--- +如何在 React 路由中实现动态加载模块,以实现按需加载? +--- +你在项目中是如何划分 React 组件的? +--- +什么是 React Router?常用的 Router 组件有哪些? +--- +React Router 的路由变化时,如何重新渲染同一个组件? +--- +如何解决 React 中 props 层级过深的问题? +--- +什么是 React 的高阶组件 HOC?它与普通组件有什么区别?它的优缺点和应用场景是什么? +--- +如何在 React Router 中设置重定向? +--- +在 React Router 中如何获取 URL 参数? +--- +React 的 props.children.map 和 JS 的 map 有什么区别?为什么优先选择 React 的 map? +--- +什么是 React 中的非受控组件?它的应用场景是什么? +--- +如何配置 React Router 实现路由切换? +--- +在 React 中,如何实现组件间的过渡动画? +--- +如何封装一个 React 的全局公共组件? +--- +在 React 中,组件间的过渡动画如何实现? +--- +React Router 4 和 React Router 3 有哪些变化?新增了哪些特性? +--- +在 React Router 中如何获取历史对象? +--- +如何使用高阶组件(HOC)实现一个 loading 组件? +--- +React Router 的实现原理是什么? +--- +React 处理表单输入的方法有哪些? +--- +什么是 React 中类组件和函数组件?它们有什么区别? +--- +什么是 RxJS?它的主要用途是什么? +--- +如何使用 React 开发任务记录网站?实现思路是什么? +--- +什么是 Ant Design(Antd)?它有什么优点? +--- +React 路由切换时,如果同一组件无法重新渲染,有哪些方法可以解决? +--- +React Router 中的 Link 标签和 HTML 的 a 标签有什么区别? +--- +创建 React 动画的方式有哪些? +--- +什么是高阶组件 HOC 的属性代理? +--- +在 React 项目中,你使用过哪些动画库? +--- +React 中展示组件和容器组件有什么区别? +--- +React Router 支持哪几种模式?请解释每种模式的实现原理 +--- +什么是高阶组件 HOC 的反向继承? +--- diff --git a/React 状态管理面试题.md b/React 状态管理面试题.md new file mode 100644 index 0000000..eddabd8 --- /dev/null +++ b/React 状态管理面试题.md @@ -0,0 +1,134 @@ +Redux 如何实现多个组件之间的通信?多个组件使用相同状态时如何进行管理? +--- +Redux 中间件的实现原理是什么? +--- +什么是 React 的状态提升?使用场景有哪些? +--- +Redux 中如何设置初始状态? +--- +React 组件间共享数据的方法有哪些? +--- +请描述点击按钮触发到状态更改的数据流向。 +--- +什么是 Flux?它的设计思想是什么?有哪些应用场景? +--- +React 状态管理器的核心精髓是什么? +--- +redux-saga 的实现原理是怎样的? +--- +React 状态管理 MobX 的设计思想是什么? +--- +Redux 中如何处理异步请求? +--- +当 React 的多个组件有自己的 state,同时需要维护一些公共状态时,该如何设计和管理这些状态? +--- +Redux 和 Flux 的区别是什么? +--- +MobX 和 Redux 状态管理有什么区别? +--- +Redux 有哪些优缺点? +--- +Redux 的中间件是什么?有哪些常用的 Redux 中间件? +--- +Redux 的 store 是什么? +--- +Redux 中如何重置状态? +--- +Redux 状态管理器与将变量挂载到 window 对象中有什么区别? +--- +什么是 React 的 contextType?它的作用是什么? +--- +在 Redux 中如何发起网络请求? +--- +Redux 中间件如何获取 store 和 action?它们是如何处理的? +--- +什么是 React 的 childContextTypes?它的作用是什么? +--- +在 React 中,如何使用 Context API? +--- +请解释 Redux 的核心概念、设计思想、工作流程和工作原理? +--- +Redux 是否建议在 reducer 中触发 Action?为什么? +--- +Redux 的数据存储和本地存储有什么区别? +--- +什么是 redux-saga 中间件?它有什么作用? +--- +Redux 如何添加新的中间件? +--- +Redux 请求中间件如何处理并发请求? +--- +为什么 Redux 能做到局部渲染? +--- +为什么 React 并不推荐优先使用 Context API? +--- +React 的 state 是如何注入到组件中的?从 reducer 到组件经历了怎样的过程? +--- +什么是 React 状态管理 MobX?它的应用场景有哪些? +--- +Redux 底层如何实现属性传递? +--- +如何在 React 中实现双向绑定,并将其抽象成公共组件? +--- +Redux 的 action 是什么?如何在 Redux 中定义 action? +--- +什么是单一数据源?React 中怎么实现单一数据源? +--- +除了实例属性,React 的 Context 还可以通过哪些方式直接获取? +--- +什么是 Redux?说说你对 Redux 的理解?有哪些应用场景? +--- +React 的 Context API 能否取代 Redux?为什么? +--- +React 项目接入 Redux 的过程是什么?connect 的绑定过程是怎样的?connect 的原理是什么? +--- +Redux 和 Vuex 状态管理有什么区别?它们的共同思想是什么? +--- +redux-saga 和 Mobx 有什么区别? +--- +React 中,非父子组件如何进行通信? +--- +在 React 和 Redux 中,哪些功能使用了设计模式? +--- +Redux 数据流的流程是怎样的? +--- +redux-saga 和 redux-thunk 有什么本质区别? +--- +Redux 中间件接受几个参数?柯里化函数的两端参数具体是什么? +--- +如果 React 的 Consumer 组件在上下文树中找不到 Provider,如何处理? +--- +React 的状态管理器解决了什么问题?何时使用状态管理器? +--- +Redux 的三个原则是什么? +--- +React 中,父子组件如何进行通信? +--- +React 中,兄弟组件如何进行通信? +--- +Redux 的 reducer 是什么?它有什么作用? +--- +在 React 项目中,你会怎么实现异步能力? +--- +什么是 React 的 Redux?它主要解决了什么问题?它有哪些应用场景? +--- +React 中,非兄弟组件如何进行通信? +--- +Redux 由哪些组件构成? +--- +React 的 Context API 有哪些主要属性? +--- +Redux 中异步 action 和同步 action 有什么区别? +--- +什么是 React 受控组件和非受控组件?它们有什么区别? +--- +Redux 的 thunk 有什么作用? +--- +在 React 项目中如何使用 Redux?项目结构如何划分? +--- +什么是 React 的 Consumer 组件?它有什么作用? +--- +为什么要使用 Vuex 或者 Redux 状态管理?能够解决什么问题? +--- +Redux 和 Vuex 有什么区别?它们的共同设计思想是什么? +--- diff --git a/React 进阶面试题.md b/React 进阶面试题.md new file mode 100644 index 0000000..3124582 --- /dev/null +++ b/React 进阶面试题.md @@ -0,0 +1,454 @@ +为什么 React 使用虚拟 DOM 来提高性能? +--- +Redux 如何实现多个组件之间的通信?多个组件使用相同状态时如何进行管理? +--- +什么是 React Intl?它有什么作用? +--- +什么是 MERN 脚手架?它有什么作用? +--- +有哪些 React 表单库?它们分别有什么优缺点? +--- +MERN 和 Yeoman 脚手架有什么区别? +--- +React 中使用 PropTypes 和 Flow 有什么区别? +--- +在 React 中,如何在页面重新加载时保留数据? +--- +Redux 中间件的实现原理是什么? +--- +什么是 React 的状态提升?使用场景有哪些? +--- +Redux 中如何设置初始状态? +--- +React 中 setState 的执行机制和实现原理是什么? +--- +React 项目中怎么实现数据持久化? +--- +React 的虚拟 DOM 和 Vue 的虚拟 DOM 有什么区别? +--- +什么是 Suspense 组件?它解决了什么问题? +--- +什么是 loadable 组件?它解决了什么问题? +--- +如何在 React 项目中使用 Hooks 从服务端获取数据? +--- +React 组件间共享数据的方法有哪些? +--- +React 的 setState 批量更新的过程是什么? +--- +React 中 render 函数的原理是什么? +--- +如何在 React 中让编译器生成生产环境版本? +--- +如何解决在 React 的 pureComponent 下引用类型修改值时页面不渲染的问题? +--- +在 React 16.x 中,props 改变后应该在生命周期的哪个阶段处理? +--- +如何在 React 中根据不同的环境打包不同的域名? +--- +在 React 中如何更新组件的状态?状态改变的过程是什么? +--- +React 项目如何实现服务端渲染?它的原理是什么? +--- +React 组件卸载前,DOM 元素上的监听事件和定时器是否需要手动清除?为什么? +--- +在 React 组件中如何实现事件代理?它的原理是什么? +--- +什么是 React 中的浅层渲染(shallow rendering)? +--- +请描述点击按钮触发到状态更改的数据流向。 +--- +在 React 中如何引用第三方插件,比如 Axios? +--- +React 的工作(渲染)原理是怎样的? +--- +React 新版本 18 解决了哪些问题?新增了哪些功能? +--- +什么是 Flux?它的设计思想是什么?有哪些应用场景? +--- +React Router 中的 Switch 有什么作用? +--- +React 项目中如何进行单元测试?可以使用哪些工具? +--- +React 状态管理器的核心精髓是什么? +--- +如何在 React 项目中去除生产环境中的 sourcemap? +--- +React 如何进行数据检查和变化处理? +--- +React 和 Vue 的 diff 时间复杂度从 O(n³) 优化到 O(n),那么 O(n³) 和 O(n) 是如何计算出来的? +--- +React 组件声明的方法有哪些?各有什么不同? +--- +React 的 isMounted 函数有什么作用? +--- +如何实现 React 组件的记忆?它的原理是什么? +--- +redux-saga 的实现原理是怎样的? +--- +React Router 支持的路由模式有哪些? +--- +React 15 和 React 16.x 的主要区别是什么? +--- +React 的严格模式(Strict Mode)有什么作用? +--- +React 状态管理 MobX 的设计思想是什么? +--- +Redux 中如何处理异步请求? +--- +当 React 的多个组件有自己的 state,同时需要维护一些公共状态时,该如何设计和管理这些状态? +--- +如何在 React 中实现一个全局的 Dialog 组件? +--- +React 的 shouldComponentUpdate 有什么用?主要解决了什么问题? +--- +Redux 和 Flux 的区别是什么? +--- +MobX 和 Redux 状态管理有什么区别? +--- +什么是 React Router ?常用的 Router 组件有哪些? +--- +有哪些 React UI 库?它们有什么优缺点? +--- +如何在 React 中实现滚动动画? +--- +React Router 的路由是什么?它和普通路由有什么区别?有什么优缺点? +--- +在 React 项目中,如何应用 TypeScript? +--- +React 开发中有哪些最佳实践? +--- +React 中,什么是合成事件?它的作用是什么? +--- +Redux 有哪些优缺点? +--- +Redux 的中间件是什么?有哪些常用的 Redux 中间件? +--- +如何在 React 路由中实现动态加载模块,以实现按需加载? +--- +Redux 的 store 是什么? +--- +什么是 React 的 useReducer?它有什么作用? +--- +Redux 中如何重置状态? +--- +你在项目中是如何划分 React 组件的? +--- +什么是 React Router?常用的 Router 组件有哪些? +--- +在 React 项目中如何使用 async/await? +--- +React 的 setState 的第二个参数作用是什么? +--- +React Router 的路由变化时,如何重新渲染同一个组件? +--- +React JSX 转换成真实 DOM 的过程是怎么样的? +--- +React 中的 setState 是同步还是异步的?为什么 state 的更新不一定是同步的? +--- +React 是如何判断何时重新渲染组件的? +--- +如何提高 React 列表渲染的性能? +--- +React 的 key 属性的作用是什么?为什么要添加 key?key 主要解决了什么问题? +--- +React 应用的打包和发布过程是什么? +--- +如何解决 React 中 props 层级过深的问题? +--- +从旧版本的 React 升级到新版本时,可能会有哪些问题? +--- +什么是 React 的 reconciliation(协调)算法? +--- +什么是 React 的 contextType?它的作用是什么? +--- +在 Redux 中如何发起网络请求? +--- +什么是 React 的 useImperativeHandle?它有什么作用? +--- +Redux 中间件如何获取 store 和 action?它们是如何处理的? +--- +什么是渲染劫持(render hijacking)?它的应用场景是什么? +--- +什么是 React 的高阶组件 HOC?它与普通组件有什么区别?它的优缺点和应用场景是什么? +--- +ES6 的扩展运算符 ... 在 React 中有哪些应用? +--- +为什么使用 React.memo 和 React.forwardRef 包装的组件会提示 children 类型不匹配? +--- +在 React 中,如何使用 Context API? +--- +请解释 Redux 的核心概念、设计思想、工作流程和工作原理? +--- +Redux 是否建议在 reducer 中触发 Action?为什么? +--- +在使用 React 的过程中,你遇到过哪些问题?又是如何解决的? +--- +什么是 React 的插槽(Portals)?请举例说明 React 插槽的应用场景 +--- +Redux 的数据存储和本地存储有什么区别? +--- +介绍一下 React 项目的结构? +--- +什么是 redux-saga 中间件?它有什么作用? +--- +使用 React 进行开发的方式有哪些? +--- +React 异步渲染的概念是什么?什么是 Time Slicing 和 Suspense? +--- +Redux 如何添加新的中间件? +--- +Redux 请求中间件如何处理并发请求? +--- +为什么 Redux 能做到局部渲染? +--- +装饰器(Decorator)在 React 中有哪些应用场景? +--- +React 的性能优化主要集中在哪个生命周期?它的优化原理是什么? +--- +为什么 React 并不推荐优先使用 Context API? +--- +React 的 state 是如何注入到组件中的?从 reducer 到组件经历了怎样的过程? +--- +React 项目中,使用单向数据流有什么好处? +--- +React 的函数式组件是否具有生命周期?为什么? +--- +为什么不建议过度使用 React 的 Refs? +--- +为什么建议 React 中 setState 的第一个参数使用回调函数而不是一个对象? +--- +什么是 React 状态管理 MobX?它的应用场景有哪些? +--- +React 项目中如何引入 SVG 文件? +--- +如何配置 React Router 实现路由切换? +--- +React 的执行流程是怎样的?可以从源码的角度深入说明 +--- +React 是什么?它的主要特点有哪些? +--- +在 React 中,如何实现组件间的过渡动画? +--- +React 的 useEffect 和 useLayoutEffect 有什么区别? +--- +如何封装一个 React 的全局公共组件? +--- +在 React 中,组件间的过渡动画如何实现? +--- +React 中 refs 的作用是什么?有哪些应用场景? +--- +Redux 底层如何实现属性传递? +--- +React 的 useState 和 this.state 有什么区别? +--- +如何在 React 中实现双向绑定,并将其抽象成公共组件? +--- +在 React 项目中,如何进行静态类型检测? +--- +React 事件绑定的原理是怎样的? +--- +React 的 componentWillReceiveProps 的触发条件是什么? +--- +在 React 中如何进行状态管理? +--- +React 性能优化的方法有哪些?比如怎么提升组件渲染效率? +--- +React 有哪些优秀的特性?是怎么实现的? +--- +Redux 的 action 是什么?如何在 Redux 中定义 action? +--- +什么是单一数据源?React 中怎么实现单一数据源? +--- +在 React 中,发起网络请求应该放在生命周期的哪个阶段?为什么? +--- +在 React 中,修改 props 会引发哪些生命周期函数? +--- +什么是 React 的 immutable?它有什么作用?如何使用? +--- +在 React 的渲染过程中,当兄弟节点的 key 值不同的时候,它们是如何处理的? +--- +在 React 中如何引用 Sass 或 Less? +--- +说一下你对虚拟 DOM(vnode)的理解。虚拟 DOM 的引入与直接操作原生 DOM 相比,哪一个性能更高?为什么? +--- +React 项目使用 Hooks 时需要遵守哪些原则? +--- +React Native 和 React 有什么区别? +--- +在 React 中,调用 setState 会更新哪些生命周期函数? +--- +什么是 React 的 formik 库?它有什么优缺点? +--- +什么是 React.forwardRef?它的作用是什么? +--- +React Router 4 和 React Router 3 有哪些变化?新增了哪些特性? +--- +除了实例属性,React 的 Context 还可以通过哪些方式直接获取? +--- +如何让 React 跳过重新渲染? +--- +什么是 React 的 Error Boundaries?它有什么作用? +--- +在 React 中,如何阻止组件渲染? +--- +什么是 Redux?说说你对 Redux 的理解?有哪些应用场景? +--- +React 的 Context API 能否取代 Redux?为什么? +--- +React 的虚拟 DOM 是如何实现的? +--- +React 中多个 setState 调用的原理是什么? +--- +React 的 immutable 的原理是什么? +--- +如何使用高阶组件(HOC)实现一个 loading 组件? +--- +React Router 的实现原理是什么? +--- +React 有状态组件和无状态组件有什么区别?它们的优缺点和使用场景是什么? +--- +React 项目接入 Redux 的过程是什么?connect 的绑定过程是怎样的?connect 的原理是什么? +--- +Redux 和 Vuex 状态管理有什么区别?它们的共同思想是什么? +--- +React Fiber 算法的原理是什么?相比于之前的 stack 算法,Fiber 做了哪些优化? +--- +什么是 RxJS?它的主要用途是什么? +--- +redux-saga 和 Mobx 有什么区别? +--- +React 中,非父子组件如何进行通信? +--- +当 React 组件有很多属性时,不想一个个设置,怎么解决? +--- +React 和 Vue 框架有哪些异同点? +--- +在 React 和 Redux 中,哪些功能使用了设计模式? +--- +Redux 数据流的流程是怎样的? +--- +redux-saga 和 redux-thunk 有什么本质区别? +--- +Redux 中间件接受几个参数?柯里化函数的两端参数具体是什么? +--- +什么是 React 的 Fiber 架构?它解决了什么问题? +--- +React 中 keys 的作用是什么? +--- +React 组件的更新机制是怎样的? +--- +什么是 Ant Design(Antd)?它有什么优点? +--- +React 路由切换时,如果同一组件无法重新渲染,有哪些方法可以解决? +--- +React 中 DOM 结构发生变化后,内部经历了哪些变化? +--- +使用 ES6 的 class 定义的 React 组件不再支持 mixins,可以用什么替代? +--- +在 React 项目中如何捕获和处理错误? +--- +在 React 中,如何避免不必要的 render 被触发? +--- +什么是 React 的业务组件和技术组件?有什么区别? +--- +React 16 相比之前版本在生命周期函数上有哪些变化? +--- +什么是 React Devtools?它有什么作用和优缺点? +--- +什么是 React 的 windowing? +--- +创建 React 动画的方式有哪些? +--- +什么是高阶组件 HOC 的属性代理? +--- +React 的状态管理器解决了什么问题?何时使用状态管理器? +--- +React 如何进行代码拆分?拆分的原则是什么? +--- +Redux 的三个原则是什么? +--- +React Intl 是如何实现国际化的?它的原理是什么? +--- +React 的 setState 有什么缺点? +--- +React 中,兄弟组件如何进行通信? +--- +你是否阅读过 React 源码?它的源码有哪些值得学习的地方? +--- +什么是 React Context?它有什么作用? +--- +React 的 setState 和 replaceState 有什么区别? +--- +什么是 Yeoman 脚手架?它有什么作用? +--- +如何在 React 中使用 innerHTML? +--- +Redux 的 reducer 是什么?它有什么作用? +--- +在 React 项目中,你会怎么实现异步能力? +--- +什么是 React 的 Redux?它主要解决了什么问题?它有哪些应用场景? +--- +如何在 React 中动态导入组件? +--- +什么是 React 的 Hooks?它有哪些应用场景? +--- +在 React 开发中是否存在安全问题?如何解决这些问题? +--- +在 React 项目中,你使用过哪些第三方中间件? +--- +React 中的事件处理逻辑是怎样的? +--- +React 的生命周期函数有哪些?它们的作用是什么? +--- +React 组件间的通信方式有哪些? +--- +如何在 React 中实现组件的国际化? +--- +React 中,非兄弟组件如何进行通信? +--- +React 16 中的 reconciliation 和 commit 阶段分别是什么? +--- +在 React 项目中,你使用过哪些动画库? +--- +React 中展示组件和容器组件有什么区别? +--- +什么是 React 的 Fragment 包裹元素?它有哪些应用场景?它的简写是什么? +--- +Redux 由哪些组件构成? +--- +React 16 引入了哪些新特性? +--- +使用 Webpack 打包 React 项目时,如何减小生成的 JavaScript 文件大小? +--- +在 React 中,组件的 props 改变时,更新组件的方法有哪些? +--- +React 的 Context API 有哪些主要属性? +--- +Redux 中异步 action 和同步 action 有什么区别? +--- +React Router 支持哪几种模式?请解释每种模式的实现原理 +--- +Redux 的 thunk 有什么作用? +--- +什么是 React 的 useRef?它有什么作用? +--- +什么是 React 的 useEffect?它有什么作用? +--- +在 React 项目中如何使用 Redux?项目结构如何划分? +--- +如果不使用脚手架,你如何手动搭建 React 项目? +--- +什么是高阶组件 HOC 的反向继承? +--- +如何在 React 中为一个 button 元素绑定点击事件? +--- +什么是 React 的 diff 算法?它的原理是什么? +--- +什么是 React 的纯函数?它有哪些特点? +--- +React、Angular 和 Vue 有什么主要区别? +--- +什么是 React 的 Consumer 组件?它有什么作用? +--- diff --git a/Redis 面试题.md b/Redis 面试题.md new file mode 100644 index 0000000..31a9bfa --- /dev/null +++ b/Redis 面试题.md @@ -0,0 +1,106 @@ +Redis 主从复制的实现原理是什么? +--- +Redis 集群的实现原理是什么? +--- +Redis 通常应用于哪些场景? +--- +Redis 为什么这么快? +--- +为什么 Redis 设计为单线程?6.0 版本为何引入多线程? +--- +Redis 中常见的数据类型有哪些? +--- +Redis 中跳表的实现原理是什么? +--- +Redis 的 hash 是什么? +--- +Redis 和 Memcached 有哪些区别? +--- +Redis 支持事务吗?如何实现? +--- +Redis 数据过期后的删除策略是什么? +--- +Redis 中有哪些内存淘汰策略? +--- +Redis 的 Lua 脚本功能是什么?如何使用? +--- +Redis 的 Pipeline 功能是什么? +--- +Redis 中的 Big Key 问题是什么?如何解决? +--- +如何解决 Redis 中的热点 key 问题? +--- +Redis 的持久化机制有哪些? +--- +Redis 在生成 RDB 文件时如何处理请求? +--- +Redis 的哨兵机制是什么? +--- +Redis 集群会出现脑裂问题吗? +--- +Redis 的订阅发布功能是什么?你了解吗? +--- +Redis 中如何实现分布式锁? +--- +分布式锁在未完成逻辑前过期怎么办? +--- +Redis 的 Red Lock 是什么?你了解吗? +--- +Redis 实现分布式锁时可能遇到的问题有哪些? +--- +Redis 中的缓存击穿、缓存穿透和缓存雪崩是什么? +--- +Redis 中如何保证缓存与数据库的数据一致性? +--- +Redis String 类型的底层实现是什么?(SDS) +--- +如何使用 Redis 快速实现排行榜? +--- +如何使用 Redis 快速实现布隆过滤器? +--- +如何使用 Redis 统计大量用户唯一访问量(UV)? +--- +Redis 中的 Geo 数据结构是什么? +--- +你在项目中使用的 Redis 客户端是什么? +--- +Redis 字符串类型的最大值大小是多少? +--- +Redis 性能瓶颈时如何处理? +--- +Redis 中 EMBSTR 对象的阈值设置为何为 44?其调整历史是什么? +--- +Redis 中原生批处理命令(MSET、MGET)与 Pipeline 的区别是什么? +--- +Redis 主从复制的常见拓扑结构有哪些? +--- +Redis List 类型的常见操作命令有哪些? +--- +如何在 Redis 中实现队列和栈数据结构? +--- +Redis 中的 Ziplist 和 Quicklist 数据结构的特点是什么? +--- +Redis 复制延迟的常见原因有哪些? +--- +Redis 事务与关系型数据库事务的主要区别是什么? +--- +Redis Cluster 模式与 Sentinel 模式的区别是什么? +--- +Redis 的 ListPack 数据结构是什么? +--- +Redis 中的内存碎片化是什么?如何进行优化? +--- +Redis 的虚拟内存(VM)机制是什么? +--- +在 Redis 集群中,如何根据键定位到对应的节点? +--- +Redis 源码中有哪些巧妙的设计,举几个典型的例子? +--- +说说 Redisson 分布式锁的原理? +--- +Redis Zset 的实现原理是什么? +--- +为什么 Redis Zset 用跳表实现而不是红黑树?B+树? +--- +Redisson 看门狗(watch dog)机制了解吗? +--- diff --git a/RocketMQ 面试题.md b/RocketMQ 面试题.md new file mode 100644 index 0000000..e59cf68 --- /dev/null +++ b/RocketMQ 面试题.md @@ -0,0 +1,60 @@ +RocketMQ 是什么?它有哪些主要应用场景? +--- +RocketMQ 的 Producer 和 Consumer 的工作原理是什么? +--- +RocketMQ 中的 Topic 和 Tag 有什么区别? +--- +RocketMQ 中如何实现消息的同步与异步发送? +--- +RocketMQ 的消息消费有几种方式?各自适用于什么场景? +--- +什么是 RocketMQ 的消息重试机制?如何配置? +--- +RocketMQ 中如何设置消息的延迟级别? +--- +RocketMQ 的广播模式与集群模式有什么区别? +--- +RocketMQ 的消息过滤是如何实现的? +--- +在 RocketMQ 中,如何确保消息不会重复消费? +--- +RocketMQ 中的消息堆积是什么?如何处理消息堆积? +--- +RocketMQ 如何确保消息的可靠投递? +--- +在 RocketMQ 中,什么是事务消息?如何实现分布式事务? +--- +RocketMQ 的消费位点(Offset)是如何管理的? +--- +如何在 RocketMQ 中配置消息的持久化? +--- +RocketMQ 中的消息顺序性是如何保证的? +--- +RocketMQ 的主从架构是如何实现的? +--- +RocketMQ 中的消费负载均衡是如何工作的? +--- +在 RocketMQ 中,如何配置并发消费和顺序消费? +--- +RocketMQ 的 NameServer 的作用是什么?它如何进行服务发现? +--- +RocketMQ 中的死信消息是什么? +--- +如何在 RocketMQ 中实现消息的高可用? +--- +RocketMQ 中的消息存储机制是如何设计的? +--- +RocketMQ 的日志存储结构是什么?如何优化日志的写入性能? +--- +RocketMQ 的消息轨迹(Message Trace)如何启用?适用于哪些场景? +--- +RocketMQ 的批量消息是如何实现的?如何优化批量消息的性能? +--- +如何在 RocketMQ 中处理消息的乱序问题? +--- +RocketMQ 与 Kafka 的对比有哪些?各自的优势和劣势是什么? +--- +RocketMQ 的消息堆积过多时,如何进行系统调优? +--- +RocketMQ 的幂等性如何实现? +--- diff --git a/SQL 基础查询面试题.md b/SQL 基础查询面试题.md new file mode 100644 index 0000000..93884a2 --- /dev/null +++ b/SQL 基础查询面试题.md @@ -0,0 +1,64 @@ +编写 SQL,查询访问记录表中所有页面的页面 ID 和访问日期 +--- +编写 SQL,查询页面表中页面路径为 '/home' 的页面名称 +--- +编写 SQL,查询访问记录表中用户IP为 '192.168.1.1' 的所有记录 +--- +编写 SQL,查询用户表中性别为 '男' 的所有用户的用户名 +--- +编写 SQL,查询页面表中所有页面的页面 ID,并按页面 ID 升序排序 +--- +编写 SQL,查询访问记录表中每个页面的总访问次数 +--- +编写 SQL,查询用户表中注册日期最早的 3 个用户的用户名和注册日期 +--- +编写 SQL,查询访问记录表中每个用户的总访问次数 +--- +编写 SQL,查询用户表中年龄在 25 岁及以下的所有用户的用户名和年龄 +--- +编写 SQL,查询用户表中每个性别的用户数量 +--- +编写 SQL,查询用户表中年龄在 25 岁及以下且性别为 '女' 的用户的用户名 +--- +编写 SQL,查询用户表中注册日期在 2024 年 1 月 1 日之后的用户名和注册日期 +--- +编写 SQL,查询用户表中用户名包含 '张' 字的所有用户 +--- +编写 SQL,查询所有用户中年龄最大的用户信息 +--- +编写 SQL,查询用户表中每个性别的平均年龄,并按性别分组 +--- +编写 SQL,查询用户表中,注册日期在 2024 年 1 月 1 日和 2024 年 6 月 30 日之间的所有用户 +--- +编写 SQL,查询每个页面的第一次访问日期 +--- +编写 SQL,查询访问记录表中,每个页面最近一次访问的日期 +--- +编写 SQL,查询所有订单的总金额和订单日期 +--- +编写 SQL,统计共有多少客户 +--- +编写 SQL,查询总金额大于 100 的所有订单 +--- +编写 SQL,按创建时间升序查询所有客户 +--- +编写 SQL,查询订单总金额的平均值 +--- +编写 SQL,查询每个订单的总商品数量 +--- +编写 SQL,查询最早的订单日期 +--- +编写 SQL,查询创建时间在 2023 年 2 月份的所有客户 +--- +编写 SQL,查询价格最高的商品信息 +--- +编写 SQL,查询所有客户的姓名和创建时间,结果按照创建时间降序排序 +--- +编写 SQL,查询每个订单的详细商品信息,包括商品 ID、数量、价格和总金额 +--- +编写 SQL,查询每个商品的销售总数量及其对应的订单总金额 +--- +编写 SQL,查询所有客户的姓名,并将其姓名转换为大写 +--- +编写 SQL,查询所有客户的姓名和电话 +--- diff --git a/SQL 电商场景面试题.md b/SQL 电商场景面试题.md new file mode 100644 index 0000000..20d6f8a --- /dev/null +++ b/SQL 电商场景面试题.md @@ -0,0 +1,68 @@ +编写 SQL,查询所有客户的姓名和电话 +--- +编写 SQL,查询所有订单的总金额和订单日期 +--- +编写 SQL,统计共有多少客户 +--- +编写 SQL,查询总金额大于 100 的所有订单 +--- +编写 SQL,按创建时间升序查询所有客户 +--- +编写 SQL,查询订单总金额的平均值 +--- +编写 SQL,查询每个订单的总商品数量 +--- +编写 SQL,查询最早的订单日期 +--- +编写 SQL,查询创建时间在 2023 年 2 月份的所有客户 +--- +编写 SQL,查询价格最高的商品信息 +--- +编写 SQL,查询所有客户的姓名和创建时间,结果按照创建时间降序排序 +--- +编写 SQL,查询每个订单的详细商品信息,包括商品 ID、数量、价格和总金额 +--- +编写 SQL,查询每个商品的销售总数量及其对应的订单总金额 +--- +编写 SQL,查询所有客户的姓名,并将其姓名转换为大写 +--- +编写 SQL,统计每个客户的订单总金额 +--- +编写 SQL,查询总金额大于 100 的订单及其对应客户的姓名 +--- +编写 SQL,查询订单数量最多的客户姓名和订单数量 +--- +编写 SQL,查询每个客户的订单总金额,并按总金额降序排序 +--- +编写 SQL,查询在 2023 年 3 月份的所有订单及其对应客户的姓名 +--- +编写 SQL,查询所有订单的总商品数量和总金额,并按订单日期升序排序 +--- +编写 SQL,查询每个订单的总金额及其包含的商品总数量 +--- +编写 SQL,查询订单总金额最高的客户姓名和对应的订单总金额 +--- +编写 SQL,查询有订单记录的客户姓名及其最新的订单日期 +--- +编写 SQL,查询在 2023 年 1 月份下的所有订单及其对应的商品详细信息 +--- +编写 SQL,查询每个客户的订单总数量和总金额,并按总金额降序排序 +--- +编写 SQL,查询所有订单在每个客户订单中的累计总金额,并按订单日期升序排序 +--- +编写 SQL,查询每个客户的最新订单总金额及其在客户所有订单总金额中的比例 +--- +编写 SQL,查询每个订单的总商品数量及其包含的商品列表(用逗号分隔) +--- +编写 SQL,查询每个订单的订单日期,并计算订单日期的年份和季度 +--- +编写 SQL,查询每个客户的姓名及其上一个订单的总金额 +--- +编写 SQL,查询订单总金额超过其客户所有订单平均金额的订单 +--- +编写 SQL,查询订单数量超过 5 的每个客户的订单数量 +--- +编写 SQL,查询每个客户的姓名及其第一个订单的总金额 +--- +编写 SQL,查询至少有一个订单金额超过 200 的客户姓名 +--- diff --git a/SQL 网站场景面试题.md b/SQL 网站场景面试题.md new file mode 100644 index 0000000..353a8d3 --- /dev/null +++ b/SQL 网站场景面试题.md @@ -0,0 +1,90 @@ +编写 SQL,查询访问记录表中所有页面的页面 ID 和访问日期 +--- +编写 SQL,查询页面表中页面路径为 '/home' 的页面名称 +--- +编写 SQL,查询访问记录表中用户IP为 '192.168.1.1' 的所有记录 +--- +编写 SQL,查询用户表中性别为 '男' 的所有用户的用户名 +--- +编写 SQL,查询页面表中所有页面的页面 ID,并按页面 ID 升序排序 +--- +编写 SQL,查询访问记录表中每个页面的总访问次数 +--- +编写 SQL,查询用户表中注册日期最早的 3 个用户的用户名和注册日期 +--- +编写 SQL,查询访问记录表中每个用户的总访问次数 +--- +编写 SQL,查询用户表中年龄在 25 岁及以下的所有用户的用户名和年龄 +--- +编写 SQL,查询用户表中每个性别的用户数量 +--- +编写 SQL,查询用户表中年龄在 25 岁及以下且性别为 '女' 的用户的用户名 +--- +编写 SQL,查询用户表中注册日期在 2024 年 1 月 1 日之后的用户名和注册日期 +--- +编写 SQL,查询用户表中用户名包含 '张' 字的所有用户 +--- +编写 SQL,查询所有用户中年龄最大的用户信息 +--- +编写 SQL,查询用户表中每个性别的平均年龄,并按性别分组 +--- +编写 SQL,查询用户表中,注册日期在 2024 年 1 月 1 日和 2024 年 6 月 30 日之间的所有用户 +--- +编写 SQL,查询每个页面的第一次访问日期 +--- +编写 SQL,查询访问记录表中,每个页面最近一次访问的日期 +--- +编写 SQL,查询访问记录表中每个页面的访问次数,按访问次数从高到低排序 +--- +编写 SQL,查询每个用户访问的不同页面的总数量 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问过的所有用户的用户名(不能重复) +--- +编写 SQL,查询所有页面中访问次数最多的页面的页面名称 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问次数最多的页面的页面路径 +--- +编写 SQL,查询每个用户最近一次访问的页面路径及访问日期 +--- +编写 SQL,查询每个页面路径的独立访问用户数 +--- +编写 SQL,查询每个页面路径的访问次数和独立访问用户数,并按页面 ID 升序排序 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问过 '/home' 页面且年龄大于 25 岁的用户的用户名(去重) +--- +编写 SQL,查询访问次数超过 2 次的所有用户的用户名和访问次数 +--- +编写 SQL,查询所有用户的用户名和注册日期,要求格式化注册日期为 'YYYY-MM' 格式 +--- +编写 SQL,查询每个页面在 2024 年 7 月的总访问次数,并按访问次数降序排列 +--- +编写 SQL,查询访问记录表中访问次数最多的前两个页面路径 +--- +编写 SQL,查询每个用户名访问的不同页面的数量,要求该数量大于 1 +--- +编写 SQL,使用开窗函数查询每个页面的累计访问次数 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问了 '/home' 页面但没有访问 '/contact' 页面的用户的用户名(去重) +--- +编写 SQL,查询所有在 2024 年 7 月访问过网站的用户的用户名(去重) +--- +编写 SQL,查询总访问次数大于 2 的每个页面的总访问次数 +--- +编写 SQL,查询每个用户名的平均访问时长,并且平均访问时长超过 100 秒的用户名 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问过 '/product/123' 页面的所有用户的用户 ID 和访问日期 +--- +编写 SQL,查询每个用户的访问记录,并增加一个序号列,按访问日期排序 +--- +编写 SQL,查询在 2024 年访问过网站的所有用户中,访问次数最多的前五名用户的用户名及其访问次数 +--- +编写 SQL,查询每个页面在每个月的总访问次数,并按页面 ID 和月份排序 +--- +编写 SQL,使用开窗函数查询每个用户最近一次访问的页面路径及其访问日期 +--- +编写 SQL,查询在 2024 年 7 月访问次数最多的 3 个页面的页面名称 +--- +编写 SQL,查询所有注册日期在 2024 年 6 月之后且访问过 '/contact' 页面的用户的用户名 +--- +编写 SQL,查询用户表中所有用户的用户名和年龄 +--- diff --git a/SQL 进阶查询面试题.md b/SQL 进阶查询面试题.md new file mode 100644 index 0000000..b4de521 --- /dev/null +++ b/SQL 进阶查询面试题.md @@ -0,0 +1,94 @@ +编写 SQL,查询用户表中所有用户的用户名和年龄 +--- +编写 SQL,查询访问记录表中每个页面的访问次数,按访问次数从高到低排序 +--- +编写 SQL,查询每个用户访问的不同页面的总数量 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问过的所有用户的用户名(不能重复) +--- +编写 SQL,查询所有页面中访问次数最多的页面的页面名称 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问次数最多的页面的页面路径 +--- +编写 SQL,查询每个用户最近一次访问的页面路径及访问日期 +--- +编写 SQL,查询每个页面路径的独立访问用户数 +--- +编写 SQL,查询每个页面路径的访问次数和独立访问用户数,并按页面 ID 升序排序 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问过 '/home' 页面且年龄大于 25 岁的用户的用户名(去重) +--- +编写 SQL,查询访问次数超过 2 次的所有用户的用户名和访问次数 +--- +编写 SQL,查询所有用户的用户名和注册日期,要求格式化注册日期为 'YYYY-MM' 格式 +--- +编写 SQL,查询每个页面在 2024 年 7 月的总访问次数,并按访问次数降序排列 +--- +编写 SQL,查询访问记录表中访问次数最多的前两个页面路径 +--- +编写 SQL,查询每个用户名访问的不同页面的数量,要求该数量大于 1 +--- +编写 SQL,使用开窗函数查询每个页面的累计访问次数 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问了 '/home' 页面但没有访问 '/contact' 页面的用户的用户名(去重) +--- +编写 SQL,查询所有在 2024 年 7 月访问过网站的用户的用户名(去重) +--- +编写 SQL,查询总访问次数大于 2 的每个页面的总访问次数 +--- +编写 SQL,查询每个用户名的平均访问时长,并且平均访问时长超过 100 秒的用户名 +--- +编写 SQL,查询在 2024 年 7 月 1 日访问过 '/product/123' 页面的所有用户的用户 ID 和访问日期 +--- +编写 SQL,查询每个用户的访问记录,并增加一个序号列,按访问日期排序 +--- +编写 SQL,查询在 2024 年访问过网站的所有用户中,访问次数最多的前五名用户的用户名及其访问次数 +--- +编写 SQL,查询每个页面在每个月的总访问次数,并按页面 ID 和月份排序 +--- +编写 SQL,使用开窗函数查询每个用户最近一次访问的页面路径及其访问日期 +--- +编写 SQL,查询在 2024 年 7 月访问次数最多的 3 个页面的页面名称 +--- +编写 SQL,查询所有注册日期在 2024 年 6 月之后且访问过 '/contact' 页面的用户的用户名 +--- +编写 SQL,统计每个客户的订单总金额 +--- +编写 SQL,查询总金额大于 100 的订单及其对应客户的姓名 +--- +编写 SQL,查询订单数量最多的客户姓名和订单数量 +--- +编写 SQL,查询每个客户的订单总金额,并按总金额降序排序 +--- +编写 SQL,查询在 2023 年 3 月份的所有订单及其对应客户的姓名 +--- +编写 SQL,查询所有订单的总商品数量和总金额,并按订单日期升序排序 +--- +编写 SQL,查询每个订单的总金额及其包含的商品总数量 +--- +编写 SQL,查询订单总金额最高的客户姓名和对应的订单总金额 +--- +编写 SQL,查询有订单记录的客户姓名及其最新的订单日期 +--- +编写 SQL,查询在 2023 年 1 月份下的所有订单及其对应的商品详细信息 +--- +编写 SQL,查询每个客户的订单总数量和总金额,并按总金额降序排序 +--- +编写 SQL,查询所有订单在每个客户订单中的累计总金额,并按订单日期升序排序 +--- +编写 SQL,查询每个客户的最新订单总金额及其在客户所有订单总金额中的比例 +--- +编写 SQL,查询每个订单的总商品数量及其包含的商品列表(用逗号分隔) +--- +编写 SQL,查询每个订单的订单日期,并计算订单日期的年份和季度 +--- +编写 SQL,查询每个客户的姓名及其上一个订单的总金额 +--- +编写 SQL,查询订单总金额超过其客户所有订单平均金额的订单 +--- +编写 SQL,查询订单数量超过 5 的每个客户的订单数量 +--- +编写 SQL,查询每个客户的姓名及其第一个订单的总金额 +--- +编写 SQL,查询至少有一个订单金额超过 200 的客户姓名 +--- diff --git a/Scala 面试题.md b/Scala 面试题.md new file mode 100644 index 0000000..23296c0 --- /dev/null +++ b/Scala 面试题.md @@ -0,0 +1,110 @@ +在 Scala 中,val 和 var 有什么区别?如何选择使用? +--- +什么是 Scala 中的 case class?与普通类相比有哪些特点? +--- +在 Scala 中,如何定义一个函数?如何指定函数的返回类型? +--- +Scala 中的 Option 类型是什么?如何使用 Option 处理可能为空的值? +--- +在 Scala 中,什么是高阶函数?如何定义和使用高阶函数? +--- +在 Scala 中,如何进行模式匹配?模式匹配的常见用法是什么? +--- +Scala 中的集合类型有哪些?如何使用 List、Set 和 Map 进行数据处理? +--- +什么是 Scala 中的匿名函数?如何使用匿名函数? +--- +在 Scala 中,什么是伴生对象?如何定义和使用? +--- +在 Scala 中,如何进行递归函数的定义?递归与循环相比有什么优势? +--- +在 Scala 中,如何使用 for 推导式? +--- +什么是 Scala 中的隐式参数和隐式转换?它们的应用场景是什么? +--- +在 Scala 中,如何使用模式匹配进行类型检查和解构? +--- +什么是 Scala 中的 Currying?如何定义一个柯里化函数? +--- +Scala 中的 trait 是什么?它与 Java 接口的区别是什么? +--- +在 Scala 中,如何使用尾递归优化递归函数? +--- +在 Scala 中,如何通过函数组合实现复杂的函数逻辑? +--- +在 Scala 中,什么是偏函数?如何使用偏函数处理部分输入? +--- +Scala 中的 Future 是什么?如何使用 Future 处理异步编程? +--- +在 Scala 中,如何通过隐式转换增强现有类型的功能? +--- +在 Scala 中,如何使用 case class 进行模式匹配? +--- +Scala 中的单例对象是什么?如何定义和使用单例对象? +--- +在 Scala 中,如何使用 implicit 关键字进行隐式转换? +--- +什么是 Scala 中的依赖注入?它如何与隐式转换结合使用? +--- +在 Scala 中,如何通过模式匹配处理复杂的数据结构? +--- +在 Scala 中,如何使用 Future 进行并发处理?如何处理 Future 的结果? +--- +在 Scala 中,如何实现不可变集合?不可变集合的优势是什么? +--- +什么是 Scala 中的惰性求值?如何通过 lazy 关键字实现? +--- +在 Scala 中,如何使用 Try、Success 和 Failure 进行错误处理? +--- +Scala 中的 Akka 框架是什么?它在大数据处理中的作用是什么? +--- +Scala 是如何实现函数式编程和面向对象编程结合的? +--- +在 Scala 中,如何使用 Either 处理函数的双重返回值? +--- +在 Scala 中,如何实现类型参数化?类型参数和泛型的应用场景有哪些? +--- +什么是 Scala 中的 Monad?如何通过 Monad 实现函数式编程的链式操作? +--- +在 Scala 中,如何通过 Akka 实现分布式计算? +--- +Scala 中的类型类(Type Class)是什么?如何通过类型类实现多态? +--- +Scala 的隐式参数和上下文绑定是如何工作的?如何结合类型类使用? +--- +在 Scala 中,如何通过 Cats 库实现函数式编程的高级功能? +--- +在 Scala 中,如何实现高性能并发和分布式系统设计? +--- +Scala 中的类型系统是如何设计的?如何通过类型参数提高代码的通用性? +--- +在 Scala 中,如何通过 ZIO 或 Monix 实现高效的异步编程模型? +--- +什么是 Scala 中的协变和逆变?它们在泛型中的作用是什么? +--- +在 Scala 中,如何通过递归类型实现高级类型结构? +--- +在 Scala 中,如何实现自定义 Monad?自定义 Monad 的实际应用场景有哪些? +--- +在 Scala 中,如何通过 Actor 模型实现并发处理? +--- +Scala 的类型推导机制是如何设计的?如何在复杂场景下利用类型推导? +--- +在 Scala 中,如何通过 Tagless Final 实现函数式编程的可组合性? +--- +在 Scala 中,如何通过 Shapeless 库实现类型级编程? +--- +Scala 中的泛型编程如何与类型推断结合使用?如何避免类型擦除问题? +--- +在 Scala 中,如何通过 Cats Effect 实现纯函数式并发编程? +--- +Scala 中的 ADT(代数数据类型)是什么?它在模式匹配中的应用场景是什么? +--- +Scala 中的宏(Macro)是如何实现的?如何通过宏进行编译时元编程? +--- +Scala 中的路径依赖类型是什么?它的实际应用场景有哪些? +--- +在 Scala 中,如何通过类型推导和隐式转换实现类型安全的 API 设计? +--- +Scala 是如何通过 Akka 实现事件驱动架构的?Akka 的核心概念是什么? +--- diff --git a/Selenium 面试题.md b/Selenium 面试题.md new file mode 100644 index 0000000..2273f08 --- /dev/null +++ b/Selenium 面试题.md @@ -0,0 +1,76 @@ +如何进行 Web 自动化测试中的元素定位? +--- +WebDriver 的元素定位方式有哪些? +--- +什么是 ID 元素定位? +--- +什么是 name 元素定位? +--- +什么是 class_name 元素定位? +--- +什么是 tag_name 元素定位? +--- +什么是 link_text 元素定位? +--- +什么是 partial_link_text 元素定位? +--- +如何定位一组元素? +--- +什么是 XPath 定位? +--- +什么是 CSS 定位? +--- +元素有哪些常用操作方法? +--- +WebDriver 操作浏览器有哪些常用方法? +--- +WebDriver 如何操作鼠标? +--- +什么是显式等待? +--- +什么是隐式等待? +--- +显式等待与隐式等待的区别是什么? +--- +常用自动化测试工具及其运行原理是什么?写出一段元素查找的代码。 +--- +Web 自动化测试中,WebDriver 如何开启和退出一个浏览器? +--- +Web 自动化测试中,如何使用 Selenium 在文本输入框中输入文本? +--- +Web 自动化测试中,如何在 WebDriver 中处理 iframe? +--- +Web 自动化测试中,如何获取网页元素的文本? +--- +Web 自动化测试中,WebDriver 中有哪些刷新网页的方法? +--- +Web 自动化测试中,如何在 Selenium WebDriver 中启动不同的浏览器? +--- +Selenium 中有几种类型的等待?它们的区别是什么? +--- +Selenium WebDriver 支持哪些编程语言编写测试用例? +--- +Selenium 中的断言是什么意思? +--- +列出一些可以与 Selenium 集成以实现持续测试的自动化测试工具? +--- +Selenium 中提供几种类型的 WebDriver API? +--- +在 Selenium 中定位网页元素有哪些不同的方法? +--- +什么是 Selenium IDE? +--- +列出 Selenium 支持的一些测试类型? +--- +什么是 Selenium? +--- +Selenium 的工作原理是什么? +--- +Selenium 2 和 Selenium 1 的区别是什么? +--- +Selenium 库中有哪些常用的函数? +--- +Selenium 提供了哪些断言? +--- +软件测试中,如何编写代码在 WebDriver 中启动 Firefox 浏览器? +--- diff --git a/Shell 面试题.md b/Shell 面试题.md new file mode 100644 index 0000000..a810959 --- /dev/null +++ b/Shell 面试题.md @@ -0,0 +1,48 @@ +如何在 Shell 脚本中实现字符串的截取和拼接? +--- +在 Shell 中,如何通过循环处理多个文件? +--- +请描述在 Shell 脚本中如何使用条件判断语句。 +--- +编写一个 Shell 脚本,检查服务器的磁盘使用率,并发送告警邮件。 +--- +请写出一个 Shell 脚本,用于监控指定进程是否运行,并在停止时重新启动该进程。 +--- +如何在 Shell 脚本中处理命令行参数? +--- +在 Shell 中,如何实现一个简单的文件监控脚本? +--- +请解释 Shell 脚本中的管道(Pipeline)机制及其应用。 +--- +编写一个 Shell 脚本,定期清理系统中的临时文件。 +--- +在 Shell 中,如何使用 awk 命令处理文本文件? +--- +如何在 Bash 脚本中实现条件判断和循环操作? +--- +如何在 Shell 脚本中使用管道(pipeline)实现数据传递? +--- +请编写一个 Shell 脚本监控系统的 CPU 使用率。 +--- +Bash 中如何通过函数实现代码的重用? +--- +请解释 Shell 脚本中的重定向(redirection)操作及其用途。 +--- +请编写一个 Bash 脚本实现定时备份功能。 +--- +Shell 脚本中如何使用 here document 实现多行文本输入? +--- +如何在 Bash 脚本中处理数组(array)? +--- +如何在 Shell 脚本中实现文件的读写操作? +--- +请编写一个 Shell 脚本监控目录的变化并记录日志。 +--- +Bash 中如何使用正则表达式进行文本处理? +--- +请解释 Shell 脚本中的位置参数(positional parameter)及其使用方法。 +--- +请编写一个 Bash 脚本检查系统中的所有服务状态。 +--- +Shell 脚本中如何使用 trap 命令捕捉和处理信号? +--- diff --git a/Spark SQL 面试题.md b/Spark SQL 面试题.md new file mode 100644 index 0000000..4f0845d --- /dev/null +++ b/Spark SQL 面试题.md @@ -0,0 +1,114 @@ +什么是 Spark SQL?它的主要功能是什么? +--- +在 Spark SQL 中,如何创建 DataFrame?DataFrame 与 RDD 有什么区别? +--- +Spark SQL 如何与 Hive 集成?如何在 Spark SQL 中查询 Hive 表? +--- +在 Spark SQL 中,如何使用 SQL 查询 DataFrame? +--- +在 Spark SQL 中,如何定义和注册一个临时视图(Temporary View)? +--- +Spark SQL 中的 Catalyst 优化器是什么?它的作用是什么? +--- +在 Spark SQL 中,如何通过 UDF(用户自定义函数)扩展 SQL 功能? +--- +如何在 Spark SQL 中进行数据的分区操作?分区对性能的影响是什么? +--- +Spark SQL 中的 Schema 是如何定义的?如何动态推断 Schema? +--- +在 Spark SQL 中,如何使用 DataFrame API 实现复杂的查询和聚合操作? +--- +Spark SQL 中的 DataSet 和 DataFrame 有什么区别?如何选择使用? +--- +Spark SQL 是如何优化查询计划的?Explain 语句的作用是什么? +--- +Spark SQL 是如何处理内存中的大数据集的?它如何避免内存溢出? +--- +Spark SQL 中的 Tungsten 优化是什么?它对性能提升的关键点是什么? +--- +Spark SQL 的广播连接(Broadcast Join)是什么?在什么情况下使用? +--- +在 Spark SQL 中,如何实现窗口函数操作?常见的窗口函数有哪些? +--- +Spark SQL 如何通过缓存(Cache)提高查询效率?缓存机制的作用是什么? +--- +在 Spark SQL 中,如何处理数据倾斜问题?有哪些优化策略? +--- +如何在 Spark SQL 中进行表的分区和分桶?两者的区别是什么? +--- +Spark SQL 中的 SQL 查询与 DataFrame API 查询有什么区别? +--- +Spark SQL 如何与外部数据源(如 JDBC、HDFS)集成?如何进行数据导入和导出? +--- +Spark SQL 是如何处理延迟加载的?延迟加载对性能有何影响? +--- +如何在 Spark SQL 中使用内置函数进行复杂的 SQL 查询? +--- +Spark SQL 中的 Catalyst 优化器是如何实现查询优化的?有哪些关键的优化步骤? +--- +在 Spark SQL 中,如何使用 Parquet 格式存储数据?Parquet 格式的优势是什么? +--- +如何在 Spark SQL 中设置并行度?并行度对查询性能的影响是什么? +--- +Spark SQL 是如何处理数据分区的?如何设置自定义的分区策略? +--- +在 Spark SQL 中,如何通过动态分区插入提高性能? +--- +Spark SQL 中的 Schema Merge 是什么?它在数据处理中的作用是什么? +--- +如何在 Spark SQL 中通过广播变量优化大型表的 Join 操作? +--- +在 Spark SQL 中,如何使用自定义的序列化机制提高数据处理性能? +--- +Spark SQL 中的跨节点数据交换是如何实现的?如何优化跨节点数据传输? +--- +在 Spark SQL 中,如何优化多表 Join 操作?有哪些常见的优化策略? +--- +Spark SQL 是如何通过 Project Tungsten 实现内存和 CPU 优化的? +--- +如何在 Spark SQL 中实现复杂的窗口聚合操作?有哪些典型的应用场景? +--- +Spark SQL 如何处理复杂的嵌套查询?如何优化嵌套查询的性能? +--- +在 Spark SQL 中,如何通过 Shuffle 操作优化查询计划? +--- +Spark SQL 中的动态分区插入和动态分区修剪是如何实现的? +--- +如何在 Spark SQL 中通过 CBO(基于代价的优化器)优化查询性能? +--- +Spark SQL 中的分区裁剪(Partition Pruning)是什么?它对查询性能有何影响? +--- +在 Spark SQL 中,如何优化跨数据源的联合查询(Join)操作? +--- +Spark SQL 如何与 Spark Streaming 集成?如何处理流式数据的 SQL 查询? +--- +Spark SQL 中的 Codegen 优化是如何工作的?它对查询性能的提升有何帮助? +--- +如何在 Spark SQL 中优化 JSON 数据的处理性能? +--- +Spark SQL 如何处理内存中的中间数据?如何通过内存管理优化性能? +--- +在 Spark SQL 中,如何实现高效的二次排序(Secondary Sort)? +--- +Spark SQL 中的列存储格式(如 Parquet)如何提高查询效率? +--- +如何在 Spark SQL 中通过自定义的序列化机制减少数据传输的开销? +--- +Spark SQL 的执行计划是如何生成和优化的?Explain 语句的结果如何解读? +--- +Spark SQL 中的 Hive 兼容性模式是如何工作的?如何处理 Hive 数据源的查询? +--- +在 Spark SQL 中,如何处理大规模数据的分布式 Join 操作?有哪些优化策略? +--- +Spark SQL 如何结合 Delta Lake 实现数据湖的管理? +--- +Spark SQL 如何处理 ETL 作业中的性能优化?有哪些常见的调优技巧? +--- +Spark SQL 中的 Catalyst 优化器如何通过规则引擎优化查询? +--- +Spark SQL 中的 Codegen 是如何通过生成字节码提高查询效率的? +--- +在 Spark SQL 中,如何优化递归查询?递归查询的性能瓶颈是什么? +--- +如何通过 Spark SQL 实现流式数据的查询和实时分析? +--- diff --git a/Spark Streaming 面试题.md b/Spark Streaming 面试题.md new file mode 100644 index 0000000..6364822 --- /dev/null +++ b/Spark Streaming 面试题.md @@ -0,0 +1,84 @@ +什么是 Spark Streaming?它的主要用途是什么? +--- +在 Spark Streaming 中,如何创建 DStream? +--- +Spark Streaming 如何处理实时数据流的? +--- +Spark Streaming 支持哪些常见的数据源? +--- +在 Spark Streaming 中,如何处理窗口操作? +--- +Spark Streaming 如何进行数据的分区和并行处理? +--- +Spark Streaming 的 Fault Tolerance(容错机制)是如何实现的? +--- +在 Spark Streaming 中,如何与 Kafka 集成? +--- +如何在 Spark Streaming 中处理延迟数据? +--- +Spark Streaming 的 checkpoint 机制是什么?如何配置? +--- +在 Spark Streaming 中,如何实现状态管理? +--- +Spark Streaming 的窗口函数是如何工作的?如何配置窗口的大小和滑动间隔? +--- +在 Spark Streaming 中,如何处理无序数据流? +--- +Spark Streaming 中的背压机制(Backpressure)是如何工作的? +--- +在 Spark Streaming 中,如何优化数据处理性能? +--- +如何通过 Spark Streaming 与 HDFS 集成? +--- +Spark Streaming 如何保证数据处理的 Exactly-Once 语义? +--- +在 Spark Streaming 中,如何进行数据的聚合操作? +--- +Spark Streaming 如何与 Spark SQL 结合使用进行实时分析? +--- +如何在 Spark Streaming 中实现流式数据的 Join 操作? +--- +Spark Streaming 是如何进行容错处理的?有哪些机制保障数据不丢失? +--- +Spark Streaming 如何处理大规模并发数据流?有哪些优化策略? +--- +在 Spark Streaming 中,如何处理流式数据的聚合和分组操作? +--- +如何在 Spark Streaming 中实现数据的累积和更新操作? +--- +在 Spark Streaming 中,如何使用 Spark MLlib 进行实时数据处理? +--- +Spark Streaming 如何与 Flume 集成实现数据采集? +--- +如何在 Spark Streaming 中实现多流数据的合并处理? +--- +Spark Streaming 是如何通过 DAG(有向无环图)执行任务的? +--- +在 Spark Streaming 中,如何通过流式数据的累积状态管理实现复杂的实时处理逻辑? +--- +Spark Streaming 如何支持高吞吐量的流式数据处理?有哪些性能优化技巧? +--- +Spark Streaming 的数据处理延迟如何控制?有哪些降低延迟的策略? +--- +在 Spark Streaming 中,如何处理热点数据和数据倾斜问题? +--- +Spark Streaming 是如何处理大规模实时数据的容错和负载均衡的? +--- +如何通过 Spark Streaming 实现大规模分布式流式数据的实时分析? +--- +Spark Streaming 的背压机制是如何动态调整数据流速率的? +--- +如何在 Spark Streaming 中结合 Structured Streaming 提升实时处理性能? +--- +Spark Streaming 如何处理与批处理系统的集成?流批一体化的实现方式有哪些? +--- +在 Spark Streaming 中,如何利用广播变量(Broadcast Variables)优化数据传输? +--- +如何在 Spark Streaming 中处理具有高维度的实时数据? +--- +Spark Streaming 的任务调度是如何实现的?如何优化调度性能? +--- +如何在 Spark Streaming 中处理不同速率的数据源?如何平衡负载? +--- +Spark Streaming 是如何处理实时数据流的故障恢复和任务重启的? +--- diff --git a/Spark 面试题.md b/Spark 面试题.md new file mode 100644 index 0000000..6340f36 --- /dev/null +++ b/Spark 面试题.md @@ -0,0 +1,120 @@ +Spark 是什么?它与 Hadoop 有什么区别? +--- +在 Spark 中,什么是 RDD?它的特点是什么? +--- +Spark 的基本架构是什么?主要包括哪些组件? +--- +在 Spark 中,如何创建一个 RDD? +--- +Spark 支持哪些语言的 API?每种语言的适用场景是什么? +--- +在 Spark 中,什么是 Transformation 和 Action?两者有什么区别? +--- +Spark 的 DAG(有向无环图)是如何生成的?它在任务调度中的作用是什么? +--- +在 Spark 中,如何持久化 RDD?常见的持久化级别有哪些? +--- +在 Spark 中,如何通过 cache() 和 persist() 优化性能? +--- +什么是 Spark 的惰性计算机制?它是如何工作的? +--- +在 Spark 中,什么是分区?如何调整 RDD 的分区数量? +--- +Spark 中的广播变量是什么?它在性能优化中的作用是什么? +--- +在 Spark 中,如何使用累加器来实现数据的聚合? +--- +Spark 如何与 Hadoop 的 HDFS 集成?它们之间的数据流动如何实现? +--- +Spark 中的 shuffle 操作是什么?它对性能有什么影响? +--- +在 Spark 中,如何避免 shuffle 操作?有哪些优化 shuffle 的方法? +--- +Spark 中的宽依赖和窄依赖是什么?它们有什么区别? +--- +如何在 Spark 中优化 Join 操作?有哪些常见的优化策略? +--- +在 Spark 中,如何使用 repartition 和 coalesce 进行分区调整?它们有什么区别? +--- +Spark 的任务调度机制是如何工作的?如何根据集群的资源情况进行任务调度? +--- +在 Spark 中,如何通过调整并行度来提升性能? +--- +Spark 的内存管理机制是如何设计的?如何优化内存的使用? +--- +在 Spark 中,如何监控作业的执行?有哪些常用的监控工具? +--- +Spark 中的广播变量和累加器有什么区别?它们在不同场景中的应用分别是什么? +--- +在 Spark 中,如何使用窗口操作处理实时数据流? +--- +Spark 的 Checkpoint 机制是什么?它在大规模数据处理中的作用是什么? +--- +Spark 的 DAG Scheduler 和 Task Scheduler 分别是什么?它们的作用是什么? +--- +在 Spark 中,如何优化数据的序列化和反序列化过程?有哪些常用的序列化方法? +--- +Spark 中的 Fault Tolerance 机制是如何设计的?如何保证任务的容错性? +--- +在 Spark 中,如何通过调整数据分区数提高作业执行效率? +--- +在 Spark 中,如何处理数据倾斜问题?有哪些常见的优化策略? +--- +在 Spark 中,如何通过 DAG 调度优化任务执行?有哪些具体优化策略? +--- +在 Spark 中,如何使用 GraphX 进行图计算?GraphX 的应用场景有哪些? +--- +在 Spark 中,如何通过动态资源分配优化集群的资源使用效率? +--- +在 Spark 中,如何实现异步操作?异步操作对性能优化有什么帮助? +--- +Spark 中的推测执行机制是什么?它在任务执行中起到什么作用? +--- +在 Spark 中,如何优化内存管理和数据溢写问题? +--- +在 Spark 中,如何利用广播变量优化 Join 操作?它的性能提升原理是什么? +--- +Spark 中的 Structured Streaming 是什么?它与 Spark Streaming 有什么区别? +--- +Spark 中的 Catalyst 优化器是如何基于代价模型优化查询计划的? +--- +Spark 的 Shuffle 写阶段是如何工作的?如何优化 Shuffle 的写入性能? +--- +Spark 的 Stage 划分机制是如何设计的?如何优化 Stage 的划分以提升任务执行效率? +--- +Spark 的资源调度器是如何工作的?如何调优资源调度策略? +--- +Spark 的任务重试机制是如何实现的?如何通过任务重试提高容错能力? +--- +在 Spark 中,如何通过自定义 Partition 实现数据分区优化? +--- +Spark 中的 Tungsten 引擎是什么?它如何通过物理执行优化提升性能? +--- +在 Spark 中,如何优化大规模数据集上的 Join 操作?有哪些实际应用场景? +--- +Spark 的内存管理分为哪些部分?如何优化内存管理以提高作业性能? +--- +在 Spark 中,如何通过调整并行度和任务划分来优化执行效率? +--- +Spark 的动态分区调度是如何工作的?它对资源利用率有什么影响? +--- +Spark 的 DAG 执行计划是如何生成的?如何优化 DAG 以减少执行开销? +--- +在 Spark 中,如何处理 Executor 和 Driver 之间的通信瓶颈? +--- +Spark 中的 Windowing 操作是如何实现的?它的应用场景有哪些? +--- +Spark 的内存和磁盘溢写策略是如何设计的?如何优化以避免频繁的溢写? +--- +Spark 的 Shuffle 读取阶段是如何优化的?如何减少网络 IO 和延迟? +--- +在 Spark 中,如何通过动态资源分配实现资源的精细化管理? +--- +Spark 的 RDD 转换为 DataFrame 时有哪些性能优化策略? +--- +Spark 的容错机制是如何设计的?它在大规模数据处理中的作用是什么? +--- +Spark 中的 Checkpoint 机制如何实现数据恢复和任务重启?它对性能有什么影响? +--- +Spark Structured Streaming 如何保证 Exactly Once 语义?它的底层实现是什么? +--- diff --git a/Spring 面试题.md b/Spring 面试题.md new file mode 100644 index 0000000..e19051c --- /dev/null +++ b/Spring 面试题.md @@ -0,0 +1,142 @@ +什么是循环依赖(常问)? +--- +Spring 如何解决循环依赖? +--- +为什么 Spring 循环依赖需要三级缓存,二级不够吗? +--- +看过源码吗?说下 Spring 由哪些重要的模块组成? +--- +什么是 Spring IOC? +--- +Spring IOC 有什么好处? +--- +Spring 中的 DI 是什么? +--- +什么是 Spring Bean? +--- +Spring 中的 BeanFactory 是什么? +--- +Spring 中的 FactoryBean 是什么? +--- +Spring 中的 ObjectFactory 是什么? +--- +Spring 中的 ApplicationContext 是什么? +--- +Spring Bean 一共有几种作用域? +--- +Spring 一共有几种注入方式? +--- +什么是 AOP? +--- +Spring AOP默认用的是什么动态代理,两者的区别? +--- +能说说 Spring 拦截链的实现吗? +--- +Spring AOP 和 AspectJ 有什么区别? +--- +说下 Spring Bean 的生命周期? +--- +说下对 Spring MVC 的理解? +--- +Spring MVC 具体的工作原理? +--- +SpringMVC 父子容器是什么知道吗? +--- +你了解的 Spring 都用到哪些设计模式? +--- +Spring 事务有几个隔离级别? +--- +Spring 有哪几种事务传播行为? +--- +Spring 事务传播行为有什么用? +--- +Spring 的优点 +--- +Spring AOP 相关术语都有哪些? +--- +Spring 通知有哪些类型? +--- +Spring IOC 容器初始化过程? +--- +Spring Bean 注册到容器有哪些方式? +--- +Spring 自动装配的方式有哪些? +--- +@Qualifier 注解有什么作用 +--- +@Bean和@Component有什么区别? +--- +@Component、@Controller、@Repository和@Service 的区别? +--- +Spring 事务在什么情况下会失效? +--- +说说 Spring 启动过程? +--- +Spring 的单例 Bean 是否有并发安全问题? +--- +Spring中的@Primary注解的作用是什么? +--- +Spring中的@Value注解的作用是什么? +--- +Spring 中的 @Profile 注解的作用是什么? +--- +Spring 中的 @PostConstruct 和 @PreDestroy 注解的作用是什么? +--- +Spring 中的 @RequestBody 和 @ResponseBody 注解的作用是什么? +--- +Spring 中的 @PathVariable 注解的作用是什么? +--- +Spring中的 @ModelAttribute 注解的作用是什么? +--- +Spring 中的 @ExceptionHandler 注解的作用是什么? +--- +Spring 中的 @ResponseStatus 注解的作用是什么? +--- +Spring 中的 @RequestHeader 和 @CookieValue 注解的作用是什么? +--- +Spring 中的 @SessionAttribute 注解的作用是什么? +--- +Spring 中的 @Validated 和 @Valid 注解有什么区别? +--- +Spring 中的 @Scheduled 注解的作用是什么? +--- +Spring 中的 @Cacheable 和 @CacheEvict 注解的作用是什么? +--- +Spring 中的 @Conditional 注解的作用是什么? +--- +Spring 中的 @Lazy 注解的作用是什么? +--- +Spring 中的 @PropertySource 注解的作用是什么? +--- +Spring 中的 @EventListener 注解的作用是什么? +--- +@Async 注解的原理是什么? +--- +Spring 和 Spring MVC 的关系是什么? +--- +Spring WebFlux 是什么?它与 Spring MVC 有何不同? +--- +介绍下 Spring MVC 的核心组件? +--- +什么是 Restful 风格的接口? +--- +Spring MVC中的Controller是什么?如何定义一个Controller? +--- +Spring MVC 中如何处理表单提交? +--- +Spring MVC 中的视图解析器有什么作用? +--- +Spring MVC 中的拦截器是什么?如何定义一个拦截器? +--- +Spring MVC 中的国际化支持是如何实现的? +--- +Spring MVC 中如何处理异常? +--- +Spring 中的 JPA 和 Hibernate 有什么区别? +--- +@Async 如何避免内部调用失效? +--- +@Async 什么时候会失效? +--- +在 Spring 中,拦截器和过滤器有什么区别? +--- diff --git a/SpringBoot 面试题.md b/SpringBoot 面试题.md new file mode 100644 index 0000000..043ceb4 --- /dev/null +++ b/SpringBoot 面试题.md @@ -0,0 +1,52 @@ +说说 Springboot 的启动流程? +--- +什么是 Spring Boot? +--- +Spring Boot 的核心特性有哪些? +--- +Spring Boot 是如何通过 main 方法启动 web 项目的? +--- +SpringBoot 是如何实现自动配置的? +--- +Spring Boot 支持哪些嵌入 Web 容器? +--- +Spring Boot 中 application.properties 和 application.yml 的区别是什么? +--- +如何在 Spring Boot 中定义和读取自定义配置? +--- +Spring Boot 配置文件加载优先级你知道吗? +--- +Spring Boot 打成的 jar 和普通的 jar 有什么区别 ? +--- +Spring Boot 是否可以使用 XML 配置 ? +--- +SpringBoot 默认同时可以处理的最大连接数是多少? +--- +如何理解 Spring Boot 中的 starter? +--- +Spring Boot 如何处理跨域请求(CORS)? +--- +在 Spring Boot 中你是怎么使用拦截器的? +--- +SpringBoot 中如何实现定时任务 ? +--- +什么是 Spring Actuator?它有什么优势? +--- +Spring Boot 2.x 与 1.x 版本有哪些主要的改进和区别? +--- +Spring Boot 3.x 与 2.x 版本有哪些主要的改进和区别? +--- +说说你对 Spring Boot 事件机制的了解? +--- +在 Spring Boot 中如何实现多数据源配置? +--- +Spring Boot 中如何实现异步处理? +--- +如何在 SpringBoot 启动时执行特定代码?有哪些方式? +--- +SpringBoot(Spring)中为什么不推荐使用 @Autowired ? +--- +@Async 什么时候会失效? +--- +Spring Boot 工程启动以后,我希望将数据库中已有的固定内容,打入到 Redis 缓存中,请问如何处理? +--- diff --git a/SpringCloud 面试题.md b/SpringCloud 面试题.md new file mode 100644 index 0000000..55f7812 --- /dev/null +++ b/SpringCloud 面试题.md @@ -0,0 +1,110 @@ +什么是分布式事务的防悬挂,空回滚? +--- +什么是配置中心?有哪些常见的配置中心? +--- +你知道 Nacos 配置中心的实现原理吗? +--- +为什么需要服务注册发现? +--- +为什么需要在微服务中使用链路追踪?Spring Cloud 可以选择哪些微服务链路追踪方案? +--- +Spring Cloud 的优缺点有哪些? +--- +Spring Boot 和 Spring Cloud 之间的区别? +--- +Spring Cloud 由什么组成? +--- +你是怎么理解微服务的? +--- +单体应用、SOA、微服务架构有什么区别? +--- +Spring Cloud Config 是什么? +--- +什么情况下需要使用分布式事务,有哪些方案? +--- +你们的服务是怎么做日志收集的? +--- +说一下你对于 DDD 的了解? +--- +什么是 Seata? +--- +Seata 支持哪些模式的分布式事务? +--- +了解 Seata 的实现原理吗? +--- +Seata 的事务回滚是怎么实现的? +--- +分布式和微服务有什么区别? +--- +Spring Cloud 有哪些注册中心? +--- +什么是 Eureka? +--- +Eureka 的实现原理说一下? +--- +Spring Cloud 如何实现服务注册? +--- +Consul 是什么? +--- +Eureka、Zookeeper、Nacos、Consul 的区别? +--- +Nacos 中的 Namespace 是什么? +--- +为什么需要负载均衡? +--- +负载均衡的实现方式有哪些? +--- +负载均衡算法有哪些? +--- +HTTP 与 RPC 之间的区别? +--- +什么是 Feign? +--- +Feign 是如何实现负载均衡的? +--- +为什么 Feign 第一次调用耗时很长? +--- +Feign 和 OpenFeign 的区别? +--- +Feign 和 Dubbo 的区别? +--- +什么是熔断器?为什么需要熔断器? +--- +什么是 Hystrix? +--- +什么是服务雪崩? +--- +什么是服务降级? +--- +什么是服务熔断? +--- +什么是服务限流? +--- +Sentinel 是怎么实现限流的? +--- +Sentinel 与 Hystrix 的区别是什么? +--- +Sentinel 是怎么实现集群限流的? +--- +什么是服务网格? +--- +什么是灰度发布、金丝雀部署以及蓝绿部署? +--- +什么是微服务网关?为什么需要服务网关? +--- +Spring Cloud 可以选择哪些 API 网关? +--- +什么是 Spring Cloud Zuul? +--- +什么是 Spring Cloud Gateway? +--- +你项目里为什么选择 Gateway 作为网关? +--- +说说什么是 API 网关?它有什么作用? +--- +Dubbo 和 Spring Cloud Gateway 有什么区别? +--- +什么是令牌桶算法?工作原理是什么?使用它有哪些优点和注意事项? +--- +SpringCloud 有哪些核心组件? +--- diff --git a/Sqoop 面试题.md b/Sqoop 面试题.md new file mode 100644 index 0000000..1d78794 --- /dev/null +++ b/Sqoop 面试题.md @@ -0,0 +1,118 @@ +Sqoop 是什么?它的主要用途是什么? +--- +Sqoop 的基本工作流程是什么? +--- +在 Sqoop 中,如何将关系型数据库的数据导入到 HDFS? +--- +Sqoop 支持哪些常见的数据库? +--- +Sqoop 中的导入和导出命令分别是什么?它们的作用是什么? +--- +在 Sqoop 中,如何指定表的列进行导入? +--- +Sqoop 是如何将 HDFS 中的数据导出到关系型数据库的? +--- +Sqoop 中的分片机制是什么?它在导入数据时如何工作? +--- +如何在 Sqoop 中使用 --query 参数自定义 SQL 查询导入数据? +--- +在 Sqoop 中,如何设置并行度以提高数据导入的性能? +--- +Sqoop 的 --target-dir 参数是什么?它在导入数据时起什么作用? +--- +在 Sqoop 中,如何使用 --where 子句来过滤导入的数据? +--- +如何在 Sqoop 中将导入的数据直接写入 Hive 表? +--- +Sqoop 中的 --incremental 参数是什么?它如何实现增量导入? +--- +在 Sqoop 中,如何使用 --split-by 参数进行数据分片? +--- +Sqoop 是如何实现并行数据导入的?有哪些优化方法? +--- +如何在 Sqoop 中进行数据类型的映射?有哪些常见的类型转换问题? +--- +Sqoop 如何与 Hive 集成?如何将关系型数据库的数据导入到 Hive 中? +--- +Sqoop 导入数据到 HBase 的流程是怎样的? +--- +在 Sqoop 中,如何进行数据导入的错误处理?有哪些常见的错误处理机制? +--- +Sqoop 的 --direct 模式是什么?它在什么情况下使用? +--- +Sqoop 中的 --num-mappers 参数是如何影响导入性能的? +--- +Sqoop 如何实现对大表的增量导入?有哪些常见的增量导入策略? +--- +在 Sqoop 中,如何导入包含 NULL 值的数据?Sqoop 如何处理 NULL 值? +--- +在 Sqoop 中,如何将数据导入到已经存在的 HDFS 目录中? +--- +Sqoop 的 --boundary-query 参数是什么?它的作用是什么? +--- +在 Sqoop 中,如何实现 MySQL 数据库到 HDFS 的并行数据导入? +--- +Sqoop 如何处理主键冲突问题?如何在数据导出时避免主键冲突? +--- +Sqoop 中的 --validate 参数是如何工作的?它在数据导入时起到什么作用? +--- +如何使用 Sqoop 导出数据到关系型数据库?常见的导出配置有哪些? +--- +在 Sqoop 中,如何将关系型数据库的数据导入到 HDFS 的 SequenceFile 格式中? +--- +Sqoop 的导入数据文件格式有哪几种?如何选择合适的数据格式? +--- +在 Sqoop 中,如何实现多个表的并行数据导入?有哪些注意事项? +--- +Sqoop 的 --merge-key 参数是什么?它如何帮助合并数据? +--- +Sqoop 是如何处理数据更新的?在增量导入时如何处理更新的记录? +--- +如何在 Sqoop 中通过导出任务实现 Hive 到关系型数据库的数据迁移? +--- +在 Sqoop 中,如何优化数据的导入导出性能?有哪些常见的优化策略? +--- +Sqoop 如何保证数据导入导出的数据一致性?有哪些常见的数据一致性问题? +--- +在 Sqoop 中,如何配置网络超时和重试机制?如何处理网络故障问题? +--- +在 Sqoop 中,如何控制数据导入的事务性?如何确保数据的一致性? +--- +Sqoop 是如何处理大规模数据的并发导入的?有哪些性能瓶颈? +--- +如何在 Sqoop 中处理分区表的数据导入?有哪些常见的分区策略? +--- +Sqoop 与 Oozie 的集成是如何实现的?如何通过调度实现自动化数据迁移? +--- +Sqoop 中如何处理字符集和编码问题?有哪些常见的编码转换问题? +--- +在 Sqoop 中,如何处理批量数据的导入和导出?有哪些优化配置? +--- +Sqoop 的 --delete-target-dir 参数是如何工作的?它在导入任务中的作用是什么? +--- +在 Sqoop 中,如何将导入的数据文件拆分为多个部分?如何通过 --split-by 参数优化分片? +--- +Sqoop 中的 --fetch-size 参数如何影响导入性能?该参数的作用是什么? +--- +Sqoop 的事务一致性如何保证?导入导出任务如何配置才能保证事务性? +--- +在 Sqoop 中,如何避免重复数据导入?有哪些增量导入的策略? +--- +Sqoop 的 --append 参数是如何工作的?如何通过它实现增量数据的追加导入? +--- +如何在 Sqoop 中处理海量数据的批量导入和导出任务?有哪些性能调优策略? +--- +Sqoop 中的导入导出性能瓶颈通常在哪里?如何通过调优提高性能? +--- +在 Sqoop 中,如何处理关系型数据库中的复杂数据类型?例如 BLOB、CLOB 等? +--- +Sqoop 是如何处理网络延迟和数据传输问题的?如何优化跨区域的数据导入? +--- +在 Sqoop 中,如何实现数据导入的日志和监控?如何分析性能瓶颈? +--- +Sqoop 的数据传输机制是如何设计的?如何通过配置参数优化网络带宽的使用? +--- +在 Sqoop 中,如何处理分布式环境下的数据一致性问题?有哪些分布式事务处理方案? +--- +Sqoop 与 Sqoop2 有什么区别?在什么情况下使用 Sqoop2? +--- diff --git a/Storm 面试题.md b/Storm 面试题.md new file mode 100644 index 0000000..78e864c --- /dev/null +++ b/Storm 面试题.md @@ -0,0 +1,134 @@ +什么是 Apache Storm?它的主要应用场景是什么? +--- +Storm 的基本架构是什么?主要包括哪些核心组件? +--- +在 Storm 中,什么是 Topology?它的作用是什么? +--- +在 Storm 中,Spout 和 Bolt 的作用分别是什么? +--- +Storm 中的 Stream 是什么?它在数据流处理中的作用是什么? +--- +如何在 Storm 中定义和提交一个 Topology? +--- +在 Storm 中,什么是 Tuple?它与 Stream 有什么关系? +--- +在 Storm 中,如何通过 Java API 进行数据的实时处理? +--- +Storm 中的 Acker 是什么?它在保证消息处理的可靠性中起到什么作用? +--- +Storm 是如何保证消息的 At-Least-Once 处理语义的? +--- +Storm 的 Topology 组件是如何并行执行的?如何调整并行度? +--- +在 Storm 中,如何设置 Spout 的并行度以提高吞吐量? +--- +什么是 Storm 中的可靠性机制?如何处理消息丢失的情况? +--- +Storm 的 Nimbus 是什么?它在集群中的作用是什么? +--- +Storm 中的 Worker 和 Executor 有什么区别?如何配置它们的数量? +--- +Storm 是如何实现容错机制的?当 Bolt 或 Spout 失败时会发生什么? +--- +Storm 如何实现流数据的分组?常见的分组策略有哪些? +--- +在 Storm 中,如何通过 Anchoring 实现消息的可靠处理? +--- +Storm 的 Tuple 是如何序列化的?如何优化序列化过程以提高性能? +--- +在 Storm 中,如何监控 Topology 的性能?有哪些常见的监控工具? +--- +如何在 Storm 中处理消息的重发?有哪些策略可以减少消息丢失? +--- +在 Storm 中,如何使用 Tick Tuple 实现定时任务? +--- +Storm 如何实现 Topology 的高可用性?有哪些策略可以保证持续运行? +--- +在 Storm 中,如何优化数据的处理延迟?有哪些常见的调优方法? +--- +Storm 如何保证 Exactly-Once 语义?与 At-Least-Once 语义有什么区别? +--- +在 Storm 中,如何通过 DRPC 实现实时查询? +--- +在 Storm 中,如何进行流式数据的过滤和聚合操作? +--- +在 Storm 中,如何优化 Spout 的性能以提高数据的吞吐量? +--- +Storm 的 Topology 是如何调度的?如何优化 Topology 的执行效率? +--- +在 Storm 中,如何进行故障节点的自动恢复?有哪些自动化机制? +--- +Storm 是如何与 Zookeeper 集成的?它们之间的协作机制是什么? +--- +在 Storm 中,如何进行并发控制?如何保证多个 Bolt 的顺序执行? +--- +如何在 Storm 中使用内存缓存优化性能?内存缓存的使用场景有哪些? +--- +Storm 中的 Tuple 失败重试机制是如何工作的?如何优化重试策略? +--- +在 Storm 中,如何处理数据倾斜问题?有哪些常见的优化手段? +--- +Storm 的流式处理是如何实现的?如何保证实时数据处理的高效性? +--- +Storm 的 Windowing 机制是如何实现的?如何使用窗口操作处理实时数据? +--- +Storm 的反压机制是如何实现的?如何通过反压避免过载? +--- +在 Storm 中,如何通过 Local Mode 进行本地测试和调试? +--- +如何在 Storm 中优化网络通信的性能?有哪些常见的网络优化策略? +--- +在 Storm 中,如何处理集群扩展和负载均衡?有哪些自动化机制? +--- +Storm 是如何与 Kafka 集成的?如何优化 Kafka 和 Storm 之间的消息传输? +--- +Storm 的 Checkpoint 机制是如何实现的?如何通过 Checkpoint 提高容错性? +--- +在 Storm 中,如何通过自定义分组优化数据流的分配? +--- +Storm 中的 Bolt 是如何处理数据流的?如何通过 Bolt 的设计优化处理性能? +--- +Storm 的 Nimbus 和 Supervisor 是如何协同工作的?它们在集群中分别起什么作用? +--- +在 Storm 中,如何通过多线程优化 Bolt 的处理性能? +--- +Storm 的资源调度器是如何工作的?如何优化资源分配以提高集群效率? +--- +在 Storm 中,如何通过自定义序列化方式优化数据传输性能? +--- +Storm 的容错机制是如何设计的?当节点失败时,如何保证数据不丢失? +--- +在 Storm 中,如何处理多数据源的实时合并和聚合? +--- +Storm 的日志管理机制是如何设计的?如何通过日志分析 Topology 的性能问题? +--- +在 Storm 中,如何进行状态管理?如何通过状态管理保证数据一致性? +--- +Storm 的动态扩展机制是如何实现的?如何在不重启集群的情况下扩展 Topology? +--- +Storm 的监控和告警机制是如何设计的?如何实现对 Topology 的实时监控? +--- +Storm 是如何支持高可用的?Nimbus 的主备切换机制是如何工作的? +--- +Storm 的数据处理模型与 Spark Streaming 有何不同?在什么场景下选择使用 Storm? +--- +Storm 中的反压机制如何影响性能?如何优化反压以避免性能瓶颈? +--- +在 Storm 中,如何通过分层拓扑设计提高系统的可扩展性? +--- +在 Storm 中,如何通过动态调整 Spout 和 Bolt 的并行度提高系统性能? +--- +Storm 的可靠性和容错机制是如何通过 Zookeeper 实现的? +--- +Storm 的数据流传输延迟如何优化?如何通过网络和处理优化减少延迟? +--- +在 Storm 中,如何处理长时间运行的任务?如何通过调优减少任务的处理时间? +--- +Storm 的多租户支持是如何实现的?如何通过资源隔离保证不同租户的性能? +--- +Storm 中的窗口操作如何与分组策略结合使用?如何优化窗口操作的效率? +--- +在 Storm 中,如何通过自定义任务调度器优化 Topology 的执行效率? +--- +Storm 是如何与 Flink、Kafka 等其他大数据组件集成的?如何在大数据生态中发挥作用? +--- diff --git a/TDengine 面试题.md b/TDengine 面试题.md new file mode 100644 index 0000000..d14930e --- /dev/null +++ b/TDengine 面试题.md @@ -0,0 +1,80 @@ +TDengine 是什么?它的主要应用场景是什么? +--- +TDengine 如何处理时间序列数据?它与传统数据库有什么区别? +--- +在 TDengine 中,如何创建一个数据库?有哪些常见的参数配置? +--- +TDengine 中的超级表是什么?它的作用是什么? +--- +如何在 TDengine 中插入数据?常见的插入方式有哪些? +--- +TDengine 如何处理数据压缩?有哪些常见的压缩算法? +--- +在 TDengine 中,如何查询某一时间段的数据? +--- +TDengine 支持哪些常见的数据类型?如何选择合适的数据类型? +--- +TDengine 中的表和超级表有什么区别? +--- +如何在 TDengine 中配置保留时间? +--- +TDengine 如何通过多线程并发提高数据处理能力? +--- +在 TDengine 中,如何通过 SQL 查询聚合数据? +--- +TDengine 的数据分区策略是如何工作的?如何配置分区? +--- +在 TDengine 中,如何使用标签来管理和查询超级表中的数据? +--- +TDengine 的分布式架构是如何实现数据高可用的? +--- +如何在 TDengine 中进行数据的批量写入操作? +--- +TDengine 的流计算是如何实现的?如何通过流计算处理实时数据? +--- +在 TDengine 中,如何通过副本机制保证数据的高可用性? +--- +TDengine 的查询优化器是如何工作的?如何提高查询性能? +--- +在 TDengine 中,如何处理数据倾斜问题?有哪些常见的优化策略? +--- +TDengine 如何与其他大数据工具(如 Kafka、Flink)集成? +--- +在 TDengine 中,如何通过时间窗口实现实时数据分析? +--- +TDengine 中的时序数据压缩是如何实现的?有哪些常见的压缩技术? +--- +如何在 TDengine 中实现数据的自动归档与删除? +--- +在 TDengine 中,如何通过时间序列索引优化查询性能? +--- +TDengine 是如何处理大规模数据写入的?有哪些常见的写入优化技术? +--- +如何在 TDengine 中配置多租户?如何管理多租户数据隔离? +--- +在 TDengine 中,如何通过水平扩展支持大规模数据存储? +--- +TDengine 中的流式数据处理是如何实现的?有哪些常见的流计算场景? +--- +TDengine 是如何保证数据一致性的?如何处理并发写入和读取? +--- +如何在 TDengine 中通过索引优化大规模查询的性能? +--- +TDengine 的副本机制是如何设计的?如何通过副本提高容错能力? +--- +在 TDengine 中,如何实现复杂的实时流式计算和分析? +--- +TDengine 如何通过水平和垂直扩展处理海量数据? +--- +如何在 TDengine 中通过集群管理和负载均衡提高系统性能? +--- +TDengine 中的数据压缩算法是如何影响存储和查询性能的? +--- +在 TDengine 中,如何通过分布式存储和查询机制提高数据处理能力? +--- +TDengine 如何与大数据生态系统中的其他组件(如 Hadoop、Spark)集成? +--- +在 TDengine 中,如何处理时间序列数据的分片和副本管理? +--- +TDengine 如何处理多租户和安全性问题?如何保证数据的隔离和访问控制? +--- diff --git a/Tableau 面试题.md b/Tableau 面试题.md new file mode 100644 index 0000000..8c40a1b --- /dev/null +++ b/Tableau 面试题.md @@ -0,0 +1,104 @@ +Tableau 是什么?它的主要用途是什么? +--- +在 Tableau 中,如何连接到外部数据源? +--- +Tableau 支持哪些常见的数据格式? +--- +在 Tableau 中,如何创建一个简单的柱状图? +--- +Tableau 中的工作表、仪表盘和故事有什么区别? +--- +Tableau 中的筛选器是如何使用的? +--- +如何在 Tableau 中创建层级? +--- +Tableau 如何进行数据的聚合操作? +--- +在 Tableau 中,如何创建计算字段? +--- +Tableau 中的双轴图表是什么?如何创建? +--- +Tableau 是如何处理大规模数据集的? +--- +在 Tableau 中,如何使用表计算? +--- +Tableau 中的维度和度量有什么区别? +--- +如何在 Tableau 中使用参数? +--- +Tableau 中的 LOD 表达式是什么?如何使用? +--- +在 Tableau 中,如何创建动态筛选器? +--- +Tableau 是如何处理实时数据连接与数据提取的? +--- +在 Tableau 中,如何进行数据的透视表操作? +--- +Tableau 的数据联接和数据融合有什么区别? +--- +在 Tableau 中,如何创建自定义地图视图? +--- +如何在 Tableau 中优化仪表盘的性能? +--- +Tableau 的数据源过滤器和维度过滤器有什么区别? +--- +如何在 Tableau 中创建仪表盘交互? +--- +在 Tableau 中,如何处理多个数据源的联接和混合? +--- +Tableau Server 和 Tableau Desktop 有什么区别? +--- +在 Tableau 中,如何使用集来筛选和分组数据? +--- +Tableau 是如何支持大数据环境下的数据可视化的? +--- +如何通过 Tableau 的智能分析功能实现数据预测? +--- +在 Tableau 中,如何创建和使用散点图? +--- +Tableau 中的行级安全是如何实现的? +--- +Tableau 中的浮动布局和网格布局有什么区别? +--- +如何在 Tableau 中处理数据的空值? +--- +Tableau 是如何进行数据抽样和性能优化的? +--- +在 Tableau 中,如何创建仪表盘中的嵌入式过滤器? +--- +Tableau 的 Hyper 数据引擎是如何工作的?它对性能有何影响? +--- +在 Tableau 中,如何通过数据源认证和安全控制保障数据安全? +--- +Tableau 中的映射图功能是如何实现的?如何创建自定义地图? +--- +Tableau 的缓存机制是如何影响查询性能的?如何配置缓存策略? +--- +在 Tableau 中,如何使用上下文过滤器优化查询? +--- +如何在 Tableau 中处理复杂的 LOD 表达式以进行高级数据分析? +--- +Tableau 如何与大数据平台(如 Hadoop、Spark)集成? +--- +在 Tableau 中,如何通过分区和分片优化大规模数据集的性能? +--- +Tableau Server 是如何支持多用户协作和权限管理的? +--- +Tableau 的数据抽取文件(.hyper)与实时连接有什么区别?如何选择合适的模式? +--- +Tableau 如何与 R 或 Python 集成实现高级数据分析? +--- +在 Tableau 中,如何通过参数驱动的动态控制创建复杂的可视化效果? +--- +Tableau 中的分层筛选器和动态分组是如何实现的?如何优化复杂的过滤操作? +--- +Tableau 是如何通过数据驱动警报和自动化脚本实现数据监控的? +--- +在 Tableau 中,如何处理大规模数据集的增量更新和全量更新问题? +--- +Tableau 如何处理多个大数据集的联接和融合操作?如何保证性能? +--- +在 Tableau 中,如何实现企业级的行级安全和列级安全策略? +--- +Tableau 中的图表交互功能如何通过动作过滤和高亮实现动态数据展示? +--- diff --git a/Transformer 面试题.md b/Transformer 面试题.md new file mode 100644 index 0000000..dc22eb7 --- /dev/null +++ b/Transformer 面试题.md @@ -0,0 +1,56 @@ +聊一聊 Transformer 的架构和基本原理。 +--- +使用 Transformer 解决了 RNN 面临的一些什么问题? +--- +Transformer 的哪个部分最占用显存? +--- +Transformer 的位置编码是怎样的? +--- +Transformer 在计算 attention 的时候使用的是点乘还是加法?请说明理由。 +--- +self attention 中的 K 和 Q 是用来做什么的? +--- +K 和 Q 可以使用同一个值通过对自身进行点乘得到吗? +--- +如果让 K 和 Q 变成同一个矩阵,你觉得对模型性能会带来怎样的影响? +--- +为什么 Transformer 采用多头注意力机制? +--- +在不考虑计算量的情况下,head 能否无限增多? +--- +在进行多头注意力的时候需要对每个 head 进行降维吗? +--- +讲一下你对 Transformer 的 Encoder 模块的理解。 +--- +Transformer 中,Decoder 阶段的多头自注意力和 Encoder 阶段的多头自注意力是相同的吗? +--- +了解 Transformer 模型训练中的梯度裁剪(Gradient Clipping)吗? +--- +Transformer 为什么采用 Layer Normalization 而不是 Batch Normalization? +--- +Transformer 中的注意力遮蔽(Attention Masking)的工作原理是什么? +--- +什么是自回归属性(autoregressive property)? +--- +Transformer 中如何实现序列到序列的映射? +--- +Transformer 中的“残差连接”可以缓解梯度消失问题吗? +--- +Transformer 中,如何处理大型数据集? +--- +Transformer 模型训练完成后,如何评估其性能和效果? +--- +Transformer 模型的性能瓶颈在哪? +--- +你觉得可以怎样缓解这个性能瓶颈? +--- +Transformer 和 LLM 有哪些区别 +--- +了解 ViT(Vision Transformer) 吗? +--- +了解 ViLT(Vision-and-Language Transformer) 吗? +--- +ViLT 模型是如何将 Transformer 应用于图像识别任务的? +--- +chatGLM 和 GPT 在结构上有什么区别? +--- diff --git a/Trie面试题.md b/Trie面试题.md new file mode 100644 index 0000000..28337d2 --- /dev/null +++ b/Trie面试题.md @@ -0,0 +1,4 @@ +字符串集合维护 +--- +最大异或对 +--- diff --git a/Vue Router 面试题.md b/Vue Router 面试题.md new file mode 100644 index 0000000..45123e4 --- /dev/null +++ b/Vue Router 面试题.md @@ -0,0 +1,72 @@ +你在项目中使用了 Vue Router 全局路由守卫,请解释一下路由守卫的概念和用法,并介绍一下它在你项目中的实际应用场景? +--- +什么是 Vue Router 的动态路由?你在项目中如何使用动态路由实现不同页面切换? +--- +项目中使用了 Vue Router 来进行全局导航生成,请详细解释一下如何根据路由配置文件自动生成导航菜单? +--- +项目中使用了全局权限管理,请详细描述如何通过 Vue Router 的路由守卫来实现全局权限控制? +--- +Vue Router 的核心实现原理是什么? +--- +如何获取 Vue 页面中的 hash 变化? +--- +怎样在 Vue 中动态加载路由? +--- +Vue Router 的组件内路由钩子有哪些?分别在什么时机调用? +--- +如何实现 Vue 路由的懒加载? +--- +Vue Router 切换路由时,如何实现草稿保存的功能? +--- +Vue Router 如何配置 404 页面? +--- +Vue Router 中如何获取路由传递过来的参数? +--- +在什么场景下会用到 Vue Router 的嵌套路由? +--- +Vue Router 有什么作用?它有哪些组件? +--- +切换到新路由时,如何实现页面滚动到顶部或保持原先的滚动位置? +--- +如何定义 Vue 的动态路由?如何获取传过来的动态参数? +--- +Vue Router 如何响应路由参数的变化? +--- +如何自主设计实现一个 Vue 路由系统? +--- +Vue Router 的 history 模式部署上线时有哪些注意事项? +--- +如何利用 Vue Router 实现页面的重定向? +--- +在 Vue 组件中如何获取当前的路由信息? +--- +Vue Router 的导航守卫有哪些?它们接受哪些参数? +--- +Vue Router 的 history 模式为什么刷新时会出现 404 错误? +--- +是否阅读过 Vue Router 的源码?有哪些优秀的设计? +--- +Vue Router 完整的导航解析过程是怎样的? +--- +Vue Router 的 hash 模式和 history 模式有什么区别? +--- +什么是 Vue Router 的 router-link 组件? +--- +Vue Router 支持哪几种路由模式?它们有什么区别? +--- +什么是 Vue 的前端路由?如何实现? +--- +如何使用 Vue Router 的 hash 模式实现锚点? +--- +Vue 路由之间是如何跳转的?有哪些跳转方式? +--- +Vue Router 的懒加载如何实现? +--- +Vue Router 的跳转和 location.href 有什么区别? +--- +Vue Router 中 route 和 router 有哪些区别? +--- +active-class 是哪个 Vue 组件的属性? +--- +Vue Router 中 params 和 query 有什么区别? +--- diff --git a/Vue 基础面试题.md b/Vue 基础面试题.md new file mode 100644 index 0000000..fce000c --- /dev/null +++ b/Vue 基础面试题.md @@ -0,0 +1,148 @@ +Vue 计算属性的函数名和 data 中的属性可以同名吗?为什么? +--- +Vue 的 v-show 和 v-if 有什么区别?使用场景分别是什么? +--- +在 Vue 组件中写 name 选项有什么作用? +--- +Vue 2.0 支持哪个版本以上的 IE 浏览器? +--- +为什么不建议在 Vue 中同时使用 v-if 和 v-for? +--- +在 Vue 渲染模板时,如何保留模板中的 HTML 注释? +--- +为什么 Vue 中的 data 属性是一个函数而不是一个对象? +--- +Vue 的 template 标签有什么用? +--- +Vue 中 MVVM、MVC 和 MVP 模式的区别是什么? +--- +Vue Router 如何配置 404 页面? +--- +你了解 Vue 中的过滤器吗?它有哪些应用场景? +--- +Vue Router 中如何获取路由传递过来的参数? +--- +Vue 的 v-cloak 和 v-pre 指令有什么作用? +--- +在 Vue 组件中如何访问根实例? +--- +什么是 Vue 中的 slot?它有什么作用? +--- +在 Vue 中使用 this 时应该注意哪些问题? +--- +Vue Router 有什么作用?它有哪些组件? +--- +如何定义 Vue 的动态路由?如何获取传过来的动态参数? +--- +Vue 中 data 的属性可以与 methods 中的方法同名吗?为什么? +--- +什么是 Vue 的自定义指令?自定义指令的应用场景有哪些? +--- +Vue 的模板语法使用的是哪个 Web 模板引擎?介绍下该模板引擎 +--- +什么是 Vue 的单向数据流和双向数据流? +--- +Vue 中 created 和 mounted 生命周期钩子有什么区别? +--- +Vue 2.0 的 v-html 指令不再支持使用过滤器,还有哪些处理 HTML 内容的方法? +--- +有哪些定义 Vue 组件模板的方法? +--- +为什么 Vue 写组件时可以放在 .vue 文件里?可以使用其他文件后缀吗? +--- +Vue 中组件、插件、插槽三个概念的区别是什么? +--- +什么是 Vue 的 v-model?有什么作用? +--- +怎么在组件初始化时立即调用 Vue 的 watch 函数? +--- +在 .vue 文件中,style 和 script 必须要写么?为什么? +--- +在 Vue 组件中如何获取当前的路由信息? +--- +Vue 项目中如何监听键盘事件? +--- +Vue 父子组件之间传值有哪些方式? +--- +为什么 Vue 要求组件模板只能有一个根元素? +--- +是否了解 Vue 官方的风格指南?请列举其中的一些规则 +--- +Vue 中是如何使用 event 对象的? +--- +怎么使 CSS 样式只在当前 Vue 组件中生效? +--- +介绍下 Vue 组件的命名规范? +--- +Vue 常用的修饰符有哪些?分别有哪些应用场景? +--- +第一次加载 Vue 页面时会触发哪些生命周期钩子? +--- +当 Vue 的属性名称与 methods 中的方法名称一样时,会发生什么问题? +--- +在 Vue 中,如果变量名以 _ 或 $ 开头,会有什么问题?如何访问到这些值? +--- +为什么 Vue 中给对象添加新属性后界面不刷新? +--- +Vue 中 computed 和 watch 的区别是什么? +--- +v-on 在 Vue 中可以绑定多个方法吗? +--- +什么是 Vue 的 nextTick?有什么作用? +--- +Vue Router 的 hash 模式和 history 模式有什么区别? +--- +在 Vue 的 v-for 循环中,key 有什么作用? +--- +通常在 Vue 的哪个生命周期钩子中请求异步数据?为什么? +--- +什么是 Vue 的生命周期?生命周期的作用是什么? +--- +Vue 中 computed 和 methods 的区别是什么? +--- +Vue 实例在挂载过程中发生了什么? +--- +说说你对 Vue 的理解?相比于原生开发,使用 Vue 有哪些优点? +--- +什么是 Vue Router 的 router-link 组件? +--- +Vue 中 :class 和 :style 有几种表示方式? +--- +DOM 渲染在哪个 Vue 生命周期钩子中就已经完成? +--- +Vue Router 支持哪几种路由模式?它们有什么区别? +--- +Vue 的生命周期总共有哪几个阶段? +--- +Vue 中有哪些表单修饰符和事件修饰符? +--- +什么是 Vue 的前端路由?如何实现? +--- +Vue 路由之间是如何跳转的?有哪些跳转方式? +--- +Vue 使用 v-for 遍历对象时,是按什么顺序遍历的?如何保证遍历顺序? +--- +Vue 中怎么获取 DOM 节点? +--- +如何重置 Vue 的 data? +--- +如何访问 Vue 子组件的实例或子元素? +--- +Vue Router 的跳转和 location.href 有什么区别? +--- +在 Vue 事件中传入 $event,使用 e.target 和 e.currentTarget 有什么区别? +--- +为什么 Vue 的 data 属性必须声明为返回一个初始数据的函数? +--- +什么是 Vue 指令?Vue 有哪些常用的指令? +--- +Vue 在 created 和 mounted 这两个生命周期钩子中请求数据有什么区别? +--- +Vue Router 中 route 和 router 有哪些区别? +--- +Vue 表单修饰符 .lazy 有什么作用? +--- +active-class 是哪个 Vue 组件的属性? +--- +Vue Router 中 params 和 query 有什么区别? +--- diff --git a/Vue 工具和库面试题.md b/Vue 工具和库面试题.md new file mode 100644 index 0000000..6c4b3dc --- /dev/null +++ b/Vue 工具和库面试题.md @@ -0,0 +1,192 @@ +在 Vue CLI 中,你经常使用的加载器有哪些? +--- +你会如何从零构建一个 Vue 项目?要经历哪些步骤?目录结构如何设计?使用哪些库或插件? +--- +在 Vue 项目中如何进行单元测试? +--- +Vue CLI 默认生成的是单页面应用项目,如何将其修改为多页面应用? +--- +Vue CLI 提供了哪些脚手架模板? +--- +Vue 项目的 npm run build --report 命令有什么作用? +--- +如果不使用 Vue CLI,你如何从零搭建 Vue 的开发环境?请介绍流程 +--- +Vue CLI 的实现原理是什么?如何自主实现一个类似 Vue CLI 的工具? +--- +使用 Vue CLI 新建的项目,常用的 npm 命令有哪些? +--- +在使用 Vue CLI 开发 Vue 项目时,自动刷新页面的原理是什么? +--- +什么是前端脚手架?有哪些 Vue 的前端脚手架? +--- +如何编写一个 Vue CLI 的插件? +--- +如何在 Vue CLI 创建的项目中解决跨域问题? +--- +怎么让 Vue 项目支持使用 TypeScript? +--- +使用 Vue CLI 创建的项目是否能用 ES6 和 ES7 的语法?为什么? +--- +在 Vue 项目中如何引入第三方前端库?有哪些方法? +--- +使用 Vue 开发项目时,你会使用哪些辅助工具? +--- +什么是 vue-loader?它有什么作用? +--- +什么是 Vue Devtools?它有什么作用? +--- +怎么使用 Vue CLI 创建一个项目? +--- +如何监听 Vuex 数据的变化? +--- +Vue Router 的核心实现原理是什么? +--- +什么是 Vuex 的模块化 module?有哪些应用场景? +--- +如何获取 Vue 页面中的 hash 变化? +--- +如何修改 Element UI 组件的默认样式? +--- +怎样在 Vue 中动态加载路由? +--- +Vue Router 的组件内路由钩子有哪些?分别在什么时机调用? +--- +如何实现 Vuex 中 store 的插件? +--- +如何实现 Vue 路由的懒加载? +--- +Vue 移动端开发时可以使用哪些 UI 库? +--- +Vue Router 切换路由时,如何实现草稿保存的功能? +--- +Vue Router 如何配置 404 页面? +--- +Vue Router 中如何获取路由传递过来的参数? +--- +在什么场景下会用到 Vue Router 的嵌套路由? +--- +为什么 Vuex 的 mutation 中不能做异步操作? +--- +Vue Router 有什么作用?它有哪些组件? +--- +如何使用 Element UI 的 el-dialog 组件创建模态对话框?并在关闭对话框时进行一些清理操作? +--- +切换到新路由时,如何实现页面滚动到顶部或保持原先的滚动位置? +--- +如何定义 Vue 的动态路由?如何获取传过来的动态参数? +--- +Vue Router 如何响应路由参数的变化? +--- +如何自主设计实现一个 Vue 路由系统? +--- +Vue Router 的 history 模式部署上线时有哪些注意事项? +--- +Vuex 的严格模式是什么?它有什么作用?如何开启? +--- +如何使用 Vue 开发多语言项目? +--- +Vuex 状态管理存在什么缺点? +--- +什么是 Vuex?为什么需要它?它有哪些优点和适用场景? +--- +如何在组件中重复使用 Vuex 的 mutation? +--- +在 Vue 组件中如何获取当前的路由信息? +--- +Vue Router 的导航守卫有哪些?它们接受哪些参数? +--- +请求数据的逻辑应该写在 Vue 组件的 methods 中还是 Vuex 的 actions 中? +--- +Vuex 和 localStorage 的区别是什么? +--- +Vuex 的实现原理是什么? +--- +Element UI 组件库是怎么做表单验证的?怎么在循环中对每个 input 进行验证? +--- +Vue Router 的 history 模式为什么刷新时会出现 404 错误? +--- +Element UI 是什么?你如何在 Vue 项目中集成 Element UI? +--- +是否阅读过 Vue Router 的源码?有哪些优秀的设计? +--- +你是否阅读过 Vue 组件库(如 Element UI)的源码?有哪些巧妙的设计? +--- +你使用过哪些 Vue 的 UI 库?说说它们的优缺点? +--- +什么是 JSX?Vue 中怎么使用 JSX? +--- +Vue Router 完整的导航解析过程是怎样的? +--- +请介绍一个你使用 Element UI 开发的实际项目,遇到了哪些问题,又是如何解决的? +--- +你有二次封装过 Element UI 的组件吗? +--- +如何在组件中批量使用 Vuex 的 getter 属性? +--- +Vue Router 的 hash 模式和 history 模式有什么区别? +--- +为什么要使用 Vuex 或者 Redux 状态管理?能够解决什么问题? +--- +什么是 Vue Router 的 router-link 组件? +--- +Element UI 的表格组件如何实现动态表头? +--- +Pinia 与 Vuex 状态管理有什么区别? +--- +Vuex 的 store 有几个属性值?它们的作用分别是什么? +--- +如何解决页面刷新后 Vuex 的 state 数据丢失的问题? +--- +Vue Router 支持哪几种路由模式?它们有什么区别? +--- +Vuex 如何知道 state 是通过 mutation 修改还是外部直接修改的? +--- +什么是 Vue 的前端路由?如何实现? +--- +如何使用 Vue Router 的 hash 模式实现锚点? +--- +Vue 路由之间是如何跳转的?有哪些跳转方式? +--- +如何避免 Element UI 组件的频繁重新渲染,提升应用的性能? +--- +Vue Router 的懒加载如何实现? +--- +Vuex 有哪几种属性?分别有什么作用? +--- +Vuex 的 action 和 mutation 之间有什么区别? +--- +Vuex 和单纯的全局对象有什么区别? +--- +Element UI 的穿梭组件在数据量大时变卡,怎么优化? +--- +Element UI 如何支持国际化?你如何在一个多语言项目中切换语言? +--- +Vuex 使用 actions 时不支持多参数传递怎么办? +--- +Vue Router 的跳转和 location.href 有什么区别? +--- +Element UI 是否支持移动端?如果需要在移动端使用,有哪些需要注意的事项? +--- +Vuex 的 state、getter、mutation、action、module 分别有什么作用? +--- +Vue Router 中 route 和 router 有哪些区别? +--- +active-class 是哪个 Vue 组件的属性? +--- +Redux 和 Vuex 有什么区别?它们的共同设计思想是什么? +--- +Vue Router 中 params 和 query 有什么区别? +--- +为什么 Vue 官方推荐使用 axios 而不用 vue-resource? +--- +在 Vue 项目中你有封装过 Axios 吗?如何封装的? +--- +在 Vue 项目中如何实现数据可视化? +--- +你在 Vue 项目中如何发送请求?ajax、fetch、axios 之间有什么区别? +--- +如何优化 Webpack 打包 Vue 应用的速度? +--- +如何在 Vue 项目中使用 babel-polyfill 模块?它的主要作用是什么? +--- diff --git a/Vue 状态管理面试题.md b/Vue 状态管理面试题.md new file mode 100644 index 0000000..377a861 --- /dev/null +++ b/Vue 状态管理面试题.md @@ -0,0 +1,48 @@ +项目中使用 Vuex 来进行全局状态管理,请解释为什么在项目中需要全局状态管理以及如何使用 Vuex? +--- +如何监听 Vuex 数据的变化? +--- +什么是 Vuex 的模块化 module?有哪些应用场景? +--- +如何实现 Vuex 中 store 的插件? +--- +为什么 Vuex 的 mutation 中不能做异步操作? +--- +Vuex 的严格模式是什么?它有什么作用?如何开启? +--- +Vuex 状态管理存在什么缺点? +--- +什么是 Vuex?为什么需要它?它有哪些优点和适用场景? +--- +如何在组件中重复使用 Vuex 的 mutation? +--- +请求数据的逻辑应该写在 Vue 组件的 methods 中还是 Vuex 的 actions 中? +--- +Vuex 和 localStorage 的区别是什么? +--- +Vuex 的实现原理是什么? +--- +如何在组件中批量使用 Vuex 的 getter 属性? +--- +为什么要使用 Vuex 或者 Redux 状态管理?能够解决什么问题? +--- +Pinia 与 Vuex 状态管理有什么区别? +--- +Vuex 的 store 有几个属性值?它们的作用分别是什么? +--- +如何解决页面刷新后 Vuex 的 state 数据丢失的问题? +--- +Vuex 如何知道 state 是通过 mutation 修改还是外部直接修改的? +--- +Vuex 有哪几种属性?分别有什么作用? +--- +Vuex 的 action 和 mutation 之间有什么区别? +--- +Vuex 和单纯的全局对象有什么区别? +--- +Vuex 使用 actions 时不支持多参数传递怎么办? +--- +Vuex 的 state、getter、mutation、action、module 分别有什么作用? +--- +Redux 和 Vuex 有什么区别?它们的共同设计思想是什么? +--- diff --git a/Vue 进阶面试题.md b/Vue 进阶面试题.md new file mode 100644 index 0000000..824fc6d --- /dev/null +++ b/Vue 进阶面试题.md @@ -0,0 +1,412 @@ +在 Vue 自定义事件中,父组件如何接收子组件传递的多个参数? +--- +DIFF 算法的原理是什么? +--- +如何对 Vue 项目进行搜索引擎优化(SEO)? +--- +使用 Object.defineProperty 来进行数据劫持有什么缺点? +--- +如何监听 Vuex 数据的变化? +--- +Vue Router 的核心实现原理是什么? +--- +什么是 Vue 的 keep-alive?它是如何实现的?具体缓存了什么内容? +--- +什么是 Vuex 的模块化 module?有哪些应用场景? +--- +Vue 组件会在什么时候被销毁? +--- +为什么 Vue 使用异步的方式更新组件? +--- +Vue 中 nextTick 的实现原理是什么? +--- +Vue 的源码有哪些巧妙的设计? +--- +如何获取 Vue 页面中的 hash 变化? +--- +如何在 Vue 3 中使用 defineAsyncComponent 实现异步组件加载? +--- +如何修改 Element UI 组件的默认样式? +--- +为什么 Vue 官方推荐使用 axios 而不用 vue-resource? +--- +什么是跨域?在 Vue 项目中你是如何解决跨域问题的? +--- +怎样在 Vue 中动态加载路由? +--- +什么是 Vue 的 provide 和 inject? +--- +Vue 的 keep-alive 有哪些生命周期钩子? +--- +什么是 Vue 的动态组件?它适用于哪些场景? +--- +如何解决 Vue 打包后静态资源图片失效的问题? +--- +Vue Router 的组件内路由钩子有哪些?分别在什么时机调用? +--- +你会如何从零构建一个 Vue 项目?要经历哪些步骤?目录结构如何设计?使用哪些库或插件? +--- +如何实现 Vuex 中 store 的插件? +--- +如何实现 Vue 路由的懒加载? +--- +什么是 Vue 的函数式组件? +--- +什么是虚拟 DOM?为什么要使用虚拟 DOM? +--- +在 Vue 项目中如何进行单元测试? +--- +请介绍你做过的 Vue 项目的目录结构。对于大型项目,你如何划分结构和组件? +--- +虚拟 DOM 的解析过程是怎样的? +--- +如何在 Vue 3 中实现一个复杂的表单验证和提交逻辑? +--- +Vue 的 data 中某个属性的值发生改变后,视图是否立即同步执行重新渲染? +--- +SPA 单页应用的实现方式有哪些? +--- +Vue Router 切换路由时,如何实现草稿保存的功能? +--- +实际工作中,你总结了哪些 Vue 的最佳实践? +--- +使用 delete 和 Vue.delete 删除数组元素的区别是什么? +--- +在移动端使用 Vue,有哪些最佳实践? +--- +在 Vue 项目中你有封装过 Axios 吗?如何封装的? +--- +在什么场景下会用到 Vue Router 的嵌套路由? +--- +如果要实现一个 Vue3 的弹窗组件,你会如何设计? +--- +在 Vue 项目中如何实现数据可视化? +--- +什么是 Vue 3 的 Tree-shaking 特性?有什么作用? +--- +Vue 中 mixin 和 mixins 的区别是什么? +--- +Vue 如何缓存当前组件?缓存后如何更新? +--- +Vue 能监听到数组变化的方法有哪些?为什么这些方法能监听到? +--- +Vue 3 中的 Composition API 与 Vue 2.x 的 Options API 有什么区别? +--- +如何在 Vue 中实现权限管理?如何控制权限到按钮级别? +--- +什么是 SPA 单页应用?与多页应用相比有哪些优缺点? +--- +什么是 Vue 中的 diff 算法?请详细讲解 +--- +MVVM 的优缺点是什么? +--- +什么是 Vue 中的 mixin?它有哪些应用场景? +--- +为什么 Vuex 的 mutation 中不能做异步操作? +--- +什么是 SSR?它解决了什么问题?Vue 项目如何实现 SSR? +--- +Vue 父子组件双向绑定的方法有哪些? +--- +Vue 中 mixin 和 extends 的覆盖逻辑是什么? +--- +如何使用 Vue 手写一个过滤器? +--- +Vue 中 key 的实现原理是什么? +--- +将 EventBus 注册为 Vue 实例的全局对象,路由切换时会重复触发事件,如何解决? +--- +如何使用 Element UI 的 el-dialog 组件创建模态对话框?并在关闭对话框时进行一些清理操作? +--- +使用 Vue 渲染大量数据时,如何进行优化? +--- +如何在 Vue 中保存页面的当前状态? +--- +如何捕获和处理 Vue 项目中的错误? +--- +切换到新路由时,如何实现页面滚动到顶部或保持原先的滚动位置? +--- +Vue 中封装的数组方法有哪些?它们如何实现视图更新? +--- +Vue 的 Composition API 和 React Hook 有什么区别? +--- +Vue 框架有哪些优点和缺点? +--- +请手写一个自定义指令,并描述如何调用它? +--- +你如何在 Vue 3 中管理全局状态?使用了哪些工具和方法? +--- +什么是 Vue 的 observable? +--- +mounted 生命周期和 keep-alive 中的 activated 钩子的优先级是什么? +--- +在 Vue 项目中,如果 methods 的方法用箭头函数定义,会有什么结果? +--- +Vue 中 template 和 JSX 有什么区别? +--- +Vue 2 和 Vue 3 有哪些区别?Vue 3 有哪些更新? +--- +Vue Router 如何响应路由参数的变化? +--- +如何解决 Vue 打包时 vendor 文件过大的问题? +--- +如何设计实现一款 Vue 的组件库? +--- +如何部署 Vue 项目? +--- +Vue 3 中的 Fragment 是什么?有什么作用? +--- +如何自主设计实现一个 Vue 路由系统? +--- +在 Vue 渲染列表时,为什么不建议使用数组的下标作为列表的 key 值? +--- +如何使用 Vue 开发网站切换主题的功能?介绍设计思路 +--- +Vue Router 的 history 模式部署上线时有哪些注意事项? +--- +Vuex 的严格模式是什么?它有什么作用?如何开启? +--- +Vue 项目中 assets 和 static 的区别是什么? +--- +Vue 的 el、template 和 render 有什么区别?各自的应用场景是什么? +--- +什么是双向绑定?Vue 双向绑定的原理是什么? +--- +如何使用 Vue 开发多语言项目? +--- +Vue 中什么是递归组件?请举例说明 +--- +Vue 的 data 中如果有数组,如何检测数组的变化? +--- +Vue 3 中的 Suspense 组件有什么作用?如何使用它来处理异步组件? +--- +Vue 3 中的 Vue Composition API 是什么? +--- +Vue 中子组件可以直接修改父组件的数据吗? +--- +Vue 中 style 的 scoped 属性有什么用?它的实现原理是什么? +--- +Vuex 状态管理存在什么缺点? +--- +你在 Vue 项目中如何发送请求?ajax、fetch、axios 之间有什么区别? +--- +Vue 中怎么改变插入模板的分隔符? +--- +Vue 中有哪些边界情况需要注意? +--- +说一下虚拟 DOM 和 DIFF 算法的关系,其中 key 的作用是什么? +--- +什么是事件总线 EventBus?怎么在 Vue 项目中使用它? +--- +Vue 项目部署到服务器后,报 404 错误的原因是什么? +--- +什么是 Vuex?为什么需要它?它有哪些优点和适用场景? +--- +如何在组件中重复使用 Vuex 的 mutation? +--- +如何解决 SPA 单页应用首屏加载速度慢的问题? +--- +Vue Router 的导航守卫有哪些?它们接受哪些参数? +--- +请求数据的逻辑应该写在 Vue 组件的 methods 中还是 Vuex 的 actions 中? +--- +Vuex 和 localStorage 的区别是什么? +--- +Vuex 的实现原理是什么? +--- +Element UI 组件库是怎么做表单验证的?怎么在循环中对每个 input 进行验证? +--- +什么是 Vue 的高阶组件?请举例说明 +--- +Vue 中如何实现强制刷新组件? +--- +Vue Router 的 history 模式为什么刷新时会出现 404 错误? +--- +Vue、React 和 Angular 有什么区别?各自的优缺点和使用场景是什么? +--- +Element UI 是什么?你如何在 Vue 项目中集成 Element UI? +--- +是否阅读过 Vue Router 的源码?有哪些优秀的设计? +--- +Vue 的基本实现原理是什么? +--- +你是否阅读过 Vue 组件库(如 Element UI)的源码?有哪些巧妙的设计? +--- +怎么让 Vue 项目支持使用 TypeScript? +--- +Vue 模板到渲染的过程是什么? +--- +如何使用 Vue 编写一个 Tab 切换组件?请介绍设计思路 +--- +Vue 如何优化网站首页的加载速度? +--- +如何修改 Vue 打包后生成文件的路径? +--- +说说你了解哪些 Vue 组件设计原则? +--- +什么是 Vue 的 Object.defineProperty? +--- +Vue 中给 data 的对象添加新属性时会发生什么?如何解决? +--- +Vue 首页白屏可能是什么问题引起的?如何解决? +--- +如何解决 Vue 动态设置 img 的 src 属性不生效的问题? +--- +虚拟 DOM 真的比真实 DOM 的性能更好吗? +--- +你使用过哪些 Vue 的 UI 库?说说它们的优缺点? +--- +如何销毁 Vue 组件中的定时器? +--- +如果 Vue 给组件绑定自定义事件无效,如何解决? +--- +什么是 JSX?Vue 中怎么使用 JSX? +--- +Vue 中 slot 的实现原理是什么? +--- +Vue 组件中,如果使用原生 addEventListener 监听事件,是否需要手动销毁?为什么? +--- +Vue 中 v-model 是如何实现的? +--- +在 Vue 项目中如何引入第三方前端库?有哪些方法? +--- +什么是 Vue 的 render 函数?它有什么好处? +--- +你了解过哪些 Vue 开发规范? +--- +Vue 怎么与原生 App 进行交互?有哪些方法? +--- +Vue Router 完整的导航解析过程是怎样的? +--- +请介绍一个你使用 Element UI 开发的实际项目,遇到了哪些问题,又是如何解决的? +--- +你有二次封装过 Element UI 的组件吗? +--- +如何优化 Webpack 打包 Vue 应用的速度? +--- +如何在组件中批量使用 Vuex 的 getter 属性? +--- +Vue 如何监听对象或数组某个属性的变化? +--- +Vue 中 template 的编译过程是怎样的? +--- +Vue 是如何收集依赖的? +--- +如何在 Vue 项目中使用 babel-polyfill 模块?它的主要作用是什么? +--- +什么是 Vue 的 is 特性?主要应用在哪些方面? +--- +Vue 过滤器的作用是什么?如何实现一个 Vue 过滤器? +--- +在 Vue 项目中的 style 样式中,为什么要添加 scoped? +--- +Vue 中 v-model 可以用于自定义组件吗?如何实现? +--- +为什么要使用 Vuex 或者 Redux 状态管理?能够解决什么问题? +--- +在 Vue 中引入插件的方法有哪些? +--- +Element UI 的表格组件如何实现动态表头? +--- +Vue 的 Vue.use 的实现原理是什么? +--- +Vue 中子组件和父组件钩子的执行顺序是什么? +--- +Vue 的 attrs 和 listeners 分别有哪些使用场景? +--- +在 Vue 子组件中如何访问父组件的实例? +--- +Vue 的 watch 和计算属性有什么区别? +--- +Vue 3 性能提升主要体现在哪些方面? +--- +Vue 的 v-once 有哪些使用场景? +--- +Vue 中的 watch 怎么深度监听对象变化? +--- +Pinia 与 Vuex 状态管理有什么区别? +--- +Vuex 的 store 有几个属性值?它们的作用分别是什么? +--- +Vue 3 的设计目标是什么?在设计过程中做了哪些优化? +--- +如何解决 Vue 初始化页面闪动的问题? +--- +如何解决页面刷新后 Vuex 的 state 数据丢失的问题? +--- +Vuex 如何知道 state 是通过 mutation 修改还是外部直接修改的? +--- +Vue 组件之间的通信方式有哪些? +--- +Vue 的 prop 是怎么进行验证的?可以设置默认值吗? +--- +Vue 2 修改了数组的哪些方法?为什么? +--- +如何使用 Vue Router 的 hash 模式实现锚点? +--- +Vue 项目部署上线前,需要做哪些准备工作? +--- +Vue 中 v-if、v-show 和 v-html 的原理是什么? +--- +如何实现一个虚拟 DOM? +--- +在 Vue 项目开发中,如何进行接口管理? +--- +Vue 过渡动画实现的方式有哪些? +--- +Vue 3 中的 watch 和 watchEffect 有什么区别?如何选择使用它们? +--- +在 Vue 项目中,如何配置 favicon 图标? +--- +什么是 Vue 的 Proxy?它有什么作用? +--- +Vue 中 prop 验证的 type 类型有哪几种? +--- +什么是 Vue 的 extend 构造器?它的作用是什么? +--- +如何避免 Element UI 组件的频繁重新渲染,提升应用的性能? +--- +Vue Router 的懒加载如何实现? +--- +Vuex 有哪几种属性?分别有什么作用? +--- +Vuex 的 action 和 mutation 之间有什么区别? +--- +Vuex 和单纯的全局对象有什么区别? +--- +Element UI 的穿梭组件在数据量大时变卡,怎么优化? +--- +Element UI 如何支持国际化?你如何在一个多语言项目中切换语言? +--- +在 Vue 开发过程中需要同时与多个后端人员联调接口时,你会怎么做? +--- +Vuex 使用 actions 时不支持多参数传递怎么办? +--- +v-if 和 v-for 在 Vue 中的优先级是什么?如果它们同时出现,应该如何优化以获得更好的性能? +--- +使用 Vue 开发一个任务列表应用,你会怎么设计实现? +--- +Vue 打包后最终生成的文件有哪些? +--- +Element UI 是否支持移动端?如果需要在移动端使用,有哪些需要注意的事项? +--- +Vuex 的 state、getter、mutation、action、module 分别有什么作用? +--- +如果想扩展某个现有的 Vue 组件,应该怎么做? +--- +如何在 Vue 中定义全局的方法? +--- +什么情况下 Vue 能监听到数组或对象变化,什么情况监听不到?无法监听时如何解决? +--- +有哪些 Vue 性能优化的方法? +--- +使用箭头函数定义 Vue 的 watch 属性会有什么结果? +--- +Redux 和 Vuex 有什么区别?它们的共同设计思想是什么? +--- +如何在 Vue 项目中引入 SCSS?引入后如何使用? +--- +Vue 3 使用的 DIFF 算法相比 Vue 2 的双端比对有什么优点? +--- +Vue 自定义指令的生命周期钩子函数有哪些? +--- diff --git a/Vue3 面试题.md b/Vue3 面试题.md new file mode 100644 index 0000000..706b011 --- /dev/null +++ b/Vue3 面试题.md @@ -0,0 +1,30 @@ +如何在 Vue 3 中使用 defineAsyncComponent 实现异步组件加载? +--- +如何在 Vue 3 中实现一个复杂的表单验证和提交逻辑? +--- +如果要实现一个 Vue3 的弹窗组件,你会如何设计? +--- +什么是 Vue 3 的 Tree-shaking 特性?有什么作用? +--- +Vue 3 中的 Composition API 与 Vue 2.x 的 Options API 有什么区别? +--- +你如何在 Vue 3 中管理全局状态?使用了哪些工具和方法? +--- +Vue 2 和 Vue 3 有哪些区别?Vue 3 有哪些更新? +--- +Vue 3 中的 Fragment 是什么?有什么作用? +--- +Vue 3 中的 Suspense 组件有什么作用?如何使用它来处理异步组件? +--- +Vue 3 中的 Vue Composition API 是什么? +--- +为什么 Vue 3 中使用 Proxy API 替代了 defineProperty API? +--- +Vue 3 性能提升主要体现在哪些方面? +--- +Vue 3 的设计目标是什么?在设计过程中做了哪些优化? +--- +Vue 3 中的 watch 和 watchEffect 有什么区别?如何选择使用它们? +--- +Vue 3 使用的 DIFF 算法相比 Vue 2 的双端比对有什么优点? +--- diff --git a/Web 测试面试题.md b/Web 测试面试题.md new file mode 100644 index 0000000..b0345f2 --- /dev/null +++ b/Web 测试面试题.md @@ -0,0 +1,182 @@ +什么是 UI 自动化测试? +--- +UI 自动化测试有哪些分类? +--- +什么样的 Web 项目适合做 UI 自动化测试? +--- +如何进行 Web 自动化测试中的元素定位? +--- +WebDriver 的元素定位方式有哪些? +--- +什么是 ID 元素定位? +--- +什么是 name 元素定位? +--- +什么是 class_name 元素定位? +--- +什么是 tag_name 元素定位? +--- +什么是 link_text 元素定位? +--- +什么是 partial_link_text 元素定位? +--- +如何定位一组元素? +--- +什么是 XPath 定位? +--- +什么是 CSS 定位? +--- +元素有哪些常用操作方法? +--- +WebDriver 操作浏览器有哪些常用方法? +--- +WebDriver 如何操作鼠标? +--- +什么是显式等待? +--- +什么是隐式等待? +--- +显式等待与隐式等待的区别是什么? +--- +如何操作下拉选择框? +--- +如何处理弹出框? +--- +如何控制滚动条? +--- +常用自动化测试工具及其运行原理是什么?写出一段元素查找的代码。 +--- +如何构建自动化测试框架? +--- +如何设计自动化测试用例? +--- +Web 自动化测试中,WebDriver 如何开启和退出一个浏览器? +--- +Web 自动化测试中,如何查找屏幕上是否显示了元素? +--- +Web 自动化测试中,如何使用 Selenium 在文本输入框中输入文本? +--- +什么是 POM(面向对象模型)?它有什么优势? +--- +Web 自动化测试中,如何通过代理在浏览器中进行重定向? +--- +Web 自动化测试中,如何在 WebDriver 中处理 iframe? +--- +Web 自动化测试中,导航命令有哪些类型? +--- +Web 自动化测试中,如何获取网页元素的文本? +--- +Web 自动化测试中,如何编写代码在浏览器历史记录中来回浏览? +--- +Web 自动化测试中,WebDriver 中有哪些刷新网页的方法? +--- +Web 自动化测试中,如何在 Selenium WebDriver 中启动不同的浏览器? +--- +Selenium 中有几种类型的等待?它们的区别是什么? +--- +Web 自动化测试中,findElement() 和 findElements() 有什么区别? +--- +Selenium WebDriver 支持哪些编程语言编写测试用例? +--- +XPath 中 "/" 和 "//" 的区别是什么? +--- +解释 XPath 绝对路径和相对路径? +--- +解释断言和验证命令之间的区别? +--- +Selenium 中的断言是什么意思? +--- +列出一些可以与 Selenium 集成以实现持续测试的自动化测试工具? +--- +Selenium 中提供几种类型的 WebDriver API? +--- +在 Selenium 中定位网页元素有哪些不同的方法? +--- +什么是 Selenium IDE? +--- +列出 Selenium 支持的一些测试类型? +--- +什么是 Selenium? +--- +如何进行 UI 自动化测试? +--- +什么样的项目适合做 UI 自动化测试?请列出至少 3 点。 +--- +UI 自动化测试的流程是什么? +--- +UI 自动化测试的来源是什么? +--- +UI 自动化测试有哪些优缺点? +--- +如何验证 UI 自动化测试的覆盖率? +--- +如何进行 UI 自动化测试的环境搭建? +--- +Selenium 的工作原理是什么? +--- +Selenium 2 和 Selenium 1 的区别是什么? +--- +Selenium 库中有哪些常用的函数? +--- +Web 自动化测试中,定位 HTML 元素的方法有哪些? +--- +Web 自动化测试中,JS 定位元素的方法有哪些? +--- +Web 自动化测试中,jQuery 定位元素的方法有哪些? +--- +Web 自动化测试中,CSS 定位的方法有哪些? +--- +Web 自动化测试中,XPath 定位的方法有哪些?如何编写 XPath? +--- +Web 自动化测试中,如何定位内嵌界面? +--- +Web 自动化测试中,如何在不同的网页之间切换? +--- +Web 自动化测试中,如何定位滚动条?如何操作滚动条? +--- +Web 自动化测试中,如何模拟键盘和鼠标操作? +--- +Web 自动化测试中,如何处理文件上传? +--- +Web 自动化测试中,如何定位时间控件? +--- +Web 自动化测试中,有没有修改过页面元素的属性?如何修改? +--- +Web 自动化测试中,定位不到元素的可能原因是什么?如何解决? +--- +Web 自动化测试中,如何定位不可见/隐藏的元素?如何处理? +--- +Web 自动化测试中,如果元素经常变动,你如何处理? +--- +如何在自动化测试中破解验证码? +--- +数据驱动测试了解多少?如何实现? +--- +参数化类型有哪些?自动化脚本如何实现数据参数化? +--- +Web 自动化测试中,如何生成随机数? +--- +Web 自动化测试中,如何读取表格中的一行、一列数据? +--- +在 Web 自动化测试中,如何进行断言? +--- +Selenium 提供了哪些断言? +--- +自动化测试中,模块封装有哪些?封装的目的是什么? +--- +Web 自动化测试中,闭环有哪些?闭环的目的是什么? +--- +POM 模型如何划分模块? +--- +自动发送邮件包含哪些内容? +--- +如何进行 Web 的兼容性测试? +--- +软件测试中,如何编写代码在 WebDriver 中启动 Firefox 浏览器? +--- +Web 自动化测试中,有哪些常用的库? +--- +给你一个网站,你会如何开展测试? +--- +你会如何对电商的支付模块进行测试? +--- diff --git a/Webpack 面试题.md b/Webpack 面试题.md new file mode 100644 index 0000000..592e567 --- /dev/null +++ b/Webpack 面试题.md @@ -0,0 +1,112 @@ +如何使用 Webpack 进行前端性能优化? +--- +前端开发中的 Live-Reload 自动刷新与 HMR 热模块替换有什么区别? +--- +Webpack 和 Rollup、Parcel 构建工具有什么区别?各自的优缺点是什么? +--- +如何使用 Webpack 处理内联 CSS? +--- +如何使用 Webpack 解决开发环境中的跨域问题? +--- +如何使用 webpack-dev-server 监控文件编译? +--- +如何使用 Webpack 优化产出代码? +--- +Webpack 中,常见的图片处理加载器有哪些? +--- +如何使用 Webpack 和 LocalStorage 实现静态资源的离线缓存? +--- +什么是 Webpack?它有什么作用? +--- +如何使用 Webpack 配置前端脚手架?如何优化打包大小? +--- +Webpack 中 CSS-Loader 和 Style-Loader 有什么区别? +--- +Webpack 中的 publicPath 有什么作用? +--- +如何修改 webpack-dev-server 的端口? +--- +如何使用 Webpack 配置单页应用和多页应用? +--- +如何在 Webpack 中实现条件组件的按需打包? +--- +如何利用 Webpack 将 JS、CSS、HTML 单独打包成一个文件? +--- +如何在 Webpack 中配置公共文件的抽取? +--- +Webpack 常用的插件有哪些? +--- +如何实现 Webpack 的分模块打包(多入口)? +--- +前端如何使用 Webpack 进行高效分包优化? +--- +Webpack 中 File-Loader 和 URL-Loader 有什么区别? +--- +Webpack 和 Grunt、Gulp 构建工具有什么区别?各自的优缺点是什么? +--- +如何配置 Webpack 以支持 Sass 编译?需要使用哪些 Loader? +--- +Webpack 中的 Loader 和 Plugin 是什么?二者有什么区别? +--- +Webpack 的 html-webpack-plugin 插件有什么作用? +--- +常见的 Webpack Loader 有哪些? +--- +Webpack 插件底层的实现原理是什么? +--- +如何优化 Webpack 打包后文件的体积? +--- +常见的 Webpack Plugin 有哪些? +--- +如何优化前端开发环境的热更新效率? +--- +什么是 Webpack 的生命周期? +--- +如何使用 Webpack 实现 Vue 项目的打包任务? +--- +webpack-dev-server 是如何启动并运行的? +--- +什么是 Webpack 的 bundle、chunk 和 module?分别有什么作用? +--- +Webpack 中的 bundle、chunk 和 module 是什么?请分别介绍 +--- +如何编写自定义的 Webpack Loader 或 Plugin 插件? +--- +使用 Import 时,Webpack 如何处理 node_modules 中的依赖? +--- +如何优化 Webpack 的打包速度? +--- +如何在 Webpack 中实现持久化缓存? +--- +Webpack 的打包构建流程是什么? +--- +Webpack 命令中的 --config 选项有什么作用? +--- +如何在 Webpack 中实现按需加载 antd 的组件(如 Button)? +--- +如何在 Webpack 中切换开发环境和生产环境? +--- +Webpack 的 Tree Shaking 机制的原理是什么? +--- +如何使用 Webpack 实现异步加载? +--- +使用 html-webpack-plugin 时找不到指定的 template 文件怎么办? +--- +Webpack 和 Vite 构建工具有什么区别?各自的优缺点是什么? +--- +Webpack 的核心原理是什么? +--- +如何组织 CSS 以配合 Webpack 构建? +--- +Webpack 打包过程中,Import 和 CommonJS 有什么区别? +--- +Webpack 支持哪些脚本模块规范? +--- +Webpack 的热更新底层是如何实现的?它如何在不刷新浏览器的前提下更新页面? +--- +Webpack 打包时 Hash 码是如何生成的?如何避免 Hash 码重复? +--- +项目中使用了 Webpack 整合 Monaco Editor,请解释一下 Webpack 的作用,以及如何整合 Monaco Editor? +--- +vite 和 webpack 在热更新上有什么区别 +--- diff --git a/Windows 系统面试题.md b/Windows 系统面试题.md new file mode 100644 index 0000000..c32ca3f --- /dev/null +++ b/Windows 系统面试题.md @@ -0,0 +1,50 @@ +请描述 Windows 操作系统中如何配置系统环境变量,并给出配置 JAVA_HOME 的具体步骤。 +--- +解释 Windows 和 Linux 操作系统中的虚拟内存机制有什么不同。 +--- +在 Windows 操作系统中,如何进行磁盘清理和系统优化? +--- +描述在 Windows 操作系统中如何配置防火墙规则。 +--- +解释如何在 Linux 和 Windows 操作系统上设置环境变量。 +--- +Windows 操作系统中如何使用任务管理器进行进程监控? +--- +在 Windows 中,如何使用命令行工具检查网络连接状况? +--- +在 Windows 中,如何设置计划任务来自动运行脚本? +--- +描述如何在 Linux 和 Windows 操作系统中安装和卸载软件包。 +--- +如何在 Windows 操作系统中管理磁盘分区? +--- +如何在 Windows 系统中配置防火墙规则? +--- +描述 Windows 操作系统中的用户和组管理。 +--- +请解释 Windows 注册表的作用及其基本结构。 +--- +描述如何在 Windows 系统中管理设备驱动程序。 +--- +如何在 Windows 系统中使用命令行管理用户账户? +--- +在 Windows 系统中,如何使用事件查看器进行故障排查? +--- +在 Windows 系统中,如何使用 PowerShell 进行故障排查? +--- +如何在 Windows 系统中排查网络连接故障? +--- +描述一次常见的 Windows 系统故障及其解决过程。 +--- +如何在 Windows 系统中使用命令行工具排查磁盘问题? +--- +描述 Windows 系统中的蓝屏错误及其常见解决方法。 +--- +请解释 Windows 系统中 BSOD(蓝屏死机)的排查步骤。 +--- +在 Windows 系统中,如何使用 netstat 命令检查网络连接? +--- +如何在 Windows 系统中排查和解决应用程序崩溃问题? +--- +在 Windows 系统中,如何通过注册表进行故障排查? +--- diff --git a/Yarn 面试题.md b/Yarn 面试题.md new file mode 100644 index 0000000..8bcc98c --- /dev/null +++ b/Yarn 面试题.md @@ -0,0 +1,92 @@ +Yarn 的基本架构是什么?它由哪些主要组件构成? +--- +Yarn 中的 ResourceManager 负责什么任务?它在集群管理中的作用是什么? +--- +在 Yarn 中,NodeManager 的主要职责是什么? +--- +Yarn 的 ApplicationMaster 是什么?它如何管理任务的执行? +--- +在 Yarn 中,如何提交应用程序?基本流程是怎样的? +--- +Yarn 中的容器(Container)是什么?它在资源分配中扮演什么角色? +--- +Yarn 的调度器(Scheduler)负责什么工作?有哪些常见的调度策略? +--- +在 Yarn 中,如何监控任务的执行状态?有哪些常见的监控工具? +--- +Yarn 如何实现资源的动态分配?资源分配的流程是怎样的? +--- +Yarn 的 FIFO 调度器如何工作?在什么场景下适合使用? +--- +在 Yarn 中,什么是资源请求?它如何影响资源调度? +--- +Yarn 中的 Capacity Scheduler 是如何工作的?它如何实现资源的公平分配? +--- +在 Yarn 中,如何配置不同的队列策略来管理资源的使用? +--- +Yarn 的 Preemption 机制是什么?如何通过该机制提升资源利用率? +--- +在 Yarn 中,如何处理任务失败和容错问题? +--- +Yarn 的 Fair Scheduler 是如何设计的?它与 Capacity Scheduler 的主要区别是什么? +--- +Yarn 如何支持多租户环境?多租户隔离是如何实现的? +--- +在 Yarn 中,如何优化应用程序的启动时间?有哪些调优方法? +--- +Yarn 的 ApplicationMaster 在任务执行过程中如何与 ResourceManager 交互? +--- +Yarn 中的心跳机制是如何工作的?它对节点管理有什么作用? +--- +如何在 Yarn 中配置内存和 CPU 资源的分配?如何根据任务需求进行调优? +--- +在 Yarn 中,如何实现任务的高可用性?有哪些常见的解决方案? +--- +Yarn 如何与 HDFS 进行协同工作?它们之间的关系是什么? +--- +Yarn 如何处理资源过载问题?有哪些机制防止集群资源被耗尽? +--- +在 Yarn 中,如何优化资源的调度策略以提高集群的利用率? +--- +Yarn 的 Failover 机制是如何设计的?当 ResourceManager 失效时,如何保证系统的高可用性? +--- +Yarn 的分布式日志聚合机制是如何实现的?如何通过日志聚合来监控任务执行情况? +--- +在 Yarn 中,如何处理集群的资源隔离问题?有哪些常见的隔离策略? +--- +在 Yarn 集群中,如何配置调度器以适应不同的工作负载类型? +--- +Yarn 中的容器是如何实现资源隔离的?有哪些隔离级别? +--- +在 Yarn 中,如何实现跨数据中心的任务调度?跨集群调度的挑战是什么? +--- +Yarn 的资源预留机制是如何设计的?如何通过资源预留机制避免资源饥饿问题? +--- +在 Yarn 中,如何优化大规模集群的资源分配性能?有哪些常见的优化策略? +--- +Yarn 如何处理节点的失效和恢复?有哪些机制来保证任务的连续性? +--- +在 Yarn 中,如何通过调优任务的容器大小提高性能?有哪些调优参数? +--- +Yarn 的资源回收机制是如何工作的?如何防止资源泄露? +--- +在 Yarn 中,如何处理应用程序的长尾效应?有哪些解决方案可以减少长尾任务的影响? +--- +Yarn 的节点标签(Node Label)机制是什么?如何利用节点标签进行资源分配优化? +--- +在 Yarn 中,如何通过配置容器的 CPU 和内存限制提高资源利用率? +--- +Yarn 如何支持 Docker 容器?容器化技术对 Yarn 集群管理的影响是什么? +--- +Yarn 的升级和滚动更新机制是如何设计的?如何保证集群的高可用性和一致性? +--- +在 Yarn 中,如何通过 Fine-Grained Resource Scheduling 提高资源调度的精细化程度? +--- +Yarn 的 Timeline Service 是什么?它如何帮助用户追踪应用程序的历史运行数据? +--- +Yarn 如何实现跨租户的资源隔离和公平分配?有哪些策略保证不同租户的资源独立性? +--- +Yarn 的容器启动机制是如何工作的?如何优化容器的启动速度? +--- +在 Yarn 中,如何进行自定义的资源调度算法开发?有哪些实际应用场景? +--- diff --git a/ZooKeeper 原理面试题.md b/ZooKeeper 原理面试题.md new file mode 100644 index 0000000..ebd9e19 --- /dev/null +++ b/ZooKeeper 原理面试题.md @@ -0,0 +1,70 @@ +ZooKeeper 使用推送模式还是拉取模式来通知客户端? +--- +ZooKeeper 是如何保证主从节点状态同步的?具体的同步流程是什么? +--- +ZooKeeper 的通知机制是如何工作的? +--- +ZooKeeper 采用了哪种分布式一致性协议?还有哪些其他常见的分布式一致性协议? +--- +ZooKeeper 的数据模型和存储结构是怎样的? +--- +ZooKeeper 的 ZNode 结构是怎样的?它有哪些属性? +--- +ZooKeeper 的 Leader 选举过程是怎样的?具体步骤是什么? +--- +ZooKeeper 中的 Watcher 监听机制是如何实现的? +--- +ZooKeeper 的系统架构和核心工作原理是什么? +--- +ZooKeeper 的通知机制是永久有效的吗?具体是如何通知的? +--- +ZooKeeper 集群中的服务器如何进行通信? +--- +什么是 CAP 理论?ZooKeeper 在 CAP 问题上的取舍是什么? +--- +什么是 ZooKeeper 集群的脑裂现象?ZooKeeper 是如何解决脑裂问题的? +--- +ZooKeeper 的持久化机制是如何实现的? +--- +在 ZooKeeper 中,Zxid 和 Epoch 是什么?它们的作用是什么? +--- +ZooKeeper 是如何实现 ACL 权限控制机制的? +--- +在 ZooKeeper 中,什么是 Quorum?它的作用是什么? +--- +ZooKeeper 中 ZAB 协议的两种基本模式是什么? +--- +ZooKeeper 的 ZAB 协议包含哪些阶段? +--- +ZooKeeper 中,什么情况下 ZAB 会进入恢复模式并选举新的 Leader? +--- +当 Leader 挂了后,ZooKeeper 如何进行崩溃恢复并选举新的 Leader? +--- +ZooKeeper 在初始化时是如何进行 Leader 选举的? +--- +在选举 Leader 后,ZooKeeper 如何进行数据同步? +--- +ZooKeeper 是如何识别请求的先后顺序的? +--- +ZooKeeper 中的会话管理机制是如何工作的?如何处理会话超时? +--- +ZooKeeper 如何实现高可用性?具体有哪些机制来保证服务的连续性? +--- +ZooKeeper 中的 FIFO(先进先出)队列是如何实现的? +--- +什么是 ZooKeeper 的网络分区问题?ZooKeeper 如何处理网络分区问题? +--- +ZooKeeper 在什么情况下会触发垃圾回收?如何配置垃圾回收策略? +--- +ZooKeeper 选举过程中,投票信息的五元组包含哪些内容? +--- +什么是 Paxos 算法?它在 ZooKeeper 中的应用是什么? +--- +ZooKeeper 的 ZAB 协议与 Paxos 算法之间有哪些联系与区别? +--- +ZooKeeper 中事务日志和快照机制的区别是什么?如何配置和优化这两者? +--- +在 ZooKeeper 中,如何处理 Watcher 的羊群效应问题? +--- +ZooKeeper 如何处理大流量的 Watcher 通知? +--- diff --git a/ZooKeeper 客户端面试题.md b/ZooKeeper 客户端面试题.md new file mode 100644 index 0000000..913837c --- /dev/null +++ b/ZooKeeper 客户端面试题.md @@ -0,0 +1,42 @@ +ZooKeeper 命令行工具中有哪些常用命令?分别有什么作用? +--- +如何查看 ZooKeeper 存储的数据?有哪些方法和工具? +--- +如何使用命令行工具在 ZooKeeper 中创建一个 ZNode? +--- +如何使用 ZooKeeper 命令行查看和管理 ZNode?有哪些常用命令? +--- +如何使用 ZooKeeper 命令行工具获取节点的状态信息? +--- +如何通过 ZooKeeper 命令行设置节点的数据?哪些命令可以修改 ZNode? +--- +客户端在连接 ZooKeeper 时如何应对 CONNECTIONLOSS 和 SESSIONEXPIRED 异常? +--- +如果 ZooKeeper 客户端修改了节点数据,其他客户端能够立即获取到最新数据吗? +--- +如何使用 Java 操作 ZooKeeper?有哪些常用的客户端工具? +--- +ZooKeeper 客户端如何与集群建立连接?有哪些步骤和重要参数? +--- +ZooKeeper 客户端如何处理连接断开的情况?具体的重连机制是什么? +--- +在 ZooKeeper 客户端中,如何配置 session 超时时间?session 超时后会发生什么? +--- +什么是 Apache Curator?它有什么优点? +--- +Apache Curator 提供了哪些常见的分布式协调模式?请分别介绍 +--- +如何使用 Apache Curator 实现分布式锁?与原生 ZooKeeper API 相比有哪些优势? +--- +Apache Curator 中的 TreeCache 和 NodeCache 有什么区别?分别适用于哪些场景? +--- +如何通过 Apache Curator 实现 ZooKeeper 的 Watcher 功能?与原生 Watcher 有何不同? +--- +如何处理 Apache Curator 中的 Session 过期问题?Curator 提供了哪些机制来简化这一过程? +--- +Apache Curator 中的 InterProcessMutex 和 InterProcessSemaphoreMutex 有什么区别?分别适用于什么场景? +--- +Apache Curator 如何简化 ZooKeeper 的连接管理?它的重试机制是如何设计的? +--- +Apache Curator 如何使用 LeaderSelector 进行领导者选举?其工作原理是什么? +--- diff --git a/ZooKeeper 集群面试题.md b/ZooKeeper 集群面试题.md new file mode 100644 index 0000000..4d98083 --- /dev/null +++ b/ZooKeeper 集群面试题.md @@ -0,0 +1,20 @@ +ZooKeeper 有哪些不同的部署模式? +--- +ZooKeeper 集群至少需要几台服务器?具体的集群规则是什么? +--- +为什么 ZooKeeper 集群的服务器数量通常是奇数? +--- +在 ZooKeeper 集群中,如何进行数据备份和恢复? +--- +如何安装和配置 ZooKeeper 集群? +--- +ZooKeeper 集群中有哪些角色?各自的职责是什么? +--- +ZooKeeper 集群中的服务器如何进行通信? +--- +什么是 ZooKeeper 集群的脑裂现象?ZooKeeper 是如何解决脑裂问题的? +--- +ZooKeeper 集群支持动态添加服务器吗? +--- +ZooKeeper 客户端如何与集群建立连接?有哪些步骤和重要参数? +--- diff --git a/Zookeeper 面试题.md b/Zookeeper 面试题.md new file mode 100644 index 0000000..4970138 --- /dev/null +++ b/Zookeeper 面试题.md @@ -0,0 +1,186 @@ +什么是 ZooKeeper?它的主要作用有哪些? +--- +ZooKeeper 提供了哪些常用功能和特性?可以应用在哪些场景中? +--- +ZooKeeper 有哪些不同的部署模式? +--- +什么是 ZooKeeper 的 ZNode?ZNode 在 ZooKeeper 中的作用是什么? +--- +ZooKeeper 服务的工作状态有哪些? +--- +ZooKeeper 命令行工具中有哪些常用命令?分别有什么作用? +--- +如何查看 ZooKeeper 存储的数据?有哪些方法和工具? +--- +什么是 ZooKeeper 中 ZNode 节点的 stat 属性?其作用是什么? +--- +ZooKeeper 中创建的临时节点何时会被删除?是连接断开后立即删除吗? +--- +ZooKeeper 集群至少需要几台服务器?具体的集群规则是什么? +--- +为什么 ZooKeeper 集群的服务器数量通常是奇数? +--- +有哪些知名的开源项目使用了 ZooKeeper? +--- +ZooKeeper 的默认端口是什么?各个端口分别有什么作用? +--- +如何使用命令行工具在 ZooKeeper 中创建一个 ZNode? +--- +ZooKeeper 使用推送模式还是拉取模式来通知客户端? +--- +ZooKeeper 是否支持为临时节点创建子节点? +--- +如何使用 ZooKeeper 命令行查看和管理 ZNode?有哪些常用命令? +--- +如何使用 ZooKeeper 命令行工具获取节点的状态信息? +--- +如何通过 ZooKeeper 命令行设置节点的数据?哪些命令可以修改 ZNode? +--- +Kafka为什么要抛弃 Zookeeper? +--- +ZooKeeper 是如何保证主从节点状态同步的?具体的同步流程是什么? +--- +ZooKeeper 的通知机制是如何工作的? +--- +ZooKeeper 采用了哪种分布式一致性协议?还有哪些其他常见的分布式一致性协议? +--- +ZooKeeper 的数据模型和存储结构是怎样的? +--- +ZooKeeper 的 ZNode 结构是怎样的?它有哪些属性? +--- +ZooKeeper 的 ZNode 有哪些类型?分别适用于哪些场景? +--- +ZooKeeper 的 Leader 选举过程是怎样的?具体步骤是什么? +--- +ZooKeeper 如何保证数据的一致性和可靠性? +--- +ZooKeeper 中的 Watcher 监听机制是如何实现的? +--- +在 ZooKeeper 集群中,如何进行数据备份和恢复? +--- +ZooKeeper 是如何保证事务的顺序一致性的? +--- +ZooKeeper 是如何支持事务操作的? +--- +当 ZooKeeper 节点宕机时,系统会如何处理? +--- +客户端在连接 ZooKeeper 时如何应对 CONNECTIONLOSS 和 SESSIONEXPIRED 异常? +--- +如果 ZooKeeper 客户端修改了节点数据,其他客户端能够立即获取到最新数据吗? +--- +ZooKeeper 的负载均衡机制与 Nginx 有何不同? +--- +ZooKeeper 的系统架构和核心工作原理是什么? +--- +如何安装和配置 ZooKeeper 集群? +--- +ZooKeeper 的配置文件中有哪些重要配置项?各自的作用是什么? +--- +ZooKeeper 中 ZNode 节点的 stat 结构体有哪些字段?其中 dataLength 的作用是什么? +--- +什么是 ZooKeeper 的 ACL 权限控制机制? +--- +在使用 ZooKeeper 中的 Watcher 时需要注意哪些事项? +--- +ZooKeeper 支持哪几种身份认证类型? +--- +ZooKeeper 的通知机制是永久有效的吗?具体是如何通知的? +--- +ZooKeeper 集群中有哪些角色?各自的职责是什么? +--- +ZooKeeper 集群中的服务器如何进行通信? +--- +如何利用 ZooKeeper 实现分布式锁? +--- +什么是 CAP 理论?ZooKeeper 在 CAP 问题上的取舍是什么? +--- +什么是 ZooKeeper 集群的脑裂现象?ZooKeeper 是如何解决脑裂问题的? +--- +ZooKeeper 的持久化机制是如何实现的? +--- +在 ZooKeeper 中,Zxid 和 Epoch 是什么?它们的作用是什么? +--- +ZooKeeper 是如何实现 ACL 权限控制机制的? +--- +ZooKeeper 集群支持动态添加服务器吗? +--- +在 ZooKeeper 中,什么是 Quorum?它的作用是什么? +--- +什么是 ZooKeeper 的 Chroot 特性? +--- +ZooKeeper 中 ZAB 协议的两种基本模式是什么? +--- +ZooKeeper 的 ZAB 协议包含哪些阶段? +--- +ZooKeeper 中,什么情况下 ZAB 会进入恢复模式并选举新的 Leader? +--- +ZooKeeper、Eureka、Nacos 和 Consul 有什么区别?你会如何选择? +--- +当 Leader 挂了后,ZooKeeper 如何进行崩溃恢复并选举新的 Leader? +--- +ZooKeeper 在初始化时是如何进行 Leader 选举的? +--- +在选举 Leader 后,ZooKeeper 如何进行数据同步? +--- +ZooKeeper 是如何识别请求的先后顺序的? +--- +如何使用 Java 操作 ZooKeeper?有哪些常用的客户端工具? +--- +如何在 ZooKeeper 中实现对单个 IP 的访问拒绝? +--- +在 ZooKeeper 的 config 命名空间中,每个 ZNode 最大能存储多少数据? +--- +ZooKeeper 中的会话管理机制是如何工作的?如何处理会话超时? +--- +ZooKeeper 中的 Watcher 机制在触发后会自动解除吗?如何重新注册 Watcher? +--- +ZooKeeper 如何实现高可用性?具体有哪些机制来保证服务的连续性? +--- +ZooKeeper 中的 FIFO(先进先出)队列是如何实现的? +--- +什么是 ZooKeeper 的网络分区问题?ZooKeeper 如何处理网络分区问题? +--- +什么是 ZooKeeper 的观察者节点?与其他节点的区别是什么? +--- +ZooKeeper 在什么情况下会触发垃圾回收?如何配置垃圾回收策略? +--- +ZooKeeper 客户端如何与集群建立连接?有哪些步骤和重要参数? +--- +ZooKeeper 客户端如何处理连接断开的情况?具体的重连机制是什么? +--- +在 ZooKeeper 客户端中,如何配置 session 超时时间?session 超时后会发生什么? +--- +什么是 Apache Curator?它有什么优点? +--- +Apache Curator 提供了哪些常见的分布式协调模式?请分别介绍 +--- +如何使用 Apache Curator 实现分布式锁?与原生 ZooKeeper API 相比有哪些优势? +--- +Apache Curator 中的 TreeCache 和 NodeCache 有什么区别?分别适用于哪些场景? +--- +如何通过 Apache Curator 实现 ZooKeeper 的 Watcher 功能?与原生 Watcher 有何不同? +--- +如何处理 Apache Curator 中的 Session 过期问题?Curator 提供了哪些机制来简化这一过程? +--- +Apache Curator 中的 InterProcessMutex 和 InterProcessSemaphoreMutex 有什么区别?分别适用于什么场景? +--- +ZooKeeper 存在哪些性能瓶颈?如何优化 ZooKeeper 的性能? +--- +ZooKeeper 选举过程中,投票信息的五元组包含哪些内容? +--- +什么是 Paxos 算法?它在 ZooKeeper 中的应用是什么? +--- +ZooKeeper 的 ZAB 协议与 Paxos 算法之间有哪些联系与区别? +--- +ZooKeeper 中的 ACL 权限模型是否支持递归权限管理?如果不支持,如何实现? +--- +ZooKeeper 中事务日志和快照机制的区别是什么?如何配置和优化这两者? +--- +在 ZooKeeper 中,如何处理 Watcher 的羊群效应问题? +--- +ZooKeeper 如何处理大流量的 Watcher 通知? +--- +Apache Curator 如何简化 ZooKeeper 的连接管理?它的重试机制是如何设计的? +--- +Apache Curator 如何使用 LeaderSelector 进行领导者选举?其工作原理是什么? +--- diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..f055e0d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,9 @@ +[project] +name = "mianshiya" +version = "0.1.0" +description = "Add your description here" +requires-python = ">=3.12" +dependencies = [ + "notebook>=7.4.7", + "requests>=2.32.5", +] diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29 diff --git a/sample.ipynb b/sample.ipynb new file mode 100644 index 0000000..67ddbc1 --- /dev/null +++ b/sample.ipynb @@ -0,0 +1,815 @@ +{ + "cells": [ + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "# This is a sample Jupyter Notebook\n", + "\n", + "Below is an example of a code cell. \n", + "Put your cursor into the cell and press Shift+Enter to execute it and select the next one, or click 'Run Cell' button.\n", + "\n", + "Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.\n", + "\n", + "To learn more about Jupyter Notebooks in PyCharm, see [help](https://www.jetbrains.com/help/pycharm/ipython-notebook-support.html).\n", + "For an overview of PyCharm, go to Help -> Learn IDE features or refer to [our documentation](https://www.jetbrains.com/help/pycharm/getting-started.html)." + ], + "id": "8a77807f92f26ee" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-11-14T02:18:39.912531Z", + "start_time": "2025-11-14T02:18:37.089608Z" + } + }, + "cell_type": "code", + "source": [ + "# 获取ID数据\n", + "\n", + "import requests\n", + "\n", + "headers = {\n", + " 'accept': '*/*',\n", + " 'accept-language': 'zh-CN,zh;q=0.9',\n", + " 'content-type': 'application/json',\n", + " 'dnt': '1',\n", + " 'origin': 'https://www.mianshiya.com',\n", + " 'priority': 'u=1, i',\n", + " 'referer': 'https://www.mianshiya.com/',\n", + " 'sec-ch-ua': '\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"',\n", + " 'sec-ch-ua-mobile': '?0',\n", + " 'sec-ch-ua-platform': '\"macOS\"',\n", + " 'sec-fetch-dest': 'empty',\n", + " 'sec-fetch-mode': 'cors',\n", + " 'sec-fetch-site': 'same-site',\n", + " 'sec-gpc': '1',\n", + " 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36',\n", + "}\n", + "\n", + "json_data = {\n", + " 'current': 1,\n", + " 'pageSize': 1000,\n", + "}\n", + "\n", + "response = requests.post('https://api.mianshiya.com/api/question_bank/list/page/vo', headers=headers, json=json_data)\n", + "\n", + "# 确认请求成功\n", + "bank_list = []\n", + "if response.status_code == 200:\n", + " # 解析 JSON 数据为字典\n", + " data = response.json()\n", + "\n", + " # 假设 JSON 中有一个 \"user\" 字段,里面有 \"id\"、\"name\" 和 \"email\"\n", + " records = data['data']['records']\n", + " for record in records:\n", + " id = record['id']\n", + " title = record['title']\n", + " # print(id)\n", + " # print(title)\n", + " bank_list.append({\"id\": id,\"title\": title})\n", + "else:\n", + " print(f\"请求失败,状态码:{response.status_code}\")\n", + "\n", + "# print(bank_list)" + ], + "id": "fbc121e30a2defb3", + "outputs": [], + "execution_count": 3 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-11-14T02:37:58.338662Z", + "start_time": "2025-11-14T02:18:39.922184Z" + } + }, + "cell_type": "code", + "source": [ + "# 获取题目数据\n", + "import requests\n", + "import re\n", + "import json\n", + "\n", + "headers = {\n", + " 'accept': '*/*',\n", + " 'accept-language': 'zh-CN,zh;q=0.9',\n", + " 'content-type': 'application/json',\n", + " 'dnt': '1',\n", + " 'origin': 'https://www.mianshiya.com',\n", + " 'priority': 'u=1, i',\n", + " 'referer': 'https://www.mianshiya.com/',\n", + " 'sec-ch-ua': '\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"',\n", + " 'sec-ch-ua-mobile': '?0',\n", + " 'sec-ch-ua-platform': '\"macOS\"',\n", + " 'sec-fetch-dest': 'empty',\n", + " 'sec-fetch-mode': 'cors',\n", + " 'sec-fetch-site': 'same-site',\n", + " 'sec-gpc': '1',\n", + " 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36',\n", + "}\n", + "\n", + "json_data = {\n", + " 'current': 1,\n", + " 'pageSize': 20,\n", + " 'questionBankId': '1791375592078610434',\n", + " 'tagList': [],\n", + "}\n", + "\n", + "response = requests.post('https://api.mianshiya.com/api/question_bank/list_question', headers=headers, json=json_data)\n", + "\n", + "# Note: json_data will not be serialized by requests\n", + "# exactly as it was in the original request.\n", + "#data = '{\"questionBankId\":\"1791375592078610434\",\"current\":1,\"pageSize\":200}'\n", + "#response = requests.post('https://api.mianshiya.com/api/question_bank/list_question', headers=headers, data=data)\n", + "# start_index = 0\n", + "question_list = []\n", + "for bank in bank_list :\n", + " # start_index = start_index + 1\n", + " # if start_index not in [ 276]: # 16 95 113 206 274 276\n", + " # continue\n", + " json_data['questionBankId'] = bank['id']\n", + " response = requests.post('https://api.mianshiya.com/api/question_bank/list_question', headers=headers, json=json_data)\n", + " # print(response.json())\n", + " # 保存到文件,比如保存为 user_info.json\n", + " # with open(bank['title'] + '.json', 'w', encoding='utf-8') as f:\n", + " # json.dump(response.json(), f, ensure_ascii=False, indent=4)\n", + " size = response.json()[\"data\"][\"total\"]\n", + " # print(\"order: \", start_index)\n", + " print(\"title: \", bank['title'])\n", + " # print(\"题目数量: \", size)\n", + " \n", + " # 如果题目数量超过200,则分页获取\n", + " all_records = []\n", + " if int(size) > 200:\n", + " # 计算需要多少页(每页100条)\n", + " pages = (int(size) + 99) // 100 # 向上取整\n", + " # print(f\"题目数量超过200,共{size}题,需要分{pages}页获取\")\n", + " \n", + " # 分页获取所有数据\n", + " for page in range(1, pages + 1):\n", + " json_data['current'] = page\n", + " json_data['pageSize'] = 100\n", + " response = requests.post('https://api.mianshiya.com/api/question_bank/list_question', headers=headers, json=json_data)\n", + " if response.status_code == 200:\n", + " records = response.json()[\"data\"][\"records\"]\n", + " all_records.extend(records)\n", + " print(f\"已获取第{page}页,共{len(records)}题\")\n", + " else:\n", + " print(f\"获取第{page}页数据失败,状态码:{response.status_code}\")\n", + " else:\n", + " # 题目数量不超过200,一次性获取\n", + " json_data['pageSize'] = size if int(size) > 0 else 200\n", + " json_data['current'] = 1\n", + " response = requests.post('https://api.mianshiya.com/api/question_bank/list_question', headers=headers, json=json_data)\n", + " if response.status_code == 200:\n", + " all_records = response.json()[\"data\"][\"records\"]\n", + " else:\n", + " print(f\"获取数据失败,状态码:{response.status_code}\")\n", + " \n", + " # 所有数据获取完成后写入文件\n", + " safe_title = re.sub(r'[\\\\/:*?\"<>|]', '_', bank['title'])\n", + " filename = safe_title + \".md\"\n", + " with open(filename, \"w\") as f:\n", + " for record in all_records:\n", + " title = record['title']\n", + " f.write( title + \"\\n\")\n", + " f.write(\"---\\n\")\n", + " print(f\"已将{len(all_records)}题写入文件{filename}\")" + ], + "id": "ef6992905872d22", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "title: Java 基础面试题\n", + "已将65题写入文件Java 基础面试题.md\n", + "title: 腾讯 Java 面经\n", + "已将14题写入文件腾讯 Java 面经.md\n", + "title: 小米 Java 面经\n", + "已将9题写入文件小米 Java 面经.md\n", + "title: Java 集合面试题\n", + "已将26题写入文件Java 集合面试题.md\n", + "title: Java 并发面试题\n", + "已将63题写入文件Java 并发面试题.md\n", + "title: Java 虚拟机面试题\n", + "已将46题写入文件Java 虚拟机面试题.md\n", + "title: Spring 面试题\n", + "已将71题写入文件Spring 面试题.md\n", + "title: 操作系统面试题\n", + "已将22题写入文件操作系统面试题.md\n", + "title: 计算机网络面试题\n", + "已将37题写入文件计算机网络面试题.md\n", + "title: MySQL 面试题\n", + "已将81题写入文件MySQL 面试题.md\n", + "title: Redis 面试题\n", + "已将53题写入文件Redis 面试题.md\n", + "title: 后端系统设计面试题\n", + "已将22题写入文件后端系统设计面试题.md\n", + "title: 后端场景面试题\n", + "已将110题写入文件后端场景面试题.md\n", + "title: SpringBoot 面试题\n", + "已将26题写入文件SpringBoot 面试题.md\n", + "title: SpringCloud 面试题\n", + "已将55题写入文件SpringCloud 面试题.md\n", + "title: 408考研面试题\n", + "已获取第1页,共100题\n", + "已获取第2页,共100题\n", + "已获取第3页,共100题\n", + "已获取第4页,共100题\n", + "已获取第5页,共47题\n", + "已将447题写入文件408考研面试题.md\n", + "title: 智力题\n", + "已将60题写入文件智力题.md\n", + "title: 伙伴匹配项目面试题\n", + "已将27题写入文件伙伴匹配项目面试题.md\n", + "title: 智能 BI 项目面试题\n", + "已将32题写入文件智能 BI 项目面试题.md\n", + "title: API 开放平台项目面试题\n", + "已将28题写入文件API 开放平台项目面试题.md\n", + "title: 用户中心项目面试题\n", + "已将24题写入文件用户中心项目面试题.md\n", + "title: 后端经典面试题合集\n", + "已将82题写入文件后端经典面试题合集.md\n", + "title: 聚合搜索项目面试题\n", + "已将27题写入文件聚合搜索项目面试题.md\n", + "title: 前端经典面试题合集\n", + "已将91题写入文件前端经典面试题合集.md\n", + "title: OJ 判题项目面试题\n", + "已将42题写入文件OJ 判题项目面试题.md\n", + "title: 手写 RPC 框架项目面试题\n", + "已将29题写入文件手写 RPC 框架项目面试题.md\n", + "title: 面试鸭 Java 后端面试题\n", + "已将34题写入文件面试鸭 Java 后端面试题.md\n", + "title: 面试技巧\n", + "已将5题写入文件面试技巧.md\n", + "title: Dubbo 面试题\n", + "已将66题写入文件Dubbo 面试题.md\n", + "title: 消息队列面试题\n", + "已将31题写入文件消息队列面试题.md\n", + "title: MyBatis 面试题\n", + "已将17题写入文件MyBatis 面试题.md\n", + "title: 设计模式面试题\n", + "已将36题写入文件设计模式面试题.md\n", + "title: AI 答题平台项目面试题\n", + "已将56题写入文件AI 答题平台项目面试题.md\n", + "title: 代码生成器平台项目面试题\n", + "已将56题写入文件代码生成器平台项目面试题.md\n", + "title: Netty 面试题\n", + "已将13题写入文件Netty 面试题.md\n", + "title: Zookeeper 面试题\n", + "已将93题写入文件Zookeeper 面试题.md\n", + "title: ElasticSearch 面试题\n", + "已将177题写入文件ElasticSearch 面试题.md\n", + "title: Go 基础面试题\n", + "已将67题写入文件Go 基础面试题.md\n", + "title: Go 标准库面试题\n", + "已将14题写入文件Go 标准库面试题.md\n", + "title: Go 面向对象面试题\n", + "已将11题写入文件Go 面向对象面试题.md\n", + "title: Go 底层原理面试题\n", + "已将33题写入文件Go 底层原理面试题.md\n", + "title: Go 性能优化面试题\n", + "已将8题写入文件Go 性能优化面试题.md\n", + "title: Go 并发编程面试题\n", + "已将61题写入文件Go 并发编程面试题.md\n", + "title: Go 垃圾回收面试题\n", + "已将25题写入文件Go 垃圾回收面试题.md\n", + "title: Go 代码分析面试题\n", + "已将18题写入文件Go 代码分析面试题.md\n", + "title: C++ 基础面试题\n", + "已将66题写入文件C++ 基础面试题.md\n", + "title: C++ 进阶面试题\n", + "已将47题写入文件C++ 进阶面试题.md\n", + "title: C++ 新特性面试题\n", + "已将24题写入文件C++ 新特性面试题.md\n", + "title: C++ 面向对象面试题\n", + "已将12题写入文件C++ 面向对象面试题.md\n", + "title: C++ STL面试题\n", + "已将7题写入文件C++ STL面试题.md\n", + "title: C++ 并发编程面试题\n", + "已将18题写入文件C++ 并发编程面试题.md\n", + "title: Python 面试题\n", + "已将93题写入文件Python 面试题.md\n", + "title: Python 代码分析面试题\n", + "已将8题写入文件Python 代码分析面试题.md\n", + "title: Python 手写代码面试题\n", + "已将25题写入文件Python 手写代码面试题.md\n", + "title: 前端 HTML 面试题\n", + "已将18题写入文件前端 HTML 面试题.md\n", + "title: 前端 CSS 面试题\n", + "已将65题写入文件前端 CSS 面试题.md\n", + "title: 前端 TypeScript 面试题\n", + "已将43题写入文件前端 TypeScript 面试题.md\n", + "title: 前端 JavaScript 基础面试题\n", + "已将52题写入文件前端 JavaScript 基础面试题.md\n", + "title: 前端 JavaScript 进阶面试题\n", + "已将50题写入文件前端 JavaScript 进阶面试题.md\n", + "title: 前端 ES6 面试题\n", + "已将14题写入文件前端 ES6 面试题.md\n", + "title: 前端代码分析面试题\n", + "已将62题写入文件前端代码分析面试题.md\n", + "title: IT 运维工程师面试题\n", + "已将101题写入文件IT 运维工程师面试题.md\n", + "title: DBA 数据库运维面试题\n", + "已将105题写入文件DBA 数据库运维面试题.md\n", + "title: 网络工程师面试题\n", + "已将118题写入文件网络工程师面试题.md\n", + "title: 系统运维面试题\n", + "已将101题写入文件系统运维面试题.md\n", + "title: DevOps 运维面试题\n", + "已将150题写入文件DevOps 运维面试题.md\n", + "title: Docker 面试题\n", + "已将28题写入文件Docker 面试题.md\n", + "title: Kubernetes 面试题\n", + "已将27题写入文件Kubernetes 面试题.md\n", + "title: Shell 面试题\n", + "已将24题写入文件Shell 面试题.md\n", + "title: Linux 系统面试题\n", + "已将44题写入文件Linux 系统面试题.md\n", + "title: 脚本编写面试题\n", + "已将50题写入文件脚本编写面试题.md\n", + "title: 应用服务器面试题\n", + "已将19题写入文件应用服务器面试题.md\n", + "title: CI/CD 面试题\n", + "已将31题写入文件CI_CD 面试题.md\n", + "title: Iac 面试题\n", + "已将31题写入文件Iac 面试题.md\n", + "title: 云服务面试题\n", + "已将30题写入文件云服务面试题.md\n", + "title: Windows 系统面试题\n", + "已将25题写入文件Windows 系统面试题.md\n", + "title: 系统管理面试题\n", + "已将20题写入文件系统管理面试题.md\n", + "title: 系统监控面试题\n", + "已将20题写入文件系统监控面试题.md\n", + "title: 系统故障排查面试题\n", + "已将20题写入文件系统故障排查面试题.md\n", + "title: 网络配置面试题\n", + "已将20题写入文件网络配置面试题.md\n", + "title: 网络协议面试题\n", + "已将34题写入文件网络协议面试题.md\n", + "title: 网络安全面试题\n", + "已将21题写入文件网络安全面试题.md\n", + "title: 网络故障排查面试题\n", + "已将19题写入文件网络故障排查面试题.md\n", + "title: Oracle 数据库面试题\n", + "已将40题写入文件Oracle 数据库面试题.md\n", + "title: PostgreSQL 数据库面试题\n", + "已将32题写入文件PostgreSQL 数据库面试题.md\n", + "title: 数据备份恢复面试题\n", + "已将22题写入文件数据备份恢复面试题.md\n", + "title: 数据库高可用面试题\n", + "已将22题写入文件数据库高可用面试题.md\n", + "title: 数据库体系结构面试题\n", + "已将22题写入文件数据库体系结构面试题.md\n", + "title: 数据库性能优化面试题\n", + "已将42题写入文件数据库性能优化面试题.md\n", + "title: SQL 电商场景面试题\n", + "已将34题写入文件SQL 电商场景面试题.md\n", + "title: SQL 网站场景面试题\n", + "已将45题写入文件SQL 网站场景面试题.md\n", + "title: SQL 基础查询面试题\n", + "已将32题写入文件SQL 基础查询面试题.md\n", + "title: SQL 进阶查询面试题\n", + "已将47题写入文件SQL 进阶查询面试题.md\n", + "title: 大厂算法真题面试题\n", + "已将63题写入文件大厂算法真题面试题.md\n", + "title: 华为 OD 面试题\n", + "已获取第1页,共100题\n", + "已获取第2页,共100题\n", + "已获取第3页,共9题\n", + "已将209题写入文件华为 OD 面试题.md\n", + "title: Git 基础面试题\n", + "已将59题写入文件Git 基础面试题.md\n", + "title: Git 进阶面试题\n", + "已将123题写入文件Git 进阶面试题.md\n", + "title: Git 操作面试题\n", + "已将132题写入文件Git 操作面试题.md\n", + "title: Git 概念面试题\n", + "已将32题写入文件Git 概念面试题.md\n", + "title: Git 协作应用面试题\n", + "已将29题写入文件Git 协作应用面试题.md\n", + "title: 测试基础理论面试题\n", + "已将65题写入文件测试基础理论面试题.md\n", + "title: 自动化测试面试题\n", + "已将152题写入文件自动化测试面试题.md\n", + "title: 接口测试面试题\n", + "已将59题写入文件接口测试面试题.md\n", + "title: Web 测试面试题\n", + "已将91题写入文件Web 测试面试题.md\n", + "title: 移动端测试面试题\n", + "已将38题写入文件移动端测试面试题.md\n", + "title: 测试工具面试题\n", + "已将118题写入文件测试工具面试题.md\n", + "title: 性能测试面试题\n", + "已将50题写入文件性能测试面试题.md\n", + "title: 安全测试面试题\n", + "已将6题写入文件安全测试面试题.md\n", + "title: 测试场景面试题\n", + "已将67题写入文件测试场景面试题.md\n", + "title: JMeter 面试题\n", + "已将37题写入文件JMeter 面试题.md\n", + "title: Selenium 面试题\n", + "已将38题写入文件Selenium 面试题.md\n", + "title: React 基础面试题\n", + "已将107题写入文件React 基础面试题.md\n", + "title: React 进阶面试题\n", + "已获取第1页,共100题\n", + "已获取第2页,共100题\n", + "已获取第3页,共27题\n", + "已将227题写入文件React 进阶面试题.md\n", + "title: React Router 面试题\n", + "已将18题写入文件React Router 面试题.md\n", + "title: React 状态管理面试题\n", + "已将67题写入文件React 状态管理面试题.md\n", + "title: React 工具和库面试题\n", + "已将90题写入文件React 工具和库面试题.md\n", + "title: Vue 基础面试题\n", + "已将74题写入文件Vue 基础面试题.md\n", + "title: Vue 进阶面试题\n", + "已获取第1页,共100题\n", + "已获取第2页,共100题\n", + "已获取第3页,共6题\n", + "已将206题写入文件Vue 进阶面试题.md\n", + "title: Vue Router 面试题\n", + "已将36题写入文件Vue Router 面试题.md\n", + "title: Vue 状态管理面试题\n", + "已将24题写入文件Vue 状态管理面试题.md\n", + "title: Vue3 面试题\n", + "已将15题写入文件Vue3 面试题.md\n", + "title: Vue 工具和库面试题\n", + "已将96题写入文件Vue 工具和库面试题.md\n", + "title: HR 面试题\n", + "已将55题写入文件HR 面试题.md\n", + "title: Android 基础面试题\n", + "已将27题写入文件Android 基础面试题.md\n", + "title: Android 进阶面试题\n", + "已将123题写入文件Android 进阶面试题.md\n", + "title: Android UI 面试题\n", + "已将30题写入文件Android UI 面试题.md\n", + "title: Android 库面试题\n", + "已将27题写入文件Android 库面试题.md\n", + "title: Android 性能优化面试题\n", + "已将21题写入文件Android 性能优化面试题.md\n", + "title: Android 原理面试题\n", + "已将13题写入文件Android 原理面试题.md\n", + "title: Android 数据存储面试题\n", + "已将13题写入文件Android 数据存储面试题.md\n", + "title: Android 网络通信面试题\n", + "已将10题写入文件Android 网络通信面试题.md\n", + "title: 前端手写代码面试题\n", + "已将54题写入文件前端手写代码面试题.md\n", + "title: 机器学习面试题\n", + "已将72题写入文件机器学习面试题.md\n", + "title: 深度学习面试题\n", + "已将41题写入文件深度学习面试题.md\n", + "title: 自然语言处理面试题\n", + "已将33题写入文件自然语言处理面试题.md\n", + "title: 计算机视觉面试题\n", + "已将25题写入文件计算机视觉面试题.md\n", + "title: 强化学习面试题\n", + "已将10题写入文件强化学习面试题.md\n", + "title: AI 应用面试题\n", + "已将13题写入文件AI 应用面试题.md\n", + "title: Transformer 面试题\n", + "已将28题写入文件Transformer 面试题.md\n", + "title: 游戏服务端开发面试题\n", + "已将34题写入文件游戏服务端开发面试题.md\n", + "title: Nginx 面试题\n", + "已将115题写入文件Nginx 面试题.md\n", + "title: Nginx 原理面试题\n", + "已将20题写入文件Nginx 原理面试题.md\n", + "title: Nginx 配置面试题\n", + "已将67题写入文件Nginx 配置面试题.md\n", + "title: Nginx 应用面试题\n", + "已将39题写入文件Nginx 应用面试题.md\n", + "title: 回溯面试题\n", + "已将10题写入文件回溯面试题.md\n", + "title: Trie面试题\n", + "已将2题写入文件Trie面试题.md\n", + "title: 图面试题\n", + "已将15题写入文件图面试题.md\n", + "title: 前缀和面试题\n", + "已将3题写入文件前缀和面试题.md\n", + "title: 字符串面试题\n", + "已将8题写入文件字符串面试题.md\n", + "title: 树面试题\n", + "已将19题写入文件树面试题.md\n", + "title: 栈面试题\n", + "已将11题写入文件栈面试题.md\n", + "title: 位运算面试题\n", + "已将15题写入文件位运算面试题.md\n", + "title: 差分面试题\n", + "已将1题写入文件差分面试题.md\n", + "title: 数学面试题\n", + "已将8题写入文件数学面试题.md\n", + "title: 动态规划面试题\n", + "已将23题写入文件动态规划面试题.md\n", + "title: 遍历面试题\n", + "已将9题写入文件遍历面试题.md\n", + "title: 贪心面试题\n", + "已将13题写入文件贪心面试题.md\n", + "title: 滑动窗口面试题\n", + "已将5题写入文件滑动窗口面试题.md\n", + "title: 排序面试题\n", + "已将8题写入文件排序面试题.md\n", + "title: 双指针面试题\n", + "已将8题写入文件双指针面试题.md\n", + "title: 链表面试题\n", + "已将14题写入文件链表面试题.md\n", + "title: 二分法面试题\n", + "已将8题写入文件二分法面试题.md\n", + "title: 并查集面试题\n", + "已将4题写入文件并查集面试题.md\n", + "title: 算法和数据结构面试题\n", + "已将176题写入文件算法和数据结构面试题.md\n", + "title: 数据结构面试题\n", + "已将68题写入文件数据结构面试题.md\n", + "title: 前端场景面试题\n", + "已将60题写入文件前端场景面试题.md\n", + "title: 前端系统设计面试题\n", + "已将29题写入文件前端系统设计面试题.md\n", + "title: Elasticsearch 原理面试题\n", + "已将29题写入文件Elasticsearch 原理面试题.md\n", + "title: Elasticsearch 集群面试题\n", + "已将31题写入文件Elasticsearch 集群面试题.md\n", + "title: Elasticsearch 配置面试题\n", + "已将28题写入文件Elasticsearch 配置面试题.md\n", + "title: Elasticsearch 应用面试题\n", + "已将55题写入文件Elasticsearch 应用面试题.md\n", + "title: Elasticsearch 评分面试题\n", + "已将24题写入文件Elasticsearch 评分面试题.md\n", + "title: Elasticsearch 优化面试题\n", + "已将33题写入文件Elasticsearch 优化面试题.md\n", + "title: ZooKeeper 原理面试题\n", + "已将35题写入文件ZooKeeper 原理面试题.md\n", + "title: ZooKeeper 集群面试题\n", + "已将10题写入文件ZooKeeper 集群面试题.md\n", + "title: ZooKeeper 客户端面试题\n", + "已将21题写入文件ZooKeeper 客户端面试题.md\n", + "title: 26 届秋招 Java 热题\n", + "已将52题写入文件26 届秋招 Java 热题.md\n", + "title: 26 届秋招后端热题\n", + "已将82题写入文件26 届秋招后端热题.md\n", + "title: 26 届秋招 Go 热题\n", + "已将29题写入文件26 届秋招 Go 热题.md\n", + "title: 26 届秋招前端热题\n", + "已将49题写入文件26 届秋招前端热题.md\n", + "title: 26 届秋招 React 热题\n", + "已将11题写入文件26 届秋招 React 热题.md\n", + "title: 26 届秋招 Vue 热题\n", + "已将19题写入文件26 届秋招 Vue 热题.md\n", + "title: 美团 Java 面经\n", + "已将20题写入文件美团 Java 面经.md\n", + "title: 阿里巴巴 Java 面经\n", + "已将35题写入文件阿里巴巴 Java 面经.md\n", + "title: 字节跳动 Java 面经\n", + "已将58题写入文件字节跳动 Java 面经.md\n", + "title: 京东 Java 面经\n", + "已将33题写入文件京东 Java 面经.md\n", + "title: Java 手写代码面试题\n", + "已将4题写入文件Java 手写代码面试题.md\n", + "title: 银行面试真题\n", + "已将4题写入文件银行面试真题.md\n", + "title: 国企面试真题\n", + "已将4题写入文件国企面试真题.md\n", + "title: 前端工程化面试题\n", + "已将156题写入文件前端工程化面试题.md\n", + "title: Webpack 面试题\n", + "已将56题写入文件Webpack 面试题.md\n", + "title: 前端性能优化面试题\n", + "已将49题写入文件前端性能优化面试题.md\n", + "title: Dubbo 原理面试题\n", + "已将11题写入文件Dubbo 原理面试题.md\n", + "title: Dubbo 配置面试题\n", + "已将29题写入文件Dubbo 配置面试题.md\n", + "title: Dubbo 性能优化面试题\n", + "已将10题写入文件Dubbo 性能优化面试题.md\n", + "title: 中小公司面经\n", + "已将47题写入文件中小公司面经.md\n", + "title: PHP 基础面试题\n", + "已将51题写入文件PHP 基础面试题.md\n", + "title: PHP 面向对象面试题\n", + "已将20题写入文件PHP 面向对象面试题.md\n", + "title: PHP 应用场景面试题\n", + "已将24题写入文件PHP 应用场景面试题.md\n", + "title: PHP 框架面试题\n", + "已将60题写入文件PHP 框架面试题.md\n", + "title: Hadoop 面试题\n", + "已将51题写入文件Hadoop 面试题.md\n", + "title: HDFS 面试题\n", + "已将46题写入文件HDFS 面试题.md\n", + "title: MapReduce 面试题\n", + "已将50题写入文件MapReduce 面试题.md\n", + "title: Yarn 面试题\n", + "已将46题写入文件Yarn 面试题.md\n", + "title: Hive 面试题\n", + "已将63题写入文件Hive 面试题.md\n", + "title: Flink 面试题\n", + "已将74题写入文件Flink 面试题.md\n", + "title: HBase 面试题\n", + "已将72题写入文件HBase 面试题.md\n", + "title: Kafka 面试题\n", + "已将59题写入文件Kafka 面试题.md\n", + "title: Storm 面试题\n", + "已将67题写入文件Storm 面试题.md\n", + "title: Flume 面试题\n", + "已将55题写入文件Flume 面试题.md\n", + "title: Sqoop 面试题\n", + "已将59题写入文件Sqoop 面试题.md\n", + "title: Azkaban 面试题\n", + "已将56题写入文件Azkaban 面试题.md\n", + "title: Scala 面试题\n", + "已将55题写入文件Scala 面试题.md\n", + "title: Spark 面试题\n", + "已将60题写入文件Spark 面试题.md\n", + "title: Spark SQL 面试题\n", + "已将57题写入文件Spark SQL 面试题.md\n", + "title: Spark Streaming 面试题\n", + "已将42题写入文件Spark Streaming 面试题.md\n", + "title: Mahout 面试题\n", + "已将51题写入文件Mahout 面试题.md\n", + "title: Doris 面试题\n", + "已将58题写入文件Doris 面试题.md\n", + "title: DolphinScheduler 面试题\n", + "已将46题写入文件DolphinScheduler 面试题.md\n", + "title: Ambari 面试题\n", + "已将50题写入文件Ambari 面试题.md\n", + "title: PySpark 面试题\n", + "已将48题写入文件PySpark 面试题.md\n", + "title: Kylin 面试题\n", + "已将48题写入文件Kylin 面试题.md\n", + "title: Atlas 面试题\n", + "已将49题写入文件Atlas 面试题.md\n", + "title: 数据仓库面试题\n", + "已将51题写入文件数据仓库面试题.md\n", + "title: 数据挖掘面试题\n", + "已将48题写入文件数据挖掘面试题.md\n", + "title: Iceberg 面试题\n", + "已将42题写入文件Iceberg 面试题.md\n", + "title: ClickHouse 面试题\n", + "已将49题写入文件ClickHouse 面试题.md\n", + "title: Drill 面试题\n", + "已将42题写入文件Drill 面试题.md\n", + "title: Kudu 面试题\n", + "已将44题写入文件Kudu 面试题.md\n", + "title: TDengine 面试题\n", + "已将40题写入文件TDengine 面试题.md\n", + "title: Metacat 面试题\n", + "已将38题写入文件Metacat 面试题.md\n", + "title: Hudi 面试题\n", + "已将41题写入文件Hudi 面试题.md\n", + "title: Impala 面试题\n", + "已将45题写入文件Impala 面试题.md\n", + "title: Tableau 面试题\n", + "已将52题写入文件Tableau 面试题.md\n", + "title: Logstash 面试题\n", + "已将37题写入文件Logstash 面试题.md\n", + "title: Druid 面试题\n", + "已将46题写入文件Druid 面试题.md\n", + "title: Presto 面试题\n", + "已将42题写入文件Presto 面试题.md\n", + "title: 数据分析面试题\n", + "已将75题写入文件数据分析面试题.md\n", + "title: Airflow 面试题\n", + "已将44题写入文件Airflow 面试题.md\n", + "title: Cassandra 面试题\n", + "已将40题写入文件Cassandra 面试题.md\n", + "title: MongoDB 面试题\n", + "已将72题写入文件MongoDB 面试题.md\n", + "title: C# WPF 面试题\n", + "已将53题写入文件C# WPF 面试题.md\n", + "title: C# .NET 面试题\n", + "已将70题写入文件C# .NET 面试题.md\n", + "title: C# 框架面试题\n", + "已将55题写入文件C# 框架面试题.md\n", + "title: C# 底层原理面试题\n", + "已将57题写入文件C# 底层原理面试题.md\n", + "title: C# 并发面试题库\n", + "已将93题写入文件C# 并发面试题库.md\n", + "title: C# 面向对象面试题\n", + "已将61题写入文件C# 面向对象面试题.md\n", + "title: C# 集合面试题\n", + "已将112题写入文件C# 集合面试题.md\n", + "title: C# 基础面试题\n", + "已将195题写入文件C# 基础面试题.md\n", + "title: Node.js 面试题\n", + "已将135题写入文件Node.js 面试题.md\n", + "title: 面试刷题平台面试题\n", + "已将49题写入文件面试刷题平台面试题.md\n", + "title: Node.js 框架面试题\n", + "已将110题写入文件Node.js 框架面试题.md\n", + "title: Koa 框架面试题\n", + "已将52题写入文件Koa 框架面试题.md\n", + "title: Express 框架面试题\n", + "已将59题写入文件Express 框架面试题.md\n", + "title: RabbitMQ 面试题\n", + "已将31题写入文件RabbitMQ 面试题.md\n", + "title: RocketMQ 面试题\n", + "已将30题写入文件RocketMQ 面试题.md\n", + "title: 腾讯 C++ 面经\n", + "已将1题写入文件腾讯 C++ 面经.md\n", + "title: 快手 Java 面经\n", + "已将8题写入文件快手 Java 面经.md\n", + "title: Java 热门面试题 200 道\n", + "已将200题写入文件Java 热门面试题 200 道.md\n", + "title: 前端热门面试题 200 道\n", + "已将198题写入文件前端热门面试题 200 道.md\n", + "title: 百度 Java 面经\n", + "已将5题写入文件百度 Java 面经.md\n", + "title: 百度 C++ 面经\n", + "已将2题写入文件百度 C++ 面经.md\n", + "title: 得物面经\n", + "已将1题写入文件得物面经.md\n", + "title: 滴滴出行 Java 面经\n", + "已将1题写入文件滴滴出行 Java 面经.md\n", + "title: 网易 Java 面经\n", + "已将2题写入文件网易 Java 面经.md\n", + "title: 拼多多 Java 面经\n", + "已将19题写入文件拼多多 Java 面经.md\n", + "title: 智能协同云图库项目面试题\n", + "已将77题写入文件智能协同云图库项目面试题.md\n", + "title: AI大模型原理和应用面试题\n", + "已将127题写入文件AI大模型原理和应用面试题.md\n", + "title: AI 超级智能体项目面试题\n", + "已将55题写入文件AI 超级智能体项目面试题.md\n", + "title: AI 零代码应用生成平台项目面试题\n", + "已将62题写入文件AI 零代码应用生成平台项目面试题.md\n", + "title: 小红书 Java 面经\n", + "已将1题写入文件小红书 Java 面经.md\n", + "title: Java 面试题\n", + "已将200题写入文件Java 面试题.md\n", + "title: C++ 面试题\n", + "已将113题写入文件C++ 面试题.md\n", + "title: Go 面试题\n", + "已获取第1页,共100题\n", + "已获取第2页,共100题\n", + "已获取第3页,共31题\n", + "已将231题写入文件Go 面试题.md\n", + "title: PHP 面试题\n", + "已将151题写入文件PHP 面试题.md\n", + "title: C# 面试题\n", + "已获取第1页,共100题\n", + "已获取第2页,共100题\n", + "已获取第3页,共100题\n", + "已获取第4页,共100题\n", + "已获取第5页,共100题\n", + "已获取第6页,共100题\n", + "已获取第7页,共96题\n", + "已将696题写入文件C# 面试题.md\n" + ] + } + ], + "execution_count": 4 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-11-14T02:37:58.478685Z", + "start_time": "2025-11-14T02:37:58.477177Z" + } + }, + "cell_type": "code", + "source": "", + "id": "ff7a3f334553de92", + "outputs": [], + "execution_count": null + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-11-14T02:37:58.505382Z", + "start_time": "2025-11-14T02:37:58.504191Z" + } + }, + "cell_type": "code", + "source": "", + "id": "b25a6e498caedd34", + "outputs": [], + "execution_count": null + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..887a391 --- /dev/null +++ b/uv.lock @@ -0,0 +1,1491 @@ +version = 1 +revision = 3 +requires-python = ">=3.12" +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version < '3.14'", +] + +[[package]] +name = "anyio" +version = "4.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, +] + +[[package]] +name = "argon2-cffi" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1", size = 45706, upload-time = "2025-06-03T06:55:32.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741", size = 14657, upload-time = "2025-06-03T06:55:30.804Z" }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/2d/db8af0df73c1cf454f71b2bbe5e356b8c1f8041c979f505b3d3186e520a9/argon2_cffi_bindings-25.1.0.tar.gz", hash = "sha256:b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d", size = 1783441, upload-time = "2025-07-30T10:02:05.147Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/3c0a35f46e52108d4707c44b95cfe2afcafc50800b5450c197454569b776/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:3d3f05610594151994ca9ccb3c771115bdb4daef161976a266f0dd8aa9996b8f", size = 54393, upload-time = "2025-07-30T10:01:40.97Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f4/98bbd6ee89febd4f212696f13c03ca302b8552e7dbf9c8efa11ea4a388c3/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8b8efee945193e667a396cbc7b4fb7d357297d6234d30a489905d96caabde56b", size = 29328, upload-time = "2025-07-30T10:01:41.916Z" }, + { url = "https://files.pythonhosted.org/packages/43/24/90a01c0ef12ac91a6be05969f29944643bc1e5e461155ae6559befa8f00b/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3c6702abc36bf3ccba3f802b799505def420a1b7039862014a65db3205967f5a", size = 31269, upload-time = "2025-07-30T10:01:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d3/942aa10782b2697eee7af5e12eeff5ebb325ccfb86dd8abda54174e377e4/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1c70058c6ab1e352304ac7e3b52554daadacd8d453c1752e547c76e9c99ac44", size = 86558, upload-time = "2025-07-30T10:01:43.943Z" }, + { url = "https://files.pythonhosted.org/packages/0d/82/b484f702fec5536e71836fc2dbc8c5267b3f6e78d2d539b4eaa6f0db8bf8/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2fd3bfbff3c5d74fef31a722f729bf93500910db650c925c2d6ef879a7e51cb", size = 92364, upload-time = "2025-07-30T10:01:44.887Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c1/a606ff83b3f1735f3759ad0f2cd9e038a0ad11a3de3b6c673aa41c24bb7b/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c4f9665de60b1b0e99bcd6be4f17d90339698ce954cfd8d9cf4f91c995165a92", size = 85637, upload-time = "2025-07-30T10:01:46.225Z" }, + { url = "https://files.pythonhosted.org/packages/44/b4/678503f12aceb0262f84fa201f6027ed77d71c5019ae03b399b97caa2f19/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ba92837e4a9aa6a508c8d2d7883ed5a8f6c308c89a4790e1e447a220deb79a85", size = 91934, upload-time = "2025-07-30T10:01:47.203Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c7/f36bd08ef9bd9f0a9cff9428406651f5937ce27b6c5b07b92d41f91ae541/argon2_cffi_bindings-25.1.0-cp314-cp314t-win32.whl", hash = "sha256:84a461d4d84ae1295871329b346a97f68eade8c53b6ed9a7ca2d7467f3c8ff6f", size = 28158, upload-time = "2025-07-30T10:01:48.341Z" }, + { url = "https://files.pythonhosted.org/packages/b3/80/0106a7448abb24a2c467bf7d527fe5413b7fdfa4ad6d6a96a43a62ef3988/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b55aec3565b65f56455eebc9b9f34130440404f27fe21c3b375bf1ea4d8fbae6", size = 32597, upload-time = "2025-07-30T10:01:49.112Z" }, + { url = "https://files.pythonhosted.org/packages/05/b8/d663c9caea07e9180b2cb662772865230715cbd573ba3b5e81793d580316/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:87c33a52407e4c41f3b70a9c2d3f6056d88b10dad7695be708c5021673f55623", size = 28231, upload-time = "2025-07-30T10:01:49.92Z" }, + { url = "https://files.pythonhosted.org/packages/1d/57/96b8b9f93166147826da5f90376e784a10582dd39a393c99bb62cfcf52f0/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:aecba1723ae35330a008418a91ea6cfcedf6d31e5fbaa056a166462ff066d500", size = 54121, upload-time = "2025-07-30T10:01:50.815Z" }, + { url = "https://files.pythonhosted.org/packages/0a/08/a9bebdb2e0e602dde230bdde8021b29f71f7841bd54801bcfd514acb5dcf/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2630b6240b495dfab90aebe159ff784d08ea999aa4b0d17efa734055a07d2f44", size = 29177, upload-time = "2025-07-30T10:01:51.681Z" }, + { url = "https://files.pythonhosted.org/packages/b6/02/d297943bcacf05e4f2a94ab6f462831dc20158614e5d067c35d4e63b9acb/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:7aef0c91e2c0fbca6fc68e7555aa60ef7008a739cbe045541e438373bc54d2b0", size = 31090, upload-time = "2025-07-30T10:01:53.184Z" }, + { url = "https://files.pythonhosted.org/packages/c1/93/44365f3d75053e53893ec6d733e4a5e3147502663554b4d864587c7828a7/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e021e87faa76ae0d413b619fe2b65ab9a037f24c60a1e6cc43457ae20de6dc6", size = 81246, upload-time = "2025-07-30T10:01:54.145Z" }, + { url = "https://files.pythonhosted.org/packages/09/52/94108adfdd6e2ddf58be64f959a0b9c7d4ef2fa71086c38356d22dc501ea/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e924cfc503018a714f94a49a149fdc0b644eaead5d1f089330399134fa028a", size = 87126, upload-time = "2025-07-30T10:01:55.074Z" }, + { url = "https://files.pythonhosted.org/packages/72/70/7a2993a12b0ffa2a9271259b79cc616e2389ed1a4d93842fac5a1f923ffd/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c87b72589133f0346a1cb8d5ecca4b933e3c9b64656c9d175270a000e73b288d", size = 80343, upload-time = "2025-07-30T10:01:56.007Z" }, + { url = "https://files.pythonhosted.org/packages/78/9a/4e5157d893ffc712b74dbd868c7f62365618266982b64accab26bab01edc/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1db89609c06afa1a214a69a462ea741cf735b29a57530478c06eb81dd403de99", size = 86777, upload-time = "2025-07-30T10:01:56.943Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/15777dfde1c29d96de7f18edf4cc94c385646852e7c7b0320aa91ccca583/argon2_cffi_bindings-25.1.0-cp39-abi3-win32.whl", hash = "sha256:473bcb5f82924b1becbb637b63303ec8d10e84c8d241119419897a26116515d2", size = 27180, upload-time = "2025-07-30T10:01:57.759Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/a759ece8f1829d1f162261226fbfd2c6832b3ff7657384045286d2afa384/argon2_cffi_bindings-25.1.0-cp39-abi3-win_amd64.whl", hash = "sha256:a98cd7d17e9f7ce244c0803cad3c23a7d379c301ba618a5fa76a67d116618b98", size = 31715, upload-time = "2025-07-30T10:01:58.56Z" }, + { url = "https://files.pythonhosted.org/packages/42/b9/f8d6fa329ab25128b7e98fd83a3cb34d9db5b059a9847eddb840a0af45dd/argon2_cffi_bindings-25.1.0-cp39-abi3-win_arm64.whl", hash = "sha256:b0fdbcf513833809c882823f98dc2f931cf659d9a1429616ac3adebb49f5db94", size = 27149, upload-time = "2025-07-30T10:01:59.329Z" }, +] + +[[package]] +name = "arrow" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/33/032cdc44182491aa708d06a68b62434140d8c50820a087fac7af37703357/arrow-1.4.0.tar.gz", hash = "sha256:ed0cc050e98001b8779e84d461b0098c4ac597e88704a655582b21d116e526d7", size = 152931, upload-time = "2025-10-18T17:46:46.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/c9/d7977eaacb9df673210491da99e6a247e93df98c715fc43fd136ce1d3d33/arrow-1.4.0-py3-none-any.whl", hash = "sha256:749f0769958ebdc79c173ff0b0670d59051a535fa26e8eba02953dc19eb43205", size = 68797, upload-time = "2025-10-18T17:46:45.663Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, +] + +[[package]] +name = "async-lru" +version = "2.0.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/4d/71ec4d3939dc755264f680f6c2b4906423a304c3d18e96853f0a595dfe97/async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb", size = 10380, upload-time = "2025-03-16T17:25:36.919Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/49/d10027df9fce941cb8184e78a02857af36360d33e1721df81c5ed2179a1a/async_lru-2.0.5-py3-none-any.whl", hash = "sha256:ab95404d8d2605310d345932697371a5f40def0487c03d6d0ad9138de52c9943", size = 6069, upload-time = "2025-03-16T17:25:35.422Z" }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, +] + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.14.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz", hash = "sha256:2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e", size = 625822, upload-time = "2025-09-29T10:05:42.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/fe/3aed5d0be4d404d12d36ab97e2f1791424d9ca39c2f754a6285d59a3b01d/beautifulsoup4-4.14.2-py3-none-any.whl", hash = "sha256:5ef6fa3a8cbece8488d66985560f97ed091e22bbc4e9c2338508a9d5de6d4515", size = 106392, upload-time = "2025-09-29T10:05:43.771Z" }, +] + +[[package]] +name = "bleach" +version = "6.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/07/18/3c8523962314be6bf4c8989c79ad9531c825210dd13a8669f6b84336e8bd/bleach-6.3.0.tar.gz", hash = "sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22", size = 203533, upload-time = "2025-10-27T17:57:39.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/3a/577b549de0cc09d95f11087ee63c739bba856cd3952697eec4c4bb91350a/bleach-6.3.0-py3-none-any.whl", hash = "sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6", size = 164437, upload-time = "2025-10-27T17:57:37.538Z" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + +[[package]] +name = "certifi" +version = "2025.10.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + +[[package]] +name = "debugpy" +version = "1.8.17" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/ad/71e708ff4ca377c4230530d6a7aa7992592648c122a2cd2b321cf8b35a76/debugpy-1.8.17.tar.gz", hash = "sha256:fd723b47a8c08892b1a16b2c6239a8b96637c62a59b94bb5dab4bac592a58a8e", size = 1644129, upload-time = "2025-09-17T16:33:20.633Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/2b/9d8e65beb2751876c82e1aceb32f328c43ec872711fa80257c7674f45650/debugpy-1.8.17-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:f14467edef672195c6f6b8e27ce5005313cb5d03c9239059bc7182b60c176e2d", size = 2549522, upload-time = "2025-09-17T16:33:38.466Z" }, + { url = "https://files.pythonhosted.org/packages/b4/78/eb0d77f02971c05fca0eb7465b18058ba84bd957062f5eec82f941ac792a/debugpy-1.8.17-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:24693179ef9dfa20dca8605905a42b392be56d410c333af82f1c5dff807a64cc", size = 4309417, upload-time = "2025-09-17T16:33:41.299Z" }, + { url = "https://files.pythonhosted.org/packages/37/42/c40f1d8cc1fed1e75ea54298a382395b8b937d923fcf41ab0797a554f555/debugpy-1.8.17-cp312-cp312-win32.whl", hash = "sha256:6a4e9dacf2cbb60d2514ff7b04b4534b0139facbf2abdffe0639ddb6088e59cf", size = 5277130, upload-time = "2025-09-17T16:33:43.554Z" }, + { url = "https://files.pythonhosted.org/packages/72/22/84263b205baad32b81b36eac076de0cdbe09fe2d0637f5b32243dc7c925b/debugpy-1.8.17-cp312-cp312-win_amd64.whl", hash = "sha256:e8f8f61c518952fb15f74a302e068b48d9c4691768ade433e4adeea961993464", size = 5319053, upload-time = "2025-09-17T16:33:53.033Z" }, + { url = "https://files.pythonhosted.org/packages/50/76/597e5cb97d026274ba297af8d89138dfd9e695767ba0e0895edb20963f40/debugpy-1.8.17-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:857c1dd5d70042502aef1c6d1c2801211f3ea7e56f75e9c335f434afb403e464", size = 2538386, upload-time = "2025-09-17T16:33:54.594Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/ce5c34fcdfec493701f9d1532dba95b21b2f6394147234dce21160bd923f/debugpy-1.8.17-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:3bea3b0b12f3946e098cce9b43c3c46e317b567f79570c3f43f0b96d00788088", size = 4292100, upload-time = "2025-09-17T16:33:56.353Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/7873cf2146577ef71d2a20bf553f12df865922a6f87b9e8ee1df04f01785/debugpy-1.8.17-cp313-cp313-win32.whl", hash = "sha256:e34ee844c2f17b18556b5bbe59e1e2ff4e86a00282d2a46edab73fd7f18f4a83", size = 5277002, upload-time = "2025-09-17T16:33:58.231Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/18c79a1cee5ff539a94ec4aa290c1c069a5580fd5cfd2fb2e282f8e905da/debugpy-1.8.17-cp313-cp313-win_amd64.whl", hash = "sha256:6c5cd6f009ad4fca8e33e5238210dc1e5f42db07d4b6ab21ac7ffa904a196420", size = 5319047, upload-time = "2025-09-17T16:34:00.586Z" }, + { url = "https://files.pythonhosted.org/packages/de/45/115d55b2a9da6de812696064ceb505c31e952c5d89c4ed1d9bb983deec34/debugpy-1.8.17-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:045290c010bcd2d82bc97aa2daf6837443cd52f6328592698809b4549babcee1", size = 2536899, upload-time = "2025-09-17T16:34:02.657Z" }, + { url = "https://files.pythonhosted.org/packages/5a/73/2aa00c7f1f06e997ef57dc9b23d61a92120bec1437a012afb6d176585197/debugpy-1.8.17-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:b69b6bd9dba6a03632534cdf67c760625760a215ae289f7489a452af1031fe1f", size = 4268254, upload-time = "2025-09-17T16:34:04.486Z" }, + { url = "https://files.pythonhosted.org/packages/86/b5/ed3e65c63c68a6634e3ba04bd10255c8e46ec16ebed7d1c79e4816d8a760/debugpy-1.8.17-cp314-cp314-win32.whl", hash = "sha256:5c59b74aa5630f3a5194467100c3b3d1c77898f9ab27e3f7dc5d40fc2f122670", size = 5277203, upload-time = "2025-09-17T16:34:06.65Z" }, + { url = "https://files.pythonhosted.org/packages/b0/26/394276b71c7538445f29e792f589ab7379ae70fd26ff5577dfde71158e96/debugpy-1.8.17-cp314-cp314-win_amd64.whl", hash = "sha256:893cba7bb0f55161de4365584b025f7064e1f88913551bcd23be3260b231429c", size = 5318493, upload-time = "2025-09-17T16:34:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl", hash = "sha256:60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef", size = 5283210, upload-time = "2025-09-17T16:34:25.835Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "ipykernel" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/a4/4948be6eb88628505b83a1f2f40d90254cab66abf2043b3c40fa07dfce0f/ipykernel-7.1.0.tar.gz", hash = "sha256:58a3fc88533d5930c3546dc7eac66c6d288acde4f801e2001e65edc5dc9cf0db", size = 174579, upload-time = "2025-10-27T09:46:39.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/17/20c2552266728ceba271967b87919664ecc0e33efca29c3efc6baf88c5f9/ipykernel-7.1.0-py3-none-any.whl", hash = "sha256:763b5ec6c5b7776f6a8d7ce09b267693b4e5ce75cb50ae696aaefb3c85e1ea4c", size = 117968, upload-time = "2025-10-27T09:46:37.805Z" }, +] + +[[package]] +name = "ipython" +version = "9.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/29/e6/48c74d54039241a456add616464ea28c6ebf782e4110d419411b83dae06f/ipython-9.7.0.tar.gz", hash = "sha256:5f6de88c905a566c6a9d6c400a8fed54a638e1f7543d17aae2551133216b1e4e", size = 4422115, upload-time = "2025-11-05T12:18:54.646Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/aa/62893d6a591d337aa59dcc4c6f6c842f1fe20cd72c8c5c1f980255243252/ipython-9.7.0-py3-none-any.whl", hash = "sha256:bce8ac85eb9521adc94e1845b4c03d88365fd6ac2f4908ec4ed1eb1b0a065f9f", size = 618911, upload-time = "2025-11-05T12:18:52.484Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "json5" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/12/ae/929aee9619e9eba9015207a9d2c1c54db18311da7eb4dcf6d41ad6f0eb67/json5-0.12.1.tar.gz", hash = "sha256:b2743e77b3242f8d03c143dd975a6ec7c52e2f2afe76ed934e53503dd4ad4990", size = 52191, upload-time = "2025-08-12T19:47:42.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/e2/05328bd2621be49a6fed9e3030b1e51a2d04537d3f816d211b9cc53c5262/json5-0.12.1-py3-none-any.whl", hash = "sha256:d9c9b3bc34a5f54d43c35e11ef7cb87d8bdd098c6ace87117a7b7e83e705c1d5", size = 36119, upload-time = "2025-08-12T19:47:41.131Z" }, +] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114, upload-time = "2024-06-10T19:24:42.462Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595, upload-time = "2024-06-10T19:24:40.698Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "rfc3987-syntax" }, + { name = "uri-template" }, + { name = "webcolors" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196, upload-time = "2025-02-03T17:23:41.485Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430, upload-time = "2025-02-03T17:23:38.643Z" }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/5a/9066c9f8e94ee517133cd98dba393459a16cd48bba71a82f16a65415206c/jupyter_lsp-2.3.0.tar.gz", hash = "sha256:458aa59339dc868fb784d73364f17dbce8836e906cd75fd471a325cba02e0245", size = 54823, upload-time = "2025-08-27T17:47:34.671Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/60/1f6cee0c46263de1173894f0fafcb3475ded276c472c14d25e0280c18d6d/jupyter_lsp-2.3.0-py3-none-any.whl", hash = "sha256:e914a3cb2addf48b1c7710914771aaf1819d46b2e5a79b0f917b5478ec93f34f", size = 76687, upload-time = "2025-08-27T17:47:33.15Z" }, +] + +[[package]] +name = "jupyter-server" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/ac/e040ec363d7b6b1f11304cc9f209dac4517ece5d5e01821366b924a64a50/jupyter_server-2.17.0.tar.gz", hash = "sha256:c38ea898566964c888b4772ae1ed58eca84592e88251d2cfc4d171f81f7e99d5", size = 731949, upload-time = "2025-08-21T14:42:54.042Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/80/a24767e6ca280f5a49525d987bf3e4d7552bf67c8be07e8ccf20271f8568/jupyter_server-2.17.0-py3-none-any.whl", hash = "sha256:e8cb9c7db4251f51ed307e329b81b72ccf2056ff82d50524debde1ee1870e13f", size = 388221, upload-time = "2025-08-21T14:42:52.034Z" }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430, upload-time = "2024-03-12T14:37:03.049Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656, upload-time = "2024-03-12T14:37:00.708Z" }, +] + +[[package]] +name = "jupyterlab" +version = "4.4.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "setuptools" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/5d/75c42a48ff5fc826a7dff3fe4004cda47c54f9d981c351efacfbc9139d3c/jupyterlab-4.4.10.tar.gz", hash = "sha256:521c017508af4e1d6d9d8a9d90f47a11c61197ad63b2178342489de42540a615", size = 22969303, upload-time = "2025-10-22T14:50:58.768Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/46/1eaa5db8d54a594bdade67afbcae42e9a2da676628be3eb39f36dcff6390/jupyterlab-4.4.10-py3-none-any.whl", hash = "sha256:65939ab4c8dcd0c42185c2d0d1a9d60b254dc8c46fc4fdb286b63c51e9358e07", size = 12293385, upload-time = "2025-10-22T14:50:54.075Z" }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.28.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/2c/90153f189e421e93c4bb4f9e3f59802a1f01abd2ac5cf40b152d7f735232/jupyterlab_server-2.28.0.tar.gz", hash = "sha256:35baa81898b15f93573e2deca50d11ac0ae407ebb688299d3a5213265033712c", size = 76996, upload-time = "2025-10-22T13:59:18.37Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl", hash = "sha256:e4355b148fdcf34d312bbbc80f22467d6d20460e8b8736bf235577dd18506968", size = 59830, upload-time = "2025-10-22T13:59:16.767Z" }, +] + +[[package]] +name = "lark" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905", size = 382732, upload-time = "2025-10-27T18:25:56.653Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12", size = 113151, upload-time = "2025-10-27T18:25:54.882Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe", size = 8110, upload-time = "2025-10-23T09:00:22.126Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516, upload-time = "2025-10-23T09:00:20.675Z" }, +] + +[[package]] +name = "mianshiya" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "notebook" }, + { name = "requests" }, +] + +[package.metadata] +requires-dist = [ + { name = "notebook", specifier = ">=7.4.7" }, + { name = "requests", specifier = ">=2.32.5" }, +] + +[[package]] +name = "mistune" +version = "3.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/02/a7fb8b21d4d55ac93cdcde9d3638da5dd0ebdd3a4fed76c7725e10b81cbe/mistune-3.1.4.tar.gz", hash = "sha256:b5a7f801d389f724ec702840c11d8fc48f2b33519102fc7ee739e8177b672164", size = 94588, upload-time = "2025-08-29T07:20:43.594Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/f0/8282d9641415e9e33df173516226b404d367a0fc55e1a60424a152913abc/mistune-3.1.4-py3-none-any.whl", hash = "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", size = 53481, upload-time = "2025-08-29T07:20:42.218Z" }, +] + +[[package]] +name = "nbclient" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" }, +] + +[[package]] +name = "nbconvert" +version = "7.16.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", extra = ["css"] }, + { name = "defusedxml" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe" }, + { name = "mistune" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, +] + +[[package]] +name = "notebook" +version = "7.4.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, + { name = "jupyterlab" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/09/f6f64ba156842ef68d3ea763fa171a2f7e7224f200a15dd4af5b83c34756/notebook-7.4.7.tar.gz", hash = "sha256:3f0a04027dfcee8a876de48fba13ab77ec8c12f72f848a222ed7f5081b9e342a", size = 13937702, upload-time = "2025-09-27T08:00:22.536Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/d7/06d13087e20388926e7423d2489e728d2e59f2453039cdb0574a7c070e76/notebook-7.4.7-py3-none-any.whl", hash = "sha256:362b7c95527f7dd3c4c84d410b782872fd9c734fb2524c11dd92758527b6eda6", size = 14342894, upload-time = "2025-09-27T08:00:18.496Z" }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, +] + +[[package]] +name = "parso" +version = "0.8.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", size = 401205, upload-time = "2025-08-23T15:15:28.028Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", size = 106668, upload-time = "2025-08-23T15:15:25.663Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", size = 21632, upload-time = "2025-10-08T17:44:48.791Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", size = 18651, upload-time = "2025-10-08T17:44:47.223Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.23.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/53/3edb5d68ecf6b38fcbcc1ad28391117d2a322d9a1a3eff04bfdb184d8c3b/prometheus_client-0.23.1.tar.gz", hash = "sha256:6ae8f9081eaaaf153a2e959d2e6c4f4fb57b12ef76c8c7980202f1e57b48b2ce", size = 80481, upload-time = "2025-09-18T20:47:25.043Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/db/14bafcb4af2139e046d03fd00dea7873e48eafe18b7d2797e73d6681f210/prometheus_client-0.23.1-py3-none-any.whl", hash = "sha256:dd1913e6e76b59cfe44e7a4b83e01afc9873c1bdfd2ed8739f1e76aeca115f99", size = 61145, upload-time = "2025-09-18T20:47:23.875Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, +] + +[[package]] +name = "psutil" +version = "7.1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/88/bdd0a41e5857d5d703287598cbf08dad90aed56774ea52ae071bae9071b6/psutil-7.1.3.tar.gz", hash = "sha256:6c86281738d77335af7aec228328e944b30930899ea760ecf33a4dba66be5e74", size = 489059, upload-time = "2025-11-02T12:25:54.619Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/93/0c49e776b8734fef56ec9c5c57f923922f2cf0497d62e0f419465f28f3d0/psutil-7.1.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0005da714eee687b4b8decd3d6cc7c6db36215c9e74e5ad2264b90c3df7d92dc", size = 239751, upload-time = "2025-11-02T12:25:58.161Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8d/b31e39c769e70780f007969815195a55c81a63efebdd4dbe9e7a113adb2f/psutil-7.1.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19644c85dcb987e35eeeaefdc3915d059dac7bd1167cdcdbf27e0ce2df0c08c0", size = 240368, upload-time = "2025-11-02T12:26:00.491Z" }, + { url = "https://files.pythonhosted.org/packages/62/61/23fd4acc3c9eebbf6b6c78bcd89e5d020cfde4acf0a9233e9d4e3fa698b4/psutil-7.1.3-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95ef04cf2e5ba0ab9eaafc4a11eaae91b44f4ef5541acd2ee91d9108d00d59a7", size = 287134, upload-time = "2025-11-02T12:26:02.613Z" }, + { url = "https://files.pythonhosted.org/packages/30/1c/f921a009ea9ceb51aa355cb0cc118f68d354db36eae18174bab63affb3e6/psutil-7.1.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1068c303be3a72f8e18e412c5b2a8f6d31750fb152f9cb106b54090296c9d251", size = 289904, upload-time = "2025-11-02T12:26:05.207Z" }, + { url = "https://files.pythonhosted.org/packages/a6/82/62d68066e13e46a5116df187d319d1724b3f437ddd0f958756fc052677f4/psutil-7.1.3-cp313-cp313t-win_amd64.whl", hash = "sha256:18349c5c24b06ac5612c0428ec2a0331c26443d259e2a0144a9b24b4395b58fa", size = 249642, upload-time = "2025-11-02T12:26:07.447Z" }, + { url = "https://files.pythonhosted.org/packages/df/ad/c1cd5fe965c14a0392112f68362cfceb5230819dbb5b1888950d18a11d9f/psutil-7.1.3-cp313-cp313t-win_arm64.whl", hash = "sha256:c525ffa774fe4496282fb0b1187725793de3e7c6b29e41562733cae9ada151ee", size = 245518, upload-time = "2025-11-02T12:26:09.719Z" }, + { url = "https://files.pythonhosted.org/packages/2e/bb/6670bded3e3236eb4287c7bcdc167e9fae6e1e9286e437f7111caed2f909/psutil-7.1.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b403da1df4d6d43973dc004d19cee3b848e998ae3154cc8097d139b77156c353", size = 239843, upload-time = "2025-11-02T12:26:11.968Z" }, + { url = "https://files.pythonhosted.org/packages/b8/66/853d50e75a38c9a7370ddbeefabdd3d3116b9c31ef94dc92c6729bc36bec/psutil-7.1.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ad81425efc5e75da3f39b3e636293360ad8d0b49bed7df824c79764fb4ba9b8b", size = 240369, upload-time = "2025-11-02T12:26:14.358Z" }, + { url = "https://files.pythonhosted.org/packages/41/bd/313aba97cb5bfb26916dc29cf0646cbe4dd6a89ca69e8c6edce654876d39/psutil-7.1.3-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f33a3702e167783a9213db10ad29650ebf383946e91bc77f28a5eb083496bc9", size = 288210, upload-time = "2025-11-02T12:26:16.699Z" }, + { url = "https://files.pythonhosted.org/packages/c2/fa/76e3c06e760927a0cfb5705eb38164254de34e9bd86db656d4dbaa228b04/psutil-7.1.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fac9cd332c67f4422504297889da5ab7e05fd11e3c4392140f7370f4208ded1f", size = 291182, upload-time = "2025-11-02T12:26:18.848Z" }, + { url = "https://files.pythonhosted.org/packages/0f/1d/5774a91607035ee5078b8fd747686ebec28a962f178712de100d00b78a32/psutil-7.1.3-cp314-cp314t-win_amd64.whl", hash = "sha256:3792983e23b69843aea49c8f5b8f115572c5ab64c153bada5270086a2123c7e7", size = 250466, upload-time = "2025-11-02T12:26:21.183Z" }, + { url = "https://files.pythonhosted.org/packages/00/ca/e426584bacb43a5cb1ac91fae1937f478cd8fbe5e4ff96574e698a2c77cd/psutil-7.1.3-cp314-cp314t-win_arm64.whl", hash = "sha256:31d77fcedb7529f27bb3a0472bea9334349f9a04160e8e6e5020f22c59893264", size = 245756, upload-time = "2025-11-02T12:26:23.148Z" }, + { url = "https://files.pythonhosted.org/packages/ef/94/46b9154a800253e7ecff5aaacdf8ebf43db99de4a2dfa18575b02548654e/psutil-7.1.3-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2bdbcd0e58ca14996a42adf3621a6244f1bb2e2e528886959c72cf1e326677ab", size = 238359, upload-time = "2025-11-02T12:26:25.284Z" }, + { url = "https://files.pythonhosted.org/packages/68/3a/9f93cff5c025029a36d9a92fef47220ab4692ee7f2be0fba9f92813d0cb8/psutil-7.1.3-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:bc31fa00f1fbc3c3802141eede66f3a2d51d89716a194bf2cd6fc68310a19880", size = 239171, upload-time = "2025-11-02T12:26:27.23Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b1/5f49af514f76431ba4eea935b8ad3725cdeb397e9245ab919dbc1d1dc20f/psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3bb428f9f05c1225a558f53e30ccbad9930b11c3fc206836242de1091d3e7dd3", size = 263261, upload-time = "2025-11-02T12:26:29.48Z" }, + { url = "https://files.pythonhosted.org/packages/e0/95/992c8816a74016eb095e73585d747e0a8ea21a061ed3689474fabb29a395/psutil-7.1.3-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56d974e02ca2c8eb4812c3f76c30e28836fffc311d55d979f1465c1feeb2b68b", size = 264635, upload-time = "2025-11-02T12:26:31.74Z" }, + { url = "https://files.pythonhosted.org/packages/55/4c/c3ed1a622b6ae2fd3c945a366e64eb35247a31e4db16cf5095e269e8eb3c/psutil-7.1.3-cp37-abi3-win_amd64.whl", hash = "sha256:f39c2c19fe824b47484b96f9692932248a54c43799a84282cfe58d05a6449efd", size = 247633, upload-time = "2025-11-02T12:26:33.887Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ad/33b2ccec09bf96c2b2ef3f9a6f66baac8253d7565d8839e024a6b905d45d/psutil-7.1.3-cp37-abi3-win_arm64.whl", hash = "sha256:bd0d69cee829226a761e92f28140bec9a5ee9d5b4fb4b0cc589068dbfff559b1", size = 244608, upload-time = "2025-11-02T12:26:36.136Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-json-logger" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/29/bf/eca6a3d43db1dae7070f70e160ab20b807627ba953663ba07928cdd3dc58/python_json_logger-4.0.0.tar.gz", hash = "sha256:f58e68eb46e1faed27e0f574a55a0455eecd7b8a5b88b85a784519ba3cff047f", size = 17683, upload-time = "2025-10-06T04:15:18.984Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/e5/fecf13f06e5e5f67e8837d777d1bc43fac0ed2b77a676804df5c34744727/python_json_logger-4.0.0-py3-none-any.whl", hash = "sha256:af09c9daf6a813aa4cc7180395f50f2a9e5fa056034c9953aec92e381c5ba1e2", size = 15548, upload-time = "2025-10-06T04:15:17.553Z" }, +] + +[[package]] +name = "pywinpty" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/bb/a7cc2967c5c4eceb6cc49cfe39447d4bfc56e6c865e7c2249b6eb978935f/pywinpty-3.0.2.tar.gz", hash = "sha256:1505cc4cb248af42cb6285a65c9c2086ee9e7e574078ee60933d5d7fa86fb004", size = 30669, upload-time = "2025-10-03T21:16:29.205Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/4e/1098484e042c9485f56f16eb2b69b43b874bd526044ee401512234cf9e04/pywinpty-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:99fdd9b455f0ad6419aba6731a7a0d2f88ced83c3c94a80ff9533d95fa8d8a9e", size = 2050391, upload-time = "2025-10-03T21:19:01.642Z" }, + { url = "https://files.pythonhosted.org/packages/fc/19/b757fe28008236a4a713e813283721b8a40aa60cd7d3f83549f2e25a3155/pywinpty-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:18f78b81e4cfee6aabe7ea8688441d30247b73e52cd9657138015c5f4ee13a51", size = 2050057, upload-time = "2025-10-03T21:19:26.732Z" }, + { url = "https://files.pythonhosted.org/packages/cb/44/cbae12ecf6f4fa4129c36871fd09c6bef4f98d5f625ecefb5e2449765508/pywinpty-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:663383ecfab7fc382cc97ea5c4f7f0bb32c2f889259855df6ea34e5df42d305b", size = 2049874, upload-time = "2025-10-03T21:18:53.923Z" }, + { url = "https://files.pythonhosted.org/packages/ca/15/f12c6055e2d7a617d4d5820e8ac4ceaff849da4cb124640ef5116a230771/pywinpty-3.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:28297cecc37bee9f24d8889e47231972d6e9e84f7b668909de54f36ca785029a", size = 2050386, upload-time = "2025-10-03T21:18:50.477Z" }, + { url = "https://files.pythonhosted.org/packages/de/24/c6907c5bb06043df98ad6a0a0ff5db2e0affcecbc3b15c42404393a3f72a/pywinpty-3.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:34b55ae9a1b671fe3eae071d86618110538e8eaad18fcb1531c0830b91a82767", size = 2049834, upload-time = "2025-10-03T21:19:25.688Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, +] + +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lark" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/06/37c1a5557acf449e8e406a830a05bf885ac47d33270aec454ef78675008d/rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d", size = 14239, upload-time = "2025-07-18T01:05:05.015Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/71/44ce230e1b7fadd372515a97e32a83011f906ddded8d03e3c6aafbdedbb7/rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f", size = 8046, upload-time = "2025-07-18T01:05:03.843Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.28.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/48/dc/95f074d43452b3ef5d06276696ece4b3b5d696e7c9ad7173c54b1390cd70/rpds_py-0.28.0.tar.gz", hash = "sha256:abd4df20485a0983e2ca334a216249b6186d6e3c1627e106651943dbdb791aea", size = 27419, upload-time = "2025-10-22T22:24:29.327Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/5c/6c3936495003875fe7b14f90ea812841a08fca50ab26bd840e924097d9c8/rpds_py-0.28.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6b4f28583a4f247ff60cd7bdda83db8c3f5b05a7a82ff20dd4b078571747708f", size = 366439, upload-time = "2025-10-22T22:22:04.525Z" }, + { url = "https://files.pythonhosted.org/packages/56/f9/a0f1ca194c50aa29895b442771f036a25b6c41a35e4f35b1a0ea713bedae/rpds_py-0.28.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d678e91b610c29c4b3d52a2c148b641df2b4676ffe47c59f6388d58b99cdc424", size = 348170, upload-time = "2025-10-22T22:22:06.397Z" }, + { url = "https://files.pythonhosted.org/packages/18/ea/42d243d3a586beb72c77fa5def0487daf827210069a95f36328e869599ea/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e819e0e37a44a78e1383bf1970076e2ccc4dc8c2bbaa2f9bd1dc987e9afff628", size = 378838, upload-time = "2025-10-22T22:22:07.932Z" }, + { url = "https://files.pythonhosted.org/packages/e7/78/3de32e18a94791af8f33601402d9d4f39613136398658412a4e0b3047327/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5ee514e0f0523db5d3fb171f397c54875dbbd69760a414dccf9d4d7ad628b5bd", size = 393299, upload-time = "2025-10-22T22:22:09.435Z" }, + { url = "https://files.pythonhosted.org/packages/13/7e/4bdb435afb18acea2eb8a25ad56b956f28de7c59f8a1d32827effa0d4514/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5f3fa06d27fdcee47f07a39e02862da0100cb4982508f5ead53ec533cd5fe55e", size = 518000, upload-time = "2025-10-22T22:22:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/31/d0/5f52a656875cdc60498ab035a7a0ac8f399890cc1ee73ebd567bac4e39ae/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46959ef2e64f9e4a41fc89aa20dbca2b85531f9a72c21099a3360f35d10b0d5a", size = 408746, upload-time = "2025-10-22T22:22:13.143Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/49ce51767b879cde77e7ad9fae164ea15dce3616fe591d9ea1df51152706/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8455933b4bcd6e83fde3fefc987a023389c4b13f9a58c8d23e4b3f6d13f78c84", size = 386379, upload-time = "2025-10-22T22:22:14.602Z" }, + { url = "https://files.pythonhosted.org/packages/6a/99/e4e1e1ee93a98f72fc450e36c0e4d99c35370220e815288e3ecd2ec36a2a/rpds_py-0.28.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:ad50614a02c8c2962feebe6012b52f9802deec4263946cddea37aaf28dd25a66", size = 401280, upload-time = "2025-10-22T22:22:16.063Z" }, + { url = "https://files.pythonhosted.org/packages/61/35/e0c6a57488392a8b319d2200d03dad2b29c0db9996f5662c3b02d0b86c02/rpds_py-0.28.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e5deca01b271492553fdb6c7fd974659dce736a15bae5dad7ab8b93555bceb28", size = 412365, upload-time = "2025-10-22T22:22:17.504Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6a/841337980ea253ec797eb084665436007a1aad0faac1ba097fb906c5f69c/rpds_py-0.28.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:735f8495a13159ce6a0d533f01e8674cec0c57038c920495f87dcb20b3ddb48a", size = 559573, upload-time = "2025-10-22T22:22:19.108Z" }, + { url = "https://files.pythonhosted.org/packages/e7/5e/64826ec58afd4c489731f8b00729c5f6afdb86f1df1df60bfede55d650bb/rpds_py-0.28.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:961ca621ff10d198bbe6ba4957decca61aa2a0c56695384c1d6b79bf61436df5", size = 583973, upload-time = "2025-10-22T22:22:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/b6/ee/44d024b4843f8386a4eeaa4c171b3d31d55f7177c415545fd1a24c249b5d/rpds_py-0.28.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2374e16cc9131022e7d9a8f8d65d261d9ba55048c78f3b6e017971a4f5e6353c", size = 553800, upload-time = "2025-10-22T22:22:22.25Z" }, + { url = "https://files.pythonhosted.org/packages/7d/89/33e675dccff11a06d4d85dbb4d1865f878d5020cbb69b2c1e7b2d3f82562/rpds_py-0.28.0-cp312-cp312-win32.whl", hash = "sha256:d15431e334fba488b081d47f30f091e5d03c18527c325386091f31718952fe08", size = 216954, upload-time = "2025-10-22T22:22:24.105Z" }, + { url = "https://files.pythonhosted.org/packages/af/36/45f6ebb3210887e8ee6dbf1bc710ae8400bb417ce165aaf3024b8360d999/rpds_py-0.28.0-cp312-cp312-win_amd64.whl", hash = "sha256:a410542d61fc54710f750d3764380b53bf09e8c4edbf2f9141a82aa774a04f7c", size = 227844, upload-time = "2025-10-22T22:22:25.551Z" }, + { url = "https://files.pythonhosted.org/packages/57/91/f3fb250d7e73de71080f9a221d19bd6a1c1eb0d12a1ea26513f6c1052ad6/rpds_py-0.28.0-cp312-cp312-win_arm64.whl", hash = "sha256:1f0cfd1c69e2d14f8c892b893997fa9a60d890a0c8a603e88dca4955f26d1edd", size = 217624, upload-time = "2025-10-22T22:22:26.914Z" }, + { url = "https://files.pythonhosted.org/packages/d3/03/ce566d92611dfac0085c2f4b048cd53ed7c274a5c05974b882a908d540a2/rpds_py-0.28.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e9e184408a0297086f880556b6168fa927d677716f83d3472ea333b42171ee3b", size = 366235, upload-time = "2025-10-22T22:22:28.397Z" }, + { url = "https://files.pythonhosted.org/packages/00/34/1c61da1b25592b86fd285bd7bd8422f4c9d748a7373b46126f9ae792a004/rpds_py-0.28.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:edd267266a9b0448f33dc465a97cfc5d467594b600fe28e7fa2f36450e03053a", size = 348241, upload-time = "2025-10-22T22:22:30.171Z" }, + { url = "https://files.pythonhosted.org/packages/fc/00/ed1e28616848c61c493a067779633ebf4b569eccaacf9ccbdc0e7cba2b9d/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85beb8b3f45e4e32f6802fb6cd6b17f615ef6c6a52f265371fb916fae02814aa", size = 378079, upload-time = "2025-10-22T22:22:31.644Z" }, + { url = "https://files.pythonhosted.org/packages/11/b2/ccb30333a16a470091b6e50289adb4d3ec656fd9951ba8c5e3aaa0746a67/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d2412be8d00a1b895f8ad827cc2116455196e20ed994bb704bf138fe91a42724", size = 393151, upload-time = "2025-10-22T22:22:33.453Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d0/73e2217c3ee486d555cb84920597480627d8c0240ff3062005c6cc47773e/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf128350d384b777da0e68796afdcebc2e9f63f0e9f242217754e647f6d32491", size = 517520, upload-time = "2025-10-22T22:22:34.949Z" }, + { url = "https://files.pythonhosted.org/packages/c4/91/23efe81c700427d0841a4ae7ea23e305654381831e6029499fe80be8a071/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a2036d09b363aa36695d1cc1a97b36865597f4478470b0697b5ee9403f4fe399", size = 408699, upload-time = "2025-10-22T22:22:36.584Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ee/a324d3198da151820a326c1f988caaa4f37fc27955148a76fff7a2d787a9/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8e1e9be4fa6305a16be628959188e4fd5cd6f1b0e724d63c6d8b2a8adf74ea6", size = 385720, upload-time = "2025-10-22T22:22:38.014Z" }, + { url = "https://files.pythonhosted.org/packages/19/ad/e68120dc05af8b7cab4a789fccd8cdcf0fe7e6581461038cc5c164cd97d2/rpds_py-0.28.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0a403460c9dd91a7f23fc3188de6d8977f1d9603a351d5db6cf20aaea95b538d", size = 401096, upload-time = "2025-10-22T22:22:39.869Z" }, + { url = "https://files.pythonhosted.org/packages/99/90/c1e070620042459d60df6356b666bb1f62198a89d68881816a7ed121595a/rpds_py-0.28.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d7366b6553cdc805abcc512b849a519167db8f5e5c3472010cd1228b224265cb", size = 411465, upload-time = "2025-10-22T22:22:41.395Z" }, + { url = "https://files.pythonhosted.org/packages/68/61/7c195b30d57f1b8d5970f600efee72a4fad79ec829057972e13a0370fd24/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b43c6a3726efd50f18d8120ec0551241c38785b68952d240c45ea553912ac41", size = 558832, upload-time = "2025-10-22T22:22:42.871Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3d/06f3a718864773f69941d4deccdf18e5e47dd298b4628062f004c10f3b34/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0cb7203c7bc69d7c1585ebb33a2e6074492d2fc21ad28a7b9d40457ac2a51ab7", size = 583230, upload-time = "2025-10-22T22:22:44.877Z" }, + { url = "https://files.pythonhosted.org/packages/66/df/62fc783781a121e77fee9a21ead0a926f1b652280a33f5956a5e7833ed30/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a52a5169c664dfb495882adc75c304ae1d50df552fbd68e100fdc719dee4ff9", size = 553268, upload-time = "2025-10-22T22:22:46.441Z" }, + { url = "https://files.pythonhosted.org/packages/84/85/d34366e335140a4837902d3dea89b51f087bd6a63c993ebdff59e93ee61d/rpds_py-0.28.0-cp313-cp313-win32.whl", hash = "sha256:2e42456917b6687215b3e606ab46aa6bca040c77af7df9a08a6dcfe8a4d10ca5", size = 217100, upload-time = "2025-10-22T22:22:48.342Z" }, + { url = "https://files.pythonhosted.org/packages/3c/1c/f25a3f3752ad7601476e3eff395fe075e0f7813fbb9862bd67c82440e880/rpds_py-0.28.0-cp313-cp313-win_amd64.whl", hash = "sha256:e0a0311caedc8069d68fc2bf4c9019b58a2d5ce3cd7cb656c845f1615b577e1e", size = 227759, upload-time = "2025-10-22T22:22:50.219Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d6/5f39b42b99615b5bc2f36ab90423ea404830bdfee1c706820943e9a645eb/rpds_py-0.28.0-cp313-cp313-win_arm64.whl", hash = "sha256:04c1b207ab8b581108801528d59ad80aa83bb170b35b0ddffb29c20e411acdc1", size = 217326, upload-time = "2025-10-22T22:22:51.647Z" }, + { url = "https://files.pythonhosted.org/packages/5c/8b/0c69b72d1cee20a63db534be0df271effe715ef6c744fdf1ff23bb2b0b1c/rpds_py-0.28.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f296ea3054e11fc58ad42e850e8b75c62d9a93a9f981ad04b2e5ae7d2186ff9c", size = 355736, upload-time = "2025-10-22T22:22:53.211Z" }, + { url = "https://files.pythonhosted.org/packages/f7/6d/0c2ee773cfb55c31a8514d2cece856dd299170a49babd50dcffb15ddc749/rpds_py-0.28.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5a7306c19b19005ad98468fcefeb7100b19c79fc23a5f24a12e06d91181193fa", size = 342677, upload-time = "2025-10-22T22:22:54.723Z" }, + { url = "https://files.pythonhosted.org/packages/e2/1c/22513ab25a27ea205144414724743e305e8153e6abe81833b5e678650f5a/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5d9b86aa501fed9862a443c5c3116f6ead8bc9296185f369277c42542bd646b", size = 371847, upload-time = "2025-10-22T22:22:56.295Z" }, + { url = "https://files.pythonhosted.org/packages/60/07/68e6ccdb4b05115ffe61d31afc94adef1833d3a72f76c9632d4d90d67954/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e5bbc701eff140ba0e872691d573b3d5d30059ea26e5785acba9132d10c8c31d", size = 381800, upload-time = "2025-10-22T22:22:57.808Z" }, + { url = "https://files.pythonhosted.org/packages/73/bf/6d6d15df80781d7f9f368e7c1a00caf764436518c4877fb28b029c4624af/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a5690671cd672a45aa8616d7374fdf334a1b9c04a0cac3c854b1136e92374fe", size = 518827, upload-time = "2025-10-22T22:22:59.826Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d3/2decbb2976cc452cbf12a2b0aaac5f1b9dc5dd9d1f7e2509a3ee00421249/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f1d92ecea4fa12f978a367c32a5375a1982834649cdb96539dcdc12e609ab1a", size = 399471, upload-time = "2025-10-22T22:23:01.968Z" }, + { url = "https://files.pythonhosted.org/packages/b1/2c/f30892f9e54bd02e5faca3f6a26d6933c51055e67d54818af90abed9748e/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d252db6b1a78d0a3928b6190156042d54c93660ce4d98290d7b16b5296fb7cc", size = 377578, upload-time = "2025-10-22T22:23:03.52Z" }, + { url = "https://files.pythonhosted.org/packages/f0/5d/3bce97e5534157318f29ac06bf2d279dae2674ec12f7cb9c12739cee64d8/rpds_py-0.28.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d61b355c3275acb825f8777d6c4505f42b5007e357af500939d4a35b19177259", size = 390482, upload-time = "2025-10-22T22:23:05.391Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f0/886bd515ed457b5bd93b166175edb80a0b21a210c10e993392127f1e3931/rpds_py-0.28.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:acbe5e8b1026c0c580d0321c8aae4b0a1e1676861d48d6e8c6586625055b606a", size = 402447, upload-time = "2025-10-22T22:23:06.93Z" }, + { url = "https://files.pythonhosted.org/packages/42/b5/71e8777ac55e6af1f4f1c05b47542a1eaa6c33c1cf0d300dca6a1c6e159a/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8aa23b6f0fc59b85b4c7d89ba2965af274346f738e8d9fc2455763602e62fd5f", size = 552385, upload-time = "2025-10-22T22:23:08.557Z" }, + { url = "https://files.pythonhosted.org/packages/5d/cb/6ca2d70cbda5a8e36605e7788c4aa3bea7c17d71d213465a5a675079b98d/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7b14b0c680286958817c22d76fcbca4800ddacef6f678f3a7c79a1fe7067fe37", size = 575642, upload-time = "2025-10-22T22:23:10.348Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d4/407ad9960ca7856d7b25c96dcbe019270b5ffdd83a561787bc682c797086/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bcf1d210dfee61a6c86551d67ee1031899c0fdbae88b2d44a569995d43797712", size = 544507, upload-time = "2025-10-22T22:23:12.434Z" }, + { url = "https://files.pythonhosted.org/packages/51/31/2f46fe0efcac23fbf5797c6b6b7e1c76f7d60773e525cb65fcbc582ee0f2/rpds_py-0.28.0-cp313-cp313t-win32.whl", hash = "sha256:3aa4dc0fdab4a7029ac63959a3ccf4ed605fee048ba67ce89ca3168da34a1342", size = 205376, upload-time = "2025-10-22T22:23:13.979Z" }, + { url = "https://files.pythonhosted.org/packages/92/e4/15947bda33cbedfc134490a41841ab8870a72a867a03d4969d886f6594a2/rpds_py-0.28.0-cp313-cp313t-win_amd64.whl", hash = "sha256:7b7d9d83c942855e4fdcfa75d4f96f6b9e272d42fffcb72cd4bb2577db2e2907", size = 215907, upload-time = "2025-10-22T22:23:15.5Z" }, + { url = "https://files.pythonhosted.org/packages/08/47/ffe8cd7a6a02833b10623bf765fbb57ce977e9a4318ca0e8cf97e9c3d2b3/rpds_py-0.28.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:dcdcb890b3ada98a03f9f2bb108489cdc7580176cb73b4f2d789e9a1dac1d472", size = 353830, upload-time = "2025-10-22T22:23:17.03Z" }, + { url = "https://files.pythonhosted.org/packages/f9/9f/890f36cbd83a58491d0d91ae0db1702639edb33fb48eeb356f80ecc6b000/rpds_py-0.28.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f274f56a926ba2dc02976ca5b11c32855cbd5925534e57cfe1fda64e04d1add2", size = 341819, upload-time = "2025-10-22T22:23:18.57Z" }, + { url = "https://files.pythonhosted.org/packages/09/e3/921eb109f682aa24fb76207698fbbcf9418738f35a40c21652c29053f23d/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fe0438ac4a29a520ea94c8c7f1754cdd8feb1bc490dfda1bfd990072363d527", size = 373127, upload-time = "2025-10-22T22:23:20.216Z" }, + { url = "https://files.pythonhosted.org/packages/23/13/bce4384d9f8f4989f1a9599c71b7a2d877462e5fd7175e1f69b398f729f4/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8a358a32dd3ae50e933347889b6af9a1bdf207ba5d1a3f34e1a38cd3540e6733", size = 382767, upload-time = "2025-10-22T22:23:21.787Z" }, + { url = "https://files.pythonhosted.org/packages/23/e1/579512b2d89a77c64ccef5a0bc46a6ef7f72ae0cf03d4b26dcd52e57ee0a/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e80848a71c78aa328fefaba9c244d588a342c8e03bda518447b624ea64d1ff56", size = 517585, upload-time = "2025-10-22T22:23:23.699Z" }, + { url = "https://files.pythonhosted.org/packages/62/3c/ca704b8d324a2591b0b0adcfcaadf9c862375b11f2f667ac03c61b4fd0a6/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f586db2e209d54fe177e58e0bc4946bea5fb0102f150b1b2f13de03e1f0976f8", size = 399828, upload-time = "2025-10-22T22:23:25.713Z" }, + { url = "https://files.pythonhosted.org/packages/da/37/e84283b9e897e3adc46b4c88bb3f6ec92a43bd4d2f7ef5b13459963b2e9c/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ae8ee156d6b586e4292491e885d41483136ab994e719a13458055bec14cf370", size = 375509, upload-time = "2025-10-22T22:23:27.32Z" }, + { url = "https://files.pythonhosted.org/packages/1a/c2/a980beab869d86258bf76ec42dec778ba98151f253a952b02fe36d72b29c/rpds_py-0.28.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:a805e9b3973f7e27f7cab63a6b4f61d90f2e5557cff73b6e97cd5b8540276d3d", size = 392014, upload-time = "2025-10-22T22:23:29.332Z" }, + { url = "https://files.pythonhosted.org/packages/da/b5/b1d3c5f9d3fa5aeef74265f9c64de3c34a0d6d5cd3c81c8b17d5c8f10ed4/rpds_py-0.28.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5d3fd16b6dc89c73a4da0b4ac8b12a7ecc75b2864b95c9e5afed8003cb50a728", size = 402410, upload-time = "2025-10-22T22:23:31.14Z" }, + { url = "https://files.pythonhosted.org/packages/74/ae/cab05ff08dfcc052afc73dcb38cbc765ffc86f94e966f3924cd17492293c/rpds_py-0.28.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6796079e5d24fdaba6d49bda28e2c47347e89834678f2bc2c1b4fc1489c0fb01", size = 553593, upload-time = "2025-10-22T22:23:32.834Z" }, + { url = "https://files.pythonhosted.org/packages/70/80/50d5706ea2a9bfc9e9c5f401d91879e7c790c619969369800cde202da214/rpds_py-0.28.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:76500820c2af232435cbe215e3324c75b950a027134e044423f59f5b9a1ba515", size = 576925, upload-time = "2025-10-22T22:23:34.47Z" }, + { url = "https://files.pythonhosted.org/packages/ab/12/85a57d7a5855a3b188d024b099fd09c90db55d32a03626d0ed16352413ff/rpds_py-0.28.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bbdc5640900a7dbf9dd707fe6388972f5bbd883633eb68b76591044cfe346f7e", size = 542444, upload-time = "2025-10-22T22:23:36.093Z" }, + { url = "https://files.pythonhosted.org/packages/6c/65/10643fb50179509150eb94d558e8837c57ca8b9adc04bd07b98e57b48f8c/rpds_py-0.28.0-cp314-cp314-win32.whl", hash = "sha256:adc8aa88486857d2b35d75f0640b949759f79dc105f50aa2c27816b2e0dd749f", size = 207968, upload-time = "2025-10-22T22:23:37.638Z" }, + { url = "https://files.pythonhosted.org/packages/b4/84/0c11fe4d9aaea784ff4652499e365963222481ac647bcd0251c88af646eb/rpds_py-0.28.0-cp314-cp314-win_amd64.whl", hash = "sha256:66e6fa8e075b58946e76a78e69e1a124a21d9a48a5b4766d15ba5b06869d1fa1", size = 218876, upload-time = "2025-10-22T22:23:39.179Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e0/3ab3b86ded7bb18478392dc3e835f7b754cd446f62f3fc96f4fe2aca78f6/rpds_py-0.28.0-cp314-cp314-win_arm64.whl", hash = "sha256:a6fe887c2c5c59413353b7c0caff25d0e566623501ccfff88957fa438a69377d", size = 212506, upload-time = "2025-10-22T22:23:40.755Z" }, + { url = "https://files.pythonhosted.org/packages/51/ec/d5681bb425226c3501eab50fc30e9d275de20c131869322c8a1729c7b61c/rpds_py-0.28.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7a69df082db13c7070f7b8b1f155fa9e687f1d6aefb7b0e3f7231653b79a067b", size = 355433, upload-time = "2025-10-22T22:23:42.259Z" }, + { url = "https://files.pythonhosted.org/packages/be/ec/568c5e689e1cfb1ea8b875cffea3649260955f677fdd7ddc6176902d04cd/rpds_py-0.28.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b1cde22f2c30ebb049a9e74c5374994157b9b70a16147d332f89c99c5960737a", size = 342601, upload-time = "2025-10-22T22:23:44.372Z" }, + { url = "https://files.pythonhosted.org/packages/32/fe/51ada84d1d2a1d9d8f2c902cfddd0133b4a5eb543196ab5161d1c07ed2ad/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5338742f6ba7a51012ea470bd4dc600a8c713c0c72adaa0977a1b1f4327d6592", size = 372039, upload-time = "2025-10-22T22:23:46.025Z" }, + { url = "https://files.pythonhosted.org/packages/07/c1/60144a2f2620abade1a78e0d91b298ac2d9b91bc08864493fa00451ef06e/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e1460ebde1bcf6d496d80b191d854adedcc619f84ff17dc1c6d550f58c9efbba", size = 382407, upload-time = "2025-10-22T22:23:48.098Z" }, + { url = "https://files.pythonhosted.org/packages/45/ed/091a7bbdcf4038a60a461df50bc4c82a7ed6d5d5e27649aab61771c17585/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e3eb248f2feba84c692579257a043a7699e28a77d86c77b032c1d9fbb3f0219c", size = 518172, upload-time = "2025-10-22T22:23:50.16Z" }, + { url = "https://files.pythonhosted.org/packages/54/dd/02cc90c2fd9c2ef8016fd7813bfacd1c3a1325633ec8f244c47b449fc868/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3bbba5def70b16cd1c1d7255666aad3b290fbf8d0fe7f9f91abafb73611a91", size = 399020, upload-time = "2025-10-22T22:23:51.81Z" }, + { url = "https://files.pythonhosted.org/packages/ab/81/5d98cc0329bbb911ccecd0b9e19fbf7f3a5de8094b4cda5e71013b2dd77e/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3114f4db69ac5a1f32e7e4d1cbbe7c8f9cf8217f78e6e002cedf2d54c2a548ed", size = 377451, upload-time = "2025-10-22T22:23:53.711Z" }, + { url = "https://files.pythonhosted.org/packages/b4/07/4d5bcd49e3dfed2d38e2dcb49ab6615f2ceb9f89f5a372c46dbdebb4e028/rpds_py-0.28.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:4b0cb8a906b1a0196b863d460c0222fb8ad0f34041568da5620f9799b83ccf0b", size = 390355, upload-time = "2025-10-22T22:23:55.299Z" }, + { url = "https://files.pythonhosted.org/packages/3f/79/9f14ba9010fee74e4f40bf578735cfcbb91d2e642ffd1abe429bb0b96364/rpds_py-0.28.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf681ac76a60b667106141e11a92a3330890257e6f559ca995fbb5265160b56e", size = 403146, upload-time = "2025-10-22T22:23:56.929Z" }, + { url = "https://files.pythonhosted.org/packages/39/4c/f08283a82ac141331a83a40652830edd3a4a92c34e07e2bbe00baaea2f5f/rpds_py-0.28.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1e8ee6413cfc677ce8898d9cde18cc3a60fc2ba756b0dec5b71eb6eb21c49fa1", size = 552656, upload-time = "2025-10-22T22:23:58.62Z" }, + { url = "https://files.pythonhosted.org/packages/61/47/d922fc0666f0dd8e40c33990d055f4cc6ecff6f502c2d01569dbed830f9b/rpds_py-0.28.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b3072b16904d0b5572a15eb9d31c1954e0d3227a585fc1351aa9878729099d6c", size = 576782, upload-time = "2025-10-22T22:24:00.312Z" }, + { url = "https://files.pythonhosted.org/packages/d3/0c/5bafdd8ccf6aa9d3bfc630cfece457ff5b581af24f46a9f3590f790e3df2/rpds_py-0.28.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b670c30fd87a6aec281c3c9896d3bae4b205fd75d79d06dc87c2503717e46092", size = 544671, upload-time = "2025-10-22T22:24:02.297Z" }, + { url = "https://files.pythonhosted.org/packages/2c/37/dcc5d8397caa924988693519069d0beea077a866128719351a4ad95e82fc/rpds_py-0.28.0-cp314-cp314t-win32.whl", hash = "sha256:8014045a15b4d2b3476f0a287fcc93d4f823472d7d1308d47884ecac9e612be3", size = 205749, upload-time = "2025-10-22T22:24:03.848Z" }, + { url = "https://files.pythonhosted.org/packages/d7/69/64d43b21a10d72b45939a28961216baeb721cc2a430f5f7c3bfa21659a53/rpds_py-0.28.0-cp314-cp314t-win_amd64.whl", hash = "sha256:7a4e59c90d9c27c561eb3160323634a9ff50b04e4f7820600a2beb0ac90db578", size = 216233, upload-time = "2025-10-22T22:24:05.471Z" }, +] + +[[package]] +name = "send2trash" +version = "1.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394, upload-time = "2024-04-07T00:01:09.267Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072, upload-time = "2024-04-07T00:01:07.438Z" }, +] + +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" }, + { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" }, + { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" }, + { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, +] + +[[package]] +name = "webcolors" +version = "25.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/7a/eb316761ec35664ea5174709a68bbd3389de60d4a1ebab8808bfc264ed67/webcolors-25.10.0.tar.gz", hash = "sha256:62abae86504f66d0f6364c2a8520de4a0c47b80c03fc3a5f1815fedbef7c19bf", size = 53491, upload-time = "2025-10-31T07:51:03.977Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/cc/e097523dd85c9cf5d354f78310927f1656c422bd7b2613b2db3e3f9a0f2c/webcolors-25.10.0-py3-none-any.whl", hash = "sha256:032c727334856fc0b968f63daa252a1ac93d33db2f5267756623c210e57a4f1d", size = 14905, upload-time = "2025-10-31T07:51:01.778Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "websocket-client" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/41/aa4bf9664e4cda14c3b39865b12251e8e7d239f4cd0e3cc1b6c2ccde25c1/websocket_client-1.9.0.tar.gz", hash = "sha256:9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98", size = 70576, upload-time = "2025-10-07T21:16:36.495Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/db/b10e48aa8fff7407e67470363eac595018441cf32d5e1001567a7aeba5d2/websocket_client-1.9.0-py3-none-any.whl", hash = "sha256:af248a825037ef591efbf6ed20cc5faa03d3b47b9e5a2230a529eeee1c1fc3ef", size = 82616, upload-time = "2025-10-07T21:16:34.951Z" }, +] diff --git a/中小公司面经.md b/中小公司面经.md new file mode 100644 index 0000000..4e68a27 --- /dev/null +++ b/中小公司面经.md @@ -0,0 +1,95 @@ +Java Moka(北京希瑞亚斯科技有限公司) 一面 +--- +Java 明略科技 base 武汉实习一面(50分钟) +--- +Java 好慷在家-二本校招生一面-全程压力拉满 +--- +Java 小小厂社招面经分享(小厂也拉满) +--- +Java 杭州某科技 实习三面 cto 面 (20分钟) +--- +Java 某中小厂八股文拷打(实习) +--- +Java 社招小公司面经分享 +--- +Java 万得软件开发(实习)一面 35min + +--- +Java 途虎养车(校招)一面面经 +--- +Java 杭州丁香园实习一面(28分钟) +--- +Java 杭州每刻科技有限公司(实习一面) +--- +Java 不知名公司一面 +--- +Java 面好未来 Go 秋招实习转正岗(加上算法45分钟) +--- +Java 用友 Bip 研发中心(校招)三面(全程共享屏幕) +--- +Java 小厂的面试凉经(很基础,但是我没准备!) +--- +Java 途虎(社招)一面 +--- +Java 袋鼠云一面(视频面试) +--- +Java 袋鼠云二面 +--- +Java 杭州线上面试 +--- +Java 虾皮(shopee)二面 +--- +Java 瑞幸咖啡一面 +--- +Java 比亚迪新技术研究院迪图部门一面 +--- +C++ 虾皮后端开发一面(北京 ) +--- +Java 番茄小说后端一面 +--- +Java 陌陌秋招面经(一面) +--- +小红书日常实习一面(后端) +--- +Java 虾皮一面(1小时) +--- +Java 小厂后端实习一面 +--- +Java 小厂后端实习一面(60 min) +--- +Java 某小厂后端校招一面 +--- +Java 某小厂后端社招一面面经 +--- +Java 朗新科技后端社招一面(40 min) +--- +Java 虾皮后端开发实习一面 +--- +Java 多益网络后端校招秋招一面 +--- +Java 某中厂后端实习一面(40 min) +--- +Java 某小厂后端开发校招一面 +--- +Java 西安某小厂后端实习一面 +--- +Java 广州某小厂后端校招一面 +--- +Java 元启软件后端开发社招一面(20 min) +--- +Java 某小厂后端开发工程师商业产品技术职位社招一面 +--- +Java 某某小厂后端社招面经 +--- +Java 某某小厂后端实习面经 +--- +Java 某某小厂后端社招一面(40 min) +--- +Java 某某小厂后端社招面经 +--- +Java 西安某某小厂后端社招一面(40 min) +--- +Java 广东某某小厂后端社招面经(45 min) +--- +Java 某某小厂后端校招面经(30 min) +--- diff --git a/二分法面试题.md b/二分法面试题.md new file mode 100644 index 0000000..c3e0bf6 --- /dev/null +++ b/二分法面试题.md @@ -0,0 +1,16 @@ +查找元素 +--- +查找元素的第一个和最后一个位置 +--- +寻找峰值 +--- +搜索插入位置 +--- +查找缺失的元素 +--- +查找平方根 +--- +查找旋转排序数组的最小值 +--- +查找旋转排序数组的缺失元素 +--- diff --git a/云服务面试题.md b/云服务面试题.md new file mode 100644 index 0000000..aa79e7e --- /dev/null +++ b/云服务面试题.md @@ -0,0 +1,60 @@ +AWS 的 CloudFormation 与 Terraform 有何异同? +--- +请比较 AWS、Azure 和 GCP 的主要区别和优势。 +--- +如何在 AWS 中使用 IAM 管理用户和权限? +--- +Azure 的资源管理器(Resource Manager)有什么作用? +--- +GCP 的 App Engine 与 Kubernetes Engine 有什么不同? +--- +如何在 AWS 中实现自动化部署(Auto Deployment)? +--- +Azure 的虚拟网络(Virtual Network)有哪些配置方式? +--- +请解释 GCP 的 IAM 策略及其使用场景。 +--- +Azure 中的应用服务(App Services)有哪些特点? +--- +GCP 的 Cloud Functions 如何实现无服务器计算(Serverless Computing)? +--- +如何在 AWS 中使用 S3 存储和管理数据? +--- +Azure 的监控服务(Azure Monitor)有什么功能? +--- +GCP 的 BigQuery 在数据分析中有哪些优势? +--- +AWS 中的 Lambda 函数的应用场景有哪些? +--- +如何使用 Azure 的 DevOps 工具进行 CI/CD 管理? +--- +AWS 的 EC2 实例类型有哪些?如何选择合适的实例类型? +--- +Azure 的存储账户(Storage Account)有哪些类型? +--- +GCP 的 Cloud Storage 如何配置存储桶(Bucket)? +--- +AWS 的 RDS 支持哪些数据库引擎? +--- +Azure 的虚拟机(Virtual Machine)如何配置和管理? +--- +GCP 的 Compute Engine 如何创建和管理实例? +--- +AWS 的 S3 如何配置生命周期策略(Lifecycle Policy)? +--- +Azure 的 Cosmos DB 有哪些主要特点? +--- +GCP 的 Pub/Sub 服务如何实现消息发布和订阅? +--- +AWS 的 CloudWatch 如何实现监控和告警? +--- +Azure 的 Kubernetes 服务(AKS)如何配置和使用? +--- +GCP 的 Bigtable 在处理大数据时有哪些优势? +--- +AWS 的 VPC 如何配置子网和路由表? +--- +Azure 的 Blob 存储如何实现静态网站托管? +--- +GCP 的 Dataflow 如何实现数据流处理? +--- diff --git a/京东 Java 面经.md b/京东 Java 面经.md new file mode 100644 index 0000000..7ffa217 --- /dev/null +++ b/京东 Java 面经.md @@ -0,0 +1,66 @@ +Java 京东零售二面(技术一面) 高强度深底层拷打 +--- +Java京东零售实习(平台产品与研发中心)一面 85min +--- +Java 京东零售实习面经(平台营销中心) 44min +--- +Java京东后端一面(1h) +--- +Java 京东后端一面(60 分钟) +--- +Java 京东社招一面 +--- +Java 京东young实习一面(20 分钟) +--- +Java 京东科技一面(55 分钟) +--- +Java 京东校招一面( 30 分) +--- +Java 京东(实习)一面 +--- +Java 京东(日常实习)一面 +--- +Java 京东零售后端实习面经 +--- +Java京东实习一面面经(1h) +--- +Java 京东 young 实习(30 分钟) +--- +Java 京东一面(校招 45 分钟) +--- +Java 京东健康一面(电话面 40 分钟) +--- +Java 京东基础架构部一面(一小时) +--- +Java 京东后端实习一面 +--- +Java 京东零售后端一面 +--- +Java 京东零售二面面经 +--- +Java 京东社招一面(1h) +--- +Java 京东零售 Base 上海(平台产品与研发中心) 一面 +--- +京东一面 +--- +Java京东商城一面(2年经验) +--- +Java 京东一面(校招) +--- +Java 京东零售实习一面 +--- +Java 京东二面(校招) +--- +Java 京东零售(秋招)技术面 +--- +Java 京东YOUNG实习一面 +--- +Java 京东日常实习面经 +--- +Java 京东零售一面(45min) +--- +Java 京东零售一面凉(40min) +--- +京东校招一面(30分钟当场通过) +--- diff --git a/代码生成器平台项目面试题.md b/代码生成器平台项目面试题.md new file mode 100644 index 0000000..5dc6622 --- /dev/null +++ b/代码生成器平台项目面试题.md @@ -0,0 +1,112 @@ +请介绍整个系统后端的架构设计,有哪些模块?各模块的作用?各模块之间的关系? +--- +你在项目中是如何设计库表的?可以从字段设计方面回答。 +--- +请介绍一下使用 Redis 分布式 Session 实现用户登录的原理? +--- +什么是生成代码时的 “动静分离” 策略? +--- +什么是 FreeMarker?它在你项目中的作用是什么? +--- +什么是 Picocli?它的作用是什么?为什么选用这个技术? +--- +什么是命令模式?它有什么优点?你在项目中又是如何实现了命令模式? +--- +什么是元信息?设计元信息有什么好处?介绍一下代码生成器的元信息设计。 +--- +什么是双检锁单例模式?它的作用是什么?和其他单例模式有什么区别? +--- +什么是 Java 的 Process 类?怎么使用它生成 Jar 包? +--- +什么是可移植性?你是怎么在制作工具中实现了可移植性? +--- +你是怎么优化元信息校验类的圈复杂度的?用了哪些方法? +--- +什么是模板方法模式?你是如何运用它优化项目的? +--- +模板制作工具中,你是怎么实现每次制作互不影响的? +--- +什么是雪花算法?它有哪些应用场景? +--- +你是如何设计文件过滤机制的?提供了哪些过滤规则? +--- +什么是有状态和无状态? +--- +你用过 Stream API 的哪些数据处理操作(或方法)? +--- +你是如何基于 COS 对象存储封装通用操作类的?如何读取配置并自动生成操作类实例? +--- +你是如何优化生成器下载功能的? +--- +介绍一下使用 JMeter 进行压力测试的过程,有哪些注意事项? +--- +如何实现多级缓存?多级缓存有哪些优点? +--- +缓存操作采用 JDK 默认序列化器代替 JSON 序列化,有哪些优缺点? +--- +什么是请求层性能优化?Tomcat 有哪些和性能有关的配置? +--- +什么是 Vert.x?为什么想到用它来替代 Tomcat? +--- +什么是同步和异步?什么是阻塞和非阻塞? +--- +什么是 NIO? +--- +什么是事件循环? +--- +什么是反应式编程? +--- +如何设计文件清理机制? +--- +什么是 XXL-JOB?为什么需要它?介绍一下它的核心架构? +--- +什么是数据沉降?还有哪些存储成本优化的方法? +--- +如何保证存储安全?什么是最小权限原则? +--- +为什么项目上线后会出现页面刷新 404 的问题?你又是如何解决的? +--- +前端如何实现文件下载? +--- +创建生成器页面看起来很复杂,你是怎么实现分步表单和嵌套表单的? +--- +你是怎么封装通用文件上传组件的?请简述整个流程。 +--- +你提到自己封装了很多组件,有哪些封装组件的技巧? +--- +你是如何实现主页搜索功能的?请简述整个流程。 +--- +什么是 Ant Design Procomponents?它和 Ant Design 有什么区别? +--- +请介绍你在项目中使用的 React 框架的优势和适用场景? +--- +项目中为什么选择了 Ant Design Pro 脚手架?可以谈谈你对 Ant Design Pro 的使用体会和优缺点。 +--- +你是如何根据业务定制前端项目模板的?这个模板具体有哪些功能? +--- +你是如何保证项目编码规范的?用到了哪些技术?每个技术分别有什么作用? +--- +什么是 Husky?它有什么作用? +--- +什么是 Umi OpenAPI 插件?它有什么作用?你是如何使用它来生成代码的,请介绍整个流程。 +--- +请解释什么是 React 组件的生命周期,以及生命周期函数的执行顺序是怎样的? +--- +在 React 中,什么是 Virtual DOM?它的作用是什么?与真实 DOM 相比,Virtual DOM 有什么优势? +--- +在前端开发中,如何处理跨域请求?请描述常见的跨域解决方案以及它们的优缺点。 +--- +请解释一下 React Hooks,并举例说明如何使用 useState 和 useEffect 这两个常用的 Hooks。 +--- +在前端开发中,如何优化网页的加载性能和渲染性能?请提供一些常见的优化策略和技巧? +--- +请介绍一下本项目的完整业务流程? +--- +你是怎么一步步完成这个项目的? +--- +什么是低代码?它有什么优点? +--- +你的项目和其他的代码生成器(比如若依)有什么区别? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- diff --git a/伙伴匹配项目面试题.md b/伙伴匹配项目面试题.md new file mode 100644 index 0000000..52f1056 --- /dev/null +++ b/伙伴匹配项目面试题.md @@ -0,0 +1,58 @@ +在项目中如何利用 Redis 实现分布式 Session?Redis 的主要优势是什么? +--- +在 Redis 中,使用 Hash 代替 String 存储用户信息的好处是什么?Hash 与 String 存储方式有何区别? +--- +请解释一下 Java 8 Stream API 和 Lambda 表达式的作用,以及在项目中如何应用它们来简化集合处理? +--- +你提到使用 Easy Excel 进行批量导入数据库,能否介绍一下 Easy Excel 的使用方法和优势? +--- +你是如何自定义线程池的?如何合理设置线程池的参数? + +--- +你是如何测试批量导入数据库的性能的?用了哪些工具或方法? +--- +为什么在 Redis 中需要自定义序列化器?如何实现自定义序列化器? +--- +在项目中如何实现 Redis 缓存?你选择了哪种 Redis 数据结构? +--- +使用 Redis 缓存时可能出现的常见问题有哪些?你是如何解决这些问题的? +--- +在解决首页加载过慢的问题中,你使用了 Spring Scheduler 定时任务和分布式锁,请解释一下定时任务的执行原理和此处分布式锁的作用。 +--- +Redisson 分布式锁在 Redis 中如何解决接口幂等性?其使用场景和实现原理是什么? +--- +编辑距离算法是什么,它在你实现的用户匹配功能中起到了什么作用?请解释一下编辑距离算法的实现原理。 +--- +你提到使用优先队列来减少 TOP N 运算过程中的内存占用,能否解释一下优先队列的特点和在项目中的具体应用? +--- +在项目中,你自主编写了 Dockerfile 来实现自动化镜像构建及容器部署,请介绍一下用 Docker 的优势? + +--- +你在项目中使用 Knife4j 和 Swagger 自动生成后端接口文档,请解释一下 Swagger 的作用,以及在项目中使用 Swagger 的好处。 +--- +项目前端使用了 Vant UI 组件库,请列举几个你用到的 Vant UI 组件并介绍它们的用途? +--- +如何基于 Vue Router 实现动态切换导航栏标题?请详细描述一下实现的过程。 +--- +什么是前端异步编程?请介绍一下 Promise、async/await 在 JavaScript 中的作用及用法。 +--- +请介绍一下 Vue 3 的新特性和与 Vue 2 相比有哪些变化? +--- +移动端网站和响应式网站有什么区别?你在项目中是如何处理移动端适配的? +--- +Vue.js 中的组件通信方式有哪些? + +--- +在你的项目中,为什么选择了全局通用的 Layout 组件而不是局部组件? +--- +你是如何初始化项目的?是否有使用脚手架? +--- +你在前端项目中有做过性能优化吗?请分享一些常见的性能优化措施和实践经验。 + +--- +你在项目中使用了 Vue Router 全局路由守卫,请解释一下路由守卫的概念和用法,并介绍一下它在你项目中的实际应用场景? +--- +请介绍一下本项目的完整业务流程? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- diff --git a/位运算面试题.md b/位运算面试题.md new file mode 100644 index 0000000..a14d3b5 --- /dev/null +++ b/位运算面试题.md @@ -0,0 +1,30 @@ +判断是奇数还是偶数 +--- +高效交换两个数 +--- +2 的幂 +--- +最小的 2 的幂 +--- +整数中 1 的个数 +--- +最大连续 1 的个数 +--- +单一元素 +--- +缺失的数字 +--- +只出现一次的数字 +--- +只出现一次的数字 +--- +翻转二进制位 +--- +汉明距离 +--- +整数的二进制表示的总数 +--- +找到最大异或值 +--- +求不重复的元素的异或和 +--- diff --git a/前端 CSS 面试题.md b/前端 CSS 面试题.md new file mode 100644 index 0000000..8b4684a --- /dev/null +++ b/前端 CSS 面试题.md @@ -0,0 +1,130 @@ +有哪些 CSS 选择器?请分别介绍 +--- +如何计算 CSS 的优先级? +--- +CSS 中可继承与不可继承属性有哪些? +--- +CSS 中 display 属性的值及其作用 +--- +利用 CSS 隐藏元素的方法有哪些? +--- +使用 link 和 @import 引用 CSS 的区别 +--- +CSS 中 transition 和 animation 的区别 +--- +display:none 与 visibility:hidden 的区别 +--- +说说你对盒模型的理解 +--- +为什么有时候用 translate 来改变位置而不是定位? +--- +为什么 li 与 li 元素之间有看不见的空白间隔?如何解决? +--- +CSS3 中有哪些新特性? +--- +什么是替换元素?说说其概念及计算规则 +--- +说说你对 CSS Sprites 的理解 +--- +什么是物理像素,逻辑像素和像素密度?为什么在移动端开发时需要用到 @3x, @2x 这种图片? +--- +说说 margin 和 padding 的使用场景 +--- +说说你对 line-height 的理解及其赋值方式 +--- +CSS 优化和提高性能的方法有哪些? +--- +CSS 预处理器 / 后处理器是什么?为什么要使用它们? +--- +::before 和 :after 的双冒号和单冒号有什么区别? +--- +display:inline-block 什么时候会显示间隙? +--- +CSS 怎么实现单行、多行文本溢出隐藏? +--- +Sass、Less 是什么?为什么要使用它们? +--- +说说你对媒体查询的理解? +--- +说说你对 CSS 工程化的理解 +--- +z-index 属性在什么情况下会失效? +--- +CSS3 中的 transform 有哪些属性? +--- +常见的 CSS 布局单位有哪些? +--- +说说 px、em、rem 的区别及使用场景 +--- +怎么实现网页两栏布局? +--- +怎么实现网页三栏布局? +--- +怎么实现元素的水平垂直居中? +--- +如何根据设计稿进行移动端适配? +--- +说说你对 Flex 布局的理解及其使用场景 +--- +说说响应式设计的概念及基本原理 +--- +为什么需要清除浮动?清除浮动的方式有哪些? +--- +使用 clear 属性清除浮动的原理? +--- +说说你对 BFC 的理解,如何创建 BFC? +--- +什么是 margin 重叠问题?如何解决? +--- +说说网页元素的层叠顺序 +--- +CSS 的 position 有哪些属性值,区别是什么? +--- +CSS 中 display、float、position 的关系是什么? +--- +说说 CSS 中 position: absolute 与 fixed 的共同点和区别 +--- +说说你对 sticky 定位的理解 +--- +如何用 CSS 实现一个三角形? +--- +如何用 CSS 实现一个扇形? +--- +如何用 CSS 实现一个宽高自适应的正方形? +--- +如何在网页中画一条 0.5px 的线? +--- +如何给网页设置小于 12px 的字体? +--- +什么是 1px 问题?如何解决 1px 问题? +--- +CSS 中是否存在父选择器?其背后的原因是什么? +--- +有哪些默认 display: block 元素和 display: inline 元素?你还知道哪些 display 取值? +--- +line-height: 100% 和 line-height: 1 有什么区别? +--- +如果在伪元素中不写 content 会发生什么? +--- +flex-shrink 和 flex-grow 的默认值是多少?作用是什么? +--- +如何消除 inline-block 元素之间的间隙? +--- +请解读 font-family: system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto, Helvetica,Arial, sans-serif 这个字体设置 +--- +CSS 如何快速选取同组兄弟元素的偶数序号元素? +--- +如何检测 CSS 动画的 FPS 值? +--- +预处理器如 scss 和 less,与 CSS 有什么区别? +--- +CSS 的 flex 布局有什么好处? +--- +CSS 中 flex: 1 是什么意思? +--- +如何在浏览器可视区域画一个最大的正方形? +--- +CSS display 属性值 block、inline 和 inline-block 的区别 +--- +CSS 伪元素和伪类的作用和区别? +--- diff --git a/前端 ES6 面试题.md b/前端 ES6 面试题.md new file mode 100644 index 0000000..7ac3ec6 --- /dev/null +++ b/前端 ES6 面试题.md @@ -0,0 +1,28 @@ +ES6 箭头函数和普通函数有什么区别? +--- +️ES6 箭头函数能当构造函数吗? +--- +️ES6 有哪些新特性? +--- +️ES6 新增的 Symbol 基础数据类型有什么作用? +--- +ES Module 与 CommonJS 模块方案有什么异同? +--- +️如果 new 一个箭头函数会怎么样? +--- +️ES6 箭头函数的 **this **指向哪⾥? +--- +️说说 ES6 扩展运算符的作用及使用场景? +--- +ES6 的 Proxy 可以实现什么功能? +--- +什么是 ES6 的数组解构和对象解构? +--- +ES6 中,如何提取深度嵌套的对象中的指定属性? +--- +说说你对 ES6 中 rest 参数的理解? +--- +什么是 ES6 新增的模板语法? +--- +ES6 新增了哪些字符串处理函数? +--- diff --git a/前端 HTML 面试题.md b/前端 HTML 面试题.md new file mode 100644 index 0000000..96056f3 --- /dev/null +++ b/前端 HTML 面试题.md @@ -0,0 +1,36 @@ +HTML 的 src 和 href 属性有什么区别? +--- +什么是 HTML 语义化? +--- +DOCTYPE(文档类型)的作用是什么? +--- +HTML 的 script 标签中 defer 和 async 有什么区别? +--- +常用的 HTML meta 标签有哪些? +--- +HTML5 相比于 HTML 有哪些更新? +--- +HTML 中,img 标签 srcset 属性的作用是什么? +--- +HTML 行内元素有哪些?块级元素有哪些?空(void)元素有哪些? +--- +HTML5 的离线储存怎么使用?它的工作原理是什么? +--- +浏览器是如何对 HTML5 的离线储存资源进行管理和加载的? +--- +HTML 中,title 与 h1 标签的区别是什么? +--- +HTML 中,b 与 strong 标签的区别是什么? +--- +HTML 中,i 与 em 标签的区别是什么? +--- +iframe 有哪些优点和缺点? +--- +HTML 中,label 标签的作用是什么?如何使用? +--- +Canvas 和 SVG 有什么区别? +--- +HTML 的 head 标签有什么作用?其中哪些标签必不可少? +--- +HTML4 与 HTML5 有什么区别 +--- diff --git a/前端 JavaScript 基础面试题.md b/前端 JavaScript 基础面试题.md new file mode 100644 index 0000000..403140e --- /dev/null +++ b/前端 JavaScript 基础面试题.md @@ -0,0 +1,104 @@ +JavaScript 有哪些数据类型?它们的区别是什么? +--- +如何判断 JavaScript 变量是数组? +--- +JavaScript 中 null 和 undefined 的区别是什么? +--- +typeof null 的结果是什么?为什么? +--- +typeof 和 instanceof 有什么区别? +--- +为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等? +--- +如何获取安全的 undefined 值? +--- +typeof NaN 的结果是什么? +--- +isNaN 和 Number.isNaN 函数有什么区别? +--- +== 操作符的强制类型转换规则是什么? +--- +JavaScript 其他值到字符串的转换规则是什么? +--- +JavaScript 其他值到数字值的转换规则是什么? +--- +JavaScript 其他值到布尔值的转换规则是什么? +--- +JavaScript 中 || 和 && 操作符的返回值是什么? +--- +Object.is() 与比较操作符 == 和 === 的区别是什么? +--- +什么是 JavaScript 中的包装类型? +--- +JavaScript 中如何进行隐式类型转换? +--- +JavaScript 中 + 操作符什么时候用于字符串的拼接? +--- +JavaScript 中为什么会有 BigInt 的提案? +--- +Object.assign 和对象扩展运算符有什么区别?是深拷贝还是浅拷贝? +--- +JavaScript 中 Map 和 Object 的区别是什么? +--- +JavaScript 中判断数据类型的方式有哪些? +--- +JavaScript 有哪些内置对象? +--- +JavaScript 中常用的正则表达式有哪些? +--- +说说你对 JSON 的理解? +--- +JavaScript 脚本延迟加载的方式有哪些? +--- +JavaScript 脚本异步加载如何实现?各有什么区别? +--- +什么是 JavaScript 的类数组对象?如何转化为数组? +--- +JavaScript 的数组有哪些原生方法? +--- +为什么 JavaScript 函数的 arguments 参数是类数组而不是数组?如何遍历类数组? +--- +什么是 DOM 和 BOM? +--- +escape、encodeURI、encodeURIComponent 的区别是什么? +--- +什么是 AJAX?如何实现一个 AJAX 请求? +--- +常见的 DOM 操作有哪些? +--- +use strict 是什么意思?使用它有什么区别? +--- +JavaScript 如何判断一个对象是否属于某个类? +--- +ajax、axios、fetch 的区别是什么? +--- +JavaScript 数组的遍历方法有哪些? +--- +JavaScript 的 forEach 和 map 方法有什么区别? +--- +mouseover 和 mouseenter 事件的区别是什么? +--- +JavaScript 的 == 和 === 有什么区别? +--- +JavaScript 中 substring 和 substr 函数的区别是什么? +--- +JavaScript 数组的 map 和 forEach 函数中能否通过 break 等语法结束循环? +--- +JavaScript 中如何合并对象? +--- +JavaScript 如何判断一个对象是不是空对象? +--- +JavaScript 的 splice 和 slice 函数会改变原数组吗? +--- +JavaScript 中怎么删除数组最后一个元素? +--- +如何判断网页元素是否到达可视区域? +--- +JavaScript 操作数组元素的方法有哪些? +--- +JavaScript 中 for...in 和 for...of 的区别是什么? +--- +JavaScript 如何使用 for...of 遍历对象? +--- +const 对象的属性可以修改吗? +--- diff --git a/前端 JavaScript 进阶面试题.md b/前端 JavaScript 进阶面试题.md new file mode 100644 index 0000000..078b21c --- /dev/null +++ b/前端 JavaScript 进阶面试题.md @@ -0,0 +1,100 @@ +说说你对 fetch 的理解,它有哪些优点和不足? +--- +JavaScript 中 Object.keys 的返回值是无序的吗? +--- +JavaScript 的 BigInt 和 Number 类型有什么区别? +--- +什么是 JavaScript 的尾调用?使用尾调用有什么好处? +--- +JavaScript 为什么要进行变量提升?它导致了什么问题? +--- +使用 let 全局声明变量,能通过 window 对象取到吗? +--- +let、const 和 var 的区别是什么? +--- +说说你对 JS 作用域的理解? +--- +什么是 JavaScript 的临时性死区? +--- +JavaScript 事件冒泡和捕获的区别是什么?默认是冒泡还是捕获? +--- +什么是 JavaScript 的事件代理? +--- +什么是 JavaScript 的事件流? +--- +什么是 JavaScript 的事件轮询机制? +--- +什么是 JavaScript 的原型链? +--- +什么是 JavaScript 的原型修改、原型重写? +--- +JavaScript 的原型链指向什么? +--- +JavaScript 原型链的终点是什么?如何打印出原型链的终点? +--- +JavaScript 如何获得对象非原型链上的属性? +--- +什么是 JavaScript 的闭包?有什么作用和使用场景? +--- +说说 JavaScript 闭包的实现原理? +--- +说说你对 JavaScript 作用域、作用域链的理解? +--- +什么是 JavaScript 的执行上下文? +--- +说说你对 JavaScript 中 this 的理解?指向什么? +--- +JavaScript 中 call、apply 及 bind 函数有什么区别? +--- +如何实现 call、apply 及 bind 函数? +--- +JavaScript 中连续多次调用 bind 函数,最终 this 指向什么? +--- +promise.all 和 promise.allsettled 函数有什么区别? +--- +说说你对 Promise 的理解? +--- +JavaScript 中异步编程的实现方式有哪些? +--- +setTimeout、Promise、Async/Await 有什么区别? +--- +Promise 有哪些基本用法? +--- +Promise 解决了什么问题? +--- +Promise.all 和 Promise.race 分别有哪些使用场景?有什么区别? +--- +说说你对 async/await 的理解? +--- +async/await 是否会阻塞代码的执行? +--- +await 到底在等待什么? +--- +async/await 对比 Promise 的优势是什么? +--- +async/await 如何捕获异常? +--- +什么是回调函数?回调函数有什么缺点? +--- +JavaScript 中如何解决回调地狱问题? +--- +setTimeout、setInterval、requestAnimationFrame 各有什么特点? +--- +JavaScript 中 WeakMap 和 Map 的区别 +--- +JavaScript 中对象创建的方式有哪些? +--- +JavaScript 中对象继承的方式有哪些? +--- +JavaScript 中的 Proxy 与 Reflect 分别是什么?两者有什么关系? +--- +JavaScript 中如何实现寄生组合继承? +--- +说说 JavaScript 中 instanceof 的原理? +--- +说说 JavaScript 中 new 的原理? +--- +JavaScript 如何实现对象的深浅拷贝? +--- +JavaScript 数组 sort 函数的实现原理是什么? +--- diff --git a/前端 TypeScript 面试题.md b/前端 TypeScript 面试题.md new file mode 100644 index 0000000..e7b45e8 --- /dev/null +++ b/前端 TypeScript 面试题.md @@ -0,0 +1,86 @@ +️ TypeScript 有哪些常用类型? +--- +️ 什么是 TypeScript 的对象类型?怎么定义对象类型? +--- +什么是 TypeScript 的类型别名?怎么定义类型别名? +--- +什么是 TypeScript 的接口?怎么定义接口? +--- +TypeScript 的类型别名和接口有什么区别? +--- +TypeScript 中如何定义和导入模块? +--- +TypeScript 的类有哪些成员可见性? +--- +TypeScript 的关键字 static 有什么作用? +--- +TypeScript 类的 readonly 修饰符有什么作用? +--- +什么是 TypeScript 的 void 类型? +--- +什么是 TypeScript 的 object 类型? +--- +什么是 TypeScript 的 never 类型? +--- +什么是 TypeScript 的 Function 类型? +--- +什么是 TypeScript 的 any 类型? +--- +什么是 TypeScript 的 unknown 类型?和 any 类型有什么区别? +--- +TypeScript 的关键字 extends 有什么作用? +--- +TypeScript 的关键字 infer 有什么作用? +--- +什么是 TypeScript 的泛型? +--- +什么是 TypeScript 的索引访问类型? +--- +什么是 TypeScript 的条件类型? +--- +什么是 TypeScript 的映射类型? +--- +什么是 TypeScript 的模板字面量类型? +--- +TypeScript 的类型操作符 keyof 有什么作用? +--- +TypeScript 的类型操作符 typeof 有什么作用? +--- +TypeScript 的内置工具类型 Awaited 有什么作用? +--- +TypeScript 的内置工具类型 Partial 有什么作用? +--- +TypeScript 的内置工具类型 Required 有什么作用? +--- +TypeScript 的内置工具类型 Readonly 有什么作用? +--- +TypeScript 的内置工具类型 Pick 有什么作用? +--- +TypeScript 的内置工具类型 Record 有什么作用? +--- +TypeScript 的内置工具类型 Exclude 有什么作用? +--- +TypeScript 的内置工具类型 Extract 有什么作用? +--- +TypeScript 的内置工具类型 Omit 有什么作用? +--- +TypeScript 的内置工具类型 NonNullable 有什么作用? +--- +TypeScript 的内置工具类型 Parameters 有什么作用? +--- +TypeScript 的内置工具类型 ConstructorParameters 有什么作用? +--- +TypeScript 的内置工具类型 ReturnType 有什么作用? +--- +TypeScript 的内置工具类型 InstanceType 有什么作用? +--- +TypeScript 的内置工具类型 NoInfer 有什么作用? +--- +TypeScript 的内置工具类型 ThisParameterType 有什么作用? +--- +TypeScript 的内置工具类型 OmitThisParameter 有什么作用? +--- +TypeScript 的内置工具类型 ThisType 有什么作用? +--- +为什么要使用 TypeScript?TypeScript 有哪些常用特性? +--- diff --git a/前端代码分析面试题.md b/前端代码分析面试题.md new file mode 100644 index 0000000..29c2521 --- /dev/null +++ b/前端代码分析面试题.md @@ -0,0 +1,124 @@ +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +️以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +️以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- +以下 JavaScript 代码的输出结果是什么?请解释原因 +--- diff --git a/前端场景面试题.md b/前端场景面试题.md new file mode 100644 index 0000000..956b364 --- /dev/null +++ b/前端场景面试题.md @@ -0,0 +1,120 @@ +如何在浏览器中执行 100 万个任务,并保证页面不卡顿? +--- +如何在页面内一次性渲染 10 万条数据,并保证页面不卡顿? +--- +前端如何处理后端接口一次性返回的超大树形结构数据? +--- +如何禁止别人调试前端页面代码? +--- +如何对前端应用中静态资源加载失败的场景进行降级处理? +--- +前端页面白屏的原因可能是什么,如何排查? +--- +如何在前端实现网页截图功能?可以将某部分或整个页面的内容保存为图片 +--- +如何使用节流或防抖技术优化频繁触发请求的搜索输入框? +--- +如何调试和解决跨浏览器兼容性问题? +--- +如何设计一个前端页面,实现 PC 端访问展示 Web 应用,移动端访问展示 H5 应用? +--- +如何实现网站一键切换主题的功能? +--- +前端如何处理超过 JS 的 Number 最大值的数字? +--- +如何定位到前端页面发生错误的元素? +--- +在网页中有大量图片时,如何优化图像加载以提高页面加载速度? +--- +如何实现前端页面第一次加载不触发请求,但后续每次进入页面都触发? +--- +如何通过 CSS 实现美观的自定义复选框和单选按钮? +--- +前端如何判断一个点是否在 Canvas 的图形内? +--- +如何对每个 JavaScript 函数的执行实现拦截? +--- +如何通过 CSS 实现外观精美的、滚动效果流畅的滚动条? +--- +如何在前端防止表单重复提交,并确保用户只能提交一次? +--- +如何通过 CSS 实现可展开折叠、并且带有过渡效果的侧边栏菜单? +--- +如何使用 JavaScript 实现一个轻量级本地存储方案,用于保存和读取用户偏好设置? +--- +如何在前端实现一个无限滚动加载的页面,自动加载更多内容? +--- +如何使用 JavaScript 实现一个拖拽排序列表,并保持排序后的顺序? +--- +如何通过 CSS 实现圆形头像裁剪,并保证图片居中显示? +--- +如何为前端按钮设计一个 hover 动画,使其在鼠标悬停时轻微放大并改变颜色? +--- +如何使用 CSS 实现多行文本溢出显示省略号的效果? +--- +如何使用 JavaScript 实现一个支持设置时间的倒计时器,并在倒计时结束时触发事件? +--- +如何利用 CSS 实现一个自适应的渐变背景效果? +--- +如何通过 CSS 实现 Tooltip 文字提示效果,当鼠标移到元素上时显示详细信息? +--- +如何在前端实现页面向下滚动时固定的顶部导航栏? +--- +如何使用 Flexbox 或 Grid 实现三栏布局,其中左右栏宽度固定,中间栏自适应? +--- +使用 Vue 开发一个任务列表应用,你会怎么设计实现? +--- +在 Vue 开发过程中需要同时与多个后端人员联调接口时,你会怎么做? +--- +Vue 首页白屏可能是什么问题引起的?如何解决? +--- +如何设计实现一款 Vue 的组件库? +--- +Vue CLI 的实现原理是什么?如何自主实现一个类似 Vue CLI 的工具? +--- +如何自主设计实现一个 Vue 路由系统? +--- +如何使用 Vue 手写一个过滤器? +--- +你会如何从零构建一个 Vue 项目?要经历哪些步骤?目录结构如何设计?使用哪些库或插件? +--- +如何在 Vue 中实现权限管理?如何控制权限到按钮级别? +--- +如果要实现一个 Vue3 的弹窗组件,你会如何设计? +--- +使⽤同⼀个链接, 如何实现 PC 打开是 web 应⽤、⼿机打 开是⼀个 H5 应⽤? +--- +如何解决⻚⾯请求接⼝⼤规模并发问题 +--- +在前端应⽤如何进⾏权限设计? +--- + IndexedDB 存储空间⼤⼩是如何约束的? +--- +为何现在市⾯上做表格渲染可视化技术的,⼤多数都是 canvas ,⽽很少⽤ svg 的? +--- +将静态资源缓存在本地的⽅式有哪些 +--- + axios 是如何区分是 nodejs 环境还是 浏览器环境 +--- +如何拦截 web 页面的请求 +--- +对使用 token 进⾏⾝份验证了解多少? +--- +⻚⾯加载速度提升(性能优化)应该从哪些方向来思考? +--- +你认为组件封装的⼀些基本准则是什么 +--- +vite 和 webpack 在热更新上有什么区别 +--- +需要在跨域请求中携带另外⼀个域名下的 Cookie 该如何操作? +--- +常见的登录鉴权方式有哪些?各自的优缺点是? +--- +web 系统⾥⾯, 如何对图⽚进⾏优化? +--- +如何检测⽹⻚空闲状态(⼀定时间内⽆操作) +--- +Eslint 代码检查的过程是什么? +--- +浏览器对队头阻塞有什么优化? +--- diff --git a/前端工程化面试题.md b/前端工程化面试题.md new file mode 100644 index 0000000..09e5b5a --- /dev/null +++ b/前端工程化面试题.md @@ -0,0 +1,312 @@ +如何使用 Docker 部署前端项目? +--- +什么是 npm cache?如何有效管理它? +--- +如何通过 npm 发布前端 package?发布流程是怎样的? +--- +export、export default 和 module.exports 有什么区别? +--- +在 window 对象中,模块间依赖关系由文件加载顺序决定,这种模块组织方式有哪些缺点? +--- +什么是前端工程化?它有什么意义? +--- +什么是 ESLint?它有什么作用? +--- +如何在 Webpack 中切换开发环境和生产环境? +--- +Webpack 的 Tree Shaking 机制的原理是什么? +--- +如何使用 Webpack 实现异步加载? +--- +使用 html-webpack-plugin 时找不到指定的 template 文件怎么办? +--- +npm workspaces 解决了什么问题? +--- +前端 http client 中如何得知已接收完所有响应数据? +--- +semver 规范中,~1.2.3 与 ^1.2.3 的版本号范围分别是什么? +--- +core-js 是什么?有什么作用? +--- +package-lock.json 与 yarn.lock 有什么区别? +--- +Webpack 和 Vite 构建工具有什么区别?各自的优缺点是什么? +--- +什么是前端的 SWC 和 Esbuild?它们有什么作用? +--- +Webpack 的核心原理是什么? +--- +npm 执行命令时,为什么需要使用双横线传递参数? +--- +Performance API 中哪些指标可以衡量首屏加载时间? +--- +如何组织 CSS 以配合 Webpack 构建? +--- +Webpack 打包过程中,Import 和 CommonJS 有什么区别? +--- +当引入某个前端依赖项时,如何确定引入的具体文件? +--- +什么是服务器端渲染 (SSR)? +--- +前端项目中,如何优化首屏渲染时间? +--- +Webpack 支持哪些脚本模块规范? +--- +如何在前端项目中进行单元测试? +--- +Webpack 的热更新底层是如何实现的?它如何在不刷新浏览器的前提下更新页面? +--- +Webpack 打包时 Hash 码是如何生成的?如何避免 Hash 码重复? +--- +npm 的 dependencies 与 devDependencies 有什么区别? +--- +什么是 Webpack 的 bundle、chunk 和 module?分别有什么作用? +--- +JavaScript 代码压缩 (minify) 的原理是什么? +--- +同一前端页面的 3 个组件请求同一个 API 并发送了 3 次请求,如何优化? +--- +Webpack 中的 bundle、chunk 和 module 是什么?请分别介绍 +--- +前端如何正确识别图片的 MIME 类型? +--- +webpack-dev-server 是如何启动并运行的? +--- +如何编写自定义的 Webpack Loader 或 Plugin 插件? +--- +Core Web Vitals 是什么?它包括哪些指标? +--- +使用 Import 时,Webpack 如何处理 node_modules 中的依赖? +--- +前端模块化标准 CJS、ESM 和 UMD 有什么区别? +--- +Webpack 的打包构建流程是什么? +--- +如何压缩前端项目中的 JavaScript 文件大小? +--- +如何优化 Webpack 的打包速度? +--- +Express.js 和 Koa.js 框架有什么区别? +--- +如何在 Webpack 中实现持久化缓存? +--- +在前端项目中如何平滑地升级 npm 包? +--- +如何进行前端代码质量检测? +--- +什么是 npm script 的生命周期?有哪些生命周期钩子? +--- +前端项目中如何配置 HTTP 缓存机制? +--- +前端页面中,如何禁止用户打开浏览器控制台? +--- +如何加速 npm install 过程? +--- +npm 第三方库是否需要提交 lockfile? +--- +npm 的 peerDependency 是什么?有什么作用? +--- +package.json 中 main、module、browser、exports 字段有什么区别? +--- +如何进行前端代码的打包和压缩? +--- +如何自主编写一个 Babel 插件? +--- +如何检测安装的前端依赖是否存在安全问题? +--- +有哪些前端框架设计模式(如 MVVM)?请分别介绍 +--- +什么是前端的白屏错误?如何监控和处理白屏错误? +--- +什么是 serverless 架构?前端开发如何运用 serverless? +--- +Webpack 命令中的 --config 选项有什么作用? +--- +如何为前端项目指定 Node.js 版本号? +--- +有哪些前端网站性能优化的关键点? +--- +如何在 Webpack 中实现按需加载 antd 的组件(如 Button)? +--- +如何搭建一个 CLI 脚手架工具?需要做哪些工作? +--- +图片防盗链的原理是什么? +--- +如何使用 Webpack 实现 Vue 项目的打包任务? +--- +在前端项目中执行 npm install 后,如何进行额外的处理工作? +--- +如何保障前端项目的质量和规范? +--- +有哪些常用的前端性能分析工具? +--- +为什么要使用 Babel 编译?可以达到什么效果? +--- +什么是 CI/CD?如何在前端项目中实施 CI/CD? +--- +前端 AMD 和 CMD 模块加载规范有什么区别? +--- +什么是 Webpack 的生命周期? +--- +如何优化前端开发环境的热更新效率? +--- +常见的 Webpack Plugin 有哪些? +--- +如何优化 Webpack 打包后文件的体积? +--- +前端项目中资源的缓存配置策略有哪些? +--- +Webpack 的 html-webpack-plugin 插件有什么作用? +--- +什么是安全的正则表达式?有哪些特征? +--- +npm 模块的安装机制是怎样的?为什么输入 npm install 就可以自动安装模块? +--- +执行 npm run serve 时发生了什么? +--- +为什么使用 Gulp 打包 Node.js 项目?它有哪些优势? +--- +npm 的 optionalDependencies 有哪些使用场景? +--- +npm、yarn、pnpm 各自的优缺点是什么? +--- +Vite 是如何处理 new URL 资源的? +--- +什么是前端错误处理和异常监控?有哪些异常监控工具? +--- +什么是前端模块化开发?常见的模块化开发规范有哪些? +--- +如何为前端项目选择合适的状态管理器? +--- +如何查看前端项目中 node_modules 或特定文件夹的体积? +--- +Webpack 插件底层的实现原理是什么? +--- +常见的 Webpack Loader 有哪些? +--- +如何部署前端项目?具体的流程是什么? +--- +什么是网站 XSS 攻击?如何防范? +--- +什么是 Open Graph 协议?它的用途是什么? +--- +package-lock.json 的作用是什么?如果项目中没有它会产生什么影响? +--- +Webpack 中的 publicPath 有什么作用? +--- +如何修改 webpack-dev-server 的端口? +--- +如何使用 Webpack 配置单页应用和多页应用? +--- +如何在 Webpack 中实现条件组件的按需打包? +--- +主域名和二级域名哪个的 SEO 效果更好? +--- +前端项目引入 BFF 层有什么好处? +--- +前端开发中常用的构建工具有哪些?它们的作用是什么? +--- +如何利用 Webpack 将 JS、CSS、HTML 单独打包成一个文件? +--- +如何在 Webpack 中配置公共文件的抽取? +--- +Webpack 常用的插件有哪些? +--- +当使用 Babel 打包的 JavaScript 文件中包含 JSX 语法时报错时,如何解决? +--- +如何实现 Webpack 的分模块打包(多入口)? +--- +前端如何使用 Webpack 进行高效分包优化? +--- +什么是 node_modules?请介绍 node_modules 的目录结构 +--- +前端 Babel 的工作原理是什么? +--- +Node.js 为什么需要多进程?如何开启多进程? +--- +Webpack 中 File-Loader 和 URL-Loader 有什么区别? +--- +如何有效重构前端项目? +--- +如何进行前端技术选型? +--- +什么是前端的 bundless 架构?它有什么优缺点? +--- +Webpack 和 Grunt、Gulp 构建工具有什么区别?各自的优缺点是什么? +--- +Webpack 中 CSS-Loader 和 Style-Loader 有什么区别? +--- +如何配置 Webpack 以支持 Sass 编译?需要使用哪些 Loader? +--- +Babel 是如何将字符串解析成 AST 的?它是如何进行词法和语法分析的? +--- +在浏览器中如何使用原生 ESM 模块? +--- +Webpack 中的 Loader 和 Plugin 是什么?二者有什么区别? +--- +如何确认前端项目是否依赖某个特定依赖项? +--- +JavaScript 压缩、合并、打包的原理是什么?请举例一个工具或插件 +--- +前端开发中的 Live-Reload 自动刷新与 HMR 热模块替换有什么区别? +--- +什么是 AST?它在前端的应用场景有哪些? +--- +Webpack 和 Rollup、Parcel 构建工具有什么区别?各自的优缺点是什么? +--- +如何使用 Webpack 处理内联 CSS? +--- +微前端技术主要解决了哪些问题?适用于什么场景? +--- +如何使用 Webpack 解决开发环境中的跨域问题? +--- +前端开发中如何优化网络请求和资源加载?具体怎么实现? +--- +如何快速搭建前端开发环境并启动项目? +--- +常见的前端模块化方案有哪些?请举例说明 +--- +如何将前端项目的 CommonJS 模块转化为 ESM 模块? +--- +npm publish 时,npm script 的生命周期是什么? +--- +如何使用 webpack-dev-server 监控文件编译? +--- +什么是 semver?有哪些常见的版本号范围表示方法? +--- +启动前端服务后,如何确定该服务对应的端口号? +--- +Babel 编译为低版本 ES 时,为什么能编译语法但无法编译 API? +--- +如何使用 Webpack 优化产出代码? +--- +如何为项目创建 package.json 文件? +--- +什么是前端的 browserslist?它有什么作用?如何配置? +--- +Webpack 中,常见的图片处理加载器有哪些? +--- +pnpm 相比于其他的包管理工具有什么优势? +--- +npm install 和 npm ci 有什么区别? +--- +如何使用 Webpack 和 LocalStorage 实现静态资源的离线缓存? +--- +什么是 Webpack?它有什么作用? +--- +如何在前端项目中实现多分支部署? +--- +如何快速修复 npm 包的紧急 bug? +--- +如何使用 Webpack 配置前端脚手架?如何优化打包大小? +--- +Grunt 和 Gulp 的工作方式是怎样的? +--- +如何查看前端项目应该使用的 Node.js 版本? +--- +如何使用 Webpack 进行前端性能优化? +--- +什么是前端脚手架?它有什么作用? +--- +vite 和 webpack 在热更新上有什么区别 +--- diff --git a/前端性能优化面试题.md b/前端性能优化面试题.md new file mode 100644 index 0000000..9883602 --- /dev/null +++ b/前端性能优化面试题.md @@ -0,0 +1,98 @@ +如何使用 Webpack 进行前端性能优化? +--- +如何使用 Webpack 优化产出代码? +--- +如何使用 Webpack 和 LocalStorage 实现静态资源的离线缓存? +--- +如何在 Webpack 中实现条件组件的按需打包? +--- +前端如何使用 Webpack 进行高效分包优化? +--- +如何优化 Webpack 打包后文件的体积? +--- +如何优化 Webpack 的打包速度? +--- +前端开发中如何优化网络请求和资源加载?具体怎么实现? +--- +前端项目中资源的缓存配置策略有哪些? +--- +有哪些常用的前端性能分析工具? +--- +同一前端页面的 3 个组件请求同一个 API 并发送了 3 次请求,如何优化? +--- +Core Web Vitals 是什么?它包括哪些指标? +--- +如何压缩前端项目中的 JavaScript 文件大小? +--- +前端项目中如何配置 HTTP 缓存机制? +--- +有哪些前端网站性能优化的关键点? +--- +前端项目中,如何优化首屏渲染时间? +--- +Performance API 中哪些指标可以衡量首屏加载时间? +--- +前端如何处理后端接口一次性返回的超大树形结构数据? +--- +如何在页面内一次性渲染 10 万条数据,并保证页面不卡顿? +--- +如何在浏览器中执行 100 万个任务,并保证页面不卡顿? +--- +如何设计和优化秒杀系统的前端? +--- +如何解决前端 SPA 应用首屏加载速度慢的问题? +--- +在网页中有大量图片时,如何优化图像加载以提高页面加载速度? +--- +有哪些 Vue 性能优化的方法? +--- +v-if 和 v-for 在 Vue 中的优先级是什么?如果它们同时出现,应该如何优化以获得更好的性能? +--- +如何解决 Vue 初始化页面闪动的问题? +--- +如何优化 Webpack 打包 Vue 应用的速度? +--- +Vue 如何优化网站首页的加载速度? +--- +如何解决 SPA 单页应用首屏加载速度慢的问题? +--- +如何解决 Vue 打包时 vendor 文件过大的问题? +--- +使用 Vue 渲染大量数据时,如何进行优化? +--- +Vue 如何缓存当前组件?缓存后如何更新? +--- +使用 Webpack 打包 React 项目时,如何减小生成的 JavaScript 文件大小? +--- +React 如何进行代码拆分?拆分的原则是什么? +--- +什么是 React 的 windowing? +--- +在 React 中,如何避免不必要的 render 被触发? +--- +在 React 中,如何阻止组件渲染? +--- +如何让 React 跳过重新渲染? +--- +React 性能优化的方法有哪些?比如怎么提升组件渲染效率? +--- +React 的性能优化主要集中在哪个生命周期?它的优化原理是什么? +--- +如何提高 React 列表渲染的性能? +--- +如何实现 React 组件的记忆?它的原理是什么? +--- +如何解决在 React 的 pureComponent 下引用类型修改值时页面不渲染的问题? +--- +如何检测 CSS 动画的 FPS 值? +--- +CSS 优化和提高性能的方法有哪些? +--- +说说你对 CSS Sprites 的理解 +--- +为什么有时候用 translate 来改变位置而不是定位? +--- +在前端开发中,如何优化网页的加载性能和渲染性能?请提供一些常见的优化策略和技巧? +--- +⻚⾯加载速度提升(性能优化)应该从哪些方向来思考? +--- diff --git a/前端手写代码面试题.md b/前端手写代码面试题.md new file mode 100644 index 0000000..e3a559a --- /dev/null +++ b/前端手写代码面试题.md @@ -0,0 +1,108 @@ +如何在 JS 中实现继承(用尽可能多的方式)?请写出具体代码 +--- +如何使用 JS 实现发布订阅模式?请写出具体代码 +--- +如何使用 JS 实现斐波那契数列?请写出具体代码 +--- +如何使用 JS 查找文章中出现频率最高的单词?请写出具体代码 +--- +如何使用 JS 找到字符串中不重复的最长子串长度?请写出具体代码 +--- +如何使用 JS 实现防抖函数?请写出具体代码 +--- +如何使用 JS 实现节流函数?请写出具体代码 +--- +如何使用 JS 实现函数柯里化?请写出具体代码 +--- +如何使用 JS 实现链式调用?请写出具体代码 +--- +如何使用 JS 实现类数组对象转换为数组?请写出具体代码 +--- +如何使用 ES6 语法对函数所有参数进行求和?请写出具体代码 +--- +如何使用 JS 实现交换两个变量的值(不使用临时变量)?请写出具体代码 +--- +如何使用 JS 实现非负大整数的相加?请写出具体代码 +--- +如何使用 JS 实现将对象转换为树形结构?请写出具体代码 +--- +如何使用 JS 解析 URL 参数为对象?请写出具体代码 +--- +如何使用 JS 实现每隔一秒打印 1, 2, 3, 4?请写出具体代码 +--- +如何使用 JS 实现双向数据绑定?请写出具体代码 +--- +如何使用 JS 实现一个简单的路由功能?请写出具体代码 +--- +如何使用 JS 实现 setTimeout 功能来模拟 setInterval?请写出具体代码 +--- +如何使用 JS 实现一个模板引擎的功能?请写出具体代码 +--- +如何使用 JS 实现一个下划线驼峰相互转换的函数?请写出具体代码 +--- +如何使用 JS 实现一个 JSON.stringify函数?请写出具体代码 +--- +如何使用 JS 实现一个 JSON.parser函数?请写出具体代码 +--- +如何使用 JS 实现红黄绿三个灯不断交替重复亮灯?请写出具体代码 +--- +如何基于XMLHttpRequest对象实现 AJAX 请求?请写出具体代码 +--- +如何使用 JS 实现基于 Promise 的 AJAX 请求封装?请写出具体代码 +--- +如何使用 JS 实现 jsonp 请求?请写出具体代码 +--- +如何使用 JS 实现数组的乱序输出?请写出具体代码 +--- +如何使用 JS 实现数组元素的求和?请写出具体代码 +--- +如何使用 JS 实现数组的扁平化?请写出具体代码 +--- +如何使用 JS 实现数组去重?请写出具体代码 +--- +如何使用 JS 实现数组的 flat 方法?请写出具体代码 +--- +如何使用 JS 实现数组的 push 方法?请写出具体代码 +--- +如何使用 JS 实现数组的 filter 方法?请写出具体代码 +--- +如何使用 JS 实现数组的 map 方法?请写出具体代码 +--- +如何使用 JS 的 reduce 方法对数组求和?请写出具体代码 +--- +如何使用 JS 实现 Object.create 方法?请写出具体代码 +--- +如何使用 JS 模拟实现 instanceof 操作符?请写出具体代码 +--- +如何使用 JS 模拟实现 new 操作符?请写出具体代码 +--- +如何使用 JS 实现类型判断函数,实现和 typeof 操作符一样的功能?请写出具体代码 +--- +如何使用 JS 实现 call 方法?请写出具体代码 +--- +如何使用 JS 实现 apply 方法?请写出具体代码 +--- +如何使用 JS 实现 bind 方法?请写出具体代码 +--- +如何使用 JS 实现一个深拷贝函数(Deep Copy)?请写出具体代码 +--- +如何使用 JS 判断对象是否存在循环引用?请写出具体代码 +--- +如何使用 JS 实现日期格式化函数?请写出具体代码 +--- +如何使用 JS 实现字符串的 repeat 方法?请写出具体代码 +--- +如何使用 JS 实现字符串翻转?请写出具体代码 +--- +如何用 JS 实现将数字每千分位用逗号隔开(1000 转为 1,000)?请写出具体代码 +--- +如何使用 JS 实现 Promise 对象?请写出具体代码 +--- +如何使用 JS 实现 Promise 的 then 方法?请写出具体代码 +--- +如何使用 JS 实现 Promise 的 all 方法?请写出具体代码 +--- +如何使用 JS 实现 Promise 的 race 方法?请写出具体代码 +--- +如何使用 JS + HTML 实现图片懒加载?请写出具体代码 +--- diff --git a/前端热门面试题 200 道.md b/前端热门面试题 200 道.md new file mode 100644 index 0000000..a73f493 --- /dev/null +++ b/前端热门面试题 200 道.md @@ -0,0 +1,396 @@ +什么是 Vue 中的 slot?它有什么作用? +--- +在 Vue 渲染模板时,如何保留模板中的 HTML 注释? +--- +如果要实现一个 Vue3 的弹窗组件,你会如何设计? +--- +Vue 的 v-cloak 和 v-pre 指令有什么作用? +--- +Vue Router 中如何获取路由传递过来的参数? +--- +你了解 Vue 中的过滤器吗?它有哪些应用场景? +--- +Vue Router 如何配置 404 页面? +--- +如何在 Vue 3 中实现一个复杂的表单验证和提交逻辑? +--- +Vue 的 template 标签有什么用? +--- +为什么 Vue 中的 data 属性是一个函数而不是一个对象? +--- +为什么不建议在 Vue 中同时使用 v-if 和 v-for? +--- +在 Vue 组件中写 name 选项有什么作用? +--- +如何在 Vue 3 中使用 defineAsyncComponent 实现异步组件加载? +--- +Vue 的 v-show 和 v-if 有什么区别?使用场景分别是什么? +--- +Vue 计算属性的函数名和 data 中的属性可以同名吗?为什么? +--- +如何监听 Vuex 数据的变化? +--- +DIFF 算法的原理是什么? +--- +在 Vue 自定义事件中,父组件如何接收子组件传递的多个参数? +--- +你在项目中使用了 Vue Router 全局路由守卫,请解释一下路由守卫的概念和用法,并介绍一下它在你项目中的实际应用场景? +--- +如何解决⻚⾯请求接⼝⼤规模并发问题 +--- +为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等? +--- +typeof 和 instanceof 有什么区别? +--- +typeof null 的结果是什么?为什么? +--- +JavaScript 中 null 和 undefined 的区别是什么? +--- +如何判断 JavaScript 变量是数组? +--- +JavaScript 有哪些数据类型?它们的区别是什么? +--- +说说你对 JS 作用域的理解? +--- +let、const 和 var 的区别是什么? +--- +使用 let 全局声明变量,能通过 window 对象取到吗? +--- +JavaScript 中 Object.keys 的返回值是无序的吗? +--- +说说你对 fetch 的理解,它有哪些优点和不足? +--- +JavaScript 的 BigInt 和 Number 类型有什么区别? +--- +什么是 JavaScript 的尾调用?使用尾调用有什么好处? +--- +️ES6 有哪些新特性? +--- +️ES6 箭头函数能当构造函数吗? +--- +ES6 箭头函数和普通函数有什么区别? +--- +️ 什么是 TypeScript 的对象类型?怎么定义对象类型? +--- +️ TypeScript 有哪些常用类型? +--- +使用 link 和 @import 引用 CSS 的区别 +--- +CSS 中 display 属性的值及其作用 +--- +CSS 中可继承与不可继承属性有哪些? +--- +如何计算 CSS 的优先级? +--- +有哪些 CSS 选择器?请分别介绍 +--- +Canvas 和 SVG 有什么区别? +--- +HTML 中,title 与 h1 标签的区别是什么? +--- +HTML 行内元素有哪些?块级元素有哪些?空(void)元素有哪些? +--- +HTML 的 src 和 href 属性有什么区别? +--- +什么是 HTML 语义化? +--- +DOCTYPE(文档类型)的作用是什么? +--- +HTML 的 script 标签中 defer 和 async 有什么区别? +--- +常用的 HTML meta 标签有哪些? +--- +HTML5 相比于 HTML 有哪些更新? +--- +HTML 中,img 标签 srcset 属性的作用是什么? +--- +HTTP 1.0 和 2.0 有什么区别? +--- +到底什么是 TCP 连接? +--- +HTTP 2.0 和 3.0 有什么区别? +--- +HTTP 和 HTTPS 有什么区别? +--- +TCP 是用来解决什么问题? +--- +TCP 和 UDP 有什么区别? +--- +TCP 的粘包和拆包能说说吗? +--- +说说 TCP 的三次握手? +--- +说说 TCP 的四次挥手? +--- +为什么 TCP 挥手需要有 TIME_WAIT 状态? +--- +TCP 超时重传机制是为了解决什么问题? +--- +TCP 滑动窗口的作用是什么? +--- +TCP/IP 四层模型是什么? +--- +OSI 七层模型是什么? +--- +Cookie、Session、Token 之间有什么区别? +--- +在 React Router 的 history 模式中,push 和 replace 方法有什么区别? +--- +如果 React 组件的属性没有传值,它的默认值是什么? +--- +React 中除了在构造函数中绑定 this,还有其他绑定 this 的方式么? +--- +为什么在 React 中遍历时不建议使用索引作为唯一的 key 值? +--- +React Router 中的 Router 组件有几种类型? +--- +在 React 的 render 函数中,是否可以直接写 if else 判断?为什么? +--- +如何在 React 项目中引入图片?哪种方式更好? +--- +在 React 的 JSX 中,属性是否可以被覆盖?覆盖的原则是什么? +--- +什么是 React 中的受控组件?它的应用场景是什么? +--- +为什么 React 使用虚拟 DOM 来提高性能? +--- +Redux 如何实现多个组件之间的通信?多个组件使用相同状态时如何进行管理? +--- +从网络角度来看,用户从输入网址到网页显示,期间发生了什么? +--- +Node.js 中,同步和异步代码有什么区别? +--- +Node.js 中的 Buffer 对象是什么?它有什么作用? +--- +Node.js 中的 process 对象是什么?它有哪些常用属性? +--- +Node.js 中的 require 和 import 有什么区别? +--- +Node.js 中的回调、Promise 和 async/await 有什么区别? +--- +Node.js 中的回调函数是什么?请举例说明 +--- +Node.js 中的定时器函数 setImmediate() 和 setTimeout() 有什么区别? +--- +Node.js 的 process.nextTick() 有什么作用? +--- +什么是 Node.js 中的事件发射器(EventEmitter)?它有什么作用?如何使用? +--- +什么是 Node.js 中的事件循环? +--- +什么是 Node.js 中的模块加载机制? +--- +什么是 Node.js 全局对象?有哪些全局对象? +--- +什么是 Node.js 的事件循环机制?它是怎么实现的? +--- +什么是 npm?如何使用它来管理项目的依赖? +--- +什么是 package.json 文件?它的作用是什么? +--- +什么是非阻塞 I/O?Node.js 如何实现非阻塞 I/O? +--- +如何在 Node.js 中创建一个简单的 HTTP 服务器? +--- +如何在 Node.js 中处理 HTTP 请求的路由? +--- +如何在 Node.js 中解析 JSON 数据? +--- +如何在 Node.js 中进行高效的日志处理,避免影响性能? +--- +Vue 2 和 Vue 3 有哪些区别?Vue 3 有哪些更新? +--- +Vue 3 的设计目标是什么?在设计过程中做了哪些优化? +--- +Vue 3 性能提升主要体现在哪些方面? +--- +请用一句话概括,什么是设计模式?为什么要用? +--- +谈谈你了解的最常见的几种设计模式,说说他们的应用场景 +--- +什么是策略模式?一般用在什么场景? +--- +什么是模板方法模式?一般用在什么场景? +--- +什么是代理模式?一般用在什么场景? +--- +什么是原型模式?一般用在什么场景? +--- +请描述简单工厂模式的工作原理。 +--- +前端如何实现扫码登录功能? +--- +什么是单点登录,前端如何实现单点登录? +--- +如何解决前端 SPA 应用首屏加载速度慢的问题? +--- +如何设计一款能够统计前端页面请求耗时的工具? +--- +如何设计和优化秒杀系统的前端? +--- +如何在前端页面无限滚动加载内容时自动回收上面的内容? +--- +如何在前端实现文件的断点续传,并确保大文件安全可靠上传? +--- +前端如何实现基于 WebSocket 的实时聊天功能,支持多用户在线聊天并展示消息通知? +--- +你会如何设计前端日志埋点 SDK? +--- +前端如何给网页增加水印?并且如何防止水印被移除? +--- +如何在前端实现一个实时自动补全搜索框? +--- +如何在前端实现国际化,并根据用户设置自动切换语言? +--- +常见的登录鉴权方式有哪些?各自的优缺点是? +--- +前端开发中的 Live-Reload 自动刷新与 HMR 热模块替换有什么区别? +--- +如何使用 Webpack 处理内联 CSS? +--- +如何使用 Webpack 解决开发环境中的跨域问题? +--- +前端开发中如何优化网络请求和资源加载?具体怎么实现? +--- +如何使用 Webpack 优化产出代码? +--- +Webpack 中,常见的图片处理加载器有哪些? +--- +如何使用 Webpack 和 LocalStorage 实现静态资源的离线缓存? +--- +什么是 Webpack?它有什么作用? +--- +如何使用 Webpack 进行前端性能优化? +--- +如何在 Webpack 中实现条件组件的按需打包? +--- +前端如何使用 Webpack 进行高效分包优化? +--- +前端项目中资源的缓存配置策略有哪些? +--- +如何优化 Webpack 打包后文件的体积? +--- +同一前端页面的 3 个组件请求同一个 API 并发送了 3 次请求,如何优化? +--- +什么是 Webpack 的 bundle、chunk 和 module?分别有什么作用? +--- +Webpack 插件底层的实现原理是什么? +--- +Core Web Vitals 是什么?它包括哪些指标? +--- +使用 Import 时,Webpack 如何处理 node_modules 中的依赖? +--- +Webpack 中的 bundle、chunk 和 module 是什么?请分别介绍 +--- +常见的 Webpack Loader 有哪些? +--- +Webpack 和 Rollup、Parcel 构建工具有什么区别?各自的优缺点是什么? +--- +如何使用 webpack-dev-server 监控文件编译? +--- +有哪些常用的前端性能分析工具? +--- +前端项目中如何配置 HTTP 缓存机制? +--- +如何优化 Webpack 的打包速度? +--- +有哪些前端网站性能优化的关键点? +--- +前端项目中,如何优化首屏渲染时间? +--- +前端如何处理后端接口一次性返回的超大树形结构数据? +--- +如何在页面内一次性渲染 10 万条数据,并保证页面不卡顿? +--- +如何在浏览器中执行 100 万个任务,并保证页面不卡顿? +--- +在网页中有大量图片时,如何优化图像加载以提高页面加载速度? +--- +有哪些 Vue 性能优化的方法? +--- +v-if 和 v-for 在 Vue 中的优先级是什么?如果它们同时出现,应该如何优化以获得更好的性能? +--- +使用 Vue 渲染大量数据时,如何进行优化? +--- +Vue 如何缓存当前组件?缓存后如何更新? +--- +如何解决 Vue 打包时 vendor 文件过大的问题? +--- +如何解决 SPA 单页应用首屏加载速度慢的问题? +--- +Vue 如何优化网站首页的加载速度? +--- +如何优化 Webpack 打包 Vue 应用的速度? +--- +如何解决 Vue 初始化页面闪动的问题? +--- +如何检测 CSS 动画的 FPS 值? +--- +CSS 优化和提高性能的方法有哪些? +--- +说说你对 CSS Sprites 的理解 +--- +为什么有时候用 translate 来改变位置而不是定位? +--- +在前端开发中,如何优化网页的加载性能和渲染性能?请提供一些常见的优化策略和技巧? +--- +如何在 Vue 中实现权限管理?如何控制权限到按钮级别? +--- +你会如何从零构建一个 Vue 项目?要经历哪些步骤?目录结构如何设计?使用哪些库或插件? +--- +如何使用 Vue 手写一个过滤器? +--- +如何设计实现一款 Vue 的组件库? +--- +如何自主设计实现一个 Vue 路由系统? +--- +Vue 首页白屏可能是什么问题引起的?如何解决? +--- +在 Vue 开发过程中需要同时与多个后端人员联调接口时,你会怎么做? +--- +使用 Vue 开发一个任务列表应用,你会怎么设计实现? +--- +如何在前端防止表单重复提交,并确保用户只能提交一次? +--- +如何实现前端页面第一次加载不触发请求,但后续每次进入页面都触发? +--- +前端如何处理超过 JS 的 Number 最大值的数字? +--- +如何调试和解决跨浏览器兼容性问题? +--- +如何设计一个前端页面,实现 PC 端访问展示 Web 应用,移动端访问展示 H5 应用? +--- +如何在前端实现网页截图功能?可以将某部分或整个页面的内容保存为图片 +--- +前端页面白屏的原因可能是什么,如何排查? +--- +如何对前端应用中静态资源加载失败的场景进行降级处理? +--- +如何使用节流或防抖技术优化频繁触发请求的搜索输入框? +--- +如何实现网站一键切换主题的功能? +--- +如何禁止别人调试前端页面代码? +--- +如何定位到前端页面发生错误的元素? +--- +如何对每个 JavaScript 函数的执行实现拦截? +--- +前端如何判断一个点是否在 Canvas 的图形内? +--- +Pinia 与 Vuex 状态管理有什么区别? +--- +Vuex 的 state、getter、mutation、action、module 分别有什么作用? +--- +Vuex 和 localStorage 的区别是什么? +--- +Vuex 的实现原理是什么? +--- +Vuex 状态管理存在什么缺点? +--- +为什么 Vuex 的 mutation 中不能做异步操作? +--- +如何实现 Vuex 中 store 的插件? +--- +什么是 Vuex 的模块化 module?有哪些应用场景? +--- diff --git a/前端系统设计面试题.md b/前端系统设计面试题.md new file mode 100644 index 0000000..204ca6f --- /dev/null +++ b/前端系统设计面试题.md @@ -0,0 +1,58 @@ +前端如何实现扫码登录功能? +--- +如何设计和优化秒杀系统的前端? +--- +如何在前端页面无限滚动加载内容时自动回收上面的内容? +--- +如何在前端实现文件的断点续传,并确保大文件安全可靠上传? +--- +如何设计一款能够统计前端页面请求耗时的工具? +--- +如何设计一个基于 WebAssembly 的前端应用,并实现简单的计算功能? +--- +如何通过前端实现具有裁剪、旋转和调整图像大小功能的图像处理应用? +--- +如何设计一个具备用户角色管理功能的前端应用,支持不同角色的权限控制? +--- +如何实现一个简易的 Markdown 编辑器,支持实时预览并展示渲染效果? +--- +如何解决前端 SPA 应用首屏加载速度慢的问题? +--- +如何设计并实现一个支持拖拽和缩放的图片预览组件? +--- +什么是单点登录,前端如何实现单点登录? +--- +前端如何实现基于 WebSocket 的实时聊天功能,支持多用户在线聊天并展示消息通知? +--- +你会如何设计前端日志埋点 SDK? +--- +前端如何给网页增加水印?并且如何防止水印被移除? +--- +如何在移动端网页实现上拉加载和下拉刷新功能? +--- +如何设计一个响应式页面,桌面端为三栏布局,移动端为单栏布局? +--- +如何在前端使用 Service Worker 实现离线访问,并确保应用在无网络情况下可用? +--- +如何设计并实现一个可复用的表格组件,支持分页、排序和筛选功能? +--- +如何在 JavaScript 中实现事件总线,并在组件间传递消息? +--- +如何在前端项目中实现模块化,并确保代码的可维护性和复用性? +--- +如何设计一个多步骤的表单向导组件,支持步骤切换并保存用户输入状态? +--- +如何在前端实现全局错误处理机制,并在出错时显示友好提示? +--- +如何在前端实现一个实时自动补全搜索框? +--- +如何设计一个在移动设备上自动转换为竖排列表显示的前端响应式表格? +--- +如何在前端实现国际化,并根据用户设置自动切换语言? +--- +如何设计并实现一个带错误提示逻辑的用户登录界面? +--- +你认为组件封装的⼀些基本准则是什么 +--- +常见的登录鉴权方式有哪些?各自的优缺点是? +--- diff --git a/前端经典面试题合集.md b/前端经典面试题合集.md new file mode 100644 index 0000000..31a2785 --- /dev/null +++ b/前端经典面试题合集.md @@ -0,0 +1,182 @@ +有哪些常用的 HTML 标签? +--- +什么是 HTML5,HTML5 有哪些新特性? +--- +iframe 标签的作用是什么?有哪些优缺点? +--- +什么是 HTML 语义化?为什么要语义化? +--- +CSS 选择器有哪些?优先级分别是什么? +--- +有哪些常见的 CSS 布局? +--- +CSS 中的 1 像素问题是什么?有哪些解决方案? +--- +什么是 CSS 盒子模型? +--- +哪些 CSS 属性可以继承? +--- +什么是响应式设计?响应式设计的基本原理是什么?如何进行实现? +--- +CSS3 新增了哪些特性? +--- +怎么用 CSS 实现一个宽高自适应的正方形? +--- +CSS 中,有哪些方式可以隐藏页面元素?有什么区别? +--- +怎么使用 CSS3 来实现动画?你实现过哪些动画? +--- +CSS 有哪些常用单位?这些单位各有什么区别? +--- +有哪些 CSS 性能优化的操作或技巧? +--- +JavaScript 中如何中止网络请求? +--- +什么是 BOM 和 DOM?分别列举一些它们的函数 +--- +深拷贝和浅拷贝有什么区别?JS 怎么实现深拷贝? +--- +如何使用 JavaScript 来判断用户设备类型?比如判断是 PC 端还是移动端访问? +--- +JS 中数组是如何在内存中存储的? +--- +JS 中 Map 和 WeakMap 有什么区别? +--- +用 CSS 和 JS 来实现动画分别有哪些优缺点? +--- +JS 中怎么阻止事件冒泡和事件默认行为? +--- +什么是防抖和节流?如何用 JS 编码实现? +--- +前端有哪些实现跨页面通信的方法? +--- +什么是虚拟 DOM?使用虚拟 DOM 一定更快吗? +--- +JS 脚本延迟加载的方式有哪些? +--- +什么是点击穿透,怎么解决? +--- +什么是 JS 对象的可枚举性(enumerable)? +--- +JS 如何顺序执行 10 个异步任务? +--- +介绍一下 JS 中 setTimeout 的运行机制? +--- +怎么用 JS 实现大型文件上传?要考虑哪些问题? +--- +什么是箭头函数?能使用 new 来创建箭头函数么? +--- +什么是前端路由?什么时候适合使用前端路由?它有哪些优点和缺点? +--- +为什么 JS 要被设计为单线程? +--- +JS 代码中的 use strict 是什么?有什么作用? +--- +如何使用 JS 判断某个字符串长度(要求支持 Emoji 表情)? +--- +JS 在什么情况下会存在数字精度丢失的问题,如何解决? +--- +说说你对 JS 模块化方案的理解,比如 CommonJS、AMD、CMD、ES Module 分别是什么? +--- +如果使用 Math.random() 来计算中奖概率,会有什么问题吗? +--- +怎么使用 JS 实现元素拖拽功能? +--- +JS 会出现内存泄漏问题么?在哪些情况下可能会出现内存泄漏? +--- +什么是 Javascript 的事件流?有哪些事件流模型? +--- +ES6 有哪些新特性? +--- +ES5 中的类和 ES6 中的 class 有什么区别? +--- +什么是 ES6 中的 Promise?它的使用场景有哪些? +--- +ES6 中的 Reflect 对象有什么用? +--- +什么是浏览器的同源策略?为什么要有同源策略? +--- +怎么解决跨域问题? +--- +浏览器的本地存储方式有哪些,有什么区别,分别有哪些应用场景? +--- +什么是回流和重绘?什么场景下会触发?怎么减少回流和重绘? +--- +说说 Vue 中的 diff 算法 +--- +Vue 模板是如何编译的?经历了哪些过程? +--- +Vue 中 computed 和 watch 区别?分别适用于什么场景? +--- +什么是 Vuex?使用 Vuex 有哪些好处? +--- +Vue Router 的 $route 和 $router 对象有什么区别? +--- +Vue Router 路由有哪些模式?各模式有什么区别? +--- +React 中的路由懒加载是什么?原理是什么? +--- +你常用的 React Hooks 有哪些? +--- +React 组件间怎么进行通信? +--- +React.memo() 和 useMemo() 的用法是什么,有哪些区别? +--- +说说你对 TypeScript 的理解?与 JavaScript 的区别? +--- +TypeScript 的内置数据类型有哪些? +--- +TypeScript 中的 Declare 关键字有什么用? +--- +什么是 TypeScript 中的命名空间和模块?两者有什么区别? +--- +说说你对Node.js 的理解?优缺点?应用场景? +--- +什么是 Node.js 中的 process?它有哪些方法和应用场景? +--- +什么是 npm?你用过哪些 npm 包?是否开发过自己的 npm 包? +--- +什么是 Node.js 的事件循环机制?它是怎么实现的? +--- +Node.js 有哪些全局对象?它们分别有什么作用? +--- +怎么调试 Node.js 程序? +--- +介绍下从 HTTP/1.0、HTTP/1.1 到 HTTP/2 再到 HTTP/3 的演化过程,各个阶段相对前一阶段做了哪些优化? +--- +DNS HTTP 缓存有哪些实现方式?什么是协商缓存和强制缓存? +--- +简述 TCP/IP 网络模型,分为几层?每层的职责和作用是什么? +--- +什么是 webpack?它有什么作用? +--- +如何提高 webpack 的打包速度? +--- +什么是 webpack 的热更新?它的实现原理是什么? +--- +什么是前后端分离?它有什么优点和缺点? +--- +你用过哪些包管理工具?它们各有什么特点? +--- +什么是 CSS 工程化?你用过哪些相关的工具? +--- +说说常规的前端性能优化手段 +--- +前端性能优化指标有哪些?怎么进行性能检测? +--- +DNS 预解析是什么?怎么实现? +--- +怎么进行站点内的图片性能优化? +--- +SPA(单页应用)首屏加载速度慢怎么解决? +--- +git stash 命令有什么作用?什么时候适合用它? +--- +git pull 和 git fetch 命令分别有什么作用?二者有什么区别? +--- +什么是低代码?你用过哪些低代码工具? +--- +什么是前端跨平台?你用过哪些跨平台框架? +--- +使⽤同⼀个链接, 如何实现 PC 打开是 web 应⽤、⼿机打 开是⼀个 H5 应⽤? +--- diff --git a/前缀和面试题.md b/前缀和面试题.md new file mode 100644 index 0000000..93dc77f --- /dev/null +++ b/前缀和面试题.md @@ -0,0 +1,6 @@ +区间和 +--- +子数组最大平均数 +--- +二维区域和检索 +--- diff --git a/动态规划面试题.md b/动态规划面试题.md new file mode 100644 index 0000000..1e8f15f --- /dev/null +++ b/动态规划面试题.md @@ -0,0 +1,46 @@ +爬楼梯 +--- +斐波那契数列 +--- +最长上升子序列 +--- +最大子序和 +--- +约瑟夫环 +--- +编辑距离 +--- +不同路径 +--- +最长重复子数组 +--- +最长连续递增序列 +--- +不同路径 +--- +零钱兑换 +--- +完全平方数 +--- +最长回文子序列 +--- +整数拆分 +--- +最大正方形 +--- +最小路径和 +--- +三角形最小路径和 +--- +正则表达式匹配 +--- +最大乘积子数组 +--- +小偷 +--- +大偷 +--- +金融家 +--- +石子合并 +--- diff --git a/华为 OD 面试题.md b/华为 OD 面试题.md new file mode 100644 index 0000000..977b02a --- /dev/null +++ b/华为 OD 面试题.md @@ -0,0 +1,418 @@ +2024D-贪吃的猴子 +--- +2023A-找出通过车辆最多颜色 +--- +2023B-阿里巴巴找黄金宝箱(5) +--- +2024D-字符串摘要 +--- +2023B-最长和为目标值的子序列 +--- +2023A-区块链文件转储系统 +--- +2023B-寻找符合要求的最长子串 +--- +2024D-最大可购买的宝石数量 +--- +2023A-完美走位 +--- +2023A-知识图谱新词挖掘 +--- +2024D-最长的指定瑕疵度的元音子串 +--- +2024D-最小矩阵宽度 +--- +2024D-求满足条件的最长子串的长度 +--- +2024D-身高排序 +--- +2024D-GPU调度 +--- +2023B-IPv4地址转换成整数 +--- +2024D-攀登者2 +--- +2024D-回收银饰 +--- +2024D-解密犯罪时间 +--- +2024D-结队编程 +--- +2024D-多段线数据压缩 +--- +2024D-机场航班调度程序 +--- +2024D-智能成绩表 +--- +2024D-模拟目录管理 +--- +2024D-反射计数 +--- +2024D-移动元素获得最大数组和 +--- +2023B-模拟消息队列 +--- +2023B-数字反转打印 +--- +2024D-API 集群负载统计 +--- +2024D-灰度图恢复 +--- +2023B-VLAN资源池 +--- +2023B-一种字符串压缩表示的解压 +--- +2024D-小明能到达的最大坐标值 +--- +2024D-身高体重排序 +--- +2024D-素数之积 +--- +2024D-来自异国的客人 +--- +2024D-开源项目热榜 +--- +2024D-比赛的冠亚季军 +--- +2024D-数组去重和排序 +--- +2024D-高效货运 +--- +2023B-统计监控 +--- +2023B-磁盘容量 +--- +2024D-螺旋数字矩阵 +--- +2023B-五子棋迷 +--- +2024D-字符串分割(二) +--- +2024D-整数分解&2024D-数的分解 +--- +2024D-绘图机器 +--- +2023B-敏感字段加密 +--- +2023B-查字典 +--- +2023B-矩阵稀疏扫描 +--- +2024D-简易内存池 +--- +2023B-矩阵最大值 +--- +2023B-字符串加密 +--- +2024D-整数对最小和 +--- +2023B-数大雁 +--- +2024D-学生重新排队 +--- +2024D-文件缓存系统 +--- +2023B-拔河比赛 +--- +2023B-最远足迹 +--- +2024D-最低位排序 +--- +2024D-攀登者1 +--- +2023A-相同数字的积木游戏 +--- +2024D-石头剪刀布游戏 +--- +2024D-测试用例执行计划 +--- +2023B-恢复数字序列 +--- +2023B-单词接龙 +--- +2023A-明明的随机数 +--- +2023B-阿里巴巴找黄金宝箱(3) +--- +2023A-删除最少字符 +--- +2023A-寻找密码 +--- +2023B-选修课 +--- +2023A-集五福 +--- +2024D-跳房子I +--- +2024D-围棋的气 +--- +2023B-找出符合要求的字符串子串 +--- +2024D-最大N个数与最小N个数的和 +--- +2023B-斗地主 +--- +2023A-寻找关键钥匙 +--- +2024D-内存冷热标记 +--- +2024D-掌握单词个数 +--- +2023A-字符串重新排序 +--- +2023A-统计匹配的二元组个数 +--- +2024D-CPU算力分配 +--- +2024D-密码解密 +--- +2024D-英文输入法 +--- +2023A-寻找链表的中间节点 +--- +2024D-篮球游戏 +--- +2023B-不开心的小朋友 +--- +2024D-提取字符串中最长数学表达式 +--- +2023A-两数之和绝对值最小 +--- +2023A-双十一 +--- +2023B-太阳能航天器 +--- +2024D-跳房子II +--- +2024D-火星文计算2 +--- +2023A-投篮大赛 +--- +2023B-阿里巴巴找黄金宝箱(4) +--- +2024D-找最小数 +--- +2023A-删除重复数字后的最大数字 +--- +2023A-天然蓄水池 +--- +2024D-回转寿司 +--- +2023B-荒岛求生 +--- +2023A-解压缩算法 +--- +2024D-密码输入检测 +--- +2023A-括号检查 +--- +2024D-通过软盘拷贝文件 +--- +2023B-代表团坐车 +--- +2023B-高速公路休息站充电规划 +--- +2023B-超级玛丽过吊桥 +--- +2024D-分月饼 +--- +2023A-递增字符串 +--- +2023B-跳格子(2) +--- +2023Q1A-寻找重复代码 +--- +2023B-跳格子(1) +--- +2024D-园区参观路径 +--- +2023A-猴子爬山 +--- +2023B-书籍叠放 +--- +2023A-工作安排 +--- +2024D-分班 +--- +2024D-两个字符串间的最短路径 +--- +2024D-抢7游戏 +--- +2024D-考古学家 +--- +2024D-表演赛游戏分组 +--- +2023B-猜密码 +--- +2023C-最长连续手牌 +--- +2024D-加密算法 +--- +2024D-田忌赛马 +--- +2023C-找到它 +--- +2024D-字符串拼接 +--- +2023A-硬件产品销售方案 +--- +2023A-基站维修工程师 +--- +2023B-第N个排列 +--- +2023B-出错的或电路 +--- +2023B-分苹果 +--- +2023B-响应报文时间 +--- +2023A-农场施肥 +--- +2023B-最佳植树距离 +--- +2024D-小明找位置 +--- +2024D-机器人搬砖 +--- +2023A-开放日活动 +--- +2023B-食堂供餐 +--- +2024D-部门人力分配 +--- +2024D-项目排期 +--- +2024D-孙悟空吃蟠桃 +--- +2024D-有效子字符串 +--- +2023B-观看文艺汇演 +--- +2024D-虚拟游戏理财 +--- +2024D-分割均衡字符串 +--- +2024D-在规定时间内获得的最大报酬 +--- +2024D-求字符串中所有整数的最小和 +--- +2024D-小朋友来自多少小区 +--- +2023B-求最小步数 +--- +2023A-卡片组成的最大数字 +--- +2023B-阿里巴巴找黄金宝箱(2) +--- +2024D-环中最长子串 +--- +2023B-吃火锅 +--- +2024D-停车找车位 +--- +2024D-变换最小字符串 +--- +2024D-停车场车辆统计 +--- +2023B-数据最节约的备份方法 +--- +2024D-贪心歌手 +--- +2024D-运输时间 +--- +2023B-数字序列比大小 +--- +2024D-会议室占用时间 +--- +2024D-分配土地最大面积 +--- +2024D-堆内存申请 +--- +2023B-判断字符串子序列 +--- +2024D-座位调整&2024D-找座位 +--- +2024D-伐木工 +--- +2024D-最多可以派出多少支团队 +--- +2023A-快递货车 +--- +2024D-社交距离 +--- +2023A-快速开租建站 +--- +2023B-最长广播响应 +--- +2024D-周末爬山 +--- +2023A-开心消消乐 +--- +2023A-计算网络信号 +--- +2024D-查找一个有向网络的头节点和尾节点 +--- +2023B-战场索敌 +--- +2023B-评论转换输出 +--- +2024D-图像物体的边界 +--- +2024D-可以组成网络的服务器 +--- +2024D-启动多任务排序 +--- +2023B-寻找价值最大的矿堆 +--- +2023C-寻找最优的路测线路 +--- +2023B-陷阱方格 +--- +2023B-士兵突击 +--- +2024D-跳马问题 +--- +2024D-亲子游戏 +--- +2023B-广播服务器 +--- +2024D-聚餐地点 +--- +2023B-文件目录大小 +--- +2024D-地图寻宝 +--- +2023A-机器人活动区域 +--- +2023B-树状结构查询 +--- +2024D-二叉树的广度优先遍历 +--- +2024D-悄悄话花费的时间 +--- +2023B-火星改造 +--- +2024D-生成哈夫曼树 +--- +2024D-寻找最富裕的小家庭 +--- +2024D-计算三叉搜索树的高度 +--- +2023A-Linux发行版的数量 +--- +2023A-微服务的集成测试 +--- +2023B-寻找连续区间 +--- +2024D-查找接口成功率最优时间段 +--- +2024D-环中最长字串2 +--- +2023B-数字游戏 +--- +2024D-分割数组的最大差值 +--- +2023B-最大子矩阵和 +--- +2024D-5G网络建设 +--- diff --git a/双指针面试题.md b/双指针面试题.md new file mode 100644 index 0000000..72a499c --- /dev/null +++ b/双指针面试题.md @@ -0,0 +1,16 @@ +两数之和 +--- +验证回文串 +--- +移动零 +--- +最长连续不重复子序列 +--- +判断子序列 +--- +合并两个有序数组 +--- +盛最多水的容器 +--- +删除排序数组中的重复项 +--- diff --git a/后端场景面试题.md b/后端场景面试题.md new file mode 100644 index 0000000..de945b2 --- /dev/null +++ b/后端场景面试题.md @@ -0,0 +1,220 @@ +针对支付宝最近出现的八折优惠事故,说说如何才能避免类似事件的发生? +--- +让你设计一个 RPC 框架,怎么设计? +--- +有一张表里面有三个字段,分别是(id,开始时间,结束时间),表中数据量为 5000W,如何统计流量最大的时候有多少条数据? +--- +如何设计一个秒杀功能? +--- +让你设计一个消息队列,怎么设计? +--- +消息队列设计成推消息还是拉消息?推拉模式的优缺点? +--- +让你设计一个短链系统,怎么设计? +--- +让你实现一个分布式单例对象,如何实现? +--- +分布式锁一般都怎样实现? +--- +如果让你统计每个接口每分钟调用次数怎么统计? +--- +让你设计一个文件上传系统,怎么设计? +--- +让你设计一个分布式 ID 发号器,怎么设计? +--- +什么是限流?限流算法有哪些?怎么实现的? +--- +即时通讯项目中怎么实现历史消息的下拉分页加载? +--- +HashMap 是不是线程安全的?如果让你来实现一个线程安全的 HashMap 你要怎么设计?如果不用加锁你要怎么设计? +--- +接口变慢了应该如何排查?导致接口变慢的原因有哪些? +--- +编写一段代码,使得这段代码必定会产生死锁,不能使用Thread.sleep() +--- +现在手头上有一个单体项目,系统的整体 QPS 到了 1 万了,要微服务化拆分吗? +--- +系统每天晚上都会有一小时左右的时间瘫痪,你觉得可能的原因是什么?有遇到过这样的情况吗? +--- +现在有 40 亿个 QQ 号,给你 1G 的内存,如何实现去重? +--- +在 Java 中,不使用锁如何实现一个线程安全的单例? +--- +如果要实现一个抢红包的功能,红包金额是如何计算的? +--- +让你设计一个 HashMap ,怎么设计? +--- +线上 CPU 飙高如何排查? +--- +线上 CPU Load 飙高如何排查? +--- +系统上线后,发现某个接口响应很慢,你如何定位可能的原因,以及对应的解决思路? +--- +如果项目需要你实现敏感词过滤功能,如何实现? +--- +如果现在有 500G 数据需要排序,但是你只有 4G 内存,如何实现? +--- +项目上现在需要存储 IP 地址,数据库应该用什么类型来存储? +--- +一笔订单,在取消的那一刻用户刚好付款了,怎么办? +--- +如何避免用户重复下单(多次下单未支付,占用库存) +--- +线上发现 Redis 机器爆了,如何优化? +--- +项目上有个导出 excel 场景发现很慢,怎么优化? +--- +项目上需要导入一个几百万数据 excel 文件到数据库中,有哪些注意点? +--- +如果一笔订单,用户在微信和支付宝同时支付,会怎么样? +--- +假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?让你改造下 HashMap 的实现该怎样优化? +--- +微服务中远程调用的超时时间应该设置为多少合适? +--- +从网关再到各个后端服务,如何设置 RPC 的超时时间,要考虑哪些问题? +--- +让你设计一个线程池,怎么设计? +--- +如果没有内存限制,如何快速、安全地将 1000 亿条数据插入到 HashMap 中? +--- +线上数据库连接池爆满问题排查 +--- +如何实现数据库的不停服迁移? +--- +MySQL 中如何进行 SQL 调优? +--- +MySQL 中如何解决深度分页的问题? +--- +MySQL 中使用索引一定有效吗?如何排查索引效果? +--- +每次进入订单列表页面都会触发全量同步? +--- +JDK 序列化问题排查 +--- +Spring Cloud Gateway 500 问题排查 +--- +线上消息队列故障,兜底改造方案 +--- +如何设计一个点赞系统? +--- +怎么分析 JVM 当前的内存占用情况?OOM 后怎么分析? +--- +如果发现 Redis 内存溢出了?你会怎么做?请给出排查思路和解决方案 +--- +两百万个生产者发送消息,仅一个消费者,如何高效设计锁? +--- +如何在附近 100w 的商户中,快速找到离你最近的 5 家商户? +--- +Java 写入文件到磁盘会经历哪些过程? +--- +你说你项目上用了分布式锁,加锁后并发度不就降低了吗? +--- +让你设计一个购物车功能,怎么设计? +--- +会员表中有500万条会员数据,有什么方式可以对即将过期的会员提前7天进行提醒? +--- +商家想要知道自己店铺卖的最好的 top 50 商品,如何实现这个功能? +--- +MySQL 中 如果我 select * from 一个有 1000 万行的表,内存会飙升么? +--- +1000 个任务,每个任务 0.1s,最大响应时间 1s,线程池参数怎么设置? +--- +让你实现一个订单超时取消功能,怎么设计? +--- +调用第三方接口应注意哪些问题? +--- +朋友圈点赞功能如何实现,简单说说? +--- +MySQL 里有 2000w 数据,Redis 中只存 20w 的数据,如何保证 Redis 中的数据都是热点数据? +--- +横跨十几个分布式服务的慢请求要如何排查? +--- +项目用了 Redis 缓存来提升并发度,假设 Redis 挂了怎么办? +--- +现在我让你把单体服务拆成多个微服务,这些服务之间如何自动发现彼此?具体原理是什么? +--- +暂时先不考虑分库分表,如果单表的数据量很大,如何优化? +--- +Java 应用的内存持续性增长,但是监控显示堆内存没有什么变化,可能的原因有哪些? +--- +用 Bitmap 来存储 100 个用户 ID,但是这个 ID 的范围很大,此时会有什么问题?如何解决? +--- +当前有个本地操作 A,远程操作 B,我需要保证 A 和 B 事务的一致性,你会如何实现? +--- +把单体项目进行了多机部署,多台服务器是如何共享用户登录信息的? +--- +可以用几行代码实现一个负载均衡器吗? +--- +现在需要你设计一个将已登录的用户踢下线的功能,如何实现? +--- +不能使用大于小于号,如何判断两个正整数的大小? +--- +一条 1s 请求的响应,怎么优化成 1ms? +--- +WebSocket 知道吗?如果让你设计一个 IM 协议,你会考虑什么? +--- +在 Linux 命令行敲下一行命令,会进行哪些事情? +--- +现在让你负责一个核心系统,需要实现核心数据的缓存预热,如何做? +--- +设计数据库表时,关联表和在一个表中加冗余字段关联各有什么优势? +--- +当客户端有重连机制,当服务意外宕机重新部署启动时,怎么避免流量洪峰? +--- +第三方上游接口接入做异步处理,是否可以使用 MQ?主要考虑什么?如果不用 MQ,还有什么方式? +--- +4C8G和8C16G,这两个配置的服务器你们选哪个?为什么? +--- +Agent 死循环问题有遇到过吗?如何解决? +--- +如果一个GPU集群的LLM处理能力为1000tokens/s,那1000个用户同时并发访问,响应给每个用户的性能只有1 token/s吗?怎么分析性能瓶颈 +--- +你项目用的 JWT,那如何保证安全性?别人拿到你这个 Token 不就可以直接登录你的账号了吗?怎么办? +--- +我们线上软件安装包地址,这几天访问量暴增,现在 CDN 流量一直异常,这是什么原因?如何解决? +--- +如果线上接口被恶意刷流量了,要如何解决? +--- +项目中同样的功能,可能是环境或其他要求原因,需要适配多种数据库,如何实现? +--- +除了代码,还有哪些地方可以优化性能? +--- +新项目要上线了,你会关注哪些指标,为什么? +--- +如何设计一个 OAuth2.0 授权服务?Token 如何管理? +--- +有人恶意攻击我们的注册功能,伪造手机号大量下发验证码,除了限流之外,如何解决这个问题? +--- +数据库表上新增一个字段,如果这个表正在进行读写操作,如何处理才能不影响现有读写操作? +--- +如何快速定位到五分钟内重复登录了两次的QQ号,用什么数据结构? +--- +公司目前有一些海外业务,从国内将数据发送到海外延迟比较大,如何处理这个问题? +--- +现在有一天内的大量日志,每条日志记录了用户id, 登陆时间,登出时间 {userid, login_time, logout_time}, 时间单位是秒。怎么求出一天内的最大在线人数?以及维持最大在线人数的最长持续时间? +--- +主线程如何得知线程池中多个并行任务的完成并收集它们的结果?​ +--- +每秒 200 笔订单请求到支付服务,支付服务需调用第三方支付,限流 100 笔每秒。请你设计支付服务,要求分布式的,并且是 FIFO,不超过第三方限流量,但是要用满第三方100 笔每秒的量,请问如何设计,需要考虑哪些方面? +--- +MySQL数据库一亿条数据,怎么快速加索引? +--- +ArrayList 里有 1 亿条数据,要怎么去重? +--- +怎么设计电商系统的订单数据同步方案(同步到数仓)?要求数据准确、性能高 +--- +设计一个实时数据同步系统,将 MySQL 数据实时同步到数据仓库? +--- +如何设计一个高可用的数据同步系统?需要考虑哪些容错机制? +--- +使用 LIMIT OFFSET 进行分页同步时,发现数据丢失了,可能是什么原因?如何解决? +--- +数据同步过程中出现 OOM 内存溢出,应该如何排查和解决? +--- +双十一期间订单量暴增,实时数据同步系统出现消息堆积,如何应对? +--- +使用消息队列实现数据同步时,发现订单状态更新的顺序错乱了,如何解决? +--- +数据同步任务执行到一半失败了,如何保证数据的一致性? +--- diff --git a/后端系统设计面试题.md b/后端系统设计面试题.md new file mode 100644 index 0000000..da2771b --- /dev/null +++ b/后端系统设计面试题.md @@ -0,0 +1,44 @@ +让你设计一个 RPC 框架,怎么设计? +--- +如何设计一个秒杀功能? +--- +让你设计一个消息队列,怎么设计? +--- +让你设计一个线程池,怎么设计? +--- +让你设计一个 HashMap ,怎么设计? +--- +让你设计一个短链系统,怎么设计? +--- +让你实现一个订单超时取消功能,怎么设计? +--- +让你实现一个分布式单例对象,如何实现? +--- +商家想要知道自己店铺卖的最好的 top 50 商品,如何实现这个功能? +--- +朋友圈点赞功能如何实现,简单说说? +--- +分布式锁一般都怎样实现? +--- +如果让你统计每个接口每分钟调用次数怎么统计? +--- +让你设计一个文件上传系统,怎么设计? +--- +让你设计一个分布式 ID 发号器,怎么设计? +--- +什么是限流?限流算法有哪些?怎么实现的? +--- +如何设计一个点赞系统? +--- +即时通讯项目中怎么实现历史消息的下拉分页加载? +--- +HashMap 是不是线程安全的?如果让你来实现一个线程安全的 HashMap 你要怎么设计?如果不用加锁你要怎么设计? +--- +让你设计一个购物车功能,怎么设计? +--- +怎么设计电商系统的订单数据同步方案(同步到数仓)?要求数据准确、性能高 +--- +设计一个实时数据同步系统,将 MySQL 数据实时同步到数据仓库? +--- +如何设计一个高可用的数据同步系统?需要考虑哪些容错机制? +--- diff --git a/后端经典面试题合集.md b/后端经典面试题合集.md new file mode 100644 index 0000000..ead407c --- /dev/null +++ b/后端经典面试题合集.md @@ -0,0 +1,164 @@ +JDK 和 JRE 和 JVM 分别是什么,有什么区别? +--- +什么是字节码?采用字节码的最大好处是什么? +--- +Java 和 C++、Go 语言的区别,各自的优缺点? +--- +Java 中 final 关键字有什么用? +--- +Java 中 hashCode 和 equals 方法是什么?它们与 == 操作符有什么区别? +--- +什么是反射机制?说说反射机制的优缺点、应用场景? +--- +Java 访问修饰符 public、private、protected,以及无修饰符(默认)的区别 +--- +String 和 StringBuffer、StringBuilder 的区别是什么? +--- +什么是 Java 内部类? 内部类的分类有哪些 ?内部类有哪些优点和应用场景? +--- +什么是数据库事务?讲一下事务的 ACID 特性? +--- +MySQL 中的日志类型有哪些?binlog、redo log 和 undo log 的作用和区别是什么? +--- +什么是数据库的索引?索引的作用是什么?索引适用于哪些场景? +--- +如何在 MySQL 中进行数据备份?如何恢复半个月前的数据? +--- +MySQL 事务的隔离级别有哪些?每个隔离级别的特点是什么?MySQL 默认的隔离级别是什么? +--- +MySQL 中的意向锁是什么?作用是什么?它是表级锁还是行级锁? +--- +MySQL 中的覆盖索引和联合索引是什么?索引的最左前缀匹配原则是什么? +--- +什么是 MySQL 的执行计划?如何获取执行计划并对其进行分析? +--- +MySQL 支持哪些存储引擎?默认使用哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择? +--- +Spring 框架是什么?使用 Spring 框架有哪些好处? +--- +Spring 的两大核心概念是什么?简单讲一下你对它们的理解 +--- +什么是 IOC,简单讲一下 Spring IOC 的实现机制? +--- +Spring 框架中都用到了哪些设计模式? +--- +Spring、SpringMVC、SpringBoot 三者之间是什么关系? +--- +有哪些注解可以注入 Bean?@Autowired 和 @Resource 的区别? +--- +Spring 如何处理线程并发问题,ThreadLocal 你了解过吗? +--- +Spring 中的 BeanFactory 和 ApplicationContext 有什么区别和联系? +--- +讲一讲 Spring 框架中 Bean 的生命周期? +--- +Spring 支持哪几种事务管理类型,Spring 的事务实现方式和实现原理是? +--- +什么是 Spring 的依赖注入,依赖注入的基本原则以及好处? +--- +什么是 AOP?有哪些实现 AOP 的方式?Spring AOP 和 AspectJ AOP 有什么区别? +--- +Redis 是什么?Redis 的特点和常见应用场景有哪些? +--- +Redis 的单线程模型是什么?IO 多路复用是什么? +--- +Redis 基础类型中的 String 底层实现是什么? +--- +如何使用 Redis 实现一个排行榜? +--- +Redis 的持久化机制有哪些?它们的优缺点和应用场景是什么? +--- +如何用 Redis 实现分布式 Session? +--- +Redis 的内存淘汰机制是什么?有哪些内存淘汰策略? +--- +Redis 中有哪些数据类型?基础数据结构有几种?有哪些高级数据结构? +--- +如何使用 Redis 实现分布式锁? +--- +如何使用 Redis 的 HyperLogLog 统计页面 UV? +--- +简述计算机网络七层模型和各自的作用? +--- +HTTP 是哪一层的协议?简述它的作用? +--- +TCP 和 UDP 协议有什么区别,分别适用于什么场景? +--- +HTTP 协议中 GET 和 POST 有什么区别?分别适用于什么场景? +--- +简述 TCP 三次握手、四次挥手的流程?为什么需要三次握手?为什么需要四次挥手? +--- +什么是进程和线程?它们有哪些区别和联系? +--- +死锁是什么?如何预防和避免死锁? +--- +线程间有哪些通信方式? +--- +什么是零拷贝?说一说你对零拷贝的理解? +--- +什么是分布式?为什么需要分布式? +--- +什么是网关,网关有哪些作用? +--- +Dubbo 是什么?是否了解过它的架构设计? +--- +什么是分布式的 CAP 理论? +--- +什么是 RPC?目前有哪些常见的 RPC 框架?实现 RPC 框架的核心原理是什么? +--- +什么是注册中心?如何实现一个注册中心? +--- +什么是分布式的 BASE 理论,它与 CAP 理论有什么联系? +--- +什么是消息队列?消息队列有哪些应用场景? +--- +有哪些主流的消息队列,它们分别有什么优缺点、各自的适用场景是什么? +--- +有哪些常见的消息队列模型?分别适用于什么场景? +--- +设计模式是什么?为什么要学习和使用设计模式? +--- +什么是单例模式?使用单例模式有什么好处?有哪些常用的单例模式实现方式?各自的应用场景是什么? +--- +设计模式可以分为哪几类?一共有多少种主流的设计模式? +--- +什么是工厂模式?使用工厂模式有什么好处?工厂模式有哪些分类?各自的应用场景是什么? +--- +并发和并行有什么区别?同步和异步有什么区别? +--- +什么是 BIO、NIO、AIO? +--- +线程的生命周期是什么,线程有几种状态,什么是上下文切换? +--- +synchronized 关键字是什么,有什么作用? +--- +如何设计一个点赞系统? +--- +如何在 10 亿个数据中找到最大的 1 万个? +--- +有几台机器存储着几亿的淘宝搜索日志,假设你只有一台 2g 的电脑,如何选出搜索热度最高的十个关键词? +--- +请你介绍下 JVM 内存模型,分为哪些区域?各区域的作用是什么? +--- +常见的垃圾回收算法有几种类型?他们对应的优缺点是什么? +--- +什么是 Git 的 fork 命令?它和 clone 命令有什么区别? +--- +什么是 Git 的 cherry-pick? +--- +Linux 中的硬链接和软连接是什么,二者有什么区别? +--- +CC 攻击是什么?什么叫 DDOS 攻击?什么是网站数据库注入? +--- +如何在 Linux 中查看系统资源使用情况?比如内存、CPU、网络端口。 +--- +Nginx 是什么?它有哪些应用场景? +--- +什么是正向代理和反向代理,如何使用 Nginx 做反向代理? +--- +如何用 Nginx 做限流,有几种限流算法,分别如何实现? +--- +什么是云原生?它有哪些优缺点? +--- +你是否了解过新版本的 Java 特性?对 Java 未来的发展有什么看法? +--- diff --git a/回溯面试题.md b/回溯面试题.md new file mode 100644 index 0000000..3179499 --- /dev/null +++ b/回溯面试题.md @@ -0,0 +1,20 @@ +括号生成 +--- +子集 +--- +子集 - 有重复元素 +--- +组合 +--- +全排列 +--- +包含重复元素的全排列 +--- +单词搜索 +--- +N 皇后问题 +--- +N 皇后问题 +--- +组合总和 +--- diff --git a/国企面试真题.md b/国企面试真题.md new file mode 100644 index 0000000..a1b38be --- /dev/null +++ b/国企面试真题.md @@ -0,0 +1,8 @@ +Java 中国移动研究院一面 +--- +Java 中国电信云计算一面 +--- +Python 苏小妍一面 +--- +Java 1k+人厂,实习,国企凉经 +--- diff --git a/图面试题.md b/图面试题.md new file mode 100644 index 0000000..1cbfa8e --- /dev/null +++ b/图面试题.md @@ -0,0 +1,30 @@ +图的深度优先搜索 +--- +图的广度优先搜索 +--- +克隆图 +--- +课程表 +--- +课程表 +--- +可能的二分法 +--- +最小生成树 +--- +网络延迟时间 +--- +最短路径 +--- +拓扑排序 +--- +判断图中是否存在环 +--- +二分图检测 +--- +关键连接 +--- +单源最短路径 +--- +判断负权回路 +--- diff --git a/大厂算法真题面试题.md b/大厂算法真题面试题.md new file mode 100644 index 0000000..0fe5c45 --- /dev/null +++ b/大厂算法真题面试题.md @@ -0,0 +1,126 @@ +百度2023秋招-交换一次获得长度为k的排列 +--- +OPPO2023秋招提前批-小欧的区间取数 +--- +阿里蚂蚁2023秋招-讨厌鬼的区间 +--- +OPPO2023秋招提前批-小欧数组求和 +--- +OPPO2023秋招提前批-小欧的圆覆盖 +--- +美团2023秋招-小美走公路 +--- +百度2023秋招-下棋游戏 +--- +小红书2023秋招提前批-小红的数组构造 +--- +阿里蚂蚁2023秋招-奇偶操作 +--- +科大讯飞2023非凡计划-汤姆和杰瑞 +--- +科大讯飞2023非凡计划-将企鹅击落水中最小的力 +--- +科大讯飞2023非凡计划-数组的最小距离 +--- +大疆2023秋招-农田中作物的最大产量 +--- +荣耀2023秋招-根据字符串中的时间信息排序并输出 +--- +科大讯飞2023非凡计划-禁着点的方案数 +--- +微众银行2023秋招-切糖果 +--- +美团2023秋招-小美的排列询问 +--- +阿里2023春招实习-合法的三元组 +--- +小红书2023秋招-推荐系统 +--- +贝壳2021秋招-牛妹的字符串 +--- +阿里淘天2023秋招-讨厌鬼的排列 +--- +Bilibili2023秋招-最长同值路径 +--- +大疆2023秋招-链表合并 +--- +荣耀2023秋招-找出升序数组中和为给定值的两个数字 +--- +华为2023暑期实习-空栈压数 +--- +Bilibili2021秋招-大鱼吃小鱼 +--- +Bilibili2019秋招-简单表达式求值 +--- +荣耀2023秋招-算式求解 +--- +百度2017秋招-士兵队列 +--- +腾讯2020春招-压缩算法 +--- +华为2023秋招-每日股票价格 +--- +美团2023春招-火车迷 +--- +腾讯2021秋招&用友2022秋招-逛街 +--- +米哈游2023秋招-米小游与魔法少女-奇运 +--- +华为2023秋招-开电动汽车回家过年 +--- +科大讯飞非凡计划-小红的区间翻转 +--- +Bilibili2023秋招-两个字符串的最小ASCII删除和 +--- +字节跳动2023秋招-小红的 01 串 +--- +得物2023秋招-Cheems的漂亮糖葫芦 +--- +华为2023秋招-PCB印刷电路板布线 +--- +Shein2023秋招提前批-零钱兑换 +--- +OPPO2023秋招提前批-小欧的卡牌 +--- +华为2023秋招-中庸行者 +--- +百度2021秋招-子序列中的k种字母 +--- +米哈游2023秋招-相加异或 +--- +百度2023秋招-小红的第16版方案 +--- +小米2023秋招-小米手机通信校准 +--- +小红书2023秋招提前批-精华帖子 +--- +得物2023秋招-最高的楼 +--- +小米2023秋招-手机流畅运行的秘密 +--- +百度2023秋招-讨厌鬼的组合帖子 +--- +美团2023秋招-小美的数组重排 +--- +大疆2023秋招-矩形田地 +--- +Shein2023秋招提前批-删点成林 +--- +广联达2023秋招-迷宫 +--- +顺丰2023秋招-攀比 +--- +阿里达摩院0902-小红的回文博弈 +--- +顺丰2023秋招-巧克力 +--- +美团2023秋招-平均数为k的最长连续子数组 +--- +米哈游2023秋招-米小游的极差之和 +--- +美团2023秋招-小美的蛋糕切割 +--- +美团2023秋招-小美的游戏 +--- +给两个仅由数字构成的字符串,不使用Integer的parseInt方法,返回它们相加的结果,用字符串表示 +--- diff --git a/字符串面试题.md b/字符串面试题.md new file mode 100644 index 0000000..56471f9 --- /dev/null +++ b/字符串面试题.md @@ -0,0 +1,16 @@ +字符串中的第一个唯一字符 +--- +反转字符串 +--- +字符串中的单词数 +--- +反转单词顺序 +--- +判断回文串 +--- +压缩字符串 +--- +大数加法 +--- +最长回文子串 +--- diff --git a/字节跳动 Java 面经.md b/字节跳动 Java 面经.md new file mode 100644 index 0000000..c24040b --- /dev/null +++ b/字节跳动 Java 面经.md @@ -0,0 +1,116 @@ +后端字节跳动二面(60 分钟) +--- +Java 字节跳动懂车帝实习一面 +--- +Java 字节跳动飞书实习一面 +--- +Java 字节跳动后端(校招)1 小时 +--- +Java 字节跳动后端实习一面(90 分钟) +--- +Java 字节跳动后端实习面试(25min) +--- +Java 字节跳动飞书后端一面 45min +--- +Java 字节跳动朝夕光年服务器开发一面(校招) +--- +Java 字节跳动朝夕光年服务器开发二面(校招) +--- +Java 字节跳动国际电商后端开发一面(50min) +--- +Java 字节跳动懂车帝后端日常实习一面面经 +--- +Java 字节飞书实习二面 +--- +Java 字节飞书办公套件后端实习一面 +--- +Java 字节互娱后端一面 +--- +Java 字节后端番茄小说社招一面(46 min) +--- +Java 字节Dataleap后端校招面经 +--- +Java 字节商业产品与技术社招面经(50 min) +--- +Java 字节跳动抖音电商一面(45 min) +--- +Java 字节国际化短视频直播后端实习一面 +--- +Java 字节国际电商后端社招一面 +--- +Java 字节国际电商平台后端校招一面(40 min) +--- +Java 字节飞书后端开发实习二面 +--- +Java 字节跳动火山引擎后端实习一面(40 min) +--- +Java 字节抖音电商后端实习一面(50 min) +--- +Java 字节后端社招一面(50 min) +--- +Java 字节 DataAML 后端实习一面 +--- +Java 字节后端实习二面 +--- +Java 字节跳动后端校招面经(35 min) +--- +Java 字节跳动后端社招一面 +--- +Java 字节跳动飞书后端实习面经 +--- +Java 字节豆包后端实习生一面 +--- +Java 字节后端开发实习一二面混合 +--- +字节 TT 后端社招一面 +--- +Java 字节国际支付后端实习一面(35 min) +--- +Java 字节飞书后端日常实习一面 +--- +Java 字节抖音智能创作后端一面面经(1 h) +--- +Java 字节跳动生活服务后端社招一面 +--- +Java 字节商业技术与分析后端实习一面(60 min) +--- +Java 字节跳动后端商业技术实习面经 +--- +Java 字节跳动后端实习二面 +--- +Java 字节跳动社招一面(40 min) +--- +Java 字节跳动抖音后端秋招一面(60 min) +--- +Java 字节后端校招一面(40 min) +--- +Java 字节跳动生活服务后端秋招一面 (60 min) +--- +Java 字节跳动秋招后端一面(60 min) +--- +字节跳动一面(60分钟) +--- +字节跳动后端一面(秋招) +--- +字节跳动后端一面 +--- +Java 字节秋招一面(70分钟) +--- +Java 抖音(校招)一面 +--- +抖音后端开发日常实习三面 +--- +后端字节国际电商秋招面经 +--- +后端开发抖音直播一面 +--- +Java 抖音一面面经(5年) +--- +Java 抖音二面面经(5年) +--- +后端抖音直播一面 +--- +后端抖音直播二面 +--- +后端抖音直播三面 +--- diff --git a/安全测试面试题.md b/安全测试面试题.md new file mode 100644 index 0000000..ea1928d --- /dev/null +++ b/安全测试面试题.md @@ -0,0 +1,12 @@ +什么是安全测试? +--- +安全测试有哪些关注点? +--- +有哪些进行安全测试的方法? +--- +什么是渗透测试?为什么渗透测试非常重要? +--- +什么是 ISO/IEC 17799? +--- +安全测试又分为哪些类型?请列举 7 种主要类型? +--- diff --git a/小米 Java 面经.md b/小米 Java 面经.md new file mode 100644 index 0000000..a1dd294 --- /dev/null +++ b/小米 Java 面经.md @@ -0,0 +1,18 @@ +Java 小米研发(校招)一面 +--- +Java 小米研发(校招)二面 +--- +Java 小米一面(实习) +--- +Java 小米二面(实习) +--- +Java 小米后端一面 +--- +Java 小米校招一面(45 分钟) +--- +小米服务端开发一面(有点难) +--- +Java 小米后端开发一面 +--- +Java 小米一面(65 分钟) +--- diff --git a/小红书 Java 面经.md b/小红书 Java 面经.md new file mode 100644 index 0000000..6ae7072 --- /dev/null +++ b/小红书 Java 面经.md @@ -0,0 +1,2 @@ +小红书校招一面(30分钟包括算法、实习、八股) +--- diff --git a/差分面试题.md b/差分面试题.md new file mode 100644 index 0000000..264cea0 --- /dev/null +++ b/差分面试题.md @@ -0,0 +1,2 @@ +区间更新 +--- diff --git a/并查集面试题.md b/并查集面试题.md new file mode 100644 index 0000000..e435bd0 --- /dev/null +++ b/并查集面试题.md @@ -0,0 +1,8 @@ +集合操作 +--- +账户合并 +--- +字符串相似性判断 +--- +动物王国中的食物链 +--- diff --git a/应用服务器面试题.md b/应用服务器面试题.md new file mode 100644 index 0000000..953efc1 --- /dev/null +++ b/应用服务器面试题.md @@ -0,0 +1,38 @@ +请解释 Apache 和 Nginx 的区别,并描述各自的应用场景。 +--- +描述 Tomcat 服务器的架构及其工作原理。 +--- +在 Nginx 中,如何配置反向代理? +--- +请解释在 Web 服务器中,什么是负载均衡,并如何在 Nginx 中配置负载均衡? +--- +如何在 Tomcat 中部署一个 Java Web 应用程序? +--- +在 Apache 中如何启用和配置 HTTPS? +--- +解释什么是 WebSocket?并描述如何在 Nginx 中配置 WebSocket 代理? +--- +请描述 Tomcat 中的 Session 管理机制。 +--- +在 Nginx 中,如何配置静态文件的缓存? +--- +描述在 Apache 中如何配置虚拟主机。 +--- +请解释在 Nginx 中如何实现动静分离,并描述其原理。 +--- +描述在 Tomcat 中如何配置数据源连接池。 +--- +在 Apache 服务器中,如何设置自定义错误页面? +--- +解释什么是 CGI,并描述其在 Web 服务器中的作用。 +--- +请描述在 Nginx 中如何配置访问控制,并给出具体示例。 +--- +描述 Tomcat 服务器的连接器及其作用。 +--- +在 Apache 中,如何配置和使用 mod_rewrite 模块? +--- +请解释反向代理和正向代理的区别,并描述各自的应用场景。 +--- +描述在 Nginx 中如何配置限流,并解释其作用。 +--- diff --git a/强化学习面试题.md b/强化学习面试题.md new file mode 100644 index 0000000..95ec417 --- /dev/null +++ b/强化学习面试题.md @@ -0,0 +1,20 @@ +强化学习解决的是什么样的问题? +--- +说说强化学习和监督学习的异同点。 +--- +说说 RLHF(Reinforcement Learning from Human Feedback)的工作原理。 +--- +强化学习中如何得到奖励模型?怎样使用奖励模型打分? +--- +你知道蒙卡特罗方法吗? +--- +解释 Q-learning 算法的原理和过程。 +--- +你知道有哪些方法可以求解马尔科夫决策过程? +--- +你能写出贝尔曼(bellman)方程吗? +--- +简述时间差分算法。 +--- +强化学习有一些什么应用场景? +--- diff --git a/得物面经.md b/得物面经.md new file mode 100644 index 0000000..bc836b9 --- /dev/null +++ b/得物面经.md @@ -0,0 +1,2 @@ +前端得物一面 +--- diff --git a/快手 Java 面经.md b/快手 Java 面经.md new file mode 100644 index 0000000..b1b3a88 --- /dev/null +++ b/快手 Java 面经.md @@ -0,0 +1,16 @@ +Java 快手一面 +--- +Java 快手质量与效能北京面经(一面) +--- +Java 快手商业化 AI 应用一面 +--- +Java 快手社招一面(凉经) +--- +Java 快手日常实习一面 +--- +Java 快手日常实习一面 +--- +Java 快手本地生活日常实习一面 +--- +Java 快手秋招一面 +--- diff --git a/性能测试面试题.md b/性能测试面试题.md new file mode 100644 index 0000000..986ca24 --- /dev/null +++ b/性能测试面试题.md @@ -0,0 +1,100 @@ +常见的 APP 性能测试工具有哪些? +--- +LoadRunner 的工作原理是什么? +--- +LoadRunner 如何录制和编写脚本? +--- +LoadRunner 中的 Think Time 有什么作用? +--- +APP 弱网测试是怎么做的? +--- +APP 的性能测试是怎么做的? +--- +如何测试 APP 的内存使用情况? +--- +如何测试 APP 的流量使用情况? +--- +如何测试 APP 的 CPU 消耗情况? +--- +如何测试 APP 的 FPS(帧率)? +--- +如何使用 JMeter 进行性能测试? +--- +JMeter 为性能测试提供了哪些好处? +--- +常见的性能测试指标有哪些? +--- +什么是 TPS(Transactions Per Second)? +--- +什么是 QPS(Queries Per Second)? +--- +软件测试中,如何确定系统中的并发用户数? +--- +如何确定性能测试是在什么环境执行的? +--- +如何分析性能测试结果? +--- +软件测试中,Think Time 的作用是什么? +--- +软件测试中,接口的响应时间不达标时怎么办? +--- +你认为 APP 性能测试需要重点关注哪些方面? +--- +有哪些常见的 APP 性能测试的关注点? +--- +常见的性能测试方法有哪些? +--- +性能测试的目的是什么? +--- +做好性能测试工作的关键是什么? +--- +服务端性能测试可以从哪些角度进行? +--- +什么是压力测试、负载测试以及性能测试? +--- +在搜索引擎中输入汉字可以解析到对应的域名,请问如何用 LoadRunner 进行测试? +--- +性能测试怎么进行?性能测试的流程是什么? +--- +什么是性能测试的环境配置? +--- +性能测试计划包括哪些内容? +--- +性能测试报告包括哪些内容? +--- +软件测试中,什么是内存泄露?什么是内存溢出? +--- +软件测试中,什么是吞吐量和吞吐率? +--- +软件测试中,吞吐量、吞吐率和负载之间有什么关系? +--- +软件测试中,当服务器满载时,吞吐量和响应时间是如何变化的? +--- +软件测试中,如何估算接口的 TPS 指标? +--- +什么是稳定性测试?如何进行稳定性测试? +--- +软件性能测试中,如何实现 20 并发 40 次循环? +--- +软件性能测试中,QPS 如何从 200 慢慢加载到 300 和 400? +--- +压力测试返回数据报错时如何定位问题? +--- +软件测试中,说说你对性能调优的理解? +--- +如果要实现万级别的并发测试,你会怎么做? +--- +软件测试中,如果用户并发需要慢慢加载,你如何设置? +--- +软件测试中,并发用户数与响应时间、吞吐量之间的关系是什么? +--- +你们的性能测试需求从哪里来? +--- +你们的性能测试是做前端还是后端? +--- +性能测试中,1000 人抢购中只有 10 人能成功,你会如何设置并发数? +--- +测试一个项目接口的性能时,你会如何设置并发? +--- +在性能测试时,你们一般的 CPU 和内存配置是多少? +--- diff --git a/手写 RPC 框架项目面试题.md b/手写 RPC 框架项目面试题.md new file mode 100644 index 0000000..7d3bb80 --- /dev/null +++ b/手写 RPC 框架项目面试题.md @@ -0,0 +1,63 @@ +什么是 RPC 框架?它有什么优点? +--- +RPC 和 HTTP 有什么区别?RPC 算是计算机网络哪一层的协议? + +--- +你了解过哪些 RPC 框架,你的项目和它们相比有什么不同? +--- +请介绍整个系统的核心架构设计,有哪些模块?各模块的作用?各模块之间的关系? + +--- +什么是 Java 的反射机制,你在项目中是如何应用反射的? +--- +你在项目中是如何实现消费方调用的?为什么选用 JDK 动态代理和工厂模式? +--- +为什么选择了 ConcurrentHashMap 来实现本地服务注册器?它的优势是什么? +--- +你是如何实现项目中的网络通信的?为什么选择了 Vert.x 框架? +--- +什么是 Hutool 工具库?你在项目中是如何应用 Hutool 工具库提高开发效率的? +--- +你在项目中使用了哪些设计模式?举例说明你是如何应用的。 +--- +什么是 Mock?你在项目中如何实现服务 Mock 功能? +--- +你的 RPC 项目具有哪些配置信息?你是如何读取和管理配置信息的? +--- +什么是序列化和反序列化?你在项目中是如何处理序列化和反序列化的? +--- +你熟悉哪些序列化协议或类库?它们各有哪些优缺点? +--- +什么是 Java 的 SPI 机制?你是如何利用 SPI 机制实现模块动态扩展的? +--- +项目中的服务注册中心有什么作用?是基于什么技术实现的? +--- +为什么用 Etcd 实现注册中心?该技术有哪些优势和特性? +--- +服务提供者节点主动下线或宕机时,如何保证注册中心上服务信息的有效性? + +--- +服务消费者每次都要从注册中心获取服务注册信息么?有没有办法进行优化? +--- +如何更新服务注册信息缓存?怎么保证缓存的数据一致性? + +--- +你的 RPC 框架采用了什么协议?为什么要自定义协议? +--- +什么是 TCP 协议的半包粘包问题?你在项目中是如何解决该问题的? +--- +为什么要使用负载均衡?有哪些负载均衡算法?项目中的负载均衡器模块是如何实现的? +--- +项目中的负载均衡器模块是如何实现的? +--- +什么是一致性 Hash 算法?相比普通的轮询算法有什么优势? + +--- +为什么要使用重试机制?有哪些重试策略?项目中的重试机制是如何实现的? +--- +为什么要使用容错机制?有哪些容错策略?项目中的容错机制是如何实现的? +--- +如何简化开发者使用 RPC 框架的成本?怎么通过注解驱动框架的启动? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- diff --git a/拼多多 Java 面经.md b/拼多多 Java 面经.md new file mode 100644 index 0000000..bc324e5 --- /dev/null +++ b/拼多多 Java 面经.md @@ -0,0 +1,38 @@ +Java 拼多多一面 +--- +Java 拼多多秋招一面 +--- +Java 拼多多服务端一面 +--- +Java 拼多多服务端开发(秋招)一面 +--- +Java 拼多多一面凉经 +--- +Java 拼多多社招 HR 面 +--- +Java 拼多多服务端二面 +--- +Java 拼多多一面(实习) +--- +Java 拼多多一面(校招) +--- +Java 拼多多校招一面(45min) +--- +Java 拼多多服务端开发(一二面聚合) +--- +Java 拼多多后端社招一面 +--- +Java 拼多多后端开发实习一面(50 min) +--- +Java 拼多多后端开发社招二面(30 min) +--- +Java 拼多多后端暑期实习一面 +--- +Java 拼多多后端社招二面(40 min) +--- +Java 拼多多服务端实习生二面 +--- +Java 拼多多服务端开发社招一面(40 min) +--- +Java 拼多多后端社招一二面混合(60 min) +--- diff --git a/排序面试题.md b/排序面试题.md new file mode 100644 index 0000000..99150a3 --- /dev/null +++ b/排序面试题.md @@ -0,0 +1,16 @@ +冒泡排序 +--- +归并排序 +--- +快速排序 +--- +堆排序 +--- +找到前 k 大的元素 +--- +找到第 k 大的元素 +--- +字符串组成最大的数字 +--- +逆序数数量 +--- diff --git a/接口测试面试题.md b/接口测试面试题.md new file mode 100644 index 0000000..9f881c7 --- /dev/null +++ b/接口测试面试题.md @@ -0,0 +1,118 @@ +有哪些常用的 API 接口管理工具? +--- +在接口测试过程中你发现过哪些 bug?是如何发现的? +--- +什么是 API 接口?什么是 API 接口测试? +--- +API 接口测试中常用哪些协议? +--- +API 接口测试中常见的测试类型有哪些? +--- +在 API 接口测试中需要验证哪些内容? +--- +API 测试与单元测试的区别是什么? +--- +API 测试面临的主要挑战是什么? +--- +执行 API 测试时常见的 bug 类型有哪些? +--- +UI 测试与 API 测试的区别是什么? +--- +平常使用什么工具进行接口测试? +--- +如果模块请求从 HTTP 改为 HTTPS,测试方案应该如何制定和修改? +--- +在没有接口文档的情况下如何进行接口测试? +--- +在手工或自动化接口测试过程中,上下游接口有数据依赖时如何处理? +--- +如何测试依赖第三方的接口? +--- +在接口测试中,如何测试依赖登录状态的接口? +--- +如何模拟弱网环境进行接口测试? +--- +当一个接口测试出现异常时,你如何分析异常原因? +--- +什么是接口自动化测试? +--- +为什么要进行接口自动化测试?接口自动化测试的优势有哪些? +--- +如何进行接口自动化测试?有哪些接口自动化测试的方法? +--- +如何进行接口测试?请描述接口测试的流程? +--- +接口测试的主要目的是? +--- +当获得一个新的接口时,如何设计测试用例? +--- +接口文档主要包含哪些内容? +--- +如何检查和分析接口测试结果? +--- +什么是接口测试?在什么情况下进行接口测试? +--- +接口传输格式有哪些? +--- +接口测试的常用工具有哪些? +--- +如何使用 JMeter 测试文件上传接口? +--- +对于 POST 请求需要传递 JSON 格式数据,如何在 JMeter 中实现? +--- +如何在 JMeter 中处理需要加密的请求参数? +--- +如果接口返回的数据进行了加密,如何在 JMeter 中进行断言? +--- +如果下一个接口需要使用上一个接口返回的加密数据,如何在 JMeter 中提取? +--- +如何在 JMeter 中测试 GET 请求接口? +--- +如何在 JMeter 中测试 JSON 数据格式的接口? +--- +如何在 JMeter 中添加 Cookie? +--- +如何在 JMeter 中添加 Header 信息? +--- +如何在 JMeter 中测试 SOAP 请求? +--- +如何在 JMeter 中进行参数化?参数化类型有哪些? +--- +如何在 JMeter 中跨线程组传输参数? +--- +如何在 JMeter 中进行断言? +--- +JMeter 测试完成后如何自动发送邮件? +--- +如何在 JMeter 中处理 HTTPS 证书? +--- +如何使用 HTTP 代理进行接口录制? +--- +如何使用 JMeter 进行 POST 请求测试? +--- +你是否做过 HTTPS 接口测试?具体怎么做? +--- +如果接口的请求参数需要加密处理,你们使用的是什么加密方式?你是如何处理加密的? +--- +如果接口查询结果返回的是密文,你如何进行测试? +--- +如何在 Pytest 中调用其他用例返回的接口参数? +--- +你们在进行接口自动化测试时,如何组织和管理用例数据? +--- +接口测试时,如何在 Requests 中进行动态关联? +--- +在 Python 接口自动化测试中如何处理 Cookie 和 Session? +--- +如何使用 Requests 测试 JSON 数据格式的接口? +--- +如何在 Requests 中添加 Cookie? +--- +如何在 Requests 中添加 Header 信息? +--- +如何在 Requests 中处理 HTTPS 证书? +--- +如何在 Requests 中处理签名(sign)和 Token? +--- +Requests 框架有哪些常用方法? +--- diff --git a/操作系统面试题.md b/操作系统面试题.md new file mode 100644 index 0000000..bb8a3ee --- /dev/null +++ b/操作系统面试题.md @@ -0,0 +1,44 @@ +操作系统在进行线程切换时需要进行哪些动作? +--- +什么是用户态和内核态? +--- +进程之间的通信方式有哪些? +--- +操作系统中的进程有哪几种状态? +--- +进程的调度算法你知道吗? +--- +线程和进程有什么区别? +--- +什么是软中断、什么是硬中断? +--- +为什么要有虚拟内存? +--- +什么是分段、什么是分页? +--- +CPU 使用率和 CPU 负载指的是什么?它们之间有什么关系? +--- +说下你常用的 Linux 命令? +--- +I/O是什么? +--- +为什么网络 I/O 会被阻塞? +--- +I/O模型有哪些? +--- +同步和异步的区别? +--- +阻塞和非阻塞的区别? +--- +同步、异步、阻塞、非阻塞的I/O的区别? +--- +到底什么是 Reactor? +--- +Select、Poll、Epoll 之间有什么区别? +--- +什么是物理地址,什么是逻辑地址? +--- +听说过 CFS 吗?(Linux ) +--- +负数的二进制如何表示? +--- diff --git a/数学面试题.md b/数学面试题.md new file mode 100644 index 0000000..af8c528 --- /dev/null +++ b/数学面试题.md @@ -0,0 +1,16 @@ +试除法判定质数 +--- +筛质数 +--- +最大公约数 +--- +试除法求约数 +--- +快速幂 +--- +Nim 游戏 +--- +Nim 游戏 - 台阶 +--- +扩展-Nim 游戏 +--- diff --git a/数据仓库面试题.md b/数据仓库面试题.md new file mode 100644 index 0000000..793191d --- /dev/null +++ b/数据仓库面试题.md @@ -0,0 +1,102 @@ +什么是数据仓库?它的主要用途是什么? +--- +在数据仓库中,星型模型和雪花模型有什么区别? +--- +数据仓库中的事实表和维度表分别是什么?它们的作用是什么? +--- +什么是 OLAP?它与 OLTP 有什么区别? +--- +在数据仓库中,ETL 的基本流程是什么? +--- +数据仓库中的维度建模是什么? +--- +什么是数据仓库中的数据清洗?常见的数据清洗方法有哪些? +--- +在数据仓库中,什么是缓慢变化维度(SCD)?常见的 SCD 类型有哪些? +--- +数据仓库中的数据分区是什么?如何进行分区设计? +--- +在数据仓库中,什么是聚合表?它的作用是什么? +--- +数据仓库中增量数据加载与全量数据加载有什么区别? +--- +数据仓库如何实现数据的历史追踪?常见的实现方式有哪些? +--- +数据仓库中,如何处理数据倾斜问题?有哪些常见的优化方法? +--- +数据仓库的分层架构一般包括哪些层次?各层的作用是什么? +--- +在数据仓库中,如何优化 SQL 查询性能? +--- +数据仓库中的数据模型是如何设计的?常见的数据模型有哪些? +--- +数据仓库中的维度表和事实表如何设计?有什么设计原则? +--- +数据仓库中的数据刷新策略是如何设计的?如何选择增量刷新或全量刷新? +--- +数据仓库中的数据分区策略如何影响查询性能? +--- +在数据仓库中,如何进行数据的生命周期管理? +--- +数据仓库与数据湖的区别是什么?如何在数据架构中选择使用? +--- +如何在数据仓库中处理缓慢变化维度(SCD)类型 2? +--- +数据仓库中的 ELT 与 ETL 有什么区别?各自的应用场景是什么? +--- +数据仓库中的数据质量监控如何实现?有哪些常见的监控方法? +--- +数据仓库如何处理大规模并发查询?有哪些性能优化策略? +--- +数据仓库中如何使用缓慢变化维度类型 3 进行版本控制? +--- +数据仓库的实时 ETL 如何实现?有哪些常见的技术方案? +--- +在数据仓库中,如何处理多维度数据建模? +--- +数据仓库中如何设计聚合策略以优化查询性能? +--- +数据仓库的分布式架构如何实现?如何保证高可用性? +--- +数据仓库中的事实表通常有哪些类型?如何选择合适的事实表类型? +--- +在数据仓库中,如何处理大规模数据的存储与访问? +--- +数据仓库的自动化数据建模和管理有哪些实现方法? +--- +如何在数据仓库中实现元数据管理?元数据对数据仓库的重要性是什么? +--- +数据仓库如何实现高效的 ETL 调度和任务管理? +--- +在数据仓库中,如何设计数据集市?数据集市与数据仓库的区别是什么? +--- +数据仓库中的维度退化是什么?它的应用场景是什么? +--- +数据仓库中的聚合导航机制是如何工作的? +--- +在数据仓库中,如何通过缓慢变化维度类型 6 实现数据的历史管理? +--- +数据仓库如何处理跨源数据整合?有哪些常见的整合方法? +--- +数据仓库的查询优化器是如何工作的?如何通过优化器提高查询性能? +--- +在数据仓库中,如何通过数据分层设计提高数据的可用性和性能? +--- +数据仓库中如何处理复杂的多层级维度建模?如何优化模型设计? +--- +数据仓库如何支持实时数据的分析和处理?有哪些常见的技术实现? +--- +在数据仓库中,如何实现跨集群的分布式查询?有哪些优化策略? +--- +数据仓库中的数据归档和数据删除策略是如何设计的?如何保证数据的历史追踪? +--- +在数据仓库中,如何通过自动化数据质量检测提高数据的准确性和完整性? +--- +数据仓库的高并发查询处理如何实现?有哪些调优技巧和策略? +--- +在数据仓库中,如何设计基于时间维度的复杂数据模型? +--- +数据仓库与数据湖的融合架构是如何实现的?它们如何协同工作? +--- +数据仓库的 ETL 和 ELT 流程中,如何设计高效的数据流处理? +--- diff --git a/数据分析面试题.md b/数据分析面试题.md new file mode 100644 index 0000000..0e428f3 --- /dev/null +++ b/数据分析面试题.md @@ -0,0 +1,150 @@ +什么是数据分析?数据分析的基本流程有哪些步骤? +--- +在数据分析中,什么是结构化数据与非结构化数据?它们的区别是什么? +--- +数据清洗的主要步骤有哪些?为什么数据清洗对数据分析很重要? +--- +在数据分析中,如何处理缺失值? +--- +什么是描述性统计?它在数据分析中的作用是什么? +--- +在数据分析中,什么是常用的集中趋势和离散程度的度量方法? +--- +如何在数据分析中检测异常值?有哪些常见的方法? +--- +什么是 A/B 测试?它在数据分析中的作用是什么? +--- +在数据分析中,如何进行数据的可视化呈现?常用的工具有哪些? +--- +什么是假设检验?它在数据分析中的应用有哪些? +--- +数据分析中的相关性分析是什么?如何解释两个变量之间的相关性? +--- +在数据分析中,如何选择合适的数据抽样方法? +--- +数据分析中常用的回归分析是什么?它的应用场景有哪些? +--- +如何在数据分析中应用时间序列分析?有哪些常用的时间序列模型? +--- +在数据分析中,如何处理高维数据?有哪些降维的方法? +--- +什么是 PCA 主成分分析?它在数据分析中的作用是什么? +--- +如何通过相关性分析判断变量间的关系?有哪些常用的相关性分析方法? +--- +在数据分析中,如何确定特征工程中的重要特征? +--- +数据分析中,如何使用回归模型进行预测?如何评估模型的预测效果? +--- +在数据分析中,什么是聚类分析?常见的聚类算法有哪些? +--- +什么是 k-means 聚类算法?如何评估聚类的效果? +--- +在数据分析中,如何处理分类问题?常见的分类算法有哪些? +--- +在数据分析中,如何评估分类模型的准确性?常用的评估指标有哪些? +--- +数据分析中,如何处理数据中的多重共线性问题? +--- +数据分析中的卡方检验是什么?它在分析中的作用是什么? +--- +数据分析中的方差分析(ANOVA)是什么?如何在实践中使用? +--- +如何在数据分析中应用贝叶斯统计?它与频率统计有何不同? +--- +在数据分析中,如何通过机器学习方法进行数据建模? +--- +数据分析中的模型评估与选择有哪些常用的方法? +--- +数据分析中的决策树算法是如何工作的?有哪些优缺点? +--- +如何在数据分析中使用随机森林算法?它的优势是什么? +--- +在大数据分析中,如何处理大规模数据集的并行计算? +--- +数据分析中,如何处理数据的不平衡问题? +--- +数据分析中的关联规则挖掘是什么?常用的算法有哪些? +--- +在数据分析中,如何选择合适的模型进行预测和分析? +--- +数据分析中,如何通过特征工程提高模型的表现? +--- +什么是逻辑回归?如何应用于分类问题? +--- +在数据分析中,如何处理时间序列中的季节性和趋势? +--- +数据分析中的降维技术有哪些?如何选择合适的降维方法? +--- +在数据分析中,如何处理非线性关系?有哪些常用的处理方法? +--- +数据分析中的模型过拟合问题是什么?如何预防? +--- +在数据分析中,如何进行模型选择和调参优化? +--- +在数据分析中,如何通过数据可视化工具进行交互式数据展示? +--- +数据分析中的贝叶斯网络模型是什么?它适用于哪些应用场景? +--- +如何通过 RFM 分析进行用户分群?RFM 模型的优势是什么? +--- +在数据分析中,如何通过关联分析进行市场篮子分析? +--- +数据分析中的层次聚类算法是什么?如何选择合适的聚类方法? +--- +数据分析中,如何通过随机森林实现特征选择? +--- +在数据分析中,如何使用时间序列模型进行销售预测? +--- +如何在数据分析中评估模型的泛化能力? +--- +在大规模数据集上,如何通过 MapReduce 实现数据分析任务? +--- +数据分析中的梯度提升算法(GBDT)是什么?如何使用它进行预测? +--- +在数据分析中,如何通过深度学习模型进行数据建模? +--- +数据分析中的支持向量机(SVM)是什么?它的应用场景有哪些? +--- +在大数据分析中,如何通过 Hadoop 或 Spark 提升数据处理效率? +--- +数据分析中的协同过滤算法是什么?如何应用于推荐系统? +--- +在数据分析中,如何通过特征工程提高模型的预测能力? +--- +数据分析中的模型融合技术是什么?如何提高模型的稳定性和准确性? +--- +数据分析中的多元线性回归如何应用?如何处理回归中的多重共线性问题? +--- +在数据分析中,如何通过决策树和随机森林模型进行分类和回归? +--- +在大数据分析中,如何利用 Apache Spark 实现实时数据处理? +--- +数据分析中的数据分箱(Binning)方法是什么?它的优势和应用场景有哪些? +--- +如何通过数据预处理提升数据分析的准确性?有哪些常用的预处理方法? +--- +在大数据分析中,如何通过批处理和流处理结合进行混合数据处理? +--- +数据分析中的人工神经网络(ANN)模型是什么?它的优势是什么? +--- +在数据分析中,如何通过模型调优和交叉验证提高模型的准确性? +--- +如何通过 Spark MLlib 实现大规模机器学习模型的训练和预测? +--- +在大数据分析中,如何通过并行计算和分布式系统提升分析效率? +--- +数据分析中的图分析方法是什么?它适用于哪些场景? +--- +如何通过聚类和分类相结合进行复杂的数据分析任务? +--- +数据分析中的梯度下降算法如何应用于大规模数据集的模型训练? +--- +在大数据分析中,如何通过实时流处理系统(如 Flink)实现数据监控? +--- +数据分析中的强化学习方法是什么?如何应用于动态优化问题? +--- +如何通过 XGBoost 模型在数据分析中实现高效的预测和分类任务? +--- +在数据分析中,如何利用迁移学习提高模型的泛化能力? +--- diff --git a/数据备份恢复面试题.md b/数据备份恢复面试题.md new file mode 100644 index 0000000..e7ad34e --- /dev/null +++ b/数据备份恢复面试题.md @@ -0,0 +1,44 @@ +如何在 PostgreSQL 中实现 WAL 归档(WAL Archiving)备份策略? +--- +PostgreSQL 的 pg_dump 和 pg_restore 工具如何进行逻辑备份和恢复? +--- +PostgreSQL 中的 PITR(Point-in-Time Recovery)恢复方法是什么? +--- +PostgreSQL 中的 pg_basebackup 工具如何进行物理备份? +--- +PostgreSQL 的 Barman(Backup and Recovery Manager)工具如何使用? +--- +在 MySQL 中如何执行数据库备份和恢复操作? +--- +描述在 MongoDB 中如何进行数据备份和恢复。 +--- +MySQL 中的备份和恢复策略是什么?包括物理备份和逻辑备份 +--- +Oracle 中的 RMAN 工具如何进行数据库备份和恢复? +--- +MySQL 的 binlog 日志在数据恢复中的作用是什么? +--- +如何在 Oracle 中进行增量备份和差异备份? +--- +如何在 MySQL 中使用 Percona XtraBackup 工具进行热备份? +--- +如何在 Oracle 中配置和使用 Data Pump 进行数据导出和导入? +--- +如何在 MySQL 中进行数据库的灾难恢复? +--- +MySQL 中 mysqldump 和 mysqlpump 工具的区别是什么? +--- +Oracle 中的闪回查询(Flashback Query)功能如何实现数据恢复? +--- +如何在 MySQL 中配置和管理 GTID(Global Transaction ID)以实现数据恢复? +--- +Oracle 的闪回数据库(Flashback Database)功能如何配置和使用? +--- +MySQL 中如何使用 mysqlbinlog 工具进行二进制日志恢复? +--- +Oracle 的 Data Guard 配置中,如何使用 Fast-Start Failover 实现自动故障切换? +--- +PostgreSQL 中的 Point-In-Time Recovery(PITR)与流复制(Streaming Replication)如何结合使用? +--- +MySQL 中如何设置和管理备份策略以实现自动化备份? +--- diff --git a/数据库体系结构面试题.md b/数据库体系结构面试题.md new file mode 100644 index 0000000..86607c6 --- /dev/null +++ b/数据库体系结构面试题.md @@ -0,0 +1,44 @@ +MySQL 的体系结构是怎样的?其主要组件的功能是什么? +--- +解释 Oracle 数据库的存储结构以及表空间的概念。 +--- +请简要说明 PostgreSQL 的体系结构及其与 MySQL 的主要区别。 +--- +MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么? +--- +Oracle 中的 SGA 和 PGA 有什么区别? +--- +讨论 PostgreSQL 的 WAL(Write-Ahead Logging)机制及其作用。 +--- +MySQL 的主从复制原理是什么?常见的复制类型有哪些? +--- +Oracle 中的 ASM(Automatic Storage Management)是什么?它如何优化存储性能? +--- +请说明 PostgreSQL 的表分区(Partitioning)功能及其使用场景。 +--- +MySQL 中如何实现分库分表?常见的分库分表策略有哪些? +--- +Oracle 的多租户架构(Multitenant Architecture)是什么?它的优点是什么? +--- +MySQL 的分区表(Partition Table)是什么?它的结构是怎样的?有哪些优势? +--- +请说明 Oracle 数据库中的控制文件(Control File)的作用和管理方法。 +--- +PostgreSQL 的多版本并发控制(MVCC)机制是如何工作的? +--- +MySQL 的查询优化器如何选择执行计划? +--- +Oracle 中的表和索引组织表(IOT)有何不同? +--- +PostgreSQL 的 TOAST 机制是什么?它是如何处理大对象的? +--- +MySQL 中的查询缓存是什么?如何配置查询缓存? +--- +Oracle 的集群文件系统(Cluster File System)有哪些特点? +--- +PostgreSQL 中的表继承(Table Inheritance)功能及其应用场景是什么? +--- +MySQL 中如何实现分布式事务? +--- +Oracle 的 Redo Log 和 Undo Log 有何区别? +--- diff --git a/数据库性能优化面试题.md b/数据库性能优化面试题.md new file mode 100644 index 0000000..d41b4a1 --- /dev/null +++ b/数据库性能优化面试题.md @@ -0,0 +1,84 @@ +MySQL 的性能监控工具有哪些?比如 Performance Schema 和 InnoDB Monitor 的功能是什么? +--- +Oracle 的 AWR(Automatic Workload Repository)报告如何用于性能调优? +--- +PostgreSQL 中的 pg_stat_statements 扩展如何帮助进行性能分析? +--- +如何在 MySQL 中配置和使用慢查询日志? +--- +Oracle 的 ASH(Active Session History)如何用于分析性能瓶颈? +--- +如何在 PostgreSQL 中使用 auto_explain 扩展进行查询性能分析? +--- +MySQL 中的 Buffer Pool 和 Query Cache 是如何影响数据库性能的? +--- +如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能? +--- +PostgreSQL 中的 autovacuum 如何影响数据库性能? +--- +如何在 MySQL 中使用 pt-query-digest 工具来分析查询性能? +--- +Oracle 中的并行查询(Parallel Query)如何配置和优化? +--- +如何使用 MySQL 的 Event Scheduler 来定期执行优化任务? +--- +如何在 Oracle 中使用 ADDM(Automatic Database Diagnostic Monitor)进行性能分析? +--- +PostgreSQL 中的 pg_stat_activity 视图如何用于监控和调优? +--- +如何配置和使用 MySQL 的 Performance Schema? +--- +Oracle 的 SQL Tuning Advisor 如何配置和使用? +--- +PostgreSQL 中的 auto_explain 模块如何帮助进行查询性能分析? +--- +如何在 MySQL 中调优 InnoDB Buffer Pool? +--- +如何在 Oracle 中使用 SPM(SQL Plan Management)来管理执行计划? +--- +PostgreSQL 的 pgBadger 工具如何用于性能分析和调优? +--- +如何在 Oracle 中使用 SQL Trace 和 TKPROF 工具进行 SQL 调优? +--- +解释 PostgreSQL 中的 VACUUM 命令及其优化作用。 +--- +如何在 MySQL 中优化索引以提高查询性能? +--- +Oracle 中的 Cost-Based Optimizer (CBO) 是如何工作的? +--- +如何在 PostgreSQL 中使用 Index Only Scan 优化查询? +--- +MySQL 中常见的 JOIN 优化策略有哪些? +--- +如何在 Oracle 中使用 Hints 提示优化 SQL 语句? +--- +解释 PostgreSQL 的查询计划(Query Plan)及如何读取它。 +--- +如何在 Oracle 中使用 Materialized View 来优化查询? +--- +如何在 MySQL 中使用 `EXPLAIN ANALYZE` 命令优化查询? +--- +Oracle 中的 Bind Variables 如何优化性能? +--- +PostgreSQL 中的 Common Table Expressions(CTEs)如何优化查询? +--- +MySQL 中的 Query Rewrite 插件是什么?如何使用它来优化查询? +--- +如何在 Oracle 中使用 SQL Profiles 和 SQL Plan Baselines 进行调优? +--- +PostgreSQL 中的并行查询(Parallel Query)如何提高查询效率? +--- +如何在 MySQL 中避免和优化死锁问题? +--- +Oracle 中的 Table Partitioning 如何优化查询性能? +--- +PostgreSQL 中的自定义函数(User-Defined Functions)如何影响查询性能? +--- +MySQL 中的 Full-Text Search 索引如何优化全文检索? +--- +如何在 Oracle 中使用自动优化(Automatic Tuning)特性? +--- +如何使用 MySQL 的 EXPLAIN 语句进行查询分析? +--- +MySQL 的覆盖索引是什么? +--- diff --git a/数据库高可用面试题.md b/数据库高可用面试题.md new file mode 100644 index 0000000..dee8d3e --- /dev/null +++ b/数据库高可用面试题.md @@ -0,0 +1,44 @@ +MySQL 的主从复制原理是什么?常见的复制类型有哪些? +--- +MySQL 的 MHA(Master High Availability)架构是什么?如何进行配置? +--- +Oracle Data Guard 如何实现高可用性和数据保护? +--- +PostgreSQL 的 Streaming Replication 和 Logical Replication 有何区别? +--- +如何在 MySQL 中配置 Galera Cluster 以实现多主复制? +--- +Oracle RAC(Real Application Clusters)如何实现高可用性? +--- +请说明 PostgreSQL 的 Patroni 高可用性框架及其配置。 +--- +MySQL 中的 GTID(Global Transaction ID)在数据复制中的作用是什么? +--- +如何在 Oracle 中配置和管理 Data Guard Broker? +--- +PostgreSQL 中的 BDR(Bi-Directional Replication)如何实现双向复制? +--- +MySQL 中的半同步复制是如何工作的? +--- +Oracle 的 Flashback 技术如何用于数据恢复和高可用性? +--- +如何在 MySQL 中实现多主复制? +--- +Oracle 中的 Active Data Guard 如何配置和管理? +--- +如何在 MySQL 中配置和使用 ProxySQL 以实现高可用性? +--- +Oracle 的 Data Guard 与 GoldenGate 有何不同? +--- +如何在 PostgreSQL 中使用 Patroni 实现高可用性? +--- +MySQL 的 MHA 和 Group Replication 有什么区别? +--- +Oracle 的 GoldenGate 如何实现实时数据集成和高可用性? +--- +PostgreSQL 中的 repmgr 工具如何用于管理和监控复制集群? +--- +MySQL 的 NDB Cluster 如何实现高可用性? +--- +Oracle 的 Data Guard 和 RAC 如何结合使用实现最高可用性? +--- diff --git a/数据挖掘面试题.md b/数据挖掘面试题.md new file mode 100644 index 0000000..83ec331 --- /dev/null +++ b/数据挖掘面试题.md @@ -0,0 +1,96 @@ +数据挖掘的主要任务有哪些?常见的应用场景是什么? +--- +在数据挖掘中,什么是关联规则?如何通过 Apriori 算法发现关联规则? +--- +什么是 K-means 聚类算法?它的基本原理是什么? +--- +在数据挖掘中,如何处理数据的缺失值? +--- +数据挖掘中的分类任务是什么?常见的分类算法有哪些? +--- +什么是数据预处理?数据预处理的主要步骤有哪些? +--- +在数据挖掘中,什么是降维?常见的降维技术有哪些? +--- +数据挖掘中的特征选择是什么?常用的特征选择方法有哪些? +--- +在数据挖掘中,如何通过决策树算法进行分类? +--- +什么是数据标准化?它在数据挖掘中的作用是什么? +--- +在数据挖掘中,如何使用随机森林进行分类和回归任务? +--- +什么是支持向量机(SVM)?它在数据挖掘中的应用场景是什么? +--- +如何通过层次聚类算法对数据进行聚类分析?它与 K-means 有什么区别? +--- +在数据挖掘中,如何进行异常检测?常见的异常检测算法有哪些? +--- +数据挖掘中的主成分分析(PCA)是什么?如何使用 PCA 进行降维? +--- +在数据挖掘中,如何评估分类模型的性能?常见的评估指标有哪些? +--- +数据挖掘中的朴素贝叶斯算法是什么?它的基本原理是什么? +--- +什么是协同过滤算法?它在推荐系统中的应用场景是什么? +--- +在数据挖掘中,如何进行时间序列分析?有哪些常用的方法? +--- +在数据挖掘中,如何处理高维数据的特征选择问题? +--- +什么是隐马尔科夫模型(HMM)?它在数据挖掘中的应用场景是什么? +--- +数据挖掘中的数据抽样技术有哪些?如何选择合适的抽样方法? +--- +如何在数据挖掘中处理数据不平衡问题?有哪些常见的处理方法? +--- +在数据挖掘中,什么是回归分析?常见的回归算法有哪些? +--- +在数据挖掘中,如何通过提升(Boosting)算法提高分类器性能? +--- +数据挖掘中的关联分析是什么?如何通过 FP-Growth 算法发现频繁项集? +--- +数据挖掘中的密度聚类算法(如 DBSCAN)是什么?它与 K-means 有何区别? +--- +在数据挖掘中,如何通过袋装(Bagging)方法提高模型的泛化能力? +--- +什么是逻辑回归?它在分类任务中的应用场景是什么? +--- +在数据挖掘中,如何通过梯度提升(Gradient Boosting)算法进行回归或分类? +--- +数据挖掘中的过拟合和欠拟合问题是什么?如何解决这些问题? +--- +什么是 XGBoost 算法?它在数据挖掘中的优势是什么? +--- +在数据挖掘中,如何评估聚类模型的效果?常见的聚类评价指标有哪些? +--- +数据挖掘中的图算法有哪些?如何通过 PageRank 进行网页排序? +--- +在数据挖掘中,如何通过多层感知器(MLP)进行分类任务? +--- +在数据挖掘中,如何处理高维数据的维度诅咒问题? +--- +数据挖掘中的马尔科夫链模型是什么?它在推荐系统中的应用是什么? +--- +数据挖掘中的集成学习方法(如随机森林)是如何提高模型性能的? +--- +在数据挖掘中,如何通过深度学习模型进行文本分类? +--- +如何通过卷积神经网络(CNN)在数据挖掘中进行图像分类? +--- +数据挖掘中的迁移学习是什么?它的应用场景有哪些? +--- +数据挖掘中的图神经网络(GNN)是什么?它的原理和应用场景是什么? +--- +在数据挖掘中,如何通过长短期记忆网络(LSTM)进行时间序列预测? +--- +数据挖掘中的半监督学习是什么?它的优缺点是什么? +--- +在数据挖掘中,如何通过自编码器进行数据降维和异常检测? +--- +数据挖掘中的强化学习是什么?它的应用场景有哪些? +--- +在数据挖掘中,如何通过生成对抗网络(GAN)进行数据生成? +--- +数据挖掘中的注意力机制是什么?它在自然语言处理中的应用有哪些? +--- diff --git a/数据结构面试题.md b/数据结构面试题.md new file mode 100644 index 0000000..542a6df --- /dev/null +++ b/数据结构面试题.md @@ -0,0 +1,136 @@ +下一个更大元素 +--- +下一个更大元素(给定一个循环数组) +--- +逆波兰表达式求值 +--- +二叉树的最大路径和 +--- +从前序与中序遍历序列构造二叉树 +--- +从中序与后序遍历序列构造二叉树 +--- +栈的链式存储 +--- +下一个更大元素 +--- +括号匹配 +--- +二叉树的最近公共祖先 +--- +最小栈 +--- +用栈实现队列 +--- +二叉树的右视图 +--- +表达式求值 +--- +验证二叉搜索树 +--- +用队列实现栈 +--- +二叉树的序列化与反序列化 +--- +二叉树的最大深度 +--- +二叉树的最小深度 +--- +路径总和 +--- +对称二叉树 +--- +二叉树的中序遍历 +--- +二叉树的层序遍历 +--- +二叉树的直径 +--- +二叉树的前序遍历 +--- +二叉树的后序遍历 +--- +翻转二叉树 +--- +二叉树的所有路径 +--- +二叉树的中序遍历 +--- +二分图检测 +--- +拓扑排序 +--- +单源最短路径 +--- +关键连接 +--- +判断负权回路 +--- +判断图中是否存在环 +--- +图的深度优先搜索 +--- +克隆图 +--- +课程表 +--- +最短路径 +--- +图的广度优先搜索 +--- +最小生成树 +--- +网络延迟时间 +--- +最大异或对 +--- +可能的二分法 +--- +课程表 +--- +字符串集合维护 +--- +字符串相似性判断 +--- +集合操作 +--- +账户合并 +--- +动物王国中的食物链 +--- +删除链表中重复的元素 +--- +复制带有随机指针的链表 +--- +分割链表 +--- +找到链表中的倒数第 k 个节点 +--- +旋转链表 +--- +LRU 缓存 +--- +反转链表的部分节点 +--- +判断链表中是否有环 +--- +合并两个有序链表 +--- +排序链表 +--- +反转链表 +--- +寻找链表的中间节点 +--- +删除链表中的节点 +--- +实现两个链表的相加 +--- +下一个更大元素(给定一个正整数) +--- +常见的数据结构有哪些? +--- +说说平衡树的基本实现,与红黑树的区别是什么? +--- +B 树和 B+ 树相比有什么区别? +--- diff --git a/智力题.md b/智力题.md new file mode 100644 index 0000000..f84564f --- /dev/null +++ b/智力题.md @@ -0,0 +1,120 @@ +赛马问题 +--- +饮料与空瓶 +--- +生日相同月份问题 +--- +鸡蛋硬度测试问题 +--- +提前放学问题 +--- +香蕉运输问题 +--- +绳子切割概率问题 +--- +选择罐子问题 +--- +旅馆费用问题 +--- +蚂蚁问题 +--- +孩子性别概率问题 +--- +辩论赛安排 +--- +排列问题 +--- +随机数生成 +--- +不公平硬币 +--- +圆上弦相交概率问题 +--- +乌龟赛跑问题 +--- +买卖鸡的收益 +--- +赛马问题 +--- +巧克力分割 +--- +药丸污染问题 +--- +药丸问题 +--- +乒乓球重量问题 +--- +不同重量的小球问题 +--- +轻砝码组问题 +--- +轻砝码问题 +--- +称量米的问题 +--- +盐重量问题 +--- +切金子问题 +--- +飞机加油问题 +--- +过桥问题 +--- +绳子计时 +--- +烧绳计时问题 +--- +蜡烛燃烧问题 +--- +狗的推理问题 +--- +海盗分金币问题 +--- +有毒药水问题 +--- +帽子颜色问题 +--- +史密斯的房子号码 +--- +物品安全递交问题 +--- +罐头次品问题 +--- +识别灯泡开关问题 +--- +马匹运输问题 +--- +灯泡全亮问题 +--- +鼠标点击比赛问题 +--- +罪犯帽子颜色问题 +--- +运动员出列问题 +--- +枪击案件问题 +--- +舀酒问题 +--- +取水问题 +--- +变成两个 5 L +--- +沙漏计时 +--- +取水问题 +--- +酒杯分酒 +--- +盲人分牌 +--- +抢 30 游戏策略 +--- +绿豆抓取 +--- +石子游戏 +--- +人鬼过河问题 +--- +确保最后一次是你拿 +--- diff --git a/智能 BI 项目面试题.md b/智能 BI 项目面试题.md new file mode 100644 index 0000000..27ab10d --- /dev/null +++ b/智能 BI 项目面试题.md @@ -0,0 +1,67 @@ +你的项目中使用了哪些技术栈?请分别介绍一下 Spring Boot、Redis、RabbitMQ 在项目中的作用。 +--- +你是如何使用 AIGC 来生成指定格式的 json 的?请简述整个过程。 +--- +你给 AI 预设的 Prompt 结构是什么样的?如何优化 Prompt? +--- +你是如何保证用户上传的数据文件的安全性的? +--- +什么是限流?有哪些常见的限流算法? +--- +Redis 中的 Redisson 是什么? +--- +Redisson 的 RateLimiter 是什么?如何在项目中实现分布式限流?你的限流策略是什么? +--- +什么是分库分表?为什么你选择对每份原始数据进行分表存储?有什么优缺点? +--- +什么是同步和异步?什么是阻塞和非阻塞? +--- +什么是线程池?使用它有哪些好处? +--- +线程池有哪些核心参数?为什么在本项目中选择 IO 密集型线程池? + +--- +分布式消息队列有哪些应用场景? +--- +你在项目中为什么使用分布式消息队列来存储任务消息? + +--- +为什么使用 RabbitMQ 这个消息队列?它相比于其他的消息队列有哪些优点和缺点? +--- +RabbitMQ 有哪几种交换机?你在项目中选择了哪个交换机? +--- +你在 Spring Boot 项目中是如何使用 RabbitMQ 的?请简述消息发送和处理流程。 +--- +这个项目的性能是否有遇到瓶颈?如何优化项目? +--- +请介绍你在项目中使用的 React 框架的优势和适用场景? +--- +项目中为什么选择了 Ant Design Pro 脚手架?可以谈谈你对 Ant Design Pro 的使用体会和优缺点 +--- +你是如何保证项目编码规范的?用到了哪些技术?每个技术分别有什么作用? +--- +什么是 Husky?它有什么作用? +--- +什么是 Umi OpenAPI 插件?它有什么作用?你是如何使用它来生成代码的,请介绍整个流程。 +--- +你在项目中使用了 ECharts 可视化库来实现接口调用的分析图表,请解释一下 ECharts 的主要功能?为什么说它的兼容性较好? +--- +你是如何使用 ECharts 接受后端的动态 JSON 自动渲染可视化图表的?请简述整个流程。 +--- +请解释什么是 React 组件的生命周期,以及生命周期函数的执行顺序是怎样的? + +--- +在 React 中,什么是 Virtual DOM?它的作用是什么?与真实 DOM 相比,Virtual DOM 有什么优势? +--- +在前端开发中,如何处理跨域请求?请描述常见的跨域解决方案以及它们的优缺点。 +--- +请解释一下 React Hooks,并举例说明如何使用 useState 和 useEffect 这两个常用的 Hooks。 +--- +在前端开发中,如何优化网页的加载性能和渲染性能?请提供一些常见的优化策略和技巧? +--- +什么是 AIGC? +--- +请介绍一下本项目的完整业务流程? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- diff --git a/智能协同云图库项目面试题.md b/智能协同云图库项目面试题.md new file mode 100644 index 0000000..3dfcc26 --- /dev/null +++ b/智能协同云图库项目面试题.md @@ -0,0 +1,154 @@ +请介绍整个云图库项目后端的架构设计,有哪些模块以及各模块之间的关系? +--- +你在云图库项目中是如何设计库表的?可以从字段、索引、关联等方面回答。 +--- +介绍一下你初始化云图库项目后端、打造后端模板的流程? +--- +什么是 MyBatis Plus?你的云图库项目怎么使用它来实现数据库操作? +--- +你的云图库项目后端怎么处理异常? +--- +为什么你的云图库项目后端要统一封装响应类?你是如何实现的? +--- +什么是跨域问题?你的云图库项目如何在后端解决跨域? +--- +什么是 Knife4j?你的云图库项目后端怎么使用它自动生成接口文档? +--- +为什么后端返回给前端的数据会出现精度丢失?你在云图库项目中是怎么解决的? +--- +云图库项目中,你是如何实现用户注册功能的? +--- +云图库项目中,你是如何实现用户登录功能的? +--- +云图库项目中,你是如何实现统一权限管理功能的? +--- +云图库项目中,你如何存储图片数据?怎么获取到图片信息? +--- +云图库项目中,你如何实现图片审核功能? +--- +云图库项目中,你如何实现通过 URL 上传图片功能? +--- +什么是模板方法设计模式?在云图库项目中如何使用模板方法模式? +--- +云图库项目中,你怎么实现网络图片的批量抓取和导入功能? +--- +云图库项目中,你通过哪些策略对图片功能进行优化?比如性能和成本优化 +--- +什么是 Redis 和 Caffeine?你在云图库项目中如何利用它们构建多级缓存? +--- +云图库项目中,你如何实现图片转码压缩和缩略图生成? +--- +什么是 CDN?云图库项目中如何利用 CDN 提升图片加载性能? +--- +什么是降频存储?在云图库项目中,它起到了什么作用? +--- +什么是文件秒传?在云图库项目中,你怎么实现文件秒传? +--- +什么是文件分片上传和断点续传?在云图库项目中,你怎么实现它们? +--- +云图库项目中,什么是空间?为什么需要 “空间” 的概念? +--- +云图库项目中,你怎么保证用户最多只能创建一个空间? +--- +云图库项目中,你怎么保证用户上传图片不会超过空间额度? +--- +云图库项目的后端中,你如何实现多维度的图片搜索功能? +--- +云图库项目的后端中,你如何实现以图搜图功能? +--- +什么是门面模式?在云图库项目中如何使用门面模式? +--- +云图库项目的后端中,你如何实现颜色搜图功能? +--- +云图库项目的后端中,你如何实现批量编辑功能?怎么优化批量编辑的性能? +--- +云图库项目的后端中,你如何实现 AI 扩图功能?使用 AI 服务时有哪些注意事项? +--- +云图库项目中,你开发了哪些分析能力?后端如何实现空间分析功能? +--- +云图库项目的后端中,你如何实现团队空间的成员管理功能? +--- +云图库项目的后端中,你如何实现空间的权限管理? +--- +什么是 RBAC?你在云图库项目中是如何设计和实现 RBAC 的? +--- +什么是分库分表?云图库项目中为什么要用分表?你又是怎么实现动态分表的? +--- +什么是 Apache ShardingSphere?你在云图库项目中为什么选用它实现分库分表? +--- +云图库项目在实现动态分表时,为什么要手动维护可用的分表节点? +--- +云图库项目的后端中,你如何实现图片的协同编辑功能? +--- +什么是 WebSocket?为什么在云图库项目中选用它而不是 HTTP 实现协同编辑? +--- +什么是事件驱动设计?你在云图库项目中是如何运用它实现协同编辑功能的? +--- +云图库项目的后端中,WebSocket 的握手拦截器和编辑锁机制分别起到什么作用? +--- +什么是 Disruptor?在云图库项目中为什么要使用它?又是如何使用它的? +--- +什么是优雅停机?你在云图库项目中怎么利用 Disruptor 实现优雅停机? +--- +为什么云图库项目中使用 create-vue 脚手架来初始化项目?脚手架有什么作用? +--- +你是怎么初始化云图库项目的?你自定义的前端项目模板有哪些主要功能? +--- +你在云图库项目中使用了 TypeScript、ESLint、Prettier 来保证项目的编码规范,解释一下它们各自的作用? +--- +什么是 Vue Router?你在云图库项目中如何根据路由配置文件自动生成导航菜单? +--- +你在云图库项目前端中是如何实现全局权限管理的? +--- +什么是全局状态管理?为什么要在云图库项目中使用 Pinia 来进行全局状态管理? +--- +云图库项目中,为什么要自定义 Axios 实例?自定义的实例有哪些功能? +--- +什么是 OpenAPI 工具?你在云图库项目中如何利用它生成代码? +--- +你在云图库项目中如何使用 Ant Design 的 Table 组件实现了管理页面? +--- +你在云图库项目中用到了哪些 Ant Design 的组件?请举例说明 +--- +你在云图库项目中用到了哪些第三方组件?请举例说明 +--- +你在云图库项目中自己开发了哪些组件?开发组件时有哪些经验技巧? +--- +什么是 Vue Router 的动态路由?你在云图库项目中如何使用动态路由? +--- +什么是 Vue 的 watchEffect 函数?你在云图库项目中如何使用它? +--- +云图库项目中,你如何实现图片列表的响应式?以适配不同尺寸的屏幕 +--- +云图库项目的前端中,你是如何优化图片加载的? +--- +云图库项目的前端中,你是如何实现多维图片搜索功能的? +--- +云图库项目的前端中,你是如何实现颜色搜图功能的? +--- +云图库项目的前端中,你是如何实现图片分享功能的? +--- +云图库项目的前端中,你如何实现图片编辑功能? +--- +云图库项目的前端中,你如何实现 AI 扩图功能? +--- +云图库项目前端中,你如何实现统计分析图表的展示? +--- +云图库项目的前端中,你如何对空间内的图片进行权限控制? +--- +云图库项目的前端中,你如何实现图片的协同编辑功能? +--- +什么是 WebSocket?前端如何和服务器建立 WebSocket 连接?有哪些注意事项? +--- +云图库项目是否有上线?你是如何实现前端页面部署的? +--- +请介绍一下云图库项目的完整业务流程? +--- +为什么要分为 3 个阶段来实现云图库项目? +--- +你有使用过 AI 工具来辅助编程么?都是如何帮你提高开发效率的? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- +通过云图库项目,你收获了哪些知识或经验? +--- diff --git a/机器学习面试题.md b/机器学习面试题.md new file mode 100644 index 0000000..1bcb261 --- /dev/null +++ b/机器学习面试题.md @@ -0,0 +1,144 @@ +说说你了解的机器学习是什么? +--- +监督学习、半监督学习和无监督学习分别是什么,它们的区别在哪? +--- +机器学习有哪些常见的算法? +--- +什么是损失函数?有什么作用? +--- +什么是梯度下降?它的工作原理是什么?有哪些变体? +--- +分别解释高斯牛顿法和拟牛顿法。 +--- +请解释过拟合和欠拟合,并讨论如何应对过拟合问题。 +--- +什么是正则化?正则化有哪些作用?说说机器学习中常见的正则化方法。 +--- +线性回归和逻辑回归有什么区别? +--- +什么是线性回归,请解释其假设和工作原理。 +--- +进行线性回归前,为什么需要对特征进行离散化处理? +--- +分别解释 Ridge 回归和 Lasson 回归。 +--- +逻辑回归分别是怎样处理二分类问题和多分类问题的? +--- +在逻辑回归中是否需要使用交叉验证?为什么? +--- +为什么逻辑回归采用交叉熵损失函数,而不是平方损失函数? +--- +解释 Sigmoid 函数,以及它在逻辑回归中的作用。 +--- +简单介绍一下 KNN 算法过程。 +--- +说说 KNN 算法中多数投票的规则。 +--- +KNN 算法中 K 的取值是如何确定的? +--- +KNN 算法分别有哪些优缺点? +--- +KNN 算法有一个显著的缺点,就是计算量太大,可以采用什么方式应对这个问题? +--- +KNN 算法是如何应对维度灾难的? +--- +KNN 算法和 K-means 算法有什么区别? +--- +有哪些常见的方法度量点到中心的距离? +--- +K-means 聚类中每个聚类中心的初始点如何选择? +--- +如何处理 K-means 中的空聚类? +--- +K-means 是否会陷入一直寻找聚类中心的循环中?如果是,如何应对? +--- +解释高斯混合模型。 +--- +说说 EM 算法。 +--- +请描述支持向量机(svm)的基本思想和应用场景。 +--- +svm 可以处理多分类吗? +--- +软间隔和硬间隔有什么区别? +--- +svm 与感知机有什么区别? +--- +简单说说核函数的原理。 +--- +svm 有哪些核函数?分别应用于哪些场景中? +--- +svm 在应用高斯核时需要对特征进行归一化吗? +--- +简单描述朴素贝叶斯的算法流程。 +--- +朴素贝叶斯常见的分类模型是什么?请分别说明。 +--- +朴素贝叶斯中的零概率问题是什么?如何应对? +--- +为什么朴素贝叶斯是高偏差低方差? +--- +朴素贝叶斯如何应对高度相关的特征? +--- +说说构造决策树的步骤。 +--- +决策树是否可以处理非数值型特征? +--- +决策树算法是如何应对欠拟合和过拟合的? +--- +分别说说 ID3、C4.5 和 CART 算法。 +--- +既然 ID3 算法中已经选择了信息增益,为何 C4.5 算法中选择使用信息增益率? +--- +分别描述 C4.5 算法中预剪枝和后剪枝的策略,并说说和 CART 算法中的剪枝策略有何不同? +--- +为什么 CART 算法特征选择方式是基尼系数,而不是信息熵? +--- +请简要描述随机森林算法的过程。 +--- +随机森林算法为什么不使用全样本训练 m 棵决策树? +--- +如何理解随机森林的随机性? +--- +随机森林算法是否容易过拟合? +--- +解释 Boosting 算法和 Bagging 算法的区别。 +--- +简述 Adaboost 算法的原理。 +--- +如何使用 Adaboost 算法进行特征选择? +--- +Adaboost 算法对噪声敏感吗? +--- +Adaboost 算法和随机森林算法有什么区别? +--- +什么是 Gradient Boosting? +--- +Gradient Boosting 为什么不使用决策树桩? +--- +Gradient Boosting 与 XGBoost 有什么区别? +--- +解释 GBDT(Gradient Boosted Decision Trees) 原理。 +--- +GBDT 适合使用高维稀疏特征吗? +--- +GBDT 可以用于分类任务吗? +--- +解释什么是降维,以及为什么要降维。 +--- +降维有哪些优缺点? +--- +说说什么是奇异值分解? +--- +奇异值分解在降维中有什么作用? +--- +特征值和奇异值的区别是什么? +--- +解释 PCA 算法的原理和步骤。 +--- +如何确定 PCA 降维之后的维度? +--- +介绍一下 LDA 算法。 +--- +PCA 和 LDA 有哪些区别? +--- diff --git a/栈面试题.md b/栈面试题.md new file mode 100644 index 0000000..6044463 --- /dev/null +++ b/栈面试题.md @@ -0,0 +1,22 @@ +最小栈 +--- +栈的链式存储 +--- +逆波兰表达式求值 +--- +括号匹配 +--- +表达式求值 +--- +下一个更大元素 +--- +用栈实现队列 +--- +用队列实现栈 +--- +下一个更大元素 +--- +下一个更大元素(给定一个循环数组) +--- +下一个更大元素(给定一个正整数) +--- diff --git a/树面试题.md b/树面试题.md new file mode 100644 index 0000000..08c281b --- /dev/null +++ b/树面试题.md @@ -0,0 +1,38 @@ +二叉树的前序遍历 +--- +二叉树的中序遍历 +--- +二叉树的中序遍历 +--- +二叉树的后序遍历 +--- +二叉树的层序遍历 +--- +二叉树的最大深度 +--- +二叉树的最小深度 +--- +翻转二叉树 +--- +对称二叉树 +--- +路径总和 +--- +二叉树的所有路径 +--- +二叉树的直径 +--- +二叉树的最大路径和 +--- +二叉树的最近公共祖先 +--- +二叉树的序列化与反序列化 +--- +从前序与中序遍历序列构造二叉树 +--- +从中序与后序遍历序列构造二叉树 +--- +验证二叉搜索树 +--- +二叉树的右视图 +--- diff --git a/测试场景面试题.md b/测试场景面试题.md new file mode 100644 index 0000000..ba3dbe5 --- /dev/null +++ b/测试场景面试题.md @@ -0,0 +1,134 @@ +在搜索引擎中输入汉字可以解析到对应的域名,请问如何用 LoadRunner 进行测试? +--- +压力测试返回数据报错时如何定位问题? +--- +如果要实现万级别的并发测试,你会怎么做? +--- +软件测试中,如果用户并发需要慢慢加载,你如何设置? +--- +简单介绍一下你最近测试的项目?你在这个项目中主要做了哪些工作? +--- +详细讲解你负责的一个模块具体是怎么测试的? +--- +软件测试中,测试人员在项目中是如何分工的? +--- +整个项目中,你负责的模块写了多少用例?又是如何编写的? +--- +你的需求通常测试几天?写用例大概花了多少时间? +--- +在 UAT 测试时,客户突然临时需要大量的数据怎么办? +--- +你发现过哪些印象比较深刻的 bug?是如何发现的? +--- +实际工作中,每个阶段测试人员和开发人员在做什么? +--- +你会如何测试打电话功能? +--- +给你一个杯子,你会怎么测试? +--- +你会如何测试图像上传功能? +--- +你会如何测试搜索功能? +--- +你会如何测试电梯? +--- +你会如何测试 APP 更换头像功能,测试点有哪些? +--- +你会如何测试 QQ 登录功能? +--- +你会如何测试微信发红包功能? +--- +你会如何测试微信聊天功能? +--- +给你一个新界面,你会如何进行测试? +--- +你会如何测试充值功能? +--- +你会如何测试电商的库存逻辑? +--- +软件测试中,为什么要抓包?具体怎么抓包?抓包结果怎么分析? +--- +软件测试中,常用的抓包工具有哪些?抓包的原理是什么? +--- +给你一个需求,具体说下你会怎么进行测试? +--- +项目快上线,但由于开发延迟,测试时间被压缩怎么办? +--- +如果时间比较紧,你会如何安排测试工作? +--- +软件测试中,返回数据有问题时,你会如何排查? +--- +软件测试中,下订单有时成功有时失败,如何定位原因? +--- +软件测试中,APP 崩溃时如何抓取日志? +--- +软件测试中,大家看不到你发的朋友圈,可能是什么原因? +--- +软件测试中,只有 A 用户看不到你发的朋友圈,可能是什么原因? +--- +软件测试中,测试周期遇到需求变更怎么办? +--- +测试提交的 Bug 不被开发人员认可,应该如何处理? +--- +在接口测试过程中你发现过哪些 bug?是如何发现的? +--- +请针对 APP 的安装功能,设计测试点? +--- +你们之前使用什么手机和什么版本进行 App 兼容性测试? +--- +软件测试中,对于无法复现的 Bug,应该如何处理? +--- +软件测试中,界面中的乱码问题可能是什么原因导致的? +--- +给你一个网站,你会如何开展测试? +--- +你会如何对电商的支付模块进行测试? +--- +对于功能测试中重复测试的情况,你会如何处理? +--- +多个项目同时发布时,你如何进行测试管理? +--- +开发人员转为测试人员的流程是什么?需要具备哪些能力? +--- +你们项目的主要开发语言是什么?如何与测试工作结合? +--- +如何测试低概率事件,例如万分之一的概率问题? +--- +如果一个需求需要在 7 天内上线,你会如何安排测试工作? +--- +测试过程中发现很多用例重复,有人认为没必要再测试,你怎么看? +--- +如果无法获取测试数据,你会怎么处理? +--- +项目上线后发现 Bug,测试人员应该如何处理? +--- +如何通过软件测试来保证产品质量? +--- +你认为成为优秀的软件测试人员应具备哪些素质? +--- +你对软件测试最感兴趣的方面是什么? +--- +如果需求不明确,你会如何进行测试? +--- +请描述你在原项目中的测试流程是怎样的? +--- +针对一个带有广告的纸杯子,如何设计测试用例? +--- +针对输入 3 个整数判断是否构成有效三角形,如何设计测试用例? +--- +设计登录功能的测试用例时,需要考虑哪些方面? +--- +你们自动化测试的用户是怎么管理的? +--- +你们的性能测试需求从哪里来? +--- +你们的性能测试是做前端还是后端? +--- +性能测试中,1000 人抢购中只有 10 人能成功,你会如何设置并发数? +--- +测试一个项目接口的性能时,你会如何设置并发? +--- +在性能测试时,你们一般的 CPU 和内存配置是多少? +--- +软件测试中,如何定位接口响应超时的问题? +--- diff --git a/测试基础理论面试题.md b/测试基础理论面试题.md new file mode 100644 index 0000000..f985cd6 --- /dev/null +++ b/测试基础理论面试题.md @@ -0,0 +1,130 @@ +软件生命周期的各个阶段有哪些?常见的软件生命周期模型有哪些类型? +--- +软件测试与软件开发之间的关系是什么? +--- +常见的软件测试模型有哪些?各自的特点是什么? +--- +请根据 V 模型描述测试人员在软件需求定义阶段、设计阶段、编码阶段、系统集成阶段的具体工作任务及相应生成的文档? +--- +请详细描述软件测试过程中的 W 模型及其应用? +--- +编写测试计划的主要目的是? +--- +测试计划编写的六大要素是什么? +--- +项目版本执行过程中,测试人员如何有效把控测试进度? +--- +测试人员在软件开发过程中的具体任务有哪些? +--- +请列举你所知道的软件测试种类,并至少详细说明五种? +--- +黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系是什么? +--- +黑盒测试常用的测试方法有哪些?请举几个具体例子 +--- +白盒测试常用的测试方法有哪些?请举几个具体例子 +--- +简述黑盒测试和白盒测试的主要优缺点? +--- +在没有产品说明书和需求文档的情况下,如何进行黑盒测试设计? +--- +单元测试的策略有哪些?主要内容包括什么? +--- +白盒测试的逻辑覆盖标准有哪些?哪种覆盖标准覆盖率最高? +--- +Beta 测试和 Alpha 测试的主要区别是什么? +--- +测试结束的标准是什么? +--- +软件测试的基本原则有哪些? +--- +探索性测试是什么?如何有效开展探索性测试? +--- +什么是冒烟测试?在什么情况下进行冒烟测试? +--- +如何有效开展冒烟测试? +--- +自动化测试中的 PO 模式是什么? +--- +什么是测试用例?为什么要编写测试用例? +--- +测试用例的基本要素包括哪些? +--- +描述测试用例设计的完整过程? +--- +你是否编写过测试计划?测试计划通常包括哪些内容? +--- +有哪些常用的测试方法? +--- +高质量的缺陷记录(Bug)应该具备哪些内容?提交 Bug 时需要注意哪些问题? +--- +Bug 的管理流程是什么?Bug 的生命周期或状态有哪些? +--- +Bug 的级别有哪些?如何判断 Bug 的级别? +--- +在测试中,如何判断是前端 Bug 还是后端 Bug? +--- +测试数据通常从哪里获得? +--- +测试报告通常包括哪些内容? +--- +测试报告中的测试结论是什么? +--- +有哪些生成自动化测试报告的方式? +--- +如何写好一个高质量的测试用例? +--- +回归测试的策略有哪些? +--- +测试过程中如何与开发人员进行有效沟通? +--- +测试中可能遇到哪些风险?如何应对这些风险? +--- +如何保证测试质量或如何确保 100% 覆盖需求? +--- +产品上线的评判标准是什么? +--- +上线后是否需要在生产环境中重新测试用例? +--- +什么是兼容性测试?如何进行兼容性测试? +--- +白盒测试的具体方法有哪些?如何实施? +--- +软件测试中,BDD 和 TDD 分别是什么? +--- +选择自动化测试工具时应该关注哪些点? +--- +如何分析自动化测试报告? +--- +什么是分布式负载测试?如何实现? +--- +什么是 TPS(Transactions Per Second)? +--- +什么是 QPS(Queries Per Second)? +--- +常见的性能测试方法有哪些? +--- +性能测试的目的是什么? +--- +做好性能测试工作的关键是什么? +--- +服务端性能测试可以从哪些角度进行? +--- +什么是压力测试、负载测试以及性能测试? +--- +软件测试中,什么是内存泄露?什么是内存溢出? +--- +软件测试中,什么是吞吐量和吞吐率? +--- +软件测试中,吞吐量、吞吐率和负载之间有什么关系? +--- +软件测试中,并发用户数与响应时间、吞吐量之间的关系是什么? +--- +什么是安全测试? +--- +什么是渗透测试?为什么渗透测试非常重要? +--- +对于功能测试中重复测试的情况,你会如何处理? +--- +多个项目同时发布时,你如何进行测试管理? +--- diff --git a/测试工具面试题.md b/测试工具面试题.md new file mode 100644 index 0000000..5133d95 --- /dev/null +++ b/测试工具面试题.md @@ -0,0 +1,236 @@ +ADB 是什么? +--- +ADB 的作用是什么? +--- +常用的移动应用自动化测试工具有哪些? +--- +移动端测试中,查看 logcat 日志时如何将内容保存到本地? +--- +简述 Appium 的原理? +--- +使用 Appium 可能遇到的错误有哪些? +--- +需要一台服务器来运行 Appium 上的测试吗? +--- +Monkey 属于自动化测试吗? +--- +有哪些 Android UI 自动化测试工具? +--- +选择自动化测试工具时应该关注哪些点? +--- +平常使用什么工具进行接口测试? +--- +接口测试的常用工具有哪些? +--- +如何使用 JMeter 测试文件上传接口? +--- +对于 POST 请求需要传递 JSON 格式数据,如何在 JMeter 中实现? +--- +如何在 JMeter 中处理需要加密的请求参数? +--- +如果接口返回的数据进行了加密,如何在 JMeter 中进行断言? +--- +如果下一个接口需要使用上一个接口返回的加密数据,如何在 JMeter 中提取? +--- +如何在 JMeter 中测试 GET 请求接口? +--- +如何在 JMeter 中测试 JSON 数据格式的接口? +--- +如何在 JMeter 中添加 Cookie? +--- +如何在 JMeter 中添加 Header 信息? +--- +如何在 JMeter 中测试 SOAP 请求? +--- +如何在 JMeter 中进行参数化?参数化类型有哪些? +--- +如何在 JMeter 中跨线程组传输参数? +--- +如何在 JMeter 中进行断言? +--- +JMeter 测试完成后如何自动发送邮件? +--- +如何在 JMeter 中处理 HTTPS 证书? +--- +如何使用 JMeter 进行 POST 请求测试? +--- +如何在 Pytest 中调用其他用例返回的接口参数? +--- +接口测试时,如何在 Requests 中进行动态关联? +--- +如何使用 Requests 测试 JSON 数据格式的接口? +--- +如何在 Requests 中添加 Cookie? +--- +如何在 Requests 中添加 Header 信息? +--- +如何在 Requests 中处理 HTTPS 证书? +--- +如何在 Requests 中处理签名(sign)和 Token? +--- +Requests 框架有哪些常用方法? +--- +如何进行 Web 自动化测试中的元素定位? +--- +WebDriver 的元素定位方式有哪些? +--- +什么是 ID 元素定位? +--- +什么是 name 元素定位? +--- +什么是 class_name 元素定位? +--- +什么是 tag_name 元素定位? +--- +什么是 link_text 元素定位? +--- +什么是 partial_link_text 元素定位? +--- +如何定位一组元素? +--- +什么是 XPath 定位? +--- +什么是 CSS 定位? +--- +元素有哪些常用操作方法? +--- +WebDriver 操作浏览器有哪些常用方法? +--- +WebDriver 如何操作鼠标? +--- +什么是显式等待? +--- +什么是隐式等待? +--- +显式等待与隐式等待的区别是什么? +--- +常用自动化测试工具及其运行原理是什么?写出一段元素查找的代码。 +--- +Web 自动化测试中,WebDriver 如何开启和退出一个浏览器? +--- +Web 自动化测试中,如何使用 Selenium 在文本输入框中输入文本? +--- +Web 自动化测试中,如何在 WebDriver 中处理 iframe? +--- +Web 自动化测试中,如何获取网页元素的文本? +--- +Web 自动化测试中,WebDriver 中有哪些刷新网页的方法? +--- +Web 自动化测试中,如何在 Selenium WebDriver 中启动不同的浏览器? +--- +Selenium 中有几种类型的等待?它们的区别是什么? +--- +Selenium WebDriver 支持哪些编程语言编写测试用例? +--- +Selenium 中的断言是什么意思? +--- +列出一些可以与 Selenium 集成以实现持续测试的自动化测试工具? +--- +Selenium 中提供几种类型的 WebDriver API? +--- +在 Selenium 中定位网页元素有哪些不同的方法? +--- +什么是 Selenium IDE? +--- +列出 Selenium 支持的一些测试类型? +--- +什么是 Selenium? +--- +Selenium 的工作原理是什么? +--- +Selenium 2 和 Selenium 1 的区别是什么? +--- +Selenium 库中有哪些常用的函数? +--- +Selenium 提供了哪些断言? +--- +有哪些 Bug 或测试用例的管理工具?描述其中一个工具的具体工作流程。 +--- +软件测试中,如何使用 TestLink 工具进行测试管理? +--- +软件测试中,禅道和 QC 这两款测试管理工具有哪些主要区别? +--- +软件测试中,如何编写代码在 WebDriver 中启动 Firefox 浏览器? +--- +什么是 Apache JMeter? +--- +软件测试中,JMeter 的作用以及优缺点是什么? +--- +JMeter 的工作原理是什么? +--- +JMeter 聚合报告里面的参数是什么意思? +--- +JMeter 的基本使用场景有哪些? +--- +什么是 JMeter 的线程组? +--- +在 JMeter 中怎么使用函数和变量? +--- +JMeter 的正则表达式是什么? +--- +JMeter 中处理器的类型有哪些? +--- +JMeter 中的预置处理器元件是什么?请列出一些预置处理器元件。 +--- +JMeter 中测试元件的执行顺序是什么? +--- +JMeter 中的配置元件是什么? +--- +JMeter 中的计时器是什么?计时器的类型有哪些? +--- +软件测试中,如何减少 JMeter 中的资源请求? +--- +如何在 JMeter 中执行尖峰测试(Spike Testing)? +--- +软件测试中,如何在 JMeter 中捕获身份验证窗口的脚本? +--- +JMeter 的监听器有哪些? +--- +软件测试中,在 JMeter 中是否有必要显式调用嵌入式资源? +--- +JMeter 的后置处理器是什么? +--- +Web 自动化测试中,有哪些常用的库? +--- +软件测试中,unittest 框架有哪些组件? +--- +软件测试中,如何使用 unittest 框架? +--- +软件测试中,如何使用 pytest 框架? +--- +软件测试中,pytest 框架如何生成测试报告? +--- +软件测试中,pytest 如何运行多个文件或整个目录? +--- +软件测试中,pytest 框架如何运行上传失败的测试用例? +--- +软件测试中,pytest 运行完成后,如何自动发送邮件? +--- +软件测试中,pytest 中 fixture 装饰器的作用和默认值是什么? +--- +软件测试中,pytest 的 yield 有什么作用? +--- +软件测试中,pytest 运行测试用例的命令规则有哪些? +--- +软件测试中,如何生成 Allure 报告? +--- +软件测试中,AppScan 的原理是什么? +--- +使用 Charles 抓包时,如何修改接口测试数据? +--- +软件测试中,Postman 怎么进行参数化? +--- +有哪些常用的 API 接口管理工具? +--- +常见的 APP 性能测试工具有哪些? +--- +LoadRunner 的工作原理是什么? +--- +LoadRunner 如何录制和编写脚本? +--- +LoadRunner 中的 Think Time 有什么作用? +--- +软件测试中,为什么要抓包?具体怎么抓包?抓包结果怎么分析? +--- +软件测试中,常用的抓包工具有哪些?抓包的原理是什么? +--- diff --git a/消息队列面试题.md b/消息队列面试题.md new file mode 100644 index 0000000..95ec04d --- /dev/null +++ b/消息队列面试题.md @@ -0,0 +1,62 @@ +说一下 RocketMQ 中关于事务消息的实现? +--- +什么是消息队列? +--- +为什么需要消息队列? +--- +说一下消息队列的模型有哪些? +--- +简述下消息队列核心的一些术语? +--- +消息队列如何保证消息不丢失? +--- +消息队列如何处理重复消息(保证消息的幂等性)? +--- +消息队列如何保证消息的有序性(顺序性)? +--- +消息队列如何处理消息堆积? +--- +消息队列设计成推消息还是拉消息?推拉模式的优缺点? +--- +RocketMQ 的事务消息有什么缺点?你还了解过别的事务消息实现吗? +--- +说一下 Kafka 中关于事务消息的实现? +--- +你了解 Kafka 中的时间轮实现吗? +--- +Kafka的索引设计有什么亮点? +--- + 看过源码?那说说 Kafka 控制器事件处理全流程? +--- +Kafka 中 Zookeeper 的作用? +--- +Kafka为什么要抛弃 Zookeeper? +--- +看过源码?那说说 Kafka 处理请求的全流程? +--- +RabbitMQ 中无法路由的消息会去到哪里? +--- +RabbitMQ 中消息什么时候会进入死信交换机? +--- +说一下 AMQP 协议? +--- +说一下 RabbitMQ 的事务机制? +--- +RabbitMQ 中主要有哪几个角色或者说概念? +--- +RabbitMQ 的 routing key 和 binding key 的最大长度是多少字节? +--- +说说 RabbitMQ 的工作模式? +--- +说说 RabbitMQ 的集群模式? +--- +为什么 RocketMQ 不使用 Zookeeper 作为注册中心呢?而选择自己实现 NameServer? +--- +说一下 Kafka 为什么性能高? +--- +RabbitMQ 怎么实现延迟队列? +--- +RocketMQ 的延迟消息是怎么实现的? +--- +RocketMQ 的开发参考了 Kafka,那两者在架构和功能上有什么区别? +--- diff --git a/深度学习面试题.md b/深度学习面试题.md new file mode 100644 index 0000000..77561ab --- /dev/null +++ b/深度学习面试题.md @@ -0,0 +1,82 @@ +什么是深度学习?它与传统机器学习有什么区别? +--- +如何评估一个深度学习模型的性能? +--- +解释权重初始化对深度学习模型的作用。 +--- +有了解过哪些边缘端部署方案? +--- +解释是什么导致了梯度消失和梯度爆炸,以及应该如何应对它们。 +--- +神经网络中的 iteration 和 epoch 相同吗? +--- +如何确定神经网络的层数和神经元数? +--- +激活函数在神经网络中有什么作用? +--- +前向传播和反向传播在神经网络中分别是如何工作的? +--- +神经网络有哪些正则化的操作? +--- +前馈神经网络和循环神经网络的区别是什么? +--- +分别解释神经网络中的 Dropout 和 Batch Normalization 操作。 +--- +Batch Normalization 的作用是什么? +--- +分别说说深度学习中的 Attention 机制和全连接层。 +--- +你知道有哪些深度学习优化算法? +--- +随机梯度下降可以用来做 online learning 吗?若可以,简述其过程。 +--- +简述动量梯度下降算法。 +--- +随机梯度下降和 Adam 谁更容易达到全局最优解? +--- +在选择优化器的过程中,主要看中哪些参数? +--- +深度学习调参的过程中,Batch 的大小如何选择? +--- +说说你对 ReLU 函数及其常见变体的认识。 +--- +ReLU 函数比 Sigmoid 和 tanh 函数更好吗?为什么? +--- +如何理解 ReLU 函数在输入小于 0 时输出为 0? +--- +我们知道 ReLU 函数在 0 处不可导,这对于它在深度学习中的使用有什么影响吗? +--- +什么是卷积神经网络(CNN)?请描述其主要组件和应用。 +--- +说说卷积层的基本参数。 +--- +如何理解卷积层的“深度”? +--- +描述全连接层和卷积层的区别。 +--- +分别解释二维卷积和三维卷积。 +--- +1×1 卷积有什么作用? +--- +池化操作的原理是什么? +--- +卷积核越大越好吗? +--- +有哪些方法可以减少卷积层参数量? +--- +如何理解卷积神经网络中的感受野? +--- +卷积神经网络是如何处理过拟合问题的? +--- +卷积神经网络为什么比较适合做图像识别任务? +--- +什么是局部响应标准化(local response normalization),它可以用于卷积神经网络吗? +--- +请你解释步长(stride)的概念,以及它是如何影响卷积层输出大小的。 +--- +什么是循环神经网络(RNN)?请描述其特点和局限性。 +--- +卷积神经网络和循环神经网络(RNN)有什么区别? +--- +请解释生成对抗网络(GAN)的基本原理和应用场景。 +--- diff --git a/游戏服务端开发面试题.md b/游戏服务端开发面试题.md new file mode 100644 index 0000000..bc24c9c --- /dev/null +++ b/游戏服务端开发面试题.md @@ -0,0 +1,68 @@ +什么是游戏服务端?它在整个游戏架构中的角色是什么? +--- +游戏开发中,为什么在长连接服务器和客户端之间需要加入心跳机制? +--- +游戏开发中,应用层的心跳包机制应如何设计? +--- +什么是 KCP?KCP 在游戏中是如何使用的? +--- +游戏开发中,如何使用 KCP 加速全球玩家的联网体验? +--- +如何设计游戏服务器的缓存系统?游戏场景中应用缓存有哪些缺陷? +--- +游戏开发中,如何利用弱网环境验证游戏中的延迟问题? +--- +游戏服务器如何支持百万玩家同时在线? +--- +游戏开发中,转发代理和反向代理是如何工作的? +--- +游戏开发中,如果客户端突然掉线或者重启,服务器如何立即知晓? +--- +什么是实时游戏服务器?它与回合制游戏服务器有什么区别? +--- +游戏开发中,为什么需要负载均衡?常见的负载均衡策略有哪些? +--- +网络编程中,设计并发服务器时,使用多进程和多线程有什么区别? +--- +TCP 通讯中,为什么会出现 select 到读事件但读到的数据量为 0 的情况?如何解决? +--- +在游戏服务端开发中,是否需要使用 IO 多路复用?它有哪些优缺点? +--- +什么是 Nagle 算法,为什么在游戏开发中可能需要禁用它? +--- +游戏开发中,如何优化网络延迟以获得更好的 Ping 值? +--- +实现游戏积分排行榜时,应该选择 Redis 的哪种数据结构?理由是什么? +--- +游戏开发中,如何确保多人游戏的配对体验快速且顺利? +--- +游戏开发中,如何进行概率设计分析? +--- +游戏开发中,DDA 算法和 Bresenham 算法有哪些应用场景? +--- +游戏开发中,延迟加载的作用是什么?它是如何提高性能的? +--- +游戏开发中,网络延迟对客户端和服务器的性能有什么影响? +--- +游戏开发中,哪些场景可能会应用到消息队列?它如何提高系统性能和可靠性? +--- +什么是无状态通信和有状态通信?游戏服务端开发经常使用哪一种? +--- +游戏开发中,如何设计游戏充值交易平台中的容错和恢复系统? +--- +游戏开发中,如何设计低延迟要求和数百万玩家的实时多人在线游戏? +--- +游戏开发中,如何处理延迟问题? +--- +游戏开发中,服务器如何进行玩家数据的同步和交互? +--- +游戏开发中,如何计算角色技能的目标? +--- +游戏开发中,如何确保生成的玩家 ID 是唯一的? +--- +游戏开发中,游戏拍卖行的秒杀机制可能出现什么问题? +--- +游戏服务端开发经常使用哪些协议?请分别介绍 +--- +游戏开发中,如何在 10000 人场景中实现 AOI 视野管理?如何确保每个玩家仅能看到周围最近的 100 人? +--- diff --git a/滑动窗口面试题.md b/滑动窗口面试题.md new file mode 100644 index 0000000..efc2279 --- /dev/null +++ b/滑动窗口面试题.md @@ -0,0 +1,10 @@ +无重复字符最长子串 +--- +最小覆盖子串 +--- +长度最小的子数组 +--- +替换后的最长重复字符 +--- +滑动窗口最大值 +--- diff --git a/滴滴出行 Java 面经.md b/滴滴出行 Java 面经.md new file mode 100644 index 0000000..88e4b61 --- /dev/null +++ b/滴滴出行 Java 面经.md @@ -0,0 +1,2 @@ +Java 滴滴秋招面经 +--- diff --git a/用户中心项目面试题.md b/用户中心项目面试题.md new file mode 100644 index 0000000..c06b160 --- /dev/null +++ b/用户中心项目面试题.md @@ -0,0 +1,51 @@ +请介绍你在项目中使用的 React 框架的优势和适用场景? +--- +请介绍你在项目中使用的 Spring Boot 框架的优势和适用场景? + +--- +什么是 MyBatis-Plus?它有什么作用?它和 MyBatis 有哪些区别? + +--- +你是如何通过继承定制通用操作模板,从而提高开发效率的? +--- +你在项目中是如何自定义错误码的? +--- +为什么后端需要全局异常处理器?你是如何实现全局异常处理器的? +--- +你在项目中使用了双检锁单例模式来管理 JSON 格式化处理对象,请简要解释一下这个模式的原理和好处?并描述你的具体实现方式? +--- +项目中使用 Nginx 部署前端项目和使用 Docker 部署后端项目,这两种部署方式有什么区别? +--- +介绍一下你部署项目的操作流程? +--- +什么是代理和反向代理?二者有什么区别? +--- +后端有哪些解决跨域的方法?你是如何在本项目中解决跨域的? +--- +什么是单元测试?你是如何编写单元测试的? +--- +什么是单元测试覆盖度?你是如何计算单元测试覆盖度的? +--- +umi-request 请求库和其他前端常见的请求库(比如 Axios)有什么区别? +--- +你提到对 umi-request 请求库进行改造和封装,能否详细说明你添加的全局请求拦截和全局异常处理逻辑是如何实现的? +--- +你是如何实现前端多环境的?如何区分本地和生产环境的请求域名? +--- +请解释什么是 React 组件的生命周期,以及生命周期函数的执行顺序是怎样的? + +--- +在 React 中,什么是 Virtual DOM?它的作用是什么?与真实 DOM 相比,Virtual DOM 有什么优势? +--- +在前端开发中,如何处理跨域请求?请描述常见的跨域解决方案以及它们的优缺点。 +--- +请解释一下 React Hooks,并举例说明如何使用 useState 和 useEffect 这两个常用的 Hooks。 +--- +在前端开发中,如何优化网页的加载性能和渲染性能?请提供一些常见的优化策略和技巧? +--- +请介绍一下本项目的完整业务流程? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? +--- +什么是双亲委派模式? +--- diff --git a/百度 C++ 面经.md b/百度 C++ 面经.md new file mode 100644 index 0000000..b12c184 --- /dev/null +++ b/百度 C++ 面经.md @@ -0,0 +1,4 @@ +C++ 百度实习面经 +--- +C++ 百度网络开发部二面 +--- diff --git a/百度 Java 面经.md b/百度 Java 面经.md new file mode 100644 index 0000000..dbd0e3f --- /dev/null +++ b/百度 Java 面经.md @@ -0,0 +1,10 @@ +Java 百度日常一面 +--- +Java百度一面 +--- +Java 百度一面 +--- +Java百度日常实习一面 +--- +Java 百度日常实习一面 +--- diff --git a/移动端测试面试题.md b/移动端测试面试题.md new file mode 100644 index 0000000..d30526e --- /dev/null +++ b/移动端测试面试题.md @@ -0,0 +1,76 @@ +APP 测试和 Web 测试的区别是什么?APP 测试需要特别注意哪些测试点? +--- +移动端测试中,Android 和 iOS 测试的区别是什么? +--- +测试 APP 时出现 ANR(应用无响应),可能是什么原因导致? +--- +移动端测试中,APP 出现崩溃(闪退)的原因有哪些? +--- +移动端测试中,如何测试一个 APP 的登录场景? +--- +移动端测试中,Push 消息如何测试? +--- +APP 测试的内容主要包括哪些?如何开展? +--- +ADB 是什么? +--- +ADB 的作用是什么? +--- +常用的移动应用自动化测试工具有哪些? +--- +移动端测试中,当点击 APP 图标启动程序时,将会发生哪些过程? +--- +Android 的兼容性测试需要考虑哪些内容? +--- +常用的 ADB 命令有哪些? +--- +移动端测试中,查看 logcat 日志时如何将内容保存到本地? +--- +移动端测试中,定位方式有哪几种?一般如何选择? +--- +简述 Appium 的原理? +--- +使用 Appium 可能遇到的错误有哪些? +--- +需要一台服务器来运行 Appium 上的测试吗? +--- +Monkey 属于自动化测试吗? +--- +有哪些 Android UI 自动化测试工具? +--- +APP 测试具体是怎么做的?要经过哪些流程? +--- +APP 兼容性测试是怎么做的? +--- +APP 稳定性测试是怎么做的?如何使用 Monkey 进行 APP 的稳定性测试? +--- +APP 弱网测试是怎么做的? +--- +APP 的性能测试是怎么做的? +--- +如何测试 APP 的内存使用情况? +--- +如何测试 APP 的流量使用情况? +--- +如何测试 APP 的 CPU 消耗情况? +--- +如何测试 APP 的 FPS(帧率)? +--- +如何测试 APP 的交互性? +--- +如何测试 APP 的安装、卸载和更新功能? +--- +如何测试移动端 H5 界面? +--- +如何测试微信小程序? +--- +你认为 APP 性能测试需要重点关注哪些方面? +--- +有哪些常见的 APP 性能测试的关注点? +--- +常见的 APP 性能测试工具有哪些? +--- +请针对 APP 的安装功能,设计测试点? +--- +你们之前使用什么手机和什么版本进行 App 兼容性测试? +--- diff --git a/算法和数据结构面试题.md b/算法和数据结构面试题.md new file mode 100644 index 0000000..ae3a9f6 --- /dev/null +++ b/算法和数据结构面试题.md @@ -0,0 +1,352 @@ +字符串相似性判断 +--- +集合操作 +--- +账户合并 +--- +动物王国中的食物链 +--- +删除链表中重复的元素 +--- +复制带有随机指针的链表 +--- +分割链表 +--- +找到链表中的倒数第 k 个节点 +--- +旋转链表 +--- +LRU 缓存 +--- +反转链表的部分节点 +--- +判断链表中是否有环 +--- +最长连续不重复子序列 +--- +合并两个有序数组 +--- +盛最多水的容器 +--- +合并两个有序链表 +--- +排序链表 +--- +验证回文串 +--- +反转链表 +--- +判断子序列 +--- +删除排序数组中的重复项 +--- +寻找链表的中间节点 +--- +删除链表中的节点 +--- +实现两个链表的相加 +--- +移动零 +--- +堆排序 +--- +逆序数数量 +--- +两数之和 +--- +找到第 k 大的元素 +--- +字符串组成最大的数字 +--- +快速排序 +--- +找到前 k 大的元素 +--- +冒泡排序 +--- +归并排序 +--- +最小硬币找零问题 +--- +排队打水 +--- +区间合并 +--- +活动选择问题 +--- +最大价值问题 +--- +数独验证 +--- +Huffman 编码 +--- +多次购买的最大利润 +--- +最优广告放置 +--- +调度任务以最小化延迟 +--- +最小生成树 +--- +装箱问题 +--- +单次购买的最大利润 +--- +区间覆盖问题 +--- +扫雷游戏 +--- +被围绕的区域 +--- +迷宫问题 +--- +小偷 +--- +大偷 +--- +石子合并 +--- +水壶问题 +--- +岛屿数量 +--- +最大岛屿面积 +--- +水流问题 +--- +最大乘积子数组 +--- +金融家 +--- +矩阵中的最长递增路径 +--- +正则表达式匹配 +--- +三角形最小路径和 +--- +最长回文子序列 +--- +整数拆分 +--- +最小路径和 +--- +不同路径 +--- +最长上升子序列 +--- +约瑟夫环 +--- +不同路径 +--- +斐波那契数列 +--- +最大正方形 +--- +最大子序和 +--- +编辑距离 +--- +最长连续递增序列 +--- +零钱兑换 +--- +完全平方数 +--- +最长重复子数组 +--- +爬楼梯 +--- +试除法求约数 +--- +快速幂 +--- +试除法判定质数 +--- +最大公约数 +--- +整数的二进制表示的总数 +--- +求不重复的元素的异或和 +--- +筛质数 +--- +汉明距离 +--- +区间更新 +--- +扩展-Nim 游戏 +--- +找到最大异或值 +--- +Nim 游戏 +--- +Nim 游戏 - 台阶 +--- +最大连续 1 的个数 +--- +判断是奇数还是偶数 +--- +2 的幂 +--- +最小的 2 的幂 +--- +缺失的数字 +--- +下一个更大元素(给定一个正整数) +--- +整数中 1 的个数 +--- +只出现一次的数字 +--- +下一个更大元素 +--- +翻转二进制位 +--- +下一个更大元素(给定一个循环数组) +--- +高效交换两个数 +--- +单一元素 +--- +只出现一次的数字 +--- +逆波兰表达式求值 +--- +二叉树的最大路径和 +--- +从前序与中序遍历序列构造二叉树 +--- +从中序与后序遍历序列构造二叉树 +--- +栈的链式存储 +--- +下一个更大元素 +--- +括号匹配 +--- +二叉树的最近公共祖先 +--- +最小栈 +--- +用栈实现队列 +--- +二叉树的右视图 +--- +表达式求值 +--- +验证二叉搜索树 +--- +用队列实现栈 +--- +二叉树的序列化与反序列化 +--- +大数加法 +--- +最长回文子串 +--- +二叉树的最大深度 +--- +二叉树的最小深度 +--- +路径总和 +--- +对称二叉树 +--- +压缩字符串 +--- +二叉树的中序遍历 +--- +二叉树的层序遍历 +--- +二叉树的直径 +--- +二叉树的前序遍历 +--- +二叉树的后序遍历 +--- +翻转二叉树 +--- +二叉树的所有路径 +--- +二叉树的中序遍历 +--- +二分图检测 +--- +拓扑排序 +--- +二维区域和检索 +--- +字符串中的第一个唯一字符 +--- +字符串中的单词数 +--- +反转单词顺序 +--- +单源最短路径 +--- +子数组最大平均数 +--- +判断回文串 +--- +关键连接 +--- +判断负权回路 +--- +反转字符串 +--- +区间和 +--- +判断图中是否存在环 +--- +图的深度优先搜索 +--- +克隆图 +--- +课程表 +--- +最短路径 +--- +图的广度优先搜索 +--- +N 皇后问题 +--- +最小生成树 +--- +网络延迟时间 +--- +最大异或对 +--- +可能的二分法 +--- +课程表 +--- +N 皇后问题 +--- +组合总和 +--- +字符串集合维护 +--- +子集 - 有重复元素 +--- +括号生成 +--- +包含重复元素的全排列 +--- +组合 +--- +单词搜索 +--- +子集 +--- +全排列 +--- +游戏开发中,如何在 10000 人场景中实现 AOI 视野管理?如何确保每个玩家仅能看到周围最近的 100 人? +--- +游戏开发中,如何进行概率设计分析? +--- +游戏开发中,如何计算角色技能的目标? +--- +游戏开发中,DDA 算法和 Bresenham 算法有哪些应用场景? +--- +常见八大排序算法的稳定性 +--- diff --git a/系统故障排查面试题.md b/系统故障排查面试题.md new file mode 100644 index 0000000..482e0cf --- /dev/null +++ b/系统故障排查面试题.md @@ -0,0 +1,40 @@ +请描述 Linux 系统中常用的日志文件及其位置。 +--- +在 Windows 系统中,如何使用事件查看器进行故障排查? +--- +描述一次常见的 Linux 系统故障及其解决过程。 +--- +在 Windows 系统中,如何使用 PowerShell 进行故障排查? +--- +请解释如何使用 strace 工具调试和排查 Linux 程序的问题。 +--- +如何在 Windows 系统中排查网络连接故障? +--- +描述一次常见的 Windows 系统故障及其解决过程。 +--- +请解释如何使用 tcpdump 工具分析网络流量。 +--- +在 Linux 系统中,如何检查并修复文件系统错误? +--- +如何在 Windows 系统中使用命令行工具排查磁盘问题? +--- +在 Linux 系统中,如何使用 dmesg 命令查看内核日志? +--- +描述 Windows 系统中的蓝屏错误及其常见解决方法。 +--- +如何在 Linux 系统中使用 lsof 命令排查文件占用问题? +--- +请解释 Windows 系统中 BSOD(蓝屏死机)的排查步骤。 +--- +如何使用 Linux 系统中的 top 命令进行性能监控? +--- +在 Windows 系统中,如何使用 netstat 命令检查网络连接? +--- +请描述 Linux 系统中一次常见的网络故障及其解决方案。 +--- +如何在 Windows 系统中排查和解决应用程序崩溃问题? +--- +请解释 Linux 系统中的内存泄漏问题及其排查方法。 +--- +在 Windows 系统中,如何通过注册表进行故障排查? +--- diff --git a/系统监控面试题.md b/系统监控面试题.md new file mode 100644 index 0000000..d724d23 --- /dev/null +++ b/系统监控面试题.md @@ -0,0 +1,40 @@ +请解释 Nagios 的基本架构和监控机制。 +--- +如何在 Zabbix 中添加一个新的监控主机? +--- +描述 Prometheus 的数据采集和存储流程。 +--- +在 Nagios 中,如何配置邮件告警功能? +--- +请解释 Zabbix 的模板机制,并举例说明如何使用模板。 +--- +如何使用 Prometheus 实现对 Linux 系统的基础监控? +--- +在 Nagios 中,如何监控一个自定义的服务? +--- +请描述 Zabbix 和 Prometheus 之间的主要区别。 +--- +如何在 Prometheus 中设置报警规则? +--- +使用 Zabbix 监控网络设备的基本步骤是什么? +--- +请解释如何在 Nagios 中设置一个自定义插件。 +--- +如何使用 Zabbix 实现对 MySQL 数据库的监控? +--- +描述 Prometheus 的报警机制及其配置方法。 +--- +在 Nagios 中,如何实现分布式监控? +--- +请解释 Zabbix 的自动发现功能及其应用场景。 +--- +如何使用 Prometheus 和 Grafana 进行数据可视化? +--- +在 Nagios 中,如何配置 SNMP 监控? +--- +请描述 Zabbix 的代理(Agent)和代理器(Proxy)的区别。 +--- +如何在 Prometheus 中使用 Exporter 收集特定服务的指标? +--- +使用 Zabbix 进行 Windows 系统监控的步骤是什么? +--- diff --git a/系统管理面试题.md b/系统管理面试题.md new file mode 100644 index 0000000..bdb0a29 --- /dev/null +++ b/系统管理面试题.md @@ -0,0 +1,40 @@ +请解释 Ansible 的基本架构和工作原理。 +--- +如何使用 Puppet 来管理多个服务器上的配置? +--- +请描述 Chef 的工作流程以及它在配置管理中的应用。 +--- +在 Ansible 中,如何编写一个简单的 Playbook 来安装 Apache 服务? +--- +Puppet 使用的清单(Manifest)文件是什么?请举例说明。 +--- +如何使用 Chef 来实现一个自动化部署任务? +--- +请解释 Ansible、Puppet 和 Chef 之间的主要区别和应用场景。 +--- +如何使用 Ansible Tower 提高 Ansible 的管理能力? +--- +Puppet 中的 Hiera 是什么,有什么用途? +--- +Chef 中的 Cookbook 和 Recipe 有什么区别? +--- +请描述 Ansible 的模块化设计及其主要模块。 +--- +如何在 Puppet 中使用 Facter 来收集节点信息? +--- +请解释 Chef 中的资源和提供者的概念。 +--- +在 Ansible 中,如何使用角色来组织 Playbook? +--- +Puppet 的代码分布是如何组织的?请详细说明。 +--- +如何使用 Chef 实现对应用程序的自动化部署? +--- +在 Ansible 中,如何管理变量和加密数据? +--- +Puppet 中的分级分类(Class)系统是如何运作的? +--- +请描述 Chef 的节点(Node)和环境(Environment)概念。 +--- +在 Ansible 中,如何处理多个环境的配置? +--- diff --git a/系统运维面试题.md b/系统运维面试题.md new file mode 100644 index 0000000..323ea0c --- /dev/null +++ b/系统运维面试题.md @@ -0,0 +1,202 @@ +解释如何在 Linux 和 Windows 操作系统上设置环境变量。 +--- +描述 Linux 文件系统的结构,并解释每个目录的作用。 +--- +如何在 Linux 系统上查看和管理进程? +--- +Windows 操作系统中如何使用任务管理器进行进程监控? +--- +在 Windows 中,如何使用命令行工具检查网络连接状况? +--- +如何在 Linux 系统中使用 crontab 定时执行任务? +--- +在 Windows 中,如何设置计划任务来自动运行脚本? +--- +描述如何在 Linux 和 Windows 操作系统中安装和卸载软件包。 +--- +在 Linux 系统中,如何检查系统的磁盘使用情况? +--- +如何在 Windows 操作系统中管理磁盘分区? +--- +请解释 Linux 系统中的权限管理机制。 +--- +如何在 Windows 系统中配置防火墙规则? +--- +在 Linux 系统中,如何查看和管理系统服务? +--- +描述 Windows 操作系统中的用户和组管理。 +--- +如何在 Linux 系统中使用 SSH 进行远程登录? +--- +请解释 Windows 注册表的作用及其基本结构。 +--- +如何在 Linux 系统中配置静态 IP 地址? +--- +描述如何在 Windows 系统中管理设备驱动程序。 +--- +在 Linux 系统中,如何设置文件的权限和拥有者? +--- +如何在 Windows 系统中使用命令行管理用户账户? +--- +请解释 Ansible 的基本架构和工作原理。 +--- +如何使用 Puppet 来管理多个服务器上的配置? +--- +请描述 Chef 的工作流程以及它在配置管理中的应用。 +--- +在 Ansible 中,如何编写一个简单的 Playbook 来安装 Apache 服务? +--- +Puppet 使用的清单(Manifest)文件是什么?请举例说明。 +--- +如何使用 Chef 来实现一个自动化部署任务? +--- +请解释 Ansible、Puppet 和 Chef 之间的主要区别和应用场景。 +--- +如何使用 Ansible Tower 提高 Ansible 的管理能力? +--- +Puppet 中的 Hiera 是什么,有什么用途? +--- +Chef 中的 Cookbook 和 Recipe 有什么区别? +--- +请描述 Ansible 的模块化设计及其主要模块。 +--- +如何在 Puppet 中使用 Facter 来收集节点信息? +--- +请解释 Chef 中的资源和提供者的概念。 +--- +在 Ansible 中,如何使用角色来组织 Playbook? +--- +Puppet 的代码分布是如何组织的?请详细说明。 +--- +如何使用 Chef 实现对应用程序的自动化部署? +--- +在 Ansible 中,如何管理变量和加密数据? +--- +Puppet 中的分级分类(Class)系统是如何运作的? +--- +请描述 Chef 的节点(Node)和环境(Environment)概念。 +--- +在 Ansible 中,如何处理多个环境的配置? +--- +如何在 Shell 脚本中实现字符串的截取和拼接? +--- +请写出一个 Python 脚本,读取并打印指定文件的内容。 +--- +在 Shell 中,如何通过循环处理多个文件? +--- +如何使用 Python 实现文件的复制和移动操作? +--- +请描述在 Shell 脚本中如何使用条件判断语句。 +--- +如何使用 Python 的 requests 库发送 HTTP 请求? +--- +编写一个 Shell 脚本,检查服务器的磁盘使用率,并发送告警邮件。 +--- +使用 Python 编写一个脚本,实现定时备份 MySQL 数据库。 +--- +请写出一个 Shell 脚本,用于监控指定进程是否运行,并在停止时重新启动该进程。 +--- +在 Python 中,如何使用多线程来提高脚本的执行效率? +--- +如何在 Shell 脚本中处理命令行参数? +--- +请写一个 Python 脚本,计算一个目录下所有文件的总大小。 +--- +在 Shell 中,如何实现一个简单的文件监控脚本? +--- +如何使用 Python 的 subprocess 模块执行外部命令? +--- +请解释 Shell 脚本中的管道(Pipeline)机制及其应用。 +--- +如何使用 Python 实现对一个文件的增量备份? +--- +编写一个 Shell 脚本,定期清理系统中的临时文件。 +--- +请写一个 Python 脚本,连接并查询一个 MySQL 数据库。 +--- +在 Shell 中,如何使用 awk 命令处理文本文件? +--- +如何使用 Python 的 threading 模块实现并发执行任务? +--- +请解释 Nagios 的基本架构和监控机制。 +--- +如何在 Zabbix 中添加一个新的监控主机? +--- +描述 Prometheus 的数据采集和存储流程。 +--- +在 Nagios 中,如何配置邮件告警功能? +--- +请解释 Zabbix 的模板机制,并举例说明如何使用模板。 +--- +如何使用 Prometheus 实现对 Linux 系统的基础监控? +--- +在 Nagios 中,如何监控一个自定义的服务? +--- +请描述 Zabbix 和 Prometheus 之间的主要区别。 +--- +如何在 Prometheus 中设置报警规则? +--- +使用 Zabbix 监控网络设备的基本步骤是什么? +--- +请解释如何在 Nagios 中设置一个自定义插件。 +--- +如何使用 Zabbix 实现对 MySQL 数据库的监控? +--- +描述 Prometheus 的报警机制及其配置方法。 +--- +在 Nagios 中,如何实现分布式监控? +--- +请解释 Zabbix 的自动发现功能及其应用场景。 +--- +如何使用 Prometheus 和 Grafana 进行数据可视化? +--- +在 Nagios 中,如何配置 SNMP 监控? +--- +请描述 Zabbix 的代理(Agent)和代理器(Proxy)的区别。 +--- +如何在 Prometheus 中使用 Exporter 收集特定服务的指标? +--- +使用 Zabbix 进行 Windows 系统监控的步骤是什么? +--- +请描述 Linux 系统中常用的日志文件及其位置。 +--- +在 Windows 系统中,如何使用事件查看器进行故障排查? +--- +描述一次常见的 Linux 系统故障及其解决过程。 +--- +在 Windows 系统中,如何使用 PowerShell 进行故障排查? +--- +请解释如何使用 strace 工具调试和排查 Linux 程序的问题。 +--- +如何在 Windows 系统中排查网络连接故障? +--- +描述一次常见的 Windows 系统故障及其解决过程。 +--- +请解释如何使用 tcpdump 工具分析网络流量。 +--- +在 Linux 系统中,如何检查并修复文件系统错误? +--- +如何在 Windows 系统中使用命令行工具排查磁盘问题? +--- +在 Linux 系统中,如何使用 dmesg 命令查看内核日志? +--- +描述 Windows 系统中的蓝屏错误及其常见解决方法。 +--- +如何在 Linux 系统中使用 lsof 命令排查文件占用问题? +--- +请解释 Windows 系统中 BSOD(蓝屏死机)的排查步骤。 +--- +如何使用 Linux 系统中的 top 命令进行性能监控? +--- +在 Windows 系统中,如何使用 netstat 命令检查网络连接? +--- +请描述 Linux 系统中一次常见的网络故障及其解决方案。 +--- +如何在 Windows 系统中排查和解决应用程序崩溃问题? +--- +请解释 Linux 系统中的内存泄漏问题及其排查方法。 +--- +在 Windows 系统中,如何通过注册表进行故障排查? +--- +Linux 有哪些常用命令? +--- diff --git a/网易 Java 面经.md b/网易 Java 面经.md new file mode 100644 index 0000000..e607bd6 --- /dev/null +++ b/网易 Java 面经.md @@ -0,0 +1,4 @@ +Java 网易服务端一面 +--- +Java 网易云音乐一面 +--- diff --git a/网络协议面试题.md b/网络协议面试题.md new file mode 100644 index 0000000..19b3ec3 --- /dev/null +++ b/网络协议面试题.md @@ -0,0 +1,68 @@ +描述什么是 BGP,并解释其在互联网中的作用。 +--- +在网络管理中,什么是 SNMP,并描述其工作原理。 +--- +在计算机网络中,描述 IPSec 协议的作用及其工作原理。 +--- +解释什么是网络地址转换(NAT),并描述其工作原理。 +--- +请解释 TCP/IP 协议的四层模型及其每一层的主要功能。 +--- +请解释 ARP 协议的作用及其工作原理。 +--- +什么是 NAT?它在网络中的作用是什么? +--- +请描述 TCP 三次握手和四次挥手的过程。 +--- +什么是 ICMP 协议?它的主要作用是什么? +--- +路由协议与路由选择算法之间有什么区别? +--- +TCP 和 UDP 有哪些区别?各自的应用场景是什么? +--- +请描述 ICMP 重定向的作用及其工作原理。 +--- +请描述 RIP 协议的工作原理及其特点。 +--- +请解释 HTTP 和 HTTPS 之间的区别及工作原理。 +--- +DNS 协议的作用是什么?请描述其解析过程。 +--- +请解释 BGP 协议的工作原理及其应用场景。 +--- +请描述 SMTP 和 IMAP 协议的区别及各自的应用场景。 +--- +什么是 FTP 协议?它的主要用途是什么? +--- +请解释 SNMP 协议的基本工作机制及其应用。 +--- +什么是 PPP 协议?请描述其基本工作流程。 +--- +请解释 DHCP 协议的工作原理及其应用场景。 +--- +请描述 Telnet 和 SSH 的区别及其应用场景。 +--- +请解释 TLS/SSL 的工作原理及其在网络安全中的应用。 +--- +请解释 HTTPS 中的 SSL/TLS 握手过程。 +--- +请描述 DHCP 中继代理的作用及配置方法。 +--- +请解释 SIP 协议的基本工作原理及应用。 +--- +请描述 TFTP 和 FTP 之间的区别及应用场景。 +--- +什么是 LDAP 协议?请解释其主要用途。 +--- +请解释 IGMP 协议的作用及其工作机制。 +--- +什么是 MPLS 协议?请解释其基本原理。 +--- +HTTP2 有哪些新特性和优势? +--- +请解释 Radius 和 TACACS+ 的区别及应用? +--- +请描述 NTP 协议的工作原理及其重要性。 +--- +请描述 IPv6 的基本特性及其优势。 +--- diff --git a/网络安全面试题.md b/网络安全面试题.md new file mode 100644 index 0000000..d3ad289 --- /dev/null +++ b/网络安全面试题.md @@ -0,0 +1,42 @@ +解释什么是 ARP 欺骗攻击,并描述如何防范此类攻击。 +--- +请解释防火墙的基本原理及其主要功能。 +--- +什么是 VPN?请解释其工作原理及应用场景。 +--- +请描述 DDoS 攻击的原理及防御措施。 +--- +请解释 IPS 和 IDS 之间的区别及其各自的作用。 +--- +什么是蜜罐技术?它在网络安全中的作用是什么? +--- +请解释常见的加密算法及其应用场景。 +--- +如何在企业网络中实施安全审计? +--- +什么是双因素认证?它有什么优点? +--- +请描述常见的网络攻击类型及其防御措施。 +--- +什么是零信任安全模型?请解释其基本理念。 +--- +什么是网络防火墙?它有哪些分类? +--- +请描述 WAF 的工作原理及其应用场景。 +--- +什么是安全信息和事件管理(SIEM)? +--- +什么是社交工程攻击?以及有哪些防范措施? +--- +如何实施网络入侵检测系统(NIDS)? +--- +请解释数据泄露的主要原因及防护措施。 +--- +如何进行网络安全风险评估? +--- +什么是 BYOD 策略?请解释其安全风险及对策。 +--- +什么是勒索软件?有哪些防护方法? +--- +请描述网络安全事件响应的基本步骤。 +--- diff --git a/网络工程师面试题.md b/网络工程师面试题.md new file mode 100644 index 0000000..eb5838f --- /dev/null +++ b/网络工程师面试题.md @@ -0,0 +1,236 @@ +请解释 TCP/IP 协议的四层模型及其每一层的主要功能。 +--- +什么是子网掩码?如何通过子网掩码划分子网? +--- +OSI 模型中,每一层的主要功能是什么? +--- +请解释 ARP 协议的作用及其工作原理。 +--- +什么是 NAT?它在网络中的作用是什么? +--- +什么是 VLAN?如何在交换机上配置 VLAN? +--- +请描述 TCP 三次握手和四次挥手的过程。 +--- +请解释 MTU 的概念及其在网络传输中的重要性。 +--- +什么是 ICMP 协议?它的主要作用是什么? +--- +路由协议与路由选择算法之间有什么区别? +--- +TCP 和 UDP 有哪些区别?各自的应用场景是什么? +--- +什么是 IP 地址?IP 地址有哪些分类? +--- +什么是网络掩码?它的作用是什么? +--- +广播域和碰撞域有什么区别? +--- +请描述 ICMP 重定向的作用及其工作原理。 +--- +什么是多播?请解释多播的基本原理。 +--- +请解释网络拓扑结构的概念及常见类型。 +--- +请描述 RIP 协议的工作原理及其特点。 +--- +什么是 MAC 地址?它在网络中有什么作用? +--- +什么是粘性 MAC 地址及其应用? +--- +如何在 Cisco 路由器上配置静态路由? +--- +如何在交换机上配置链路聚合? +--- +在防火墙上如何配置基本的访问控制列表(ACL)? +--- +如何配置并管理 DHCP 服务器? +--- +如何在路由器上进行端口转发设置? +--- +请描述在交换机上配置 Spanning Tree Protocol 的过程。 +--- +如何在防火墙上设置 NAT 规则? +--- +请解释 OSPF 的基本配置步骤及其常见用途。 +--- +如何在交换机上进行 Trunk 端口的配置? +--- +如何在防火墙上配置 VPN 连接? +--- +如何在 Cisco 交换机上配置端口安全性? +--- +如何在路由器上配置 OSPF 多区域? +--- +如何在防火墙上配置 NAT Overload? +--- +如何在路由器上配置 GRE 隧道? +--- +如何在交换机上配置端口镜像? +--- +如何在防火墙上配置 IPSec VPN? +--- +如何在路由器上配置动态 NAT? +--- +如何在交换机上配置 VLAN 间路由? +--- +如何在防火墙上配置 SSL VPN? +--- +如何在路由器上配置 EIGRP? +--- +请解释 HTTP 和 HTTPS 之间的区别及工作原理。 +--- +DNS 协议的作用是什么?请描述其解析过程。 +--- +请解释 BGP 协议的工作原理及其应用场景。 +--- +请描述 SMTP 和 IMAP 协议的区别及各自的应用场景。 +--- +什么是 FTP 协议?它的主要用途是什么? +--- +请解释 SNMP 协议的基本工作机制及其应用。 +--- +什么是 PPP 协议?请描述其基本工作流程。 +--- +请解释 DHCP 协议的工作原理及其应用场景。 +--- +请描述 Telnet 和 SSH 的区别及其应用场景。 +--- +请解释 TLS/SSL 的工作原理及其在网络安全中的应用。 +--- +请解释 HTTPS 中的 SSL/TLS 握手过程。 +--- +请描述 DHCP 中继代理的作用及配置方法。 +--- +请解释 SIP 协议的基本工作原理及应用。 +--- +请描述 TFTP 和 FTP 之间的区别及应用场景。 +--- +什么是 LDAP 协议?请解释其主要用途。 +--- +请解释 IGMP 协议的作用及其工作机制。 +--- +什么是 MPLS 协议?请解释其基本原理。 +--- +HTTP2 有哪些新特性和优势? +--- +请解释 Radius 和 TACACS+ 的区别及应用? +--- +请描述 NTP 协议的工作原理及其重要性。 +--- +请解释防火墙的基本原理及其主要功能。 +--- +什么是 VPN?请解释其工作原理及应用场景。 +--- +请描述 DDoS 攻击的原理及防御措施。 +--- +请解释 IPS 和 IDS 之间的区别及其各自的作用。 +--- +什么是蜜罐技术?它在网络安全中的作用是什么? +--- +请解释常见的加密算法及其应用场景。 +--- +如何在企业网络中实施安全审计? +--- +什么是双因素认证?它有什么优点? +--- +请描述常见的网络攻击类型及其防御措施。 +--- +什么是零信任安全模型?请解释其基本理念。 +--- +什么是网络防火墙?它有哪些分类? +--- +请描述 WAF 的工作原理及其应用场景。 +--- +什么是安全信息和事件管理(SIEM)? +--- +什么是社交工程攻击?以及有哪些防范措施? +--- +如何实施网络入侵检测系统(NIDS)? +--- +请解释数据泄露的主要原因及防护措施。 +--- +如何进行网络安全风险评估? +--- +什么是 BYOD 策略?请解释其安全风险及对策。 +--- +什么是勒索软件?有哪些防护方法? +--- +请描述网络安全事件响应的基本步骤。 +--- +如何进行网络连通性测试? +--- +当用户无法访问某网站时,如何逐步排查问题? +--- +如何使用 Wireshark 进行网络数据包分析? +--- +如何排查和解决网络带宽瓶颈问题? +--- +当出现网络延迟时,如何进行排查和优化? +--- +如何通过日志分析来排查网络故障? +--- +如何排查和解决网络中出现的 IP 地址冲突问题? +--- +当路由器无法正常工作时,如何进行排查? +--- +如何处理交换机端口故障? +--- +如何进行无线网络故障排查? +--- +如何使用 Traceroute 进行网络故障排查? +--- +当无线网络信号弱时,如何进行故障排查? +--- +当某台主机无法访问互联网时,如何进行故障排查? +--- +如何使用 Netstat 工具进行网络故障排查? +--- +如何排查和解决网络中断问题? +--- +当某个网络设备无法正常工作时,如何排查故障? +--- +如何通过网络流量监控来排查故障? +--- +当出现 DNS 解析问题时,如何进行故障排查? +--- +请解释什么是 CDN 及其工作原理。 +--- +请描述物联网(IoT)的基本概念及应用场景。 +--- +什么是 SDN?请解释其基本原理及优势。 +--- +请解释云计算的基本概念及其在网络中的应用。 +--- +请描述边缘计算的概念及其优势。 +--- +请解释网络虚拟化的概念及其应用场景。 +--- +请解释大数据技术对网络工程的影响。 +--- +请描述 5G 技术的基本特性及其应用前景。 +--- +什么是容器化技术?请解释其在网络中的应用。 +--- +请解释零信任架构在企业网络中的实施方法。 +--- +什么是网络中立性?请解释其重要性。 +--- +请描述 IPv6 的基本特性及其优势。 +--- +请解释虚拟专用网络(VPN)的不同类型。 +--- +请描述边缘计算和云计算的区别及应用场景。 +--- +什么是大数据分析?请解释其在网络中的应用。 +--- +请解释什么是网络功能虚拟化(NFV)? +--- +请描述智能网络管理的概念及其优势。 +--- +什么是网络带宽管理?请解释其重要性。 +--- +请解释软件定义广域网(SD-WAN)的概念及优势。 +--- +什么是区块链技术?请解释其在网络中的应用。 +--- diff --git a/网络故障排查面试题.md b/网络故障排查面试题.md new file mode 100644 index 0000000..21a730a --- /dev/null +++ b/网络故障排查面试题.md @@ -0,0 +1,38 @@ +在网络故障排查中,如何使用 ping 和 traceroute 命令? +--- +如何进行网络连通性测试? +--- +当用户无法访问某网站时,如何逐步排查问题? +--- +如何使用 Wireshark 进行网络数据包分析? +--- +如何排查和解决网络带宽瓶颈问题? +--- +当出现网络延迟时,如何进行排查和优化? +--- +如何通过日志分析来排查网络故障? +--- +如何排查和解决网络中出现的 IP 地址冲突问题? +--- +当路由器无法正常工作时,如何进行排查? +--- +如何处理交换机端口故障? +--- +如何进行无线网络故障排查? +--- +如何使用 Traceroute 进行网络故障排查? +--- +当无线网络信号弱时,如何进行故障排查? +--- +当某台主机无法访问互联网时,如何进行故障排查? +--- +如何使用 Netstat 工具进行网络故障排查? +--- +如何排查和解决网络中断问题? +--- +当某个网络设备无法正常工作时,如何排查故障? +--- +如何通过网络流量监控来排查故障? +--- +当出现 DNS 解析问题时,如何进行故障排查? +--- diff --git a/网络配置面试题.md b/网络配置面试题.md new file mode 100644 index 0000000..dde4b2f --- /dev/null +++ b/网络配置面试题.md @@ -0,0 +1,40 @@ +如何在 Cisco 路由器上配置静态路由? +--- +如何在交换机上配置链路聚合? +--- +在防火墙上如何配置基本的访问控制列表(ACL)? +--- +如何配置并管理 DHCP 服务器? +--- +如何在路由器上进行端口转发设置? +--- +请描述在交换机上配置 Spanning Tree Protocol 的过程。 +--- +如何在防火墙上设置 NAT 规则? +--- +请解释 OSPF 的基本配置步骤及其常见用途。 +--- +如何在交换机上进行 Trunk 端口的配置? +--- +如何在防火墙上配置 VPN 连接? +--- +如何在 Cisco 交换机上配置端口安全性? +--- +如何在路由器上配置 OSPF 多区域? +--- +如何在防火墙上配置 NAT Overload? +--- +如何在路由器上配置 GRE 隧道? +--- +如何在交换机上配置端口镜像? +--- +如何在防火墙上配置 IPSec VPN? +--- +如何在路由器上配置动态 NAT? +--- +如何在交换机上配置 VLAN 间路由? +--- +如何在防火墙上配置 SSL VPN? +--- +如何在路由器上配置 EIGRP? +--- diff --git a/美团 Java 面经.md b/美团 Java 面经.md new file mode 100644 index 0000000..14b93ff --- /dev/null +++ b/美团 Java 面经.md @@ -0,0 +1,40 @@ +美团一面面经(难) +--- +美团后端日常一面 +--- +美团到店一面 +--- +美团社招一面-两年Java-面经 +--- +Java 美团到店一面凉经 +--- +Java 美团一面(校招) 1h10min +--- +Java 美团(社招)面经 +--- +Java 美团社招一面(5年) +--- +Java 美团一面(70分钟) +--- +Java 美团到家一面面经(秋招) +--- +Java 美团日常实习二面 +--- +Java 美团开发(财务侧)一面 +--- +Java 美团本地商业后端一面 +--- +Java 美团社招一面 +--- +Java 美团大模型后端实习面经 +--- +Java 美团后端(校招) +--- +Java 美团到家一面(春招) +--- +Java美团(基础研发平台)后端一面 +--- +Java 美团供给优化后端(校招) +--- +Java 美团 AI 面试(校招) +--- diff --git a/聚合搜索项目面试题.md b/聚合搜索项目面试题.md new file mode 100644 index 0000000..d089f13 --- /dev/null +++ b/聚合搜索项目面试题.md @@ -0,0 +1,57 @@ +你的项目中使用了哪些技术栈?请分别介绍一下 Spring Boot、Elastic Stack 在项目中的作用。 +--- +你提到自己二次开发了 Spring Boot 初始化模板,这个模板有哪些功能? + +--- +什么是 HttpClient?如何使用 HttpClient 来抓取外部网站的文章?请简述整个过程。 +--- +什么是 Jsoup?它和HttpClient 有什么区别? +--- +什么是 CompletableFuture?你在项目中如何使用它实现并发搜索? +--- +你使用了门面模式来对各类数据源的搜索结果进行聚合,请介绍门面模式的概念、作用和实现方式? +--- +你使用了适配器模式来实现新数据源的接入,请介绍适配器模式的概念、作用和实现方式? +--- +你使用了注册器模式来管理多个数据源对象,请介绍注册器模式的概念、作用和实现方式? +--- +什么是代码的圈复杂度?为什么要关注代码的圈复杂度? + +--- +什么是 Elasticsearch?Elasticsearch 和 MySQL 分别有哪些应用场景和优缺点? +--- +Elasticsearch 为什么能实现更灵活的查询? +--- +你提到采用动静分离的策略存储文章信息,请解释一下动静分离的概念,以及它在本项目中具体的实现方式。 +--- +请简要介绍一下 Kibana 的作用和它的基本功能,你在项目中使用了 Kibana 的哪些功能? +--- +请简单介绍如何使用 Kibana DevTools + DSL 调试 ES 的搜索效果,你是怎么操作的? +--- +你在项目中使用了 Spring Data Elasticsearch 的 QueryBuilder +--- +在 MySQL 和 Elasticsearch 的数据同步过程中,你如何解决重复更新或插入的问题? +--- +什么是 Canal?它有什么作用?请简述它的核心实现原理? +--- +你在项目中使用了 Swagger + Knife4j 自动生成接口文档,请谈谈 Swagger 和 Knife4j 的作用和它们对项目开发的影响。 +--- +什么是 Vue 中的响应式变量? +--- +请介绍一下 Vue 3 的新特性和与 Vue 2 相比有哪些变化? +--- +项目前端使用了 Ant Design Vue 组件库,请列举几个你用到的组件并介绍它们的用途?你还会使用哪些组件库? +--- +什么是前端的组件?针对不同类型的数据,你分别选择哪种组件进行展示? +--- +什么是 Vue Router 的动态路由?你在项目中如何使用动态路由实现不同页面切换? +--- +什么是响应式页面开发?如何实现响应式页面开发? +--- +项目是否有上线?你是如何实现前端页面部署的? +--- +请介绍一下本项目的完整业务流程? +--- +在开发过程中,你遇到过比较复杂的技术问题或挑战吗?如果有,请谈谈你是如何解决这些问题的? + +--- diff --git a/脚本编写面试题.md b/脚本编写面试题.md new file mode 100644 index 0000000..caecdb2 --- /dev/null +++ b/脚本编写面试题.md @@ -0,0 +1,100 @@ +如何在 Shell 脚本中实现字符串的截取和拼接? +--- +请写出一个 Python 脚本,读取并打印指定文件的内容。 +--- +在 Shell 中,如何通过循环处理多个文件? +--- +如何使用 Python 实现文件的复制和移动操作? +--- +请描述在 Shell 脚本中如何使用条件判断语句。 +--- +如何使用 Python 的 requests 库发送 HTTP 请求? +--- +编写一个 Shell 脚本,检查服务器的磁盘使用率,并发送告警邮件。 +--- +使用 Python 编写一个脚本,实现定时备份 MySQL 数据库。 +--- +请写出一个 Shell 脚本,用于监控指定进程是否运行,并在停止时重新启动该进程。 +--- +在 Python 中,如何使用多线程来提高脚本的执行效率? +--- +如何在 Shell 脚本中处理命令行参数? +--- +请写一个 Python 脚本,计算一个目录下所有文件的总大小。 +--- +在 Shell 中,如何实现一个简单的文件监控脚本? +--- +如何使用 Python 的 subprocess 模块执行外部命令? +--- +请解释 Shell 脚本中的管道(Pipeline)机制及其应用。 +--- +如何使用 Python 实现对一个文件的增量备份? +--- +编写一个 Shell 脚本,定期清理系统中的临时文件。 +--- +请写一个 Python 脚本,连接并查询一个 MySQL 数据库。 +--- +在 Shell 中,如何使用 awk 命令处理文本文件? +--- +如何使用 Python 的 threading 模块实现并发执行任务? +--- +请编写一个 Python 脚本实现文件的批量重命名。 +--- +如何在 Bash 脚本中实现条件判断和循环操作? +--- +请用 Python 实现一个简单的 HTTP 服务器。 +--- +如何在 Shell 脚本中使用管道(pipeline)实现数据传递? +--- +使用 Python 读取和写入 JSON 文件的方式有哪些? +--- +请编写一个 Shell 脚本监控系统的 CPU 使用率。 +--- +在 Python 中,如何使用多线程(multithreading)提高程序性能? +--- +Bash 中如何通过函数实现代码的重用? +--- +使用 Python 的 requests 库如何发送 HTTP 请求? +--- +请解释 Shell 脚本中的重定向(redirection)操作及其用途。 +--- +如何使用 Python 的 argparse 模块解析命令行参数? +--- +请编写一个 Bash 脚本实现定时备份功能。 +--- +在 Python 中,如何处理文件的异常情况? +--- +Shell 脚本中如何使用 here document 实现多行文本输入? +--- +使用 Python 实现对一个目录下所有文件的遍历操作。 +--- +请编写一个 Python 脚本定时抓取某个网页的内容。 +--- +如何在 Bash 脚本中处理数组(array)? +--- +请用 Python 实现一个简单的 TCP 客户端和服务器。 +--- +如何在 Shell 脚本中实现文件的读写操作? +--- +使用 Python 的 pandas 库如何处理 CSV 文件? +--- +请编写一个 Shell 脚本监控目录的变化并记录日志。 +--- +在 Python 中,如何使用 asyncio 实现异步编程? +--- +Bash 中如何使用正则表达式进行文本处理? +--- +使用 Python 的 smtplib 库如何发送电子邮件? +--- +请解释 Shell 脚本中的位置参数(positional parameter)及其使用方法。 +--- +如何使用 Python 的 logging 模块记录日志? +--- +请编写一个 Bash 脚本检查系统中的所有服务状态。 +--- +在 Python 中,如何处理和解析 XML 文件? +--- +Shell 脚本中如何使用 trap 命令捕捉和处理信号? +--- +使用 Python 实现一个简单的图像处理程序。 +--- diff --git a/腾讯 C++ 面经.md b/腾讯 C++ 面经.md new file mode 100644 index 0000000..abb4c2a --- /dev/null +++ b/腾讯 C++ 面经.md @@ -0,0 +1,2 @@ +C++ 腾讯云智一面 +--- diff --git a/腾讯 Java 面经.md b/腾讯 Java 面经.md new file mode 100644 index 0000000..f50758b --- /dev/null +++ b/腾讯 Java 面经.md @@ -0,0 +1,28 @@ +腾讯一面(被烤打版) +--- +测试开发腾讯二面 +--- +Java 腾讯后台(校招)一面凉经 +--- +Java 腾讯一面 PCG 客户端 +--- +Java 腾讯二面 PCG 客户端 +--- + Java 腾讯三面 PCG 客户端 +--- +Java 腾讯云智一面客户端 +--- +Java 腾讯云智二面客户端 +--- +Java腾讯金融科技一面 +--- +Java 腾讯 CSIG 后台开发二面 +--- +Java 腾讯校招一面(60 min) +--- +Java 腾讯后端开发实习一面 +--- +Java 腾讯后端深圳实习二面 +--- +Java 腾讯后端校招面经(40 min) +--- diff --git a/自动化测试面试题.md b/自动化测试面试题.md new file mode 100644 index 0000000..81d4a6c --- /dev/null +++ b/自动化测试面试题.md @@ -0,0 +1,304 @@ +自动化测试中的 PO 模式是什么? +--- +有哪些生成自动化测试报告的方式? +--- +选择自动化测试工具时应该关注哪些点? +--- +如何分析自动化测试报告? +--- +UI 测试与 API 测试的区别是什么? +--- +平常使用什么工具进行接口测试? +--- +在没有接口文档的情况下如何进行接口测试? +--- +在手工或自动化接口测试过程中,上下游接口有数据依赖时如何处理? +--- +如何测试依赖第三方的接口? +--- +在接口测试中,如何测试依赖登录状态的接口? +--- +如何模拟弱网环境进行接口测试? +--- +当一个接口测试出现异常时,你如何分析异常原因? +--- +什么是接口自动化测试? +--- +为什么要进行接口自动化测试?接口自动化测试的优势有哪些? +--- +如何进行接口自动化测试?有哪些接口自动化测试的方法? +--- +如何进行接口测试?请描述接口测试的流程? +--- +接口测试的主要目的是? +--- +当获得一个新的接口时,如何设计测试用例? +--- +接口文档主要包含哪些内容? +--- +如何检查和分析接口测试结果? +--- +什么是接口测试?在什么情况下进行接口测试? +--- +接口传输格式有哪些? +--- +接口测试的常用工具有哪些? +--- +如何使用 JMeter 测试文件上传接口? +--- +对于 POST 请求需要传递 JSON 格式数据,如何在 JMeter 中实现? +--- +如何在 JMeter 中处理需要加密的请求参数? +--- +如果接口返回的数据进行了加密,如何在 JMeter 中进行断言? +--- +如果下一个接口需要使用上一个接口返回的加密数据,如何在 JMeter 中提取? +--- +如何在 JMeter 中测试 GET 请求接口? +--- +如何在 JMeter 中测试 JSON 数据格式的接口? +--- +如何在 JMeter 中添加 Cookie? +--- +如何在 JMeter 中添加 Header 信息? +--- +如何在 JMeter 中测试 SOAP 请求? +--- +如何在 JMeter 中进行参数化?参数化类型有哪些? +--- +如何在 JMeter 中跨线程组传输参数? +--- +如何在 JMeter 中进行断言? +--- +JMeter 测试完成后如何自动发送邮件? +--- +如何在 JMeter 中处理 HTTPS 证书? +--- +如何使用 HTTP 代理进行接口录制? +--- +如何使用 JMeter 进行 POST 请求测试? +--- +你是否做过 HTTPS 接口测试?具体怎么做? +--- +如果接口的请求参数需要加密处理,你们使用的是什么加密方式?你是如何处理加密的? +--- +如果接口查询结果返回的是密文,你如何进行测试? +--- +如何在 Pytest 中调用其他用例返回的接口参数? +--- +你们在进行接口自动化测试时,如何组织和管理用例数据? +--- +接口测试时,如何在 Requests 中进行动态关联? +--- +在 Python 接口自动化测试中如何处理 Cookie 和 Session? +--- +如何使用 Requests 测试 JSON 数据格式的接口? +--- +如何在 Requests 中添加 Cookie? +--- +如何在 Requests 中添加 Header 信息? +--- +如何在 Requests 中处理 HTTPS 证书? +--- +如何在 Requests 中处理签名(sign)和 Token? +--- +Requests 框架有哪些常用方法? +--- +什么是 UI 自动化测试? +--- +UI 自动化测试有哪些分类? +--- +什么样的 Web 项目适合做 UI 自动化测试? +--- +如何进行 Web 自动化测试中的元素定位? +--- +WebDriver 的元素定位方式有哪些? +--- +什么是 ID 元素定位? +--- +什么是 name 元素定位? +--- +什么是 class_name 元素定位? +--- +什么是 tag_name 元素定位? +--- +什么是 link_text 元素定位? +--- +什么是 partial_link_text 元素定位? +--- +如何定位一组元素? +--- +什么是 XPath 定位? +--- +什么是 CSS 定位? +--- +元素有哪些常用操作方法? +--- +WebDriver 操作浏览器有哪些常用方法? +--- +WebDriver 如何操作鼠标? +--- +什么是显式等待? +--- +什么是隐式等待? +--- +显式等待与隐式等待的区别是什么? +--- +如何操作下拉选择框? +--- +如何处理弹出框? +--- +如何控制滚动条? +--- +常用自动化测试工具及其运行原理是什么?写出一段元素查找的代码。 +--- +如何构建自动化测试框架? +--- +如何设计自动化测试用例? +--- +Web 自动化测试中,WebDriver 如何开启和退出一个浏览器? +--- +Web 自动化测试中,如何查找屏幕上是否显示了元素? +--- +Web 自动化测试中,如何使用 Selenium 在文本输入框中输入文本? +--- +什么是 POM(面向对象模型)?它有什么优势? +--- +Web 自动化测试中,如何通过代理在浏览器中进行重定向? +--- +Web 自动化测试中,如何在 WebDriver 中处理 iframe? +--- +Web 自动化测试中,导航命令有哪些类型? +--- +Web 自动化测试中,如何获取网页元素的文本? +--- +Web 自动化测试中,如何编写代码在浏览器历史记录中来回浏览? +--- +Web 自动化测试中,WebDriver 中有哪些刷新网页的方法? +--- +Web 自动化测试中,如何在 Selenium WebDriver 中启动不同的浏览器? +--- +Selenium 中有几种类型的等待?它们的区别是什么? +--- +Web 自动化测试中,findElement() 和 findElements() 有什么区别? +--- +Selenium WebDriver 支持哪些编程语言编写测试用例? +--- +XPath 中 "/" 和 "//" 的区别是什么? +--- +解释 XPath 绝对路径和相对路径? +--- +解释断言和验证命令之间的区别? +--- +Selenium 中的断言是什么意思? +--- +列出一些可以与 Selenium 集成以实现持续测试的自动化测试工具? +--- +Selenium 中提供几种类型的 WebDriver API? +--- +在 Selenium 中定位网页元素有哪些不同的方法? +--- +什么是 Selenium IDE? +--- +列出 Selenium 支持的一些测试类型? +--- +什么是 Selenium? +--- +如何进行 UI 自动化测试? +--- +什么样的项目适合做 UI 自动化测试?请列出至少 3 点。 +--- +UI 自动化测试的流程是什么? +--- +UI 自动化测试的来源是什么? +--- +UI 自动化测试有哪些优缺点? +--- +如何验证 UI 自动化测试的覆盖率? +--- +如何进行 UI 自动化测试的环境搭建? +--- +Selenium 的工作原理是什么? +--- +Selenium 2 和 Selenium 1 的区别是什么? +--- +Selenium 库中有哪些常用的函数? +--- +Web 自动化测试中,定位 HTML 元素的方法有哪些? +--- +Web 自动化测试中,JS 定位元素的方法有哪些? +--- +Web 自动化测试中,jQuery 定位元素的方法有哪些? +--- +Web 自动化测试中,CSS 定位的方法有哪些? +--- +Web 自动化测试中,XPath 定位的方法有哪些?如何编写 XPath? +--- +Web 自动化测试中,如何定位内嵌界面? +--- +Web 自动化测试中,如何在不同的网页之间切换? +--- +Web 自动化测试中,如何定位滚动条?如何操作滚动条? +--- +Web 自动化测试中,如何模拟键盘和鼠标操作? +--- +Web 自动化测试中,如何处理文件上传? +--- +Web 自动化测试中,如何定位时间控件? +--- +Web 自动化测试中,有没有修改过页面元素的属性?如何修改? +--- +Web 自动化测试中,定位不到元素的可能原因是什么?如何解决? +--- +Web 自动化测试中,如何定位不可见/隐藏的元素?如何处理? +--- +Web 自动化测试中,如果元素经常变动,你如何处理? +--- +如何在自动化测试中破解验证码? +--- +数据驱动测试了解多少?如何实现? +--- +参数化类型有哪些?自动化脚本如何实现数据参数化? +--- +Web 自动化测试中,如何生成随机数? +--- +Web 自动化测试中,如何读取表格中的一行、一列数据? +--- +在 Web 自动化测试中,如何进行断言? +--- +Selenium 提供了哪些断言? +--- +自动化测试中,模块封装有哪些?封装的目的是什么? +--- +Web 自动化测试中,闭环有哪些?闭环的目的是什么? +--- +POM 模型如何划分模块? +--- +自动发送邮件包含哪些内容? +--- +移动端测试中,如何测试一个 APP 的登录场景? +--- +常用的移动应用自动化测试工具有哪些? +--- +简述 Appium 的原理? +--- +使用 Appium 可能遇到的错误有哪些? +--- +需要一台服务器来运行 Appium 上的测试吗? +--- +Monkey 属于自动化测试吗? +--- +有哪些 Android UI 自动化测试工具? +--- +APP 稳定性测试是怎么做的?如何使用 Monkey 进行 APP 的稳定性测试? +--- +APP 的性能测试是怎么做的? +--- +软件测试中,如何编写代码在 WebDriver 中启动 Firefox 浏览器? +--- +Web 自动化测试中,有哪些常用的库? +--- +有哪些常用的 API 接口管理工具? +--- +在接口测试过程中你发现过哪些 bug?是如何发现的? +--- diff --git a/自然语言处理面试题.md b/自然语言处理面试题.md new file mode 100644 index 0000000..e801746 --- /dev/null +++ b/自然语言处理面试题.md @@ -0,0 +1,66 @@ +什么是词嵌入(Word Embedding)?有哪些常见的词嵌入方法? +--- +是否使用 Word2Vec 训练过数据?在这个过程中,如何获取语料?如何选择超参数?语料、词表和维度大小如何确定?怎样把握训练时长? +--- +Word2Vec 有哪些加速方法? +--- +Word2Vec 如何获取词向量?如何评估该训练得到的词向量的好坏? +--- +解释 hierarchical softmax 的流程,以及它有什么优点? +--- +说一说负采样技术在 Word2Vec 中的运用。 +--- +CBOW 和 Skip-gram 分别更适合哪些应用场景? +--- +说说 GloVE 技术,怎样进行训练?有哪些应用场景?相比 Word2Vec 有哪些优缺点? +--- +说说 FastText 技术,是否比 Word2Vec 更优越?哪些情况下更适合使用 FastText? +--- +聊一聊 ELMo 技术,它有哪些优缺点?可以做到一词多义吗?为什么? +--- +说说 LSTM 的基本原理。 +--- +与循环神经网络(RNN)相比,LSTM 是如何解决梯度消失问题的? +--- +解释一个 LSTM 单元(LSTM cell)的基本组成,以及它们各自的作用。 +--- +LSTM 中,隐藏状态(hidden state)和单元状态(cell state)有什么区别? +--- +LSTM 和 GRU 有什么区别? +--- +请解释 LSTM 和 GRU 网络在处理序列数据中的应用。 +--- +什么是注意力机制?它是如何改善 NLP 模型性能的? +--- +请描述 BERT 模型的架构和应用场景。 +--- +BERT 是如何处理自然语言文本中不常见词或者罕见词的? +--- +Word2Vec 到 BERT 有怎样的改进? +--- +BERT 怎样进行 mask? 相比 CBOW 有什么区别? +--- +你有什么办法可以比较好地解决 BERT 输入长度的限制? +--- +说说你是怎样有效地优化和微调 BERT,以应对你做过的一些特定的 NLP 任务的? +--- +如何比较文本的相似度? +--- +支持向量机可以用于文本分类任务吗?若可以,请说明。 +--- +在文本分类任务中,如何处理高维和稀疏数据? +--- +在文本分类任务中,如何处理样本(类别)不平衡的问题? +--- +现有文本分类算法在处理多语种文本数据时可能遭遇哪些挑战? +--- +简述 Word Embedding 可以怎样运用于文本分类任务? +--- +简述 LLaMA(Large Language Model Meta AI)的基本原理。 +--- +LLaMA 模型中,输入句子的长度理论上是否可以无限长? +--- +了解 LLaMA 中的旋转位置编码吗? +--- +LLaMA 有哪些实际应用? +--- diff --git a/计算机网络面试题.md b/计算机网络面试题.md new file mode 100644 index 0000000..199f90e --- /dev/null +++ b/计算机网络面试题.md @@ -0,0 +1,74 @@ +HTTP 1.0 和 2.0 有什么区别? +--- +HTTP 2.0 和 3.0 有什么区别? +--- +常见的 HTTP 状态码有哪些? +--- +HTTP 请求包含哪些内容,请求头和请求体有哪些类型? +--- +HTTP 和 HTTPS 有什么区别? +--- +HTTP 中 GET 和 POST 的区别是什么? +--- +WebSocket 与 HTTP 有什么区别? +--- +服务端是如何解析 HTTP 请求的数据?(考察 HTTP 请求格式的了解程度) +--- +到底什么是 TCP 连接? +--- +TCP 是用来解决什么问题? +--- +一台服务器,最多能建立多少 TCP 连接? +--- +TCP 和 UDP 有什么区别? +--- +为什么要 TCP,IP 层实现控制不行么? +--- +TCP 的粘包和拆包能说说吗? +--- +说说 TCP 的三次握手? +--- +TCP 初始序列号 ISN 怎么取值的? +--- +TCP 三次握手时,发送 SYN 之后就宕机了会怎么样? +--- +什么是 SYN Flood 攻击? +--- +TCP 协议是如何保证可靠传输的? +--- +说说 TCP 的四次挥手? +--- +为什么 TCP 挥手需要有 TIME_WAIT 状态? +--- +除了四次挥手,还有什么方法断开连接? +--- +TCP 超时重传机制是为了解决什么问题? +--- +TCP 中何时会出现 RST(reset)报文? +--- +TCP 有超时重传为什么还需要快速重传机制? +--- +TCP 的 SACK 的引入是为了解决什么问题? +--- +TCP 滑动窗口的作用是什么? +--- +说说 TCP 拥塞控制的步骤? +--- +ARP 和 RARP 分别是什么?有什么区别? +--- +TCP/IP 四层模型是什么? +--- +OSI 七层模型是什么? +--- +Cookie、Session、Token 之间有什么区别? +--- +JWT Token 能说说吗? +--- +简单谈谈你对 DNS 的理解? +--- +简单谈谈你对 CDN 的理解? +--- +从网络角度来看,用户从输入网址到网页显示,期间发生了什么? +--- +常见的登录鉴权方式有哪些?各自的优缺点是? +--- diff --git a/计算机视觉面试题.md b/计算机视觉面试题.md new file mode 100644 index 0000000..4c7d303 --- /dev/null +++ b/计算机视觉面试题.md @@ -0,0 +1,50 @@ +什么是图像卷积操作?它在卷积神经网络中的作用是什么? +--- +解释 ResNet 网络的基本思想和创新点。 +--- +什么是目标检测?有哪些常见的目标检测算法? +--- +YOLO、SSD 和 Faster-RCNN 各自的优缺点是什么? +--- +解释 NMS (Non Maximum Suppression) 算法的原理。 +--- +解释 CenterNet 的算法原理,并说说它与传统目标检测算法相比有哪些改进? +--- +简单聊一聊 YOLO 系列的发展历程,对于每一次改进,改进的点在哪? +--- +了解 YOLOV5 中的 Focus 模块吗? +--- +了解 CSP (Cross Stage Partial) 结构吗? +--- +分别说说你对 FPN (Feature Pyramid Network) 和 PANet (Path Aggregation Network) 的理解。 +--- +怎样评估目标检测模型中的预测结果? +--- +你有哪些方法可以比较好地应对小目标检测? +--- +什么是 ROI? +--- +如何理解 ROI Pooling,说说它的过程以及局限性。 +--- +了解 ROI Align 吗?相比 ROI Pooling,它有了哪些改进? +--- +如何理解 ROI Warp? +--- +图像分割与目标检测、图像识别有何区别? +--- +请描述语义分割和实例分割的区别。 +--- +介绍一下 UNet 网络的原理。 +--- +怎样计算 mIoU? +--- +简述 Mask R-CNN 算法的原理,并解释它是怎样结合图像分割和目标检测的? +--- +在图像数据增强方面,有哪些常见的方法和技术? +--- +介绍一下 Stable Diffusion 的基本原理。 +--- +Stable Diffusion 模型与 GAN 模型有什么区别? +--- +Stable Diffusion 有哪些应用场景? +--- diff --git a/设计模式面试题.md b/设计模式面试题.md new file mode 100644 index 0000000..97de5a5 --- /dev/null +++ b/设计模式面试题.md @@ -0,0 +1,72 @@ +什么是设计模式?请简述其作用。 +--- +23 种设计模式分为哪三大类? +--- +请解释什么是单例模式,并给出一个使用场景 +--- +单例模式有哪几种实现?如何保证线程安全? +--- +工厂模式和抽象工厂模式有什么区别? +--- +请描述简单工厂模式的工作原理。 +--- +什么是建造者模式?一般用在什么场景? +--- +什么是原型模式?一般用在什么场景? +--- +什么是适配器模式?一般用在什么场景? +--- +什么是桥接模式?一般用在什么场景? +--- +什么是组合模式?一般用在什么场景? +--- +什么是装饰器模式?一般用在什么场景? +--- +装饰器、适配器、代理、桥接这四种设计模式有什么区别? +--- +什么是外观模式?一般用在什么场景? +--- +什么是享元模式?一般用在什么场景? +--- +什么是代理模式?一般用在什么场景? +--- +什么是观察者模式?一般用在什么场景? +--- +什么是迭代器模式?一般用在什么场景? +--- +什么是模板方法模式?一般用在什么场景? +--- +什么是命令模式?一般用在什么场景? +--- +什么是状态模式?一般用在什么场景? +--- +什么是策略模式?一般用在什么场景? +--- +什么是责任链模式?一般用在什么场景? +--- +什么是中介者模式?一般用在什么场景? +--- +什么是访问者模式?一般用在什么场景? +--- +什么是备忘录模式,一般用在什么场景? +--- +什么是单一职责原则? +--- +什么是开闭原则? +--- +什么是里氏替换原则? +--- +什么是接口隔离原则? +--- +什么是依赖倒置原则? +--- +什么是迪米特法则? +--- +谈谈你了解的最常见的几种设计模式,说说他们的应用场景 +--- +请用一句话概括,什么是设计模式?为什么要用? +--- +你认为好的代码应该是什么样的? +--- +什么是合成复用原则? +--- diff --git a/贪心面试题.md b/贪心面试题.md new file mode 100644 index 0000000..0918529 --- /dev/null +++ b/贪心面试题.md @@ -0,0 +1,26 @@ +活动选择问题 +--- +区间覆盖问题 +--- +最小硬币找零问题 +--- +最大价值问题 +--- +Huffman 编码 +--- +最小生成树 +--- +装箱问题 +--- +排队打水 +--- +单次购买的最大利润 +--- +多次购买的最大利润 +--- +最优广告放置 +--- +区间合并 +--- +调度任务以最小化延迟 +--- diff --git a/遍历面试题.md b/遍历面试题.md new file mode 100644 index 0000000..6f0d63c --- /dev/null +++ b/遍历面试题.md @@ -0,0 +1,18 @@ +岛屿数量 +--- +最大岛屿面积 +--- +水流问题 +--- +被围绕的区域 +--- +矩阵中的最长递增路径 +--- +扫雷游戏 +--- +迷宫问题 +--- +水壶问题 +--- +数独验证 +--- diff --git a/银行面试真题.md b/银行面试真题.md new file mode 100644 index 0000000..a1a7a73 --- /dev/null +++ b/银行面试真题.md @@ -0,0 +1,8 @@ +Java 微众银行一面 5 问 +--- +Java 浙商银行面经 +--- +Java 杭州银行面经 +--- +招银网络校招一面(20分钟) +--- diff --git a/链表面试题.md b/链表面试题.md new file mode 100644 index 0000000..93ad4f8 --- /dev/null +++ b/链表面试题.md @@ -0,0 +1,28 @@ +反转链表 +--- +判断链表中是否有环 +--- +寻找链表的中间节点 +--- +删除链表中的节点 +--- +实现两个链表的相加 +--- +合并两个有序链表 +--- +排序链表 +--- +删除链表中重复的元素 +--- +反转链表的部分节点 +--- +旋转链表 +--- +复制带有随机指针的链表 +--- +找到链表中的倒数第 k 个节点 +--- +分割链表 +--- +LRU 缓存 +--- diff --git a/阿里巴巴 Java 面经.md b/阿里巴巴 Java 面经.md new file mode 100644 index 0000000..b6fb351 --- /dev/null +++ b/阿里巴巴 Java 面经.md @@ -0,0 +1,70 @@ +钉钉一面(近90分钟) +--- +阿里巴巴一面 +--- +阿里巴巴三面面经 +--- +Java 阿里云(实习)一面,最逆天的一次拷打 +--- +Java 阿里评估面 +--- +Java 蚂蚁金服(社招)一面 +--- +Java 阿里菜鸟后端一面(校招) +--- +Java 阿里巴巴蚂蚁金服(校招) +--- +Java 阿里巴巴(橙狮体育)后端实习 +--- +Java 阿里巴巴(盒马)二面 +--- +Java 阿里智能互联(校招)一面 50 分钟 +--- +Java 阿里智能互联(校招)一面 1h +--- +Java 阿里灵犀互娱中台(校招) 40 分钟 +--- +Java 阿里淘天校招一面 40min +--- +Java 阿里银泰(暑期实习)一面 +--- +Java 阿里钉钉(校招)一面 50 min +--- +Java 阿里实习一面(30min) +--- +JAVA 阿里饿了么一面(45min) +--- +Java 阿里闲鱼一面面经(60min) +--- +Java 阿里淘天天猫技术一面(实习) +--- +Java 阿里淘天天猫技术二面(实习) +--- +Java 阿里 Lazada 实习一面 +--- +Java阿里国际(校招)二面 +--- +Java 阿里淘天闲鱼一面(暑期实习) +--- +Java 阿里妈妈社招三年(一、二、三)融合面经 +--- +Java 阿里高德地图日常实习(一面) +--- +Java 阿里乌鸫科技交付(一面) +--- +Java 阿里暑期(实习四面)面经 +--- +Java 阿里巴巴AE部门(一面) +--- +Java 阿里(校招)一面 +--- +Java 阿里一面面经(主要是集合和并发) +--- +Java 阿里高德地图(实习)一面 60min +--- +Java 阿里高德地图实习一面(40min) +--- +Java 阿里高德地图(实习)二面 25min +--- +Java 饿了么暑期实习一面 +--- diff --git a/面试刷题平台面试题.md b/面试刷题平台面试题.md new file mode 100644 index 0000000..bae4be0 --- /dev/null +++ b/面试刷题平台面试题.md @@ -0,0 +1,98 @@ +请介绍整个面试刷题平台后端的架构设计,主要模块及其作用是什么? +--- +你如何设计面试刷题平台的库表?可以从字段设计的角度回答 +--- +请介绍你开发的 Spring Boot 项目模板,它有哪些功能? +--- +什么是 MyBatis X 插件、以及你自定义的代码生成器?如何运用它们快速生成各表的基础业务代码? +--- +什么是 BitMap?使用它有什么优点? +--- +你是如何基于 BitMap 实现用户年度刷题记录统计的?又如何进一步优化该接口性能? +--- +什么是 Redisson?你在项目中如何使用 Redisson? +--- +为什么使用 Elasticsearch 实现题目搜索功能?它有什么优点? +--- +如何通过动静分离策略构建 Elasticsearch 题目索引?设计索引时有哪些技巧? +--- +有哪些将 MySQL 数据同步到 Elasticsearch 的方案?你在项目中是怎么做的? +--- +在使用 Elasticsearch 实现分词搜索功能时,你是如何优化中文分词效果的? +--- +你是如何实现题目批量管理的?又是如何提升批处理的性能? +--- +什么是 Druid 连接池?为什么在项目中使用它? +--- +你是如何通过调整数据库连接池配置来优化批量操作性能的? +--- +你在项目中是如何运用缓存提升题库查询性能的? +--- +什么是 HotKey?你在项目中是如何使用 HotKey 的? +--- +什么是 Sentinel?你在项目中是如何使用 Sentinel 进行接口限流和熔断的? +--- +你是如何利用 Sentinel 对题库列表接口进行限流和熔断的?请介绍具体的实现方式 +--- +你是如何利用 Sentinel 对获取题目接口进行限流和熔断的?请介绍具体的实现方式 +--- +你是如何实现 IP 黑名单拦截的? +--- +什么是 BloomFilter?为什么使用 BloomFilter 实现 IP 黑名单拦截? +--- +什么是 Nacos?你是怎么利用 Nacos 实现 IP 黑名单动态更新的? +--- +什么是同端登录冲突检测?如何实现它? +--- +什么是 Sa-Token?如何在项目中利用 Sa-Token 进行鉴权? +--- +你是如何设计反爬虫策略的?具体实现步骤是什么? +--- +为什么要使用 Redis + Lua 脚本实现用户访问题目频率的统计? +--- +为什么部署后端时,选择使用 Nginx 反向代理做转发? +--- +为什么使用 Next.js 开发项目?它有什么优点? +--- +你是如何开发 Next.js 前端项目模板的?这个模板有哪些功能? +--- +你在项目中是如何实现导航菜单生成的? +--- +你在项目中如何区分服务端渲染和客户端渲染的页面?应该如何选择? +--- +你在前端项目中是如何维护登录用户信息的? +--- +你如何实现面试刷题平台的全局通用布局? +--- +你在前端项目中如何发送请求?怎么定义全局请求响应拦截器? +--- +你在项目中是如何实现全局权限管理的?什么是 HOC? +--- +你如何实现题目批量管理功能的前端? +--- +如何自定义 React Hooks?为什么要用 Hooks 封装添加刷题记录功能? +--- +什么是 Apache ECharts?你如何利用 ECharts 实现刷题记录的可视化展示? +--- +什么是 bytemd?你如何利用它展示 Markdown 格式的题目内容? +--- +你提到自己封装了很多组件,有哪些封装组件的技巧? +--- +你如何实现题目搜索功能的前端?请简述整个流程 +--- +打包 Next.js 项目时,你如何控制页面是静态生成还是服务端渲染? +--- +你是如何部署 Next.js 项目的?请介绍完整流程 +--- +你是如何保证前端项目编码规范的?用到了哪些技术?分别有什么作用? +--- +什么是 OpenAPI 插件?你是如何使用它来生成前端代码的? +--- +为什么部署 Next.js 前端项目时,选择使用 Nginx 反向代理做转发? +--- +请介绍整个面试刷题平台的完整业务流程,用户和管理员如何使用? +--- +你是怎么一步步完成面试刷题平台项目的? +--- +你在面试刷题平台的开发过程中遇到的最大挑战是什么?如何解决的? +--- diff --git a/面试技巧.md b/面试技巧.md new file mode 100644 index 0000000..f0f0f9b --- /dev/null +++ b/面试技巧.md @@ -0,0 +1,10 @@ +为什么选择用这个技术? +--- +如何回答性能优化相关的问题? +--- +你和 985/211 比有啥优势? +--- +从小公司到大厂,重点都考察什么? +--- +你在项目中碰到过什么难点? +--- diff --git a/面试鸭 Java 后端面试题.md b/面试鸭 Java 后端面试题.md new file mode 100644 index 0000000..415b028 --- /dev/null +++ b/面试鸭 Java 后端面试题.md @@ -0,0 +1,68 @@ +在什么情况下 Java 类会被加载? +--- +Java 中的多态性是什么?如何理解? +--- +为什么 Java 中的 String 类被设计为 final? +--- +什么是 MySQL 回表? +--- +什么样的字段适合加索引?索引失效了解吗? +--- +TCP 的三次握手和四次挥手 +--- +HTTPS 的加密过程了解吗? +--- +什么是 Spring 的 IOC 和 AOP? +--- +什么是 Spring 的事务管理? +--- +Java 中的值传递是什么意思? +--- +什么是 Java 的反射机制? +--- +什么是 Java 的语法糖?如何提高开发效率? +--- +Java 中的乐观锁与悲观锁的区别和应用场景是什么? +--- +Java 动态代理的原理是什么? +--- +什么是 Java 的线程池?如何提高并发性能? +--- +什么是 Java 的 Hashtable、HashMap 和 TreeMap?它们有什么区别? +--- +杭州某国企 Java 面经 +--- +你真的理解 AQS 原理了吗? +--- +上海某数字科技公司 Java 面经 +--- +如何使用 Java 的 CompletableFuture 实现异步编排? +--- +北京某互联网公司 Java 面经 +--- +Java 中 synchronized 的底层实现和锁的升降级机制是什么? +--- +Redis 中的三种高效缓存读写策略是什么? +--- +Redis 的五种基本数据类型及其优化技巧是什么? +--- +Java 中 AtomicInteger 的实现原理是什么?如何使用 CAS? +--- +杭州某医疗公司 Java 面经 +--- +Redis 中的跳表是什么?你了解多少? +--- +你了解哪些网关技术?请详细说明。 +--- +面试官:TCP 的半包和粘包了解多少?详细介绍下。。 +--- +JVM 的哪些内存区域可能会导致 OutOfMemoryError? +--- +面试官:常见的网络攻击手段有哪些?解决方案了解吗? +--- +Java 中的内存泄漏通常发生在哪些场景? +--- +美团前端/移动端一面凉经 +--- +腾讯云智一面客户端开发面经 +---