服务端2月21日 13:52
Logstash Grok 过滤器是什么?如何解析日志?Grok 是 Logstash 里把非结构化日志拆成字段的过滤器,本质是“命名正则模板”。它用 `%{PATTERN:field}` 把文本匹配成字段,比如把 Nginx 日志拆出 IP、状态码、请求路径。面试时要说清:Grok 适合解析固定格式文本;解析失败会打 `_grokparsefailure`;性能上要避免一上来就用 `%{GREEDYDATA}` 贪婪匹配。
## 追问
### Grok 和普通正则有什么区别?
Grok 是对正则的封装,内置了很多模式,如 `IP`、`NUMBER`、`TIMESTAMP_ISO8601`。
### 解析失败怎么排查?
先用 Grok D...服务端2月21日 13:53
Logstash 常用输入插件有哪些?File 和 Kafka 怎么配置?Logstash 输入插件负责从数据源读取事件,常见的有 File、Beats、Kafka、HTTP、TCP/UDP、Syslog、JDBC、Redis。File 适合读取本机或挂载目录里的日志,Kafka 适合高吞吐、可回放的日志总线。生产里通常让 Filebeat 采集文件,再发给 Logstash;只有需要复杂本地读取规则时,才直接用 File input。
## 追问
### File input 的 start_position 有什么坑?
它只在文件第一次被 Logstash 发现时生效。读到哪里由 sincedb 记录,改成 `beginning` 不会自动重读旧文件。
...服务端2月21日 13:54
Logstash 常用输出插件有哪些?Elasticsearch 输出怎么配置?Logstash 输出插件负责把处理后的事件送到目标系统。常见输出有 Elasticsearch、File、Kafka、Redis、HTTP、Stdout;生产里最常用的是 Elasticsearch,通常要配 hosts、index、认证、TLS、失败重试和条件路由。索引名建议按业务和日期拆分,比如 `app-%{[service]}-%{+YYYY.MM.dd}`,不要所有日志都塞进一个大索引。
## 追问
### Elasticsearch 输出必须配哪些参数?
至少配 `hosts` 和 `index`。如果集群开启安全认证,还要配 `user/password`、`ssl`、...服务端2月21日 13:56
Logstash 条件判断怎么写?常见操作符有哪些?Logstash 条件判断写在 `filter` 和 `output` 里最常见,用来按字段、标签、正则或数值把事件分流。语法类似 `if/else if/else`:比较用 `== != < > <= >=`,逻辑用 `and or not`,正则用 `=~ !~`,包含判断用 `in`、`not in`。注意条件一般不能放在 input 插件内部,因为 input 阶段事件字段还没生成。
## 追问
### `in` 判断字符串和数组有什么坑?
`"error" in [tags]` 是判断标签数组是否包含 error;`"err" in [message]` 可能变成字符串包含判...服务端2月21日 13:56
Logstash 集群如何部署?高可用方案怎么选?Logstash 本身没有主从式集群,所谓 Logstash 集群通常是多实例横向部署:上游用 Beats 负载均衡、Kafka/Redis 缓冲,或 LB 分发流量;下游写 Elasticsearch。高可用重点不是“选主”,而是让输入可重放、实例可替换、配置一致、队列不丢数据。生产里优先推荐 Filebeat loadbalance + 多 Logstash;流量大或不能丢日志时,在前面加 Kafka,再让多个 Logstash consumer group 消费。
## 追问
### Beats 直连和 Kafka 缓冲怎么选?
Beats 直连简单、延迟低,适合可接受短暂重试的...前端2月21日 15:04
Prettier 支持哪些语言和文件类型?Prettier 原生支持 JavaScript、TypeScript、JSX、TSX、CSS、SCSS、Less、HTML、Vue、Angular、JSON、YAML、Markdown、MDX、GraphQL 等常见前端和文档格式。Java、PHP、Ruby、XML 等也可以通过插件或社区解析器支持。判断能不能格式化,关键看 Prettier 是否有对应 parser。
## 追问
### Prettier 原生支持哪些文件?
常见有 `.js`、`.jsx`、`.ts`、`.tsx`、`.css`、`.scss`、`.less`、`.html`、`.vue`、`.json`、`.y...计算机基础2月21日 16:16
什么是 ASCII 编码?字符集范围是多少?ASCII 是一种用数字表示英文字符和控制符的编码标准。标准 ASCII 使用 7 位二进制,一共能表示 128 个值,范围是 0-127;其中 0-31 和 127 是控制字符,32-126 是可打印字符。它不支持中文,但 Unicode 前 128 个码位与 ASCII 保持兼容,所以它仍是理解字符编码的基础。
## 追问
### ASCII 的字符范围怎么分?
`0-31` 是控制字符,例如换行 LF、回车 CR、制表 TAB;`32-126` 是可打印字符;`127` 是 DEL 删除字符。
### 标准 ASCII 和扩展 ASCII 有什么区别?
标准 ASCII 是 7...计算机基础2月21日 16:17
ASCII 码在编程中有哪些常见应用?ASCII 码在编程里最常见的用途,是把“字符”当成稳定的数字范围来处理:判断字母数字、做大小写转换、过滤可打印字符、解析协议文本,以及处理只允许英文符号的编码场景。它不适合处理中文,但在命令行、HTTP 头、日志、配置、Base64、URL 编码里仍然很常见。
## 追问
### 为什么可以用范围判断字母和数字?
因为 ASCII 中数字 `0-9` 连续排列,字母 `A-Z`、`a-z` 也连续排列。
### 大小写转换为什么经常提到 32?
标准 ASCII 里大写字母和对应小写字母相差 32。但实际项目更推荐语言内置方法,避免误伤非英文字符。
### ASCII 在网络协议...计算机基础2月21日 16:17
ASCII 码的历史发展过程是怎样的?ASCII 的发展主线很清楚:为了解决计算机和通信设备各用各的字符表示方式,美国在 1960 年代推动统一标准;后来 ASCII 成为网络、编程语言和 Unicode 的基础。
## 追问
### ASCII 是什么时候出现的?
ASCII 最早在 1963 年由美国国家标准协会发布,目标是统一英文字符、数字、符号和控制字符的编码方式。1967 年修订后,控制字符体系更完整。
### 它为什么会成为标准?
早期计算机、打字机、电传设备需要互相通信,如果字符编码不统一,同一个字节就可能显示成不同内容。
### 扩展 ASCII 为什么会带来问题?
8 位扩展 ASCII 增加了 12...计算机基础2月21日 16:17
ASCII 码有哪些优缺点?还适合现在使用吗?ASCII 的优点是简单、稳定、兼容性强;缺点是字符太少,无法支持中文、日文、表情和复杂符号。现在它更像“基础层”:很多协议和编码仍兼容 ASCII,但现代应用通常会直接使用 UTF-8。
## 追问
### ASCII 为什么说简单高效?
它本质上是 7 位编码,只定义 128 个字符。英文、数字、常见符号和控制字符都能用固定 1 字节处理。
### ASCII 的兼容性好在哪里?
几乎所有操作系统、编程语言、网络协议和文件格式都认识 ASCII。Unicode 和 UTF-8 也保留了 ASCII 的 0-127 区间。
### 最大缺点是什么?
字符集太小,不能表示中文、日文...