面试问到的那些技术细节

技术面试时刚开始可能会问的很粗,先聊聊大面上会哪些东西。但是针对某方面,面试者真正得到分的得是回答出了技术细节。因为粗的东西找个培训或者自己随便学一下就能答上来。细节才能体现一个人是否真的做过思考过。

现在AI前端代码已经写得很好了。如果不是视觉要求特别高的,基本不需要专门的前端开发人员。所以现在的技术人员基本都要求是全栈。这个全栈不仅仅包括前端、后端,还包括运维、架构、基础设施、安全、测试这些。

Linux命令问题

平时工作中用到的,代码AI都能写。技术人员多是做测试的。但是有些运维工作,很多公司都有GUI图形界面操作。但是还是有很多小公司没必要搞得这么复杂。要自己上去操作。虽然现在有这个龙虾,那个螃蟹的可以替人做。但因为涉及安全性生产都不让用。所以linux命令还是得会。

面试官刚开始会问一些粗放的问题。常用的都是哪些linux命令什么的。如果提到比如curl命令。那么细节来了。 curl后端直接加个空格加个url。能不能执行?会遇到什么坑?怎么解决?

✅ 能执行的情况

bash

go 复制代码
# 这几种写法都能执行curl https://api.example.com/datacurl"https://api.example.com/data"curl'https://api.example.com/data'

本质上:curl 命令的第一个非选项参数会被解析为 URL,空格只是参数分隔符。

⚠️ 常见的坑及解决方案

坑1:URL 包含特殊字符(最常见)

bash

go 复制代码
# ❌ 问题:URL 中包含 &、?、# 等特殊字符curl https://api.example.com/data?id=123&name=test# shell 会将 & 解释为后台运行符号# ✅ 解决:用引号包裹 URLcurl"https://api.example.com/data?id=123&name=test"

坑2:多个空格导致参数解析错误

bash

go 复制代码
# ❌ 问题:URL 前后有多个空格curl   https://api.example.com/data   -H"Content-Type: application/json"# shell 会合并空格,但可能影响其他参数解析# ✅ 解决:避免多余空格,或使用引号curl"https://api.example.com/data"-H"Content-Type: application/json"

坑3:URL 被误认为是其他选项

bash

go 复制代码
# ❌ 问题:URL 以 - 开头curl -https://api.example.com# curl 会把 -https 当作选项,报错:curl: option -https: is unknown# ✅ 解决:使用 -- 分隔选项和参数,或用引号curl -- "https://api.example.com"curl"https://api.example.com"# 更简洁

坑4:换行符或隐藏字符

bash

go 复制代码
# ❌ 问题:从文档复制的 URL 可能包含换行符或隐藏字符curl https://api.example.com/data[这里可能有不可见的换行符]# ✅ 解决:先粘贴到编辑器检查,或用单引号包裹curl'https://api.example.com/data'

🔧 最佳实践

1. 始终用引号包裹 URL

bash

go 复制代码
# 推荐写法curl"https://api.example.com/data?param1=value1&param2=value2"curl'https://api.example.com/data?param1=value1&param2=value2'

2. 使用数组方式存储参数(脚本中)

bash

go 复制代码
# 脚本中更安全url="https://api.example.com/data?param1=value1"curl-X POST "$url"\-H"Content-Type: application/json"\-d'{"key":"value"}'

3. URL 编码特殊字符

bash

go 复制代码
# 如果 URL 中包含空格、中文等,需要编码curl"https://api.example.com/search?q=$(echo'hello world'| jq -sRr @uri)"# 或手动编码curl"https://api.example.com/search?q=hello%20world"

📝 完整示例对比

bash

go 复制代码
# ❌ 不安全的写法curl https://api.example.com/data?user=张三&age=18-H"Authorization: Bearer token123"# 问题:# 1. 中文没有编码# 2. & 会被 shell 解释为后台运行# 3. 空格分隔符可能被误解析# ✅ 安全的写法curl"https://api.example.com/data?user=$(echo'张三'| jq -sRr @uri)&age=18"\-H"Authorization: Bearer token123"

🎯 总结

场景 推荐做法 原因
简单 URL(字母数字+./-) curl https://api.com 可以直接用,无需引号
包含 &?=# 等字符 curl "https://api.com?a=1&b=2" 防止 shell 解释特殊字符
URL 以 - 开头 curl -- "https://api.com" 避免被误认为选项
包含中文/空格 先编码 + 引号包裹 确保服务器正确解析
脚本中使用 用变量 + 引号 提高可维护性和安全性

核心原则有疑问就加引号!用双引号或单引号包裹 URL 是最安全的做法,可以避免 99% 的坑。

Docker端口问题

还可能会给一个小的场景问题:在docker里部署了一个web应用,应用起来了。在浏览器上用域名也可以正常访问。但是本机上curl localhost:端口却提示连接被拒绝,有哪些可能的原因?

这个问题大模型会给出一堆答案我就不在这里列了。我就说两个我真正工作中遇到的情况。

第一个是端口映射问题。docker里的应用在docker里是OK的。但是宿主机想要访问需要在比如docker compose文件里将端口映射到宿主机上,宿主机才可以访问。

第二个是防火墙策略问题。iptables里有些防火墙策略。防火墙有可能会阻止本机回环接口的访问。或者INPUT 链阻止了外部访问。

总结

今天列举的两个场景都很简单常用,但是也是需要真正做过或者思考过才能回答上来的。这也是面试官真正要考察的。

相关推荐
测试老哥1 小时前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
CC数分2 小时前
2026年HRBP岗位硬性要求和加分项
面试·职场和发展·数据分析
2601_962680222 小时前
数据分析面试常考的SQL题和业务题分别是哪几类?
sql·面试·数据分析
黄敬峰3 小时前
一文搞懂 Agentic RAG:用 LangGraph 打造会思考的智能检索架构
面试
晚安日记wanna4 小时前
SSR 为什么不适合登录态从水合冲突到缓存串号
前端·react.js·面试
晚安日记wanna4 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
晚安日记wanna4 小时前
批量请求失败只弹一个 Toast面试官想听五层
前端·面试·架构
晚安日记wanna4 小时前
TS const 类型参数一道面试题的四层追问
前端·面试·typescript
晚安日记wanna4 小时前
大表 DDL 面试翻车现场Online DDL 为什么还会锁死业务
数据库·面试·架构
晚安日记wanna4 小时前
MySQL 主从延迟别只答并行复制
数据库·面试·架构