Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions content/docs/interview/zhongchang/CC-sxf二面.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
title: "CC-sxf二面"
slug: "cc-sxf-2"
weight: 89
---

# 深信服二面

> 本文整理面试官提问,并附简要参考答案,实际面试时可结合个人经历展开。

## 一、自我介绍 & 基础背景

1. 做一下自我介绍。

> 参考答案:按“学校和年级—技术方向—项目或实习经历—应聘岗位匹配度”的顺序介绍,控制在 1 分钟左右。

2. 你是大几?

> 参考答案:如实回答年级,并补充预计毕业时间、可实习时间和每周可出勤情况。

## 二、Linux / Git / 脚本相关

3. 你对 Linux、Git 工作流了解吗?说下常用 Linux 命令。

> 参考答案:Linux 常用 ls、cd、grep、find、ps、top、df、du、free、chmod、tail 等命令。Git 常用工作流是创建分支、修改代码、提交、推送、发起 PR,合并前进行代码 review 和测试。

4. 有没有写过基本的脚本?

> 参考答案:可以介绍用 Shell 或 Python 写过的批量处理、日志分析、部署或定时任务脚本,并说明输入、处理逻辑和结果。

5. 平时工作使用 Linux 还是 Windows?用 WSL 吗?

> 参考答案:如实说明常用系统和使用场景。可以补充 Linux 主要用于开发、部署和排障,Windows 主要用于日常办公;如果使用过 WSL,说明它用于本地模拟 Linux 环境。

6. 有没有用 AI 做过运维类事情?比如 AI 写脚本、工具,用于排查问题。

> 参考答案:可以让 AI 根据需求生成脚本初稿、补充参数校验和异常处理,也可以让 AI 帮忙分析日志、梳理排障步骤。但执行前要人工确认命令影响范围,并在测试环境验证。

7. 操作系统掌握得怎么样?除简单脚本外,有没有 Linux 运维排障经历?比如环境卡死、无响应如何排查?

> 参考答案:先确认影响范围,再查看 top、ps、free、df、iostat 等指标,判断是 CPU、内存、磁盘还是网络问题;同时查看系统日志,必要时定位并重启异常进程。

8. 排查故障时会查看哪些日志?

> 参考答案:先看应用日志,再结合 Nginx 或网关日志、数据库日志、消息队列日志和系统日志。重点关注错误时间、请求 ID、异常堆栈和上下游调用记录。

## 四、Go 短视频 Feed 流后端项目

17. 介绍短视频 Feed 流后端项目。

> 参考答案:按“项目背景—整体架构—核心流程—自己负责的工作—难点和结果”介绍。重点讲清用户请求如何获取、组装和返回视频列表。

18. Feed 流怎么理解?重点是滑动刷新动作吗?

> 参考答案:Feed 流是持续向用户提供内容的信息流,滑动刷新只是前端触发加载更多的一种交互。后端还要负责内容排序、分页、去重、推荐和缓存。

19. 如果基于这套后端,让你来做前端,你的思路是什么?

> 参考答案:先确定接口协议和分页方式,再设计视频列表、播放、预加载、下拉刷新和上拉加载。前端要处理加载状态、错误重试、视频复用和弱网场景。

20. MySQL 和 Redis 分别什么场景使用?二者区别,项目里怎么用,为什么这么设计?

> 参考答案:MySQL 用于保存可靠的业务数据,支持事务和持久化;Redis 适合缓存热点数据、会话和计数等高频访问场景。项目中一般以 MySQL 为数据源,Redis 缓存热点 Feed 数据,降低数据库压力和访问延迟。

21. 有没有可能 MySQL 数据已经删除,但 Redis 还读到旧数据?

> 参考答案:有可能,这属于缓存和数据库不一致。常见做法是更新或删除数据库后删除缓存,配合缓存过期时间、重试或延迟双删,降低旧数据存在的时间。

22. 如果扩展这个项目,你会增加哪些功能?

> 参考答案:可以增加推荐排序、关注流、点赞评论、视频上传、内容审核、搜索、消息通知和后台运营功能,并补充限流、监控和数据统计。

23. 如果要做消息队列异步改造,如何借助 AI 更好完成这块开发?

> 参考答案:先明确哪些操作适合异步化,再设计消息结构、生产者、消费者、重试和死信队列。可以让 AI 辅助生成接口、消费者和测试代码,但要人工检查幂等性、消息丢失、重复消费和异常恢复。

24. 多次迭代不同需求 B,每次都要重新理解整个项目,怎么解决这个成本问题?

> 参考答案:完善 README、架构图、接口文档和模块说明,明确代码边界和启动方式;为关键逻辑补充测试和注释。使用 AI 时只提供相关模块、需求和约束,避免每次重新分析整个项目。

25. AI 写完代码之后,还可以做什么?如何检验、提升 AI 生成代码的质量?除了人工 review 还有什么手段?

> 参考答案:可以运行格式化、编译、单元测试、集成测试、静态检查和安全扫描,再通过 CI 自动验证。还要检查边界条件、异常处理、并发安全、性能和日志,必要时做压测。

## 五、候选人反问 & 收尾

26. 你有什么想问我的?

> 参考答案:可以询问面试流程、岗位日常工作、团队技术栈和入职后的培养方向。比如:现在是几轮面试?一面隔很久才二面;如果入职,我哪些能力需要提升?

27. 你感兴趣方向是 AI 还是其他?

> 参考答案:结合真实兴趣回答,说明自己更关注 AI、后端或运维中的哪个方向,并补充做过的项目和后续学习计划。

28. 实习可以做多久?

> 参考答案:如实说明可实习的起止时间、每周出勤天数,以及是否能接受必要的实习周期调整。
1 change: 1 addition & 0 deletions content/docs/interview/zhongchang/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ shortlink: "26gk"

- [CC-深信服一面](CC-Sangfor-First-Interview/)
- [CC-货拉拉大数据一面](CC-货拉拉大数据一面/)
- [CC-sxf二面](CC-sxf二面/)
Loading