面试公司:神思电子 Ctrl C + V



面试内容

两个项目都用到了redis,两个项目的redis都有什么区别?

Redis的穿透,击穿,雪崩问题

JWT令牌主要是怎么实现的?传递了什么信息?

项目是否上线?处理过多少并发量?

Docker的常用指令,以及为什么要用Docker

Docker的常用指令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# ============================================================
# 1. 镜像管理 (Images) - 相当于软件安装包
# ============================================================

docker pull <image_name> # 从仓库拉取镜像 (如: docker pull nginx)
docker images # 列出本地所有镜像
docker rmi <image_id> # 删除指定镜像 (需先停止相关容器)
docker tag <old_name> <new_name> # 给镜像打标签/重命名
docker build -t <name>:<tag> . # 使用当前目录的 Dockerfile 构建镜像


# ============================================================
# 2. 容器生命周期 (Containers) - 相当于运行中的程序
# ============================================================

# 创建并运行容器
# -d: 后台运行, -p: 端口映射(宿主机:容器), --name: 指定名称
docker run -d -p 8080:80 --name my_nginx nginx

docker ps # 查看运行中的容器
docker ps -a # 查看所有容器 (包括已停止的)
docker stop <id/name> # 停止容器
docker start <id/name> # 启动已停止的容器
docker restart <id/name> # 重启容器
docker rm <id/name> # 删除容器 (需先停止)
docker rm -f $(docker ps -aq) # 强制删除所有容器 (慎用!)


# ============================================================
# 3. 运维与调试 (Maintenance & Debug)
# ============================================================

docker logs <id/name> # 查看容器日志
docker logs -f <id/name> # 实时追踪日志输出 (类似 tail -f)
docker exec -it <id/name> bash # 进入容器内部终端 (最常用)
docker cp <local_path> <id>:<path> # 在宿主机和容器间拷贝文件
docker inspect <id/name> # 查看容器详细配置 (网络、挂载点等)
docker stats # 实时显示容器资源占用 (CPU/内存)


# ============================================================
# 4. 网络与数据卷 (Network & Volumes)
# ============================================================

docker network ls # 查看所有网络
docker volume ls # 查看所有数据卷
docker volume rm <name> # 删除指定数据卷


# ============================================================
# 5. 清理系统 (Cleanup)
# ============================================================

docker system prune # 清理:停止的容器、未使用的网络、悬空镜像
docker system prune -a # 深度清理:包含未被任何容器使用的所有镜像

为什么要用Mysql和Redis两个数据库,用两个数据库有什么优势吗?

你的项目用了那些框架?

除了这两个项目你还做了什么项目?

主要用什么AI,对AI的应用保持什么态度