招银网络科技(深圳)有限公司校招运维研发工程师面试经验——求职精灵(finsight.work)

收藏 0 浏览 36
2026-10-15 13:55:25

一、面试总体概述

1.1案例背景

本条目依据招银网络科技(招商银行全资子公司、总行级软件中心)运维研发工程师岗位的面试备考资料整理,完整流程为网申 → 在线测评(笔试)→ 技术一面 → 技术二面 → HR 面 → 资料审核 → 录用签约。技术一面近年明显偏向「在线看代码/补代码」,推荐无代码提示环境下手写 Java;技术二面是整个环节最关键的一环,面试官多为部门主管,会拷问式深挖项目并考察「你怎么理解运维」;HR 面表现稳定通过概率较高。

1.2基本信息

公司招银网络科技(深圳)有限公司
岗位运维研发工程师
招聘类型校招
用工形式 / 部门直招
工作地点深圳 · 杭州 · 成都
面试形式线上 + 线下
面试轮次5 轮
平均时长10 分钟
题目数量共 48 题,均附参考答案
整体难度★★★★☆ 偏难
是否参加笔试是
笔试形式计算机专业基础知识选择题 + 约 2 道编程题(投递后约 1 周)
题型构成Java 语法 / JVM / 集合 + 计算机网络(TCP/IP、HTTP) + 操作系统(进程线程、死锁) + 数据库(SQL、索引、事务) + 编程题约 2 道(数组、字符串、模拟、排序、简单动态规划)

1.3面试轮次与结构

#轮次类型时间时长
1技术一面 · 手撕代码真题技术面未注明10–30 分钟
2技术一面 · 常见手写算法与拓展题技术面未注明未注明
3技术一面 · 高频八股考点技术面未注明未注明
4技术二面 · 项目深挖与运维认知技术面未注明未注明
5HR 面HR 面未注明未注明

1.4高频考点

考点分类出现轮次次数
手撕代码与在线补代码能力技术基础 · 编码技术一面 · 手撕代码真题、技术一面 · 常见手写算法与拓展题13
Java 语言细节(接口/内部类/并发)技术八股 · Java技术一面 · 手撕代码真题、技术一面 · 常见手写算法与拓展题7
云原生与容器(Docker / K8s)技术八股 · 云原生技术一面 · 高频八股考点2
智能运维:日志、监控、排障岗位核心 · 运维技术一面 · 高频八股考点3
网络与操作系统基础技术八股 · 计网/OS技术一面 · 高频八股考点3
MySQL 事务、索引与慢查询技术八股 · 数据库技术一面 · 高频八股考点3
分布式架构与一致性技术八股 · 分布式技术一面 · 高频八股考点2
项目深挖与运维岗位认知综合面 · 项目深挖技术二面 · 项目深挖与运维认知10
求职动机、稳定性与薪资预期HR 面 · 综合素养HR 面6

1.5备考建议

优先级易失分点准备动作
P0在 IDE 提示下练代码,现场写不出来务必提前在无代码提示环境(牛客在线代码区)手写 Java,把 Task/TaskManager、Cache 接口找错、join、内部类编译产物这几类找错题过一遍
P0项目被深挖到答不上二面前把项目的架构图、核心技术点、改进点、使用场景、团队分工与争执全部吃透,每个点都能讲清「为什么难、我怎么解决」
P0答不出「你怎么理解运维」用软件工程方法解决运维问题:运维平台/工具链 + 智能化;岗位构成可按研发 50% + 系统工程 30% + 业务保障 20% 来讲
P1笔试选择题失分用 2–3 天快速过一遍计算机基础四门课的核心考点,概念准确到细节,比如各层协议与端口号
P1否认候选人值守轮换意愿提前想清楚对值守轮换(约两三周轮一次到晚上 8–9 点)的真实接受度,如实表达并说明对轮值制度的理解
P2城市选择答得太随意结合家庭因素与长期发展说明为什么选择深圳/杭州/成都,忌讳回答「哪里都行」
P2期望薪资答不上或乱报按城市给一个合理区间(参考 15K–25K/月区间),并说明判断依据,避免完全不了解行情

二、第 1 轮:技术一面 · 手撕代码真题

2.1面试形式与时长

轮次名称技术一面 · 手撕代码真题
面试类型技术面
时长10–30 分钟
形式线上
本轮题量7 题

2.2重点考查维度

  • 手撕代码 —— 本组 4 道题
  • 技术八股 —— 本组 3 道题

形式为牛客网视频面试 + 在线共享代码区,面试官直接敲代码让候选人补全/找错/手写。题量不大但偏实践,不考纯背诵,而是给出一段代码现场分析。有同学反馈「和网上面经不一样,完全在敲代码」。

考察基本编码习惯与封装意识;考察 JDK 8/9 接口语法细节是否记牢;考察并发基础是否理解到状态层面

2.3面试真题与参考答案

Q1真题一:给定 Task 类与 TaskManager 类,补充 addTask 方法和返回 task 列表的方法。手撕代码 · Java 基础
提问形式 编码题考察重点 考察基本编码习惯与封装意识
参考答案

参考实现:

class TaskManager {
    private List<Task> tasks = new ArrayList<>();

    public void addTask(Task task) {
        tasks.add(task);
    }

    public List<Task> getTasks() {
        // 注意:返回副本,防止外部修改内部状态
        return new ArrayList<>(tasks);
    }
}

考点:封装性、List 操作、防御性拷贝。
追问方向:

  • 线程安全:可换用 CopyOnWriteArrayList 或加锁
  • 去重:按 id 重写 equals/hashCode 后用 Map 存储
追问链(2 条)
线程安全怎么处理?如何按 id 去重?
集合防御性拷贝
Q2真题二:Cache 接口找错——面试官写了一个含 default 方法、private 方法、无修饰方法、内部类和 static 工厂方法的 Cache 接口,请指出代码中的错误。手撕代码 · Java 基础
提问形式 找错题考察重点 考察 JDK 8/9 接口语法细节是否记牢
参考答案

参考答案要点:

  • 接口中的普通方法默认是 public abstract,不能有方法体——这是最主要的一处错误
  • JDK 8 起接口允许 default(必须有方法体)和 static(必须有方法体)方法
  • JDK 9 起允许 private / private static 方法(必须有方法体)
  • static 方法属于接口本身,不能被实现类重写,只能通过接口名调用;default 方法可以被实现类重写
  • 接口里可以定义内部类(默认 public static),也可以定义常量(默认 public static final)
  • MemoryCache 必须是 Cache 的实现类,否则编译报错
接口规则JDK 版本差异
Q3真题三:调用线程 t.join() 之后会发生什么?技术八股 · 并发
考察重点 考察并发基础是否理解到状态层面
参考答案
  • t.join() 的作用:让当前执行线程(调用者)暂停执行,等待线程 t 执行完毕(进入 TERMINATED)后才继续
  • 本质上调用的是 wait(),当前线程会释放锁并进入 WAITING 状态;t 运行结束后由 JVM 调用 notifyAll() 唤醒
  • join() 可传入毫秒参数(join(long millis)),表示最多等待时间
  • 易错点:join() 只会让调用它的线程等待,不影响其他线程;join 不会终止 t 线程
线程通信WAITING
Q4真题四:一个外部类 Outer 中含一个静态内部类 Inner,编译后生成几个 class 文件?文件名分别是什么?技术八股 · Java 基础
考察重点 考察对语言实现细节的了解
参考答案
  • 生成 2 个 class 文件:Outer.class 和 Outer$Inner.class
  • 规律:成员内部类 / 静态内部类 / 局部内部类都会产生独立的 class 文件,命名规则为「外部类名$内部类名.class」
  • 匿名内部类也产生 class 文件,命名为 Outer$1.class、Outer$2.class……按出现顺序编号
  • 补充:静态内部类不持有外部类引用,可以定义 static 成员;非静态内部类必须通过 Outer.new Inner() 实例化
内部类编译产物
Q5真题五:讲一讲线程池与定时任务线程池,包括七大核心参数与执行流程。技术八股 · 并发
考察重点 考察并发编程的实战理解深度
参考答案
  • 常用线程池:推荐 ThreadPoolExecutor 手动创建(阿里规约禁止使用 Executors 默认工厂,因为 newFixedThreadPool / newSingleThreadExecutor 的队列无界可能导致 OOM,newCachedThreadPool 最大线程数为 Integer.MAX_VALUE 可能耗尽资源)
  • 定时任务线程池:ScheduledThreadPoolExecutor(核心线程数固定、队列无界、支持 schedule / scheduleAtFixedRate / scheduleWithFixedDelay)
  • 七大核心参数:corePoolSize(核心线程数)、maximumPoolSize(最大线程数)、keepAliveTime(空闲线程存活时间)、unit(时间单位)、workQueue(任务队列:ArrayBlockingQueue / LinkedBlockingQueue / SynchronousQueue / DelayedWorkQueue)、threadFactory(线程工厂)、handler(拒绝策略:AbortPolicy 抛异常、CallerRunsPolicy 调用者执行、DiscardPolicy 静默丢弃、DiscardOldestPolicy 丢弃最老任务)
  • 执行流程:提交任务 → 核心线程未满则直接创建线程执行 → 否则入队 → 队列满且线程数小于最大值则创建非核心线程 → 达到最大则触发拒绝策略
线程池拒绝策略
Q6真题六:写出分页查询 SQL,并说明深分页怎么优化。手撕代码 · SQL
提问形式 编码题考察重点 考察 SQL 基本功与性能优化意识
参考答案

MySQL 语法(偏移量 + 行数):

SELECT * FROM task
ORDER BY id
LIMIT (pageNum - 1) * pageSize, pageSize;

深分页优化方式之一(书签式分页):

SELECT * FROM task
WHERE id > (SELECT id FROM task ORDER BY id LIMIT 1000000, 1)
LIMIT 20;

考点:LIMIT offset, count 两个参数的含义与顺序;ORDER BY 保证分页结果稳定。
可追问深分页(大 offset)性能问题与优化:延迟关联、游标/书签式分页。

追问链(1 条)
深分页的性能问题怎么解决?
分页深分页优化
Q7真题七:配置类里定义了两个 RedisTemplate Bean,Service 中如何注入指定的那个?@Autowired 与 @Resource 的区别是什么?手撕代码 · Spring
提问形式 编码题考察重点 考察 Spring 常用注解的细节与实际排障能力
参考答案
@Service
public class TaskService {
    // 方式一:按类型注入 + 按名称限定
    @Autowired
    @Qualifier("redisTemplate1")
    private RedisTemplate<String, Object> redisTemplate1;

    // 方式二:按名称注入(@Resource 默认 byName)
    @Resource(name = "redisTemplate2")
    private RedisTemplate<String, Object> redisTemplate2;
}
  • @Autowired 默认按类型(byType)注入,同类型多个 Bean 时会报 NoUniqueBeanDefinitionException,需配合 @Qualifier 指定名称,或用 @Primary 标注默认 Bean
  • @Resource 默认按名称(byName)注入,名称匹配不到再按类型,属于 JSR-250 规范,是 JDK 注解而非 Spring 注解
  • RedisTemplate 在 Spring Boot 自动配置中默认 Bean 名为 redisTemplate(StringRedisTemplate 处理 String 类型)
依赖注入Spring

三、第 2 轮:技术一面 · 常见手写算法与拓展题

3.1面试形式与时长

轮次名称技术一面 · 常见手写算法与拓展题
面试类型技术面
形式线上
本轮题量6 题

3.2重点考查维度

  • 手撕代码 —— 本组 4 道题
  • 技术八股 —— 本组 2 道题

以下题目来自各年面经汇总,覆盖递归边界、排序、设计模式、数据结构对比等,答题时务必说明时间复杂度并主动交代边界条件。

考察边界意识与基本编码能力;考察排序基本功与复杂度分析;考察设计模式与并发细节

3.3面试真题与参考答案

Q1求 1~20 的阶乘之和(注意溢出)。手撕代码 · 算法
提问形式 编码题考察重点 考察边界意识与基本编码能力
参考答案

要点:

  • 用 long 存累加结果,20 的阶乘约为 2.43e18,接近 long 上限(9.22e18),更安全的选择是 BigInteger
  • 边界条件:0 的阶乘等于 1,递归边界写 factorial(0) = 1
  • 时间复杂度 O(n),可以在一次循环中同时维护当前阶乘值与累加和,避免重复计算
long fact = 1, sum = 0;
for (int i = 1; i <= 20; i++) {
    fact *= i;
    sum += fact;
}
追问链(2 条)
0 的阶乘等于多少?为什么不用 int?
递归边界溢出
Q2手写冒泡排序,并说明快排的思路与复杂度。手撕代码 · 算法
提问形式 编码题考察重点 考察排序基本功与复杂度分析
参考答案

冒泡排序:相邻元素两两比较交换,每轮把最大值「浮」到末尾,时间复杂度 O(n²),稳定排序。
快速排序:选基准做 partition(小于基准的放左边,其余放右边),再对左右两个子区间递归处理(分治);平均时间复杂度 O(nlogn),最坏情况(已有序且取首元素为基准)退化为 O(n²),空间复杂度 O(logn),不稳定。
答题建议:面试官通常会要求你口述 partition 的写法,重点说清双指针的移动条件与基准归位。

排序算法分治
Q3手写单例模式,说出几种实现方式。手撕代码 · 设计模式
提问形式 编码题考察重点 考察设计模式与并发细节
参考答案

常见四种写法:

  1. 饿汉式:类加载即实例化,线程安全但可能浪费资源
  2. 双重检查锁:volatile 修饰实例变量防止指令重排,配合 synchronized 保证线程安全
  3. 静态内部类:利用类加载机制保证线程安全,同时实现懒加载
  4. 枚举:最简洁,天然防止反射与反序列化破坏单例

追问准备:为什么 DCL 要加 volatile(防止 new 对象时的指令重排导致拿到未初始化的引用)。

追问链(1 条)
为什么双重检查锁要加 volatile?
单例模式volatile
Q4数组排序(只能与 0 交换),请说明思路。手撕代码 · 算法
提问形式 编码题考察重点 考察在新约束下的思维与边界处理
参考答案

把数组中的 0 当作唯一的「空位」:

  • 目标是把每个数放到正确的下标位置,只能通过和 0 交换来调整
  • 从左到右扫描,遇到位置不正确的元素时,先找到 0 的位置,把它和目标位置之间用若干次「与 0 交换」逐步归位
  • 答题重点是边界模拟:当 0 就在目标位置、或剩余元素已全部归位时要正确处理

建议现场先用 3–4 个元素的小例子手动模拟一遍再写代码,面试官主要看你的模拟和边界处理能力。

交换排序边界模拟
Q5链表与数组的区别?深拷贝与浅拷贝的区别?技术八股 · 数据结构
考察重点 考察基础数据结构与语言机制的对比理解
参考答案

链表 vs 数组:

  • 数组内存连续,支持 O(1) 随机访问,插入删除需要移动元素 O(n)
  • 链表内存不连续,靠指针连接,插入删除 O(1)(已定位节点),访问需遍历 O(n)
  • 数组缓存局部性好,链表每个节点额外存指针

深拷贝 vs 浅拷贝:

  • 浅拷贝只复制对象本身,内部引用的对象仍然共享(修改引用对象会互相影响)
  • 深拷贝会递归复制所有引用的对象,彼此完全独立
  • Java 中 Object.clone() 默认是浅拷贝,深拷贝需要手动递归 clone 或通过序列化实现
数据结构对象拷贝
Q6二元交叉熵损失函数的公式是什么?技术八股 · 机器学习
考察重点 算法向岗位用于考察对损失函数的直观理解
参考答案

公式为:

L = -[y·log(p) + (1 - y)·log(1 - p)]

其中 y 是真实标签(0 或 1),p 是模型预测为正类的概率。
理解要点:预测值与真实值越接近,损失越小;当 y = 1 而 p 趋近 0 时,损失趋近无穷大,因此能强力惩罚「自信的错误」。该岗位偏算法向时只需理解含义即可。

损失函数

四、第 3 轮:技术一面 · 高频八股考点

4.1面试形式与时长

轮次名称技术一面 · 高频八股考点
面试类型技术面
形式线上
本轮题量13 题

4.2重点考查维度

  • 技术八股 —— 本组 10 道题
  • 岗位核心 —— 本组 3 道题

考点集中在云原生、智能运维(日志/监控/排障)、网络基础、操作系统与 Shell、数据库与中间件、分布式架构、网络安全七大块。

考察云原生基础是否成体系;考察云产品的基本了解与实践关联;岗位核心题,考察是否具备完整的日志链路认知

4.3面试真题与参考答案

Q1Docker 和虚拟机的核心区别?各自适用场景?技术八股 · 云原生
考察重点 考察云原生基础是否成体系
参考答案
  • 虚拟化层级:Docker 是操作系统级虚拟化,共享宿主机内核;虚拟机是硬件级虚拟化(Hypervisor),每个 VM 有独立操作系统
  • 资源占用:容器少(MB 级镜像),虚拟机多(GB 级)
  • 启动速度:容器秒级,虚拟机分钟级
  • 隔离性:容器较弱(共享内核),虚拟机强(硬件/系统级隔离)
  • 适用场景:容器适合微服务部署、CI/CD、开发环境一致性与多环境快速复制;虚拟机适合高隔离要求场景,如异构操作系统、银行核心交易系统等

追问:容器编排工具与 K8s 核心组件——Docker Compose 用于单机多容器编排,Kubernetes 用于大规模集群编排(另有 Docker Swarm、Mesos、OpenShift);K8s 核心组件包括 kube-apiserver(集群入口)、etcd(分布式 KV 存储,保存集群状态)、kube-scheduler(调度 Pod)、kube-controller-manager(管理各类控制器)、kubelet(节点代理,管理 Pod 生命周期)、kube-proxy(网络代理,实现 Service 转发)、容器运行时 containerd。

追问链(2 条)
容器编排工具有哪些?K8s 核心组件分别做什么?
DockerK8s
Q2云平台(阿里云、AWS)的核心服务有哪些?技术八股 · 云原生
考察重点 考察云产品的基本了解与实践关联
参考答案

对应关系如下:

  • 计算:ECS / EC2
  • 容器:ACK / EKS
  • 对象存储:OSS / S3
  • 关系型数据库:RDS / RDS
  • 负载均衡:SLB / ELB
  • 私有网络:VPC / VPC
  • Web 应用防火墙:WAF / WAF
  • 弹性伸缩:ESS / Auto Scaling

回答建议:应届生可以结合课程项目说明,例如在课程项目中用过 ECS 部署 Web 服务、OSS 存静态资源、RDS 做数据库。

云服务
Q3Linux 中怎么处理大量服务器日志进行智能运维?数据量很大时怎么优化?建模用什么算法?岗位核心 · 智能运维
考察重点 岗位核心题,考察是否具备完整的日志链路认知
参考答案

处理流程五步:采集 → 传输 → 存储 → 分析 → 可视化/告警

  • 采集:Flume / Filebeat 实时采集文件日志与系统日志
  • 传输:Kafka 缓冲高并发日志流,削峰填谷、避免数据丢失
  • 存储:Elasticsearch(全文检索)或 HDFS(海量冷数据)
  • 分析:ELK Stack(Elasticsearch + Logstash + Kibana)过滤错误日志、统计访问频次、异常检测与故障定位
  • 可视化/告警:Kibana 仪表盘 + 告警规则(如出现 OOM 关键字日志立即触发邮件/钉钉告警)

数据量大的优化手段:

  • 分布式部署采集与分析组件,横向扩容
  • 采集端过滤无用信息(只采 ERROR/WARN 级),传输过程压缩
  • Elasticsearch 按时间分区存储,定期用 ILM 清理过期日志
  • 用 Spark Streaming / Flink 做实时流处理,替代批量处理降低时延

建模常用算法:

  • 异常检测:孤立森林(Isolation Forest)、DBSCAN
  • 趋势预测:ARIMA、LSTM(预测服务器负载)
  • 故障分类:朴素贝叶斯、决策树
ELKKafka异常检测
Q4常用的监控工具有哪些?怎么设计监控告警机制?磁盘使用率飙升怎么紧急处理?岗位核心 · 智能运维
考察重点 考察运维体系的建设思路而非工具罗列
参考答案

常用工具:

  • 系统监控:Zabbix、Prometheus + Grafana(Prometheus 采集时序数据,Grafana 可视化并支持自定义仪表盘)
  • 应用监控:SkyWalking、Pinpoint(链路追踪、性能监控)
  • 日志监控:ELK Stack

告警机制设计四要素:

  1. 监控指标:系统层(CPU、内存、磁盘、网络)+ 应用层(响应时间、错误率、并发数)
  2. 阈值设定:如磁盘使用率 85% 告警、CPU 持续 5 分钟 100% 告警,避免误报
  3. 告警渠道:邮件、短信、企业微信/钉钉,重要告警多渠道同步
  4. 分级策略:P1 紧急(服务器宕机,立即通知负责人)/ P2 重要(磁盘飙升,30 分钟内处理)/ P3 一般(内存略高,工作日处理)

磁盘使用率飙升的紧急处理:
① 应急止损:df -h 查看各分区占用,du -sh * 定位大目录,删除无用日志或临时文件释放空间
② 排查原因:lsof 查看正在写入的大文件,判断是日志写入过多、应用内存泄漏还是恶意文件
③ 永久解决:日志问题配置 logrotate 轮转自动清理,应用问题反馈开发修 bug
④ 预防:调整监控阈值(如 80% 预警),提前规避风险

追问链(1 条)
磁盘满了第一步做什么?
监控告警Prometheus
Q5服务器故障排查的通用流程是什么?岗位核心 · 智能运维
考察重点 考察排障是否有章法
参考答案

① 明确现象:告警内容、影响范围、发生时间
② 收集信息:日志、监控指标、变更记录
③ 分层定位:网络层用 ping / traceroute,系统层用 top / df / iostat,应用层看日志与链路追踪
④ 假设验证与根因确认
⑤ 应急恢复:重启 / 回滚 / 降级 / 扩容
⑥ 复盘与改进:补充监控、完善预案

故障排查分层定位
Q6DNS 的作用是什么?属于 OSI 哪一层?技术八股 · 计算机网络
考察重点 考察网络基础是否扎实
参考答案
  • 核心作用:域名解析,把人类易记的域名(www.cmbchina.com)转换为计算机识别的 IP 地址
  • 延伸作用:负载均衡(同一域名对应多个 IP,按策略分配请求)、故障转移(某 IP 故障时自动切换)
  • 层次:属于应用层协议,工作在 TCP/UDP 的 53 端口,直接面向应用程序提供服务,不涉及底层传输与网络层功能

追问准备:DNS 解析完整流程——浏览器缓存 → 系统 hosts → 本地 DNS 服务器 → 根/顶级/权威服务器的递归与迭代查询。

追问链(1 条)
DNS 解析的完整流程是什么?
DNS应用层
Q7讲一讲 TCP 三次握手与四次挥手、HTTP 与 HTTPS 的区别,以及输入 URL 到页面显示的完整过程。技术八股 · 计算机网络
考察重点 考察计网核心链路能否连讲下来
参考答案
  • 三次握手:SYN → SYN+ACK → ACK,目的是确认双方收发能力并同步初始序列号
  • 四次挥手:FIN → ACK → FIN → ACK,被动关闭方的 ACK 与 FIN 分开发送是因为可能还有数据未传完;TIME_WAIT 等待 2MSL,保证最后一个 ACK 可靠到达,并让旧报文在网络中消亡
  • HTTP vs HTTPS:HTTPS = HTTP + TLS 加密 + 证书认证,默认端口 443(HTTP 为 80),需向 CA 申请数字证书
  • 输入 URL 到页面显示:DNS 解析 → TCP 三次握手 → TLS 握手(HTTPS)→ 发送 HTTP 请求 → 服务器处理并返回响应 → 浏览器解析渲染(DOM / CSSOM → 渲染树 → 布局 → 绘制),期间还涉及缓存、CDN 等
TCPHTTPS
Q8进程与线程的区别?死锁的四个必要条件和处理策略?技术八股 · 操作系统
考察重点 考察操作系统基础概念
参考答案
  • 进程是资源分配的最小单位,线程是 CPU 调度的最小单位
  • 同一进程内的线程共享地址空间与文件句柄,切换开销小,但一个线程崩溃可能影响整个进程
  • 死锁四条件:互斥、占有且等待、不可剥夺、循环等待
  • 处理策略:预防(破坏四个条件之一)、避免(银行家算法)、检测与解除(撤销进程/剥夺资源)
进程线程死锁
Q9用 Shell 遍历目录筛选出 .log 文件。技术八股 · Shell
提问形式 编码题考察重点 考察日常运维脚本能力
参考答案

方式一:for 循环(灵活,可加复杂逻辑)

#!/bin/bash
dir="/var/log"
for file in $dir/*; do
    if [ -f "$file" ] && [ "${file##*.}" = "log" ]; then
        echo "$file"
    fi
done

方式二:find 命令(简洁高效,默认递归子目录)

find /var/log -type f -name "*.log"

进阶:筛选后批量处理(如删除 7 天前的日志)

find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \;

参数说明:-type f 只查文件(排除目录);-name "*.log" 按名称匹配;-exec … {} \; 对结果逐条执行命令。

Shell日志清理
Q10讲一讲 MySQL 的事务特性、隔离级别、索引结构,以及慢查询怎么优化。技术八股 · 数据库
考察重点 考察数据库核心知识的完整度
参考答案
  • ACID:原子性(undo log 回滚)、一致性(最终目的)、隔离性(MVCC + 锁)、持久性(redo log 刷盘)
  • 隔离级别:读未提交(脏读)< 读已提交(不可重复读)< 可重复读(InnoDB 默认,MVCC 防幻读)< 串行化
  • 索引:InnoDB 使用 B+ 树索引——非叶子节点只存键值和指针,叶子节点链表相连,支持范围查询且树高低、IO 少;不用哈希索引的原因:哈希只支持等值查询、不支持范围与排序、冲突处理开销大
  • 慢查询优化:开启 slow log 定位 → EXPLAIN 分析执行计划(是否走索引、扫描行数)→ 优化 SQL 写法或增加合适索引(注意最左前缀)→ 大表分页改用延迟关联
ACIDB+树索引
Q11如何实现服务的分布式部署?需要考虑哪些核心问题?技术八股 · 分布式
考察重点 考察分布式系统设计的基础认知
参考答案

核心思路是「拆分 + 集群 + 协同」:

  • 按业务域拆分服务(用户 / 订单 / 支付),每个服务独立部署,多实例集群化避免单点
  • 用负载均衡(Nginx / K8s Service)把请求分发到不同实例
  • 数据存储:MySQL 主从、MongoDB 分片保证高可用
  • 用监控运维体系保障服务稳定

需要考虑的核心问题:

  • 负载均衡:请求均匀分配,避免单实例过载
  • 数据一致性:分布式事务(TCC、SAGA)或最终一致性方案(消息队列 + 本地消息表)
  • 服务发现:用注册中心(Nacos、Eureka)让服务自动发现通信,无需硬编码地址
  • 容错降级:熔断(Sentinel、Hystrix)避免服务雪崩,故障服务返回默认结果
  • 网络延迟:超时重试机制、幂等设计
分布式服务治理
Q12什么是一致性哈希?哈希冲突怎么解决?技术八股 · 分布式
考察重点 考察分布式路由与哈希表实现细节
参考答案
  • 一致性哈希:把哈希值空间组织成环,节点和数据都映射到环上,数据由顺时针遇到的第一个节点负责;节点增删时只影响相邻节点,避免普通取模哈希导致的全量数据迁移,常用于分布式缓存(Redis Cluster 的哈希槽是其变体,共 16384 个 slot)
  • 哈希冲突解决方法:链地址法(HashMap 采用数组 + 链表 + 红黑树,链表长度 ≥ 8 且数组长度 ≥ 64 时树化)、开放定址法(线性探测 / 二次探测 / 双重哈希)、再哈希法、公共溢出区
一致性哈希HashMap
Q13对称加密和非对称加密的优缺点?DH 密钥交换的原理是什么?技术八股 · 网络安全
考察重点 考察安全基础与金融行业特有的合规考点
参考答案
  • 对称加密(AES、DES):加解密速度快,适合海量数据;缺点是密钥管理困难——双方需提前安全共享密钥,泄露则数据不安全
  • 非对称加密(RSA、ECC):公钥公开、私钥保密,无需提前共享密钥,管理简单;缺点是速度慢,不适合海量数据
  • 实际组合使用:HTTPS 用非对称加密交换对称会话密钥,再用对称加密传输数据(TLS 握手)
  • DH 交换(Diffie-Hellman):双方约定公开参数(大质数 p、底数 g)→ 甲方生成私钥 a,计算公钥 A = g^a mod p 发给乙方 → 乙方生成私钥 b,计算公钥 B = g^b mod p 发给甲方 → 甲方算 K = B^a mod p,乙方算 K = A^b mod p,由模幂运算性质两边得到相同的共享密钥 K = g^(ab) mod p。公钥与公开参数可被窃听,但无法反推私钥与共享密钥(离散对数难题)

金融背景补充考点:数字签名(私钥签名、公钥验签,保证不可抵赖与完整性)、国密算法(SM2 非对称、SM3 哈希、SM4 对称)、SQL 注入原理与防御(预编译参数化查询)。

加密算法DH

五、第 4 轮:技术二面 · 项目深挖与运维认知

5.1面试形式与时长

轮次名称技术二面 · 项目深挖与运维认知
面试类型技术面
形式线上或线下
本轮题量10 题

5.2重点考查维度

  • 综合面 —— 本组 7 道题
  • 岗位核心 —— 本组 2 道题
  • 求职动机 —— 本组 1 道题

整个面试最关键的一环,面试官多为部门主管,风格偏审视,会深挖项目经历。据反馈,面试官会以比较审视的眼光追问,务必把项目的每个细节吃透。

考察是否能整体把握项目而非只会写模块;考察技术深度的真实程度;考察系统思考与演进意识

5.3面试真题与参考答案

Q1这个项目的技术栈和整体架构是什么?综合面 · 项目深挖
考察重点 考察是否能整体把握项目而非只会写模块
参考答案

要点:要能画得出架构图——前端 → 网关 → 服务 → DB → 缓存,并讲清数据流向。
回答框架:

  1. 一句话说明业务目标
  2. 按层讲技术选型:前端框架、网关(鉴权/限流)、业务服务拆分方式、存储选型(MySQL/Redis/MQ)
  3. 说清一条核心请求链路怎么走完
  4. 补充为什么这样选型,以及有没有更好的替代方案
项目架构
Q2你觉得这个项目的核心技术 / 最大难点是什么?综合面 · 项目深挖
考察重点 考察技术深度的真实程度
参考答案

要点:选 1–2 个真正有深度的点,讲清楚「为什么难」以及「你如何解决」。
回答框架:

  • 难点定位:是性能瓶颈、一致性问题还是并发冲突
  • 解决过程:尝试过哪些方案、各自的取舍
  • 最终结果与量化收益(QPS、耗时下降比例等)

提示:不要堆砌技术名词,面试官会顺着你的回答继续追问,选自己真能讲透的点更安全。

项目难点
Q3这个项目哪里可以改进?综合面 · 项目深挖
考察重点 考察系统思考与演进意识
参考答案

从性能、扩展性、可靠性三个维度各提一条,并说明改进方案:

  • 性能:热点数据加缓存、慢 SQL 走索引优化、批量接口异步化
  • 扩展性:按业务域拆分模块、配置中心化、接口抽象便于替换依赖
  • 可靠性:增加熔断降级与重试幂等、完善监控告警与灰度发布机制

结尾补一句优先级判断,说明如果只有两周时间你会先做哪一项,体现取舍能力。

项目改进
Q4这个项目的用途和使用场景是什么?现在谁在用?综合面 · 项目深挖
考察重点 考察是否具备业务视角而非只关注技术
参考答案

回答要体现业务理解,有真实用户或数据最好:

  • 讲清楚目标用户是谁、在什么场景下使用、解决了什么痛点
  • 有真实使用数据就报数据(用户量、请求量、部署规模)
  • 如果是学习/竞赛项目,如实说明,并讲清楚你调研过哪些真实业务场景

切忌把实验室项目描述成线上产品,面试官会顺着追问数据真实性。

业务理解
Q5你在团队里负责什么?如何分工合作?有没有发生过争执?综合面 · 团队协作
考察重点 考察协作方式与冲突处理能力
参考答案

用 STAR 法则讲协作与冲突解决,突出主动性与推动力:

  • 先说清楚团队规模与你负责的模块边界
  • 争执部分讲具体分歧点、双方的理由、你如何把讨论拉回目标(数据/工期/用户价值)
  • 结果讲清楚最后采纳了谁的方案、效果如何,以及你从中学到了什么

注意:争执不是减分项,回避问题或把责任推给队友才是。

STAR团队冲突
Q6你的专业和项目不完全贴合,为什么做这个项目?(真实出现过的题)综合面 · 转岗动机
考察重点 考察跨背景同学的投入度与学习路径
参考答案

回答框架:承认差异 + 强调可迁移能力 + 表达学习决心。

  • 承认:我的专业方向确实和这个项目不完全一致
  • 迁移:但专业训练带给我的数据分析/建模/逻辑推演能力可以直接用到项目里
  • 行动:为补齐差距我具体做了什么(自学课程、读源码、做实验)
  • 决心:我已经在这个方向上持续投入了多长的时间,产出是什么
转岗动机
Q7你怎么理解运维?综合面 · 岗位认知
考察重点 二面必问,考察对岗位的理解是否脱离手工值守层面
参考答案

运维正在从「传统人工运维」转向「开发式运维(运维研发)」。招银的运维研发岗核心是:用软件工程的方法解决运维问题——建设云计算平台、智能运维平台(AI 算法 + 复杂事件规则引擎)、运维工具链,实现自动化、智能化运维,而不是纯手工值守。
我理解这个岗位 = 50% 研发能力(用 Java / Python / Go 开发运维平台与工具)+ 30% 系统工程能力(Linux、网络、数据库、容器云)+ 20% 业务保障意识(稳定性、应急、容量规划)。
岗位价值:银行系统 7×24 小时运行,运维平台的质量直接影响全行系统的稳定性,「运维研发」是金融科技里很有技术纵深和长期价值的方向。

运维认知
Q8场景题:需要对成千台机器的 CPU 等指标做数据分析,你会怎么设计?岗位核心 · 智能运维
提问形式 情景题考察重点 考察大规模监控数据的架构设计能力
参考答案

用大数据 pipeline 的思路:
采集(Agent / Prometheus)→ Kafka 汇聚 → Flink / Spark 实时计算 → ClickHouse / ES 存储 → 可视化 + 异常检测模型(用孤立森林做异常检测、用 LSTM 预测容量趋势)。
补充要点:

  • 采集侧要考虑采样频率与机器规模对网络的压力
  • 存储分层:热数据放 ES/ClickHouse 供查询,冷数据落对象存储降成本
  • 告警侧做收敛,避免一台机器抖动产生告警风暴
数据管道异常检测
Q9场景题:给你十个运维平台,怎么管?岗位核心 · 智能运维
提问形式 情景题考察重点 考察平台化治理思维
参考答案

核心是「收敛」而不是「堆平台」:

  1. 统一认证与权限:一个账号打通所有平台,权限集中管控
  2. 统一告警通道:收敛告警风暴,避免十个平台各自推送
  3. 平台间 API 打通数据:避免数据孤岛与重复录入
  4. 容器化部署:便于统一维护和升级
  5. 建立 SLO 与考核指标:用指标衡量平台价值,长期无法闭环的平台考虑下线合并
平台治理SLO
Q10运维需要掌握较底层的软硬件知识,还要参与值守轮换(约两三周轮一次到晚上 8–9 点),你的接受度如何?求职动机 · 服从性
考察重点 必问,考察对运维岗位真实工作状态的接受度
参考答案

我对这个要求是真实接受并理解的。

  • 运维研发的价值恰恰在于理解底层:不懂 Linux、网络和硬件,就写不出可靠的运维工具
  • 值守轮换是团队保障 7×24 稳定性的必要制度,我把参与值班看作接触真实故障、积累排障经验的机会
  • 我在时间安排上已经做好了调整的准备,不会影响日常工作与响应时效

建议:如实表达接受度,同时说明你对轮值制度的理解,比单纯表态「完全没问题」更有说服力。

值守轮换岗位契合

六、第 5 轮:HR 面

6.1面试形式与时长

轮次名称HR 面
面试类型HR 面
形式线下
本轮题量12 题

6.2重点考查维度

  • 自我认知 —— 本组 5 道题
  • 通用能力 —— 本组 3 道题
  • 综合面 —— 本组 2 道题
  • 求职动机 —— 本组 1 道题
  • 行业理解 —— 本组 1 道题

HR 面考察求职动机、职业规划、沟通能力和价值观是否与公司匹配,只要表现稳定通过概率较高。主线建议:动机真实 + 规划清晰 + 稳定性强 + 与银行科技文化匹配(严谨、合规、长期主义);不要吐槽前东家、导师或同学;被问缺点时说真实但不致命的短板 + 已采取的改进动作。

考察表达重点能否随场合切换;判断城市选择的稳定性;考察成就感来源与自我叙事能力

6.3面试真题与参考答案

Q1请做自我介绍(1–2 分钟版本,需与一面区分)。自我认知 · 自我介绍
考察重点 考察表达重点能否随场合切换
参考答案

HR 面的自我介绍要与技术面区分开:技术面讲「我能做什么」,HR 面讲「我为什么来、为什么留得住」。
建议结构:基本信息 + 1 段最相关的经历(简要 STAR)→ 为什么选择招银网络科技 → 稳定性表达(城市、长期发展)。
控制时长 1–2 分钟,不要重复技术面的项目细节。

自我介绍
Q2为什么选择深圳 / 杭州 / 成都?求职动机 · 稳定性
考察重点 判断城市选择的稳定性
参考答案

回答要点:结合家庭因素与长期发展说清楚,忌讳「随便都行」。
参考口径:

  • 城市层面:深圳(总部与核心研发中心,离业务最近)/ 杭州(钱塘江畔,金融科技生态好)/ 成都(研发中心所在地,生活成本与产业配套均衡)
  • 个人层面:家庭在这座城市或有长期发展计划、已经了解所在基地的办公地点与生活安排

结论句:我是基于城市发展与个人规划做出的选择,不是随手填的志愿。

城市选择
Q3你最得意的一件事是什么?通用能力 · 行为面试
考察重点 考察成就感来源与自我叙事能力
参考答案

用 STAR 法则讲,重点体现能力或品格:

  • S:交代背景与限制条件
  • T:你的任务是什么
  • A:你做了哪些关键动作(这部分是重点)
  • R:结果 + 你的收获

建议挑一件能体现「主动性、抗压或跨团队推动」的事,比「拿了奖学金」更有说服力。

STAR
Q4实习期间遇到过什么问题?是怎么解决的?通用能力 · 行为面试
考察重点 考察真实性与问题处理方式
参考答案

回答框架:

  1. 问题本身要真实且有一定难度,但不要是灾难级事故
  2. 重点讲你的排查/解决路径:怎么定位、求助过谁、有没有留文档
  3. 结果讲清楚交付时间与量化收益
  4. 收尾讲这次经历沉淀了什么方法论

避雷:不要吐槽前东家、 mentor 或同学,把困难归因于「协作不畅」容易被判定为态度问题。

实习复盘
Q5你的 mentor / 带教怎么评价你?通用能力 · 他人评价
考察重点 验证与人协作时的真实口碑
参考答案

建议提前与 mentor 沟通口径,回答要与其真实评价一致。
参考口径:

  • 正面评价:交付靠谱、响应及时、遇到不懂的会主动问并留下记录
  • 待改进:初期对业务背景了解不够快,后来通过主动旁听需求评审补齐

这个题本质是交叉验证,回答最好能和自己前面讲过的经历互相印证。

mentor 评价
Q6哪段实习对你成长帮助最大?为什么?自我认知 · 成长复盘
考察重点 考察复盘能力与自我驱动,
参考答案

选择成长最大的一段,从三个角度回答:

  1. 能力增量:这段时间具体补齐了哪几项能力
  2. 认知变化:对工程/协作/业务的理解发生了什么改变
  3. 迁移价值:这些收获如何迁移到运维研发岗位上

避免泛泛说「学到了很多」,要有具体场景与产出。

成长复盘
Q7你有没有运维相关的经历?对运维岗位是怎么理解的?综合面 · 岗位认知
考察重点 HR 层面对岗位认同度的复核
参考答案

有技术一/二面的回答基础,这里 HR 更简单:

  • 经历层面:如实说明做过的相关工作,比如课程项目中用 Docker 部署服务、搭过 Prometheus + Grafana 监控、写过 Shell 脚本做日志清理
  • 理解层面:一句话概括——运维研发是用研发能力建设运维平台与工具,让系统更稳定、更高效,而不是纯手工值守

即使没有正式运维实习,也能用「偏工程的实践 + 对岗位的理解」作答,重点是态度真实。

运维认知
Q8你的爱好是什么?自我认知 · 兴趣爱好
考察重点 考察真实性与性格侧面
参考答案

真实、健康的爱好即可,最好能附带一点「性格佐证」:

  • 长跑/健身:能体现长期坚持与目标感
  • 技术类:写博客、参与开源、做小工具,与岗位形成正向呼应
  • 团队协作类:球类运动,体现配合意识

不要回答过于功利编造的内容,也不要说「没什么爱好」。

兴趣爱好
Q9简单介绍一下你的科研项目。综合面 · 项目深挖
考察重点 考察复杂内容向非技术人员表达的能力
参考答案

HR 也会听项目,讲清价值与收获即可,不需要深挖技术细节:

  1. 一句话说清楚项目要解决的问题
  2. 你负责哪部分、核心产出是什么
  3. 最终成果的价值(论文、专利、落地效果)
  4. 这段经历锻炼了你什么能力

控制篇幅在 2 分钟以内,避免术语堆叠。

科研项目
Q10你了解你项目所在行业的情况吗?行业理解 · 项目背景
考察重点 考察是否只顾<|hy_place▁holder▁no▁813|>钻技术而不关心业务落地
参考答案

提前准备项目所在行业的三个维度:技术路线、商业化进展、主要玩家。
回答模板:

  1. 行业现状与主流技术路线(有哪些流派、各自的优劣)
  2. 商业化到什么阶段(谁在赚钱、靠什么赚钱)
  3. 头部玩家有哪些、各自的特点

例如是自动驾驶方向,就要能说清技术路线差异、商业化落地进展与主要玩家。
如果实在不了解,坦诚说明并讲自己的调研方法,比硬编更稳。

行业认知
Q11你期望的薪资是多少?自我认知 · 薪资预期
考察重点 考察薪资预期是否合理、是否有判断依据
参考答案

参考区间 15K–25K / 月,结合城市说一个合理数字。
回答要点:

  1. 先说区间并说明判断依据(城市生活成本、岗位市场行情、个人能力匹配度)
  2. 表达对平台和成长空间的看重:「在不明显低于市场水平的前提下,我更看重平台的技术纵深和长期成长」
  3. 不要给一个完全脱离行情的数字,也不要回答「按公司标准来」显得没做功课
面经给出的参考区间随年份和城市会有变化,实际作答请以当年行情为准。
薪资谈判
Q12自我评价:请用三个词概括自己,每个词配一个事例。自我认知 · 概括表达
考察重点 考察概括能力与事例支撑
参考答案

建议选与岗位相关的三个词,并为每个词配一个 STAR 小例子:

  • 靠谱(例如:实习期间负责的模块按期交付,没有出现返工)
  • 主动(例如:发现循环日志会打满磁盘,主动加了 logrotate 与告警)
  • 学习能力强(例如:两周内从未接触过的容器技术做到独立部署上线)

避雷:不要用完全同质化的形容词堆叠,也不要把缺点包装成优点。

自我评价
备考提示
备考阶段,我发现很多同学容易陷入「不知道从哪准备」的困境。后来我向学员推荐了一款叫求职精灵的 AI 工具,上面收录了大量真实面经,还能直接搜到目标岗位的面试官常问什么、评分标准是什么。用它做 AI 模拟面试也特别方便,输入公司和岗位,系统自动生成仿真题目并给出反馈,练完之后心里更有底。感兴趣的同学可以直接访问 https://finsight.work/ 体验。

总结收尾

最后真心建议大家在备考阶段用一下求职精灵,网址是 https://finsight.work/ 。它能查岗位JD、一键修改简历、刷15万+道真题题库,还有AI模拟面试功能,整个备考流程基本都能覆盖,已经有超过6万学员用过,效果有口皆碑。别等到面试前一天才开始准备,现在就去用起来。机会永远留给有准备的人,希望读到这篇文章的每一位同学都能拿到心仪的offer。

以上内容整理自学员和应届同学反馈的真实面经,结合招银网络科技(深圳)有限公司的最新考情整理,仅供参考学习。祝各位求职者顺利拿到心仪offer! 本文由求职精灵内容团队整理发布 | 官网:https://finsight.work/