51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

计算航班正常率(按小时或按天),需要从多个系统(空管、航空公司、地勤)提取数据,请说明数据提取、清洗和计算的过程。

中国航空集团数据分析岗位难度:简单

答案

1) 【一句话结论】航班正常率计算需整合空管、航空公司、地勤多源数据,通过定义“正常航班”(准点起飞/到达、无取消/严重延误)规则,经数据提取、清洗、规则匹配后,按小时或天统计正常航班数与总航班数之比,输出结果。

2) 【原理/概念讲解】
老师口吻解释关键概念:
航班正常率是衡量航班运营效率的核心指标,定义为“正常航班数/总航班数×100%”。其中,“正常航班”需满足以下条件:① 起飞延误≤30分钟(或约定阈值);② 到达延误≤15分钟(或约定阈值);③ 状态为“正常”(非取消、严重延误等)。
数据源整合涉及三系统:空管系统提供计划时间(计划起飞、计划到达、状态)、航空公司系统提供实际运行数据(实际时间、状态、延误原因)、地勤系统提供地面延误信息(辅助判断是否可控)。
数据清洗需处理三类问题:① 缺失值(如实际到达时间缺失,尝试从其他系统补全或标记缺失);② 异常值(如实际起飞时间晚于计划到达时间,标记为数据错误);③ 格式统一(如时间格式统一为“YYYY-MM-DD HH:MM”)。
规则匹配是将清洗后的数据按航班号关联,应用“正常航班”定义,标记正常/非正常。

3) 【对比与适用场景】

时间粒度定义特性使用场景注意点
按小时以小时为单位统计航班正常率粒度细,能反映实时波动,受单次航班影响大实时监控、快速响应运营问题(如某时段延误集中)数据量较大,计算复杂度较高
按天以天为单位统计航班正常率粒度粗,能反映趋势,受单次航班影响小汇总报告、长期趋势分析(如月度/年度正常率)需要汇总小时数据,计算更简单

4) 【示例】
以按小时计算为例,伪代码逻辑:

# 数据提取
plan_data = 空管系统API(航班号)  # 计划时间、状态
act_data = 航空公司系统API(航班号)  # 实际时间、状态、延误原因
ground_data = 地勤系统API(航班号)  # 地面延误时间、原因

# 数据清洗
clean_data = []
for rec in plan_data + act_data + ground_data:
    if rec.航班号 is None or rec.计划时间 is None:  # 检查完整性
        continue
    if rec.实际到达时间 is None:  # 缺失值处理
        rec.实际到达时间 = 尝试从航空公司系统补全(rec.航班号)
    if rec.实际起飞时间 > rec.计划到达时间:  # 异常值处理
        rec.状态 = "数据异常"
        continue
    clean_data.append(rec)

# 规则匹配
normal_flights = []
for rec in clean_data:
    if (rec.实际起飞时间 - rec.计划起飞时间 <= 30) and \
       (rec.实际到达时间 - rec.计划到达时间 <= 15) and \
       rec.状态 == "正常":
        normal_flights.append(rec)

# 计算过程
hourly_normal_rate = {}
for hour in 按小时分组的时间范围:
    hourly_flights = [rec for rec in clean_data if rec.实际时间 in hour]
    hourly_normal = [rec for rec in hourly_flights if rec in normal_flights]
    hourly_normal_rate[hour] = len(hourly_normal) / len(hourly_flights) * 100

5) 【面试口播版答案】
面试官您好,计算航班正常率的核心是整合多源数据并应用统一规则。首先,数据提取阶段,我会从空管系统获取航班计划(计划时间、状态),从航空公司系统获取实际运行数据(实际时间、状态),从地勤系统获取地面延误信息。然后进行数据清洗,比如检查数据完整性、处理缺失值(如实际到达时间缺失时尝试补全),处理异常值(如实际起飞时间晚于计划到达时间标记为异常)。接着应用规则匹配,定义正常航班为起飞延误≤30分钟、到达延误≤15分钟且状态正常的航班,对每个航班判断是否正常。最后按小时或天分组统计正常航班数与总航班数之比,得到正常率。比如按小时计算,就是统计每个小时的正常航班数除以该小时的总航班数;按天计算则是汇总全天的数据。这样就能得到准确的航班正常率。

6) 【追问清单】

  1. 如果数据源存在延迟(比如空管系统数据延迟5分钟),如何保证计算结果的准确性?
    • 回答要点:通过设置数据延迟缓冲区,比如只使用当前时间前5分钟的数据计算实时正常率,或采用滑动窗口(如最近30分钟)计算,减少延迟影响。
  2. 如果不同系统对“延误”的定义不同(比如空管系统认为起飞延误30分钟算严重延误,而航空公司认为20分钟算),如何统一规则?
    • 回答要点:制定统一的数据字典,明确各系统对“延误”的定义阈值(如起飞延误≤30分钟、到达延误≤15分钟),并在数据清洗阶段统一转换,确保规则一致性。
  3. 如果遇到数据缺失(比如部分航班没有实际到达时间),如何处理?
    • 回答要点:尝试从其他系统补全(如航空公司系统可能有到达时间),若补全失败,标记为“缺失”并排除在计算外,或根据历史数据填充(如用该航班的历史到达时间均值)。
  4. 计算中如何区分“可控延误”(如地面等待)和“不可控延误”(如天气)?
    • 回答要点:通过地勤系统的延误原因字段(如“天气”“地面等待”),将“可控延误”排除在正常航班定义外,仅统计“不可控”因素导致的延误,从而更准确地反映运营效率。
  5. 如果需要扩展到多机场或多航线,如何优化计算流程?
    • 回答要点:增加维度筛选(如按机场、航线分组),在数据提取阶段加入机场/航线标识,在计算阶段按维度分组统计,确保不同机场/航线的正常率可单独分析。

7) 【常见坑/雷区】

  1. 忽略数据源差异:未考虑不同系统对“正常”定义的不同,导致计算结果不一致(如空管系统只关注起飞延误,而航空公司关注到达延误)。
  2. 未处理数据清洗细节:直接使用原始数据计算,未检查缺失值、异常值,导致结果偏差(如缺失值填充不合理,异常值未修正)。
  3. 计算逻辑不严谨:未明确“正常”的具体标准(如延误时间阈值),导致规则模糊,结果不准确。
  4. 未说明时间粒度的影响:未解释按小时和按天计算的区别,显得对业务理解不深。
  5. 未考虑实时性需求:未提及数据延迟或计算延迟对实时监控的影响,显得对系统设计考虑不足。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1