一、企业概况
1.1公司简介
中国电信股份有限公司是中国电信集团旗下的上市主体,也是国内三大基础电信运营商之一,主要经营移动通信、宽带互联网接入、固定电话、卫星通信、云计算、IDC 与 ICT 集成等综合信息服务。公司连续多年入选《财富》世界500强,集团口径总资产超过一万亿元、员工约 39 万人,网络与机房资源覆盖全国城乡。近年来公司从传统通信运营商向「综合智能信息服务提供商」转型,把云网融合、算力调度、大数据与网络安全作为重点方向,天翼云、IDC 与行业数字化解决方案是主要增长点。对技术岗来说,这意味着工作对象从「交换机和光缆」扩展到「云平台与自动化系统」。
| 总部 | 北京 |
| 企业性质 | 中国电信集团旗下上市主体,国有控股大型通信运营企业 |
| 主营业务 | 移动通信、宽带接入、固定电话、卫星通信、云计算、IDC 与 ICT 集成 |
| 规模与行业地位 | 国内三大基础电信运营商之一,连续多年入选《财富》世界500强;集团员工约 39 万人 |
| 转型方向 | 云网融合、算力服务、大数据、人工智能与网络安全 |
| 品牌与网络 | 天翼云、天翼高清等业务品牌,网络与机房覆盖全国 |
1.2岗位定位
IT 运维技术岗分布在省级分公司、云网运营部门与数据中心,日常工作是保障系统稳定:服务器与中间件巡检、监控告警处理、自动化脚本开发、发布变更、故障定位与复盘。这个岗位既要有开发能力(Python、Shell),也要懂操作系统、网络与数据库,很多重复工作靠脚本和平台化工具解决。运营商的运维有明显的「保运行」属性,变更窗口常在夜间,故障响应要求分钟级。
| 所属体系 | 省分公司云网运营 / IT 支撑 / 数据中心条线 |
| 核心职责 | 主机与中间件运维、监控告警处置、自动化脚本与工具开发、变更发布、故障定位与复盘 |
| 发展路径 | 运维工程师 → 运维开发 / SRE → 平台或云网技术专家 |
| 培养体系 | 入职培训 + 认证体系(云、网络、安全)+ 师带徒 |
- 技术面以 Python 与操作系统基础为主,问题密度大
- 运维岗看重脚本能力与故障处理经验,纯理论答案分数有限
- 变更与故障响应有夜间窗口,加班问题会被直接确认
1.3招聘概况
公司校招技术岗覆盖软件开发、IT 运维、云计算、大数据、网络安全、网络优化等方向,面向计算机、软件工程、通信工程、信息安全、数据科学等专业,工作地点为各省分公司及数据中心。招聘按集团统一校招推进,网申后经笔试、技术面与综合面确定录用。
| 面向专业 | 计算机科学与技术、软件工程、通信工程、信息安全、数据科学与大数据技术等 |
| 工作地点 | 各省分公司、云网运营部门及数据中心 |
| 投递窗口 | 以中国电信集团校园招聘公告为准,秋招阶段集中开放 |
企业概况整理自公司官网、公开年报与招聘公告,具体数据以官方最新发布为准。
二、面试总体概述
2.1案例背景
中国电信技术岗的这场面试分得很清楚:前十一道全是 Python 语言与操作系统基础,从数据类型、进程线程协程、深浅拷贝,一路问到设计模式、闭包装饰器、多继承、魔法方法、生成器与垃圾回收;后七道换成自我介绍、实验室工作、科研论文、优缺点、岗位优势、求职动机与加班态度。专业题密度大,几乎不给思考时间,答完一个概念会立刻追一层「实际怎么用」;非专业题则明显在确认你是不是能长期待在运维岗。
2.2基本信息
| 公司 | 中国电信股份有限公司 |
| 岗位 | IT 运维技术岗 |
| 招聘类型 | 校招 |
| 用工形式 / 部门 | 直招 |
| 面试形式 | 线下 |
| 面试轮次 | 2 轮 |
| 平均时长 | 30 分钟 |
| 题目数量 | 共 18 题,均附参考答案 |
| 整体难度 | ★★★☆☆ 中等 |
| 候选人背景 | 专业 计算机相关专业 |
2.3高频考点
| 考点 | 分类 | 出现轮次 | 次数 |
|---|---|---|---|
| Python 数据类型与可变不可变 | 语言基础 | 技术面 | 1 |
| 进程、线程、协程的区别 | 操作系统 | 技术面 | 1 |
| 深浅拷贝与引用语义 | 语言基础 | 技术面 | 1 |
| 常用设计模式与运维场景 | 软件设计 | 技术面 | 1 |
| 闭包与装饰器 | 语言进阶 | 技术面 | 1 |
| 多继承与 MRO | 面向对象 | 技术面 | 1 |
| 迭代器、生成器与惰性求值 | 语言进阶 | 技术面 | 1 |
| 垃圾回收与内存管理 | 解释器原理 | 技术面 | 1 |
| 科研经历、优缺点与求职动机 | 综合面 | 综合面 | 6 |
2.4备考建议
| 优先级 | 易失分点 | 准备动作 |
|---|---|---|
| P0 | Python 基础只会用不会讲 | 按「对象模型—并发—内存—迭代」四条线整理,每个概念配一段可运行的代码 |
| P0 | 并发模型混淆 | 把进程、线程、协程的调度者、开销、通信方式和适用场景做成一张对比表 |
| P1 | 设计模式背名字 | 选单例、工厂、观察者、策略四个,各准备一个运维场景的实现思路 |
| P1 | 没有运维项目可讲 | 把实验室或课程项目包装成运维视角:监控、告警、自动化、故障处理 |
| P2 | 科研经历空白 | 如实说明,补一句课程项目或自学成果,不要编论文 |
| P2 | 加班题答得太满 | 承认夜间变更与故障响应,再讲自动化减少重复劳动 |
三、面试流程
3.1流程总览
| # | 环节 | 形式 | 时长 | 筛选重点 |
|---|---|---|---|---|
| 1 | 网申 | 集团校招平台 | — | 专业、项目与技能栈 |
| 2 | 笔试 | 线上机考 | 约 90—120 分钟 | 行测 + 计算机专业 + 编程 |
| 3 | 技术面 | 技术面试(多对一) | 约 40 分钟 | Python 语言、操作系统与运维实践 |
| 4 | 综合面 | HR + 部门负责人 | 约 20—30 分钟 | 动机、稳定性和加班态度 |
| 5 | 体检与录用 | 体检 + 背景审核 | — | 身体条件与信息真实性 |
3.2各环节说明
填报省分公司与技术方向,提交简历、成绩单与项目材料。技术岗筛查看重编程能力、Linux 基础和运维相关经历,有脚本、监控、容器项目会加分。
- 项目写清技术栈与你的具体模块
- 有 GitHub、博客或证书可以附上
行测部分覆盖言语、数量、判断、资料分析,专业部分涉及操作系统、网络、数据库与编程语言,部分年份有在线编程题。
- 编程题先拿暴力解,再想优化
- 网络与操作系统是专业题的重点
面试官按知识块连续提问,先问语言基础,再问并发、内存与设计,最后落到实际运维场景。答完概念常追问「你在哪用过」。
- 每个知识点准备一个使用场景
- 不会的题说清思路,别沉默
围绕自我介绍、实验室经历、优缺点、岗位优势、为什么投递与加班展开,确认你是否接受运维的值班与变更节奏。
- 加班题要承认夜间变更与故障响应
- 把运维经历讲成「发现问题—解决—沉淀」
通过后安排体检与材料核验,随后发放录用通知。
- 提前准备学历与证书材料
四、第 1 轮:技术面
4.1面试形式与时长
| 轮次名称 | 技术面 |
| 面试类型 | 技术面 |
| 时长 | 约 40 分钟 |
| 形式 | 线下 |
| 本轮题量 | 11 题 |
4.2重点考查维度
- 语言进阶 —— 本组 3 道题
- 语言基础 —— 本组 2 道题
- 面向对象 —— 本组 2 道题
- 操作系统 —— 本组 1 道题
- 软件设计 —— 本组 1 道题
- 编程范式 —— 本组 1 道题
- 解释器原理 —— 本组 1 道题
题目密度大,基本是一问接一问。面试官更在意「你用过没有」,纯背概念的答案会被追问到场景层。
考察语言基础是否理解对象模型;看并发模型是否真正理解;看引用语义与内存模型的理解
4.3面试真题与参考答案
先按可变性分类,比按类型列举更清楚。不可变类型:int、float、bool、str、tuple、frozenset,对象创建后值不能改,修改会生成新对象;可变类型:list、dict、set、bytearray,可以原地修改。这个区分直接影响三件事:一是赋值与传参,不可变对象传的是「值的感觉」,函数内重新赋值不影响外部,可变对象传的是引用,原地修改会影响外部;二是能否做字典的键,只有可哈希的不可变对象才行;三是深浅拷贝的行为差异。再补两个常被追问的点:is 比较身份、== 比较值,小整数和短字符串有驻留机制,所以 a is b 有时为真但不能依赖;tuple 本身不可变,但如果里面装着 list,那个 list 仍可修改。答题时最好举一段三行代码说明,比背分类有说服力。
按「谁调度、占什么资源、怎么通信」三条线对比。进程是操作系统资源分配的基本单位,有独立地址空间,创建和切换开销大,进程间通信要靠管道、消息队列、共享内存、socket;线程是 CPU 调度的基本单位,同一进程内的线程共享地址空间和文件描述符,切换开销小,但需要锁来保护共享数据;协程是用户态的轻量级执行单元,由程序自己调度,切换不经过内核,开销极小,适合同步风格的异步编程。Python 里还要补 GIL:CPython 的 GIL 让同一时刻只有一个线程执行字节码,所以 CPU 密集型任务用多进程,IO 密集型任务用多线程或协程。落到运维场景:批量采集上千台主机的指标,用 asyncio 协程最合适;做日志的 CPU 密集解析,用多进程;简单的并发请求,线程池就够。
浅拷贝只复制最外层容器,内部的嵌套对象仍然共享引用;深拷贝递归复制所有层级,得到完全独立的对象。Python 里浅拷贝可以用 copy.copy()、list.copy()、切片 [:]、dict.copy(),深拷贝用 copy.deepcopy()。关键差异在嵌套结构:对一个 [[1,2],[3,4]] 做浅拷贝,改内层列表两边都会变;深拷贝则互不影响。还有两个细节常被追问:不可变对象(int、str、tuple 中的不可变元素)深拷贝时可能直接返回原对象,这是解释器的优化;含循环引用的结构,deepcopy 用 memo 字典记录已复制对象,避免无限递归。运维场景里,复制配置模板必须用深拷贝,否则改一份嵌套的数据库配置会污染所有副本;而复制一个大对象时,深拷贝的性能开销要评估。
按创建型、结构型、行为型各挑一个,并且必须落到运维场景。创建型说单例:配置管理、连接池只保留一个实例,避免重复初始化;工厂:根据设备厂商或任务类型创建不同的采集器、告警处理器,新增类型时只加一个类,不改调用方。结构型说适配器:不同厂商的监控设备接口不一样,用适配器统一成同一套方法,上层不用关心品牌;装饰器:给函数动态加日志、计时、重试,不改原逻辑。行为型说观察者:告警事件发生后,短信、邮件、工单系统各自订阅,互不耦合;策略:不同级别故障走不同的处置流程,用策略类替换一堆 if-else。回答时别背 23 种,选四五个讲透,再补一句原则——「模式是为了隔离变化,不是为了炫技,简单脚本不需要硬套」。
从「组织代码的单位」和「状态怎么处理」两点区分。面向对象以对象为单位,把数据和行为封在一起,靠封装、继承、多态管理复杂度,状态是可变的、被方法修改的,适合业务实体建模,比如主机、工单、告警都能抽象成对象。函数式以函数为单位,强调纯函数、不可变数据和组合,同样的输入永远得到同样的输出,副作用被推到边界,适合数据管道和并发处理,因为无共享状态就不用加锁。Python 不是纯函数式语言,但支持高阶函数、lambda、map/filter、闭包和生成器。实际工程里通常是混合:用类封装有状态的组件(连接、客户端),用函数式处理数据流(清洗、聚合、转换)。运维平台就是典型例子:采集器做成类,指标清洗用函数链,两边各取所长。
闭包是函数嵌套函数,内层函数引用了外层函数的局部变量,并且外层函数返回内层函数,于是这些变量在外部函数执行完后仍被保留。它解决的是「带状态的函数」问题,比如写一个计数器,或者给请求函数固定一个 base_url。装饰器是闭包的应用:接收一个函数,返回一个新函数,在不修改原函数代码的前提下增加功能。写法上要注意三点:用 *args, **kwargs 透传参数;用 functools.wraps 保留原函数的名称和文档;带参数的装饰器要再套一层。运维里用得很多:记录函数执行时间、失败重试、权限校验、把告警发送做成装饰器。追问常问「多个装饰器叠加的顺序」,答案是靠近函数的先执行、离函数远的后包装,可以类比成洋葱。再补一句风险:装饰器会让调用栈变深,调试时注意 traceback。
可以多继承。Python 3 的新式类用 C3 线性化算法计算 MRO(方法解析顺序),保证每个类在继承链中只出现一次,并且父类的顺序稳定;可以用 类名.__mro__ 或 类名.mro() 查看。规则可以概括为:先深度优先地找,但同一个类只保留最后一次出现的位置,同时子类永远排在父类之前。典型问题是菱形继承:A 派生出 B 和 C,D 同时继承 B、C,按 C3 的顺序 D → B → C → A,super() 会沿着 MRO 依次调用,不会重复执行 A。工程上建议:能用组合就不用多继承;确实要用时,父类尽量设计成 mixin,只提供单一能力,并且统一用 super() 协作。追问常问「super 到底调用谁」,答案是按 MRO 找下一个,不是简单调父类。
封装、继承、多态。封装:把数据和方法包在类里,通过命名约定和属性机制控制访问,单下划线表示内部使用,双下划线触发名称改写,@property 可以把方法伪装成属性并做校验。继承:子类复用父类的属性和方法,可以重写,super() 调用父类实现;Python 支持多继承,顺序由 MRO 决定。多态:同一接口在不同子类上有不同实现,调用方不需要知道具体类型,鸭子类型让这一点更彻底——只要有对应方法就能用,不要求继承同一个基类。再补两个常被问的点:类属性属于类、被所有实例共享,实例属性各自独立,修改可变类属性会互相影响;__slots__ 可以限制实例属性、减少内存开销。落到运维代码:把不同厂商的设备抽象成统一接口,就是多态;把连接管理封在类里,就是封装。
按用途分组说,别零散报名字。构造与销毁:__new__ 负责创建实例、__init__ 负责初始化、__del__ 在回收时调用,时机不保证。字符串表示:__str__ 给人看、__repr__ 给开发者看。容器协议:__len__、__getitem__、__iter__、__contains__,实现后对象就能用 len、下标、for 和 in。运算符:__add__、__eq__,重写 __eq__ 时要一并考虑哈希。上下文管理:__enter__ 与 __exit__,配合 with 自动释放连接和句柄,运维里最实用的就是管理 SSH 连接。追问常问 __new__ 与 __init__ 的区别,答案是前者返回实例、后者不返回值。
三者是层层包含的关系。可迭代对象实现了 __iter__,能被 for 遍历,比如 list、dict、str;调用 iter() 会返回一个迭代器。迭代器同时实现 __iter__ 和 __next__,每次 next() 返回一个元素,取完抛 StopIteration,它是有状态的,只能遍历一次;迭代器本身也是可迭代对象,因为 __iter__ 返回自己。生成器是创建迭代器最简便的方式,用 yield 的函数或生成器表达式,调用时不会立刻执行函数体,而是返回一个生成器对象,每次 next 才往下走到下一个 yield,因此是惰性求值、内存友好。运维场景:读几个 G 的日志文件,用生成器逐行处理,内存占用恒定;用 yield 写分页拉取接口数据的逻辑,调用方不用关心页码。追问常问「生成器能不能复用」,答案是消耗完就空了,需要重新创建。
以引用计数为主,分代回收为辅,配合标记清除处理循环引用。引用计数:每个对象维护一个计数,被引用加一、引用失效减一,归零立即释放,优点是实时、实现简单,缺点是无法处理循环引用,而且计数操作有开销。循环引用:两个对象互相引用,计数都不为零,需要靠垃圾回收器定期检测,从根对象出发做可达性分析,把不可达的循环回收掉。分代回收:对象按存活时间分成三代,新对象在第 0 代,经历一次回收仍存活就晋升,越老的代扫描频率越低,因为大多数对象生命周期很短,这样能降低开销。工程上可以用 gc 模块手动触发、查看阈值、临时关闭;__del__ 方法会影响回收,尽量别在里面做资源释放,用 with 或 try/finally。追问常问「怎么排查内存泄漏」,答案是看对象增长、用 gc.get_objects 或 tracemalloc 定位。
五、第 2 轮:综合面
5.1面试形式与时长
| 轮次名称 | 综合面 |
| 面试类型 | 综合面 |
| 时长 | 20—30 分钟 |
| 形式 | 线下 |
| 本轮题量 | 7 题 |
5.2重点考查维度
- 项目与科研 —— 本组 2 道题
- 自我介绍 —— 本组 1 道题
- 自我认知 —— 本组 1 道题
- 岗位匹配 —— 本组 1 道题
- 求职动机 —— 本组 1 道题
- 职业态度 —— 本组 1 道题
专业面之后换 HR 与部门负责人,问题回到人和意愿:实验室做了什么、有没有科研、优缺点、岗位优势、为什么来、能不能加班。语气温和,但每个答案都会追问一句细节。
看技术定位与表达效率;验证项目真实性与技术深度;看研究经历与自我定位
5.3面试真题与参考答案
一分半,技术岗的自我介绍要有「技术坐标」。第一段身份:学校、专业、届别;第二段技术栈:主语言 Python,会 Shell,熟悉 Linux、MySQL、Redis,接触过 Docker 与监控体系,别报一串名词,挑三个能讲深的;第三段项目:选一个与运维最相关的,说清你解决了什么问题、用了什么方法、结果如何,比如「用 Python 写采集脚本,把 50 台机器的巡检从人工两小时压到十分钟」;第四段动机:为什么选电信、为什么做运维,可以落到云网融合与系统稳定性;结尾留钩子,比如「我做过一次线上故障定位」,引导追问。技术面自我介绍不要超过两分钟,HR 面可以稍长,重点是把「我会什么、我做成过什么」讲清楚。
按「方向—我的任务—技术细节—产出」讲。方向一句话交代实验室做什么,比如分布式系统、网络测量、智能运维;我的任务说清你负责的模块,是数据采集、平台开发还是算法验证;技术细节要给具体的,比如用什么语言、什么框架、数据量多大、部署在哪;产出给可验证的结果,比如系统上线后覆盖多少节点、故障发现时间缩短多少、有没有形成文档或论文。如果实验室工作偏理论,就强调工程能力:写过多少行代码、搭过什么环境、解决过什么bug。面试官问这题,是在判断你有没有真实的动手经历,所以别只说「跟着师兄做项目」,要说清你独立完成了哪一块。最后可以补一句与运维的关联,比如「这段经历让我熟悉了监控和日志排查」。
如实回答,有就讲清楚,没有就给替代证据。有论文:说清题目、你在其中的角色、解决的问题、发表或投稿状态,别夸大贡献;有科研经历但没论文:讲你负责的实验、数据处理、工具开发,说明为什么没形成论文,比如方向偏工程、数据还没收齐;完全没有:坦诚说明,然后把话题转到课程项目、竞赛、开源或自学成果上,比如「我没有发论文,但做过一个监控系统的课程设计,从采集到可视化都是我自己搭的」。面试官问这题,不是非要你有论文,而是想看你有没有钻研过一件事。收尾可以补一句:「我更偏工程实现,读论文主要是为了找方法。」这句话能把定位说清楚,避免被认为学术能力弱。
优点选与运维强相关的三条,各配一句证据:一是排查问题的耐心,遇到告警会顺着日志一层层查,不急着重启;二是自动化意识,重复三次以上的操作就想写成脚本;三是责任心,交接班和变更记录不省略。缺点选真实但不致命的,比如「有时过于追求把问题查到底,导致处理单个故障耗时偏长」,然后给改进:先按预案恢复业务,再安排时间做根因分析。也可以说「不擅长拒绝临时需求」,改进是学会排优先级、把影响说清楚。三个缺点不要都选,选一个讲透即可。避免「我太追求完美」这种伪缺点,也避免「我粗心」「我脾气急」这类与运维冲突的表述。最后补一句自我认知的来源,比如「这是上次实习带我的师傅提醒我的」。
优势要差异化,别说「学习能力强」这种人人都有的话。三条可选:第一,开发 + 运维的复合背景,既能写 Python 工具,又能上机器排查,很多候选人只占一边;第二,自动化实践,举一个把重复工作脚本化的例子,说明你理解运维的效率瓶颈;第三,对电信业务的理解,比如知道云网融合、IDC、天翼云的基本形态,说明你不是海投。每条都要有证据,最好带数字。收尾落到岗位动作:「我能先接手监控告警的规则梳理和巡检脚本维护,这两块上手快、见效也快。」如果面试官追问「别人也能做」,就补一句你的差异:比如「我做过从采集到告警的完整链路,知道哪一步最容易出问题」。
三层:行业、企业、岗位。行业层:通信行业正在从管道向云网融合和算力服务转型,运维的对象从设备扩展到云平台,技术含量在提升;企业层:中国电信有全国性的网络和机房资源,天翼云和 IDC 业务在增长,平台大、场景全,能接触到规模化的系统;岗位层:IT 运维技术岗既能用上我的 Python 和 Linux 基础,又能积累故障处理和平台建设的经验,和我的方向一致。收尾补一句个人化表达,比如「我是本地人,愿意长期在省内发展」,或者「我做过监控项目,想在更大的规模上验证」。避免只说「国企稳定、待遇好」,也不要贬低其他运营商。如果被问「还投了哪里」,如实说,并说明为什么把电信放在前面。
先承认运维岗的特殊性:变更窗口多在夜间,故障响应不分工作日,重大保障期要值班,这些加班是岗位属性,不是管理问题,我有准备。再讲效率:日常把巡检、备份、日志清理这类重复工作脚本化,减少无效耗时;把常见故障写成处置手册,缩短恢复时间。最后给边界,语气留余地:「我不排斥必要的加班和值班,也希望排班和轮换能相对公平。」可以补一句具体承诺,比如「节假日值班我可以排」。不要一开口说「完全接受 996」,也不要说「我希望不加班」,运维岗听到后者会直接扣分。收尾可以落到成长:「故障现场学到的东西比平时多,我不排斥多承担一些。」
六、注意事项
中国电信技术岗的面试是「密度型」的:题不难,但一个接一个,答得浅就会被追着问。以下几条是这类 Python 技术面最常见的失分点。
每个 Python 概念答完,补一句「我在哪用过」,否则会被追问到答不上来。
说清它对 CPU 密集和 IO 密集任务的不同影响,才能解释为什么还要用多线程。
协程是用户态调度、不经过内核,和线程的切换成本、并发模型都不同。
选四五个讲透并落到运维场景,比报 23 个名字更能体现工程能力。
菱形继承和 super 的走向是高频追问,能画出顺序就不会被问倒。
没论文就说没有,用课程项目或开源经历补位,编造经不起追问。
运维有夜间变更和故障响应,答「不希望加班」会被直接判定不适配。
问监控体系、自动化平台、值班机制,比问薪资更能体现你关心岗位本身。
总结收尾
中国电信技术岗的面试没有偏题,考的都是 Python 与操作系统的基本功,外加一点运维意识。真正的区分度在于:你能不能把概念讲成场景,能不能说清「我在哪用过、踩过什么坑」。准备时按对象模型、并发、内存、迭代四条线梳理,每个知识点配一段代码和一个运维例子,比刷一百道选择题有效。综合面则要提前想清楚值班与变更的接受度,这几乎是运维岗的必答题。
在此推荐你使用求职精灵(https://finsight.work/)进行系统备考。平台拥有中国电信等数百家知名企业的真实面经资源,独家支持中英双语 AI 模拟面试,可针对IT 运维技术岗进行定制化练习和智能评分优化;简历智能修改功能帮你打磨出一份亮眼的简历;超过 15 万道行测、专业题、英语题随时随地在线刷题。无论你是第一次校招还是已经面过几轮,求职精灵都能为你的求职之路提供有力支持。