📈 Observability: Sliding Window Traffic Spike Detector

20:00

1. Studi Kasus

Untuk mendeteksi potensi serangan DDoS atau lonjakan trafik mendadak (traffic spike), server monitoring menganalisis array timestamp request log yang terurut: [t1, t2, t3, ...] (dalam detik).

Anda diminta membuat fungsi:

function detectSpikes(timestamps, windowSeconds, threshold)

⏱️ Alokasi Waktu Live Coding (20 Menit):

  • 5 Menit Pertama: Memahami sliding window dua pointer $(L, R)$ untuk efisiensi $O(N)$.
  • 15 Menit Koding: Implementasi window scanning dan deteksi interval lonjakan.

2. Requirement

  1. Hitung jumlah request dalam setiap interval rentang waktu sebesar windowSeconds (misal $[t, t + windowSeconds]$).
  2. Jika jumlah request dalam rentang tersebut $\ge threshold$, catat interval tersebut { startTime, endTime, count }.
  3. Kembalikan array berisi semua puncak spike yang terdeteksi (tanpa duplicate start times).
solution.js
Loading...
Local Test Console