Bài tập AI Native theo cấp độ

Cấp độ 2 · Ứng dụng · Trạng thái và luồng công việc

Tổng hợp dữ liệu quan sát dịch vụ

Gom yêu cầu theo khoảng thời gian, lỗi và độ trễ.

Mô tả bài toán

Viết function solution(events, width). Đầu vào và đầu ra là giá trị JSON. Không sửa mảng hoặc đối tượng đầu vào. Không hỗ trợ thư viện ngoài, truy cập mạng hoặc hàm bất đồng bộ. events:{timestamp:integer,service:string,durationMs:nonnegative integer,status:integer}[], width:positive integer. Bucket start=floor(timestamp/width)*width, including negative timestamps. Return {start,service,count,errors,totalMs} per bucket/service; errors counts status>=500. Sort by start, then case-sensitive JavaScript service ordering. All totals are safe integers. Giới hạn đầu vào: tối đa 50.000 phần tử mỗi mảng và 1.000 ký tự mỗi chuỗi. Số phải hữu hạn; số nguyên và tổng số nguyên nằm trong phạm vi số nguyên an toàn của JavaScript. Các kiểu và quy tắc hợp lệ khác theo mô tả ở trên.

Ví dụ đầu vào và đầu ra

Ví dụ 1

Đối số của hàm

[
  [
    {
      "timestamp": 0,
      "service": "api",
      "durationMs": 10,
      "status": 200
    },
    {
      "timestamp": 9,
      "service": "api",
      "durationMs": 20,
      "status": 500
    },
    {
      "timestamp": 10,
      "service": "api",
      "durationMs": 10,
      "status": 200
    }
  ],
  10
]

Giá trị trả về

[
  {
    "start": 0,
    "service": "api",
    "count": 2,
    "errors": 1,
    "totalMs": 30
  },
  {
    "start": 10,
    "service": "api",
    "count": 1,
    "errors": 0,
    "totalMs": 10
  }
]
Ví dụ 2

Đối số của hàm

[
  [
    {
      "timestamp": 3,
      "service": "z",
      "durationMs": 10,
      "status": 200
    },
    {
      "timestamp": 1,
      "service": "a",
      "durationMs": 10,
      "status": 200
    }
  ],
  5
]

Giá trị trả về

[
  {
    "start": 0,
    "service": "a",
    "count": 1,
    "errors": 0,
    "totalMs": 10
  },
  {
    "start": 0,
    "service": "z",
    "count": 1,
    "errors": 0,
    "totalMs": 10
  }
]
Ví dụ 3

Đối số của hàm

[
  [
    {
      "timestamp": 0,
      "service": "api",
      "durationMs": 1,
      "status": 503
    }
  ],
  100
]

Giá trị trả về

[
  {
    "start": 0,
    "service": "api",
    "count": 1,
    "errors": 1,
    "totalMs": 1
  }
]
Luyện tập không tốn điểm, không giới hạn thời gian hay lượt nộp. Tự do dùng AI và tìm kiếm. Đăng nhập để chạy ví dụ hoặc kiểm tra trên máy.

81 / 20.000 ký tự

Thêm kiểm thử riêng · tùy chọn

Nhập mảng đối số JSON theo thứ tự events, width. Kiểm thử này chạy cùng ba ví dụ.

Lưu cả hai tệp trong cùng thư mục và chạy lệnh này bằng Node.js. Đọc trường checks để xem kết quả từng ví dụ.

node verify-telemetry-rollup.mjs
문의하기

서비스명: 포트포올
문의는 운영자에게 이메일로 전송됩니다.

이메일과 문의 내용은 답변을 위해 운영자 및 메일 발송 서비스로 전송됩니다. 비밀번호·결제정보·민감한 개인정보는 입력하지 마세요.