August 18

Live Coding Interviewga tayyorlanish uchun tasklar  🚀

1. Unikal elementlar (arraydan takrorlarni olib tashlash)
Berilgan sonlar massivida faqat takrorlanmagan elementlarni qaytarish.
Misol: [1, 2, 2, 3, 1] → [1, 2, 3].


2. Matnni teskari qilish
Funksiya yozish: berilgan matnni teskarisiga chiqarish.
Misol: "hello" → "olleh".


3. Palindrom
Matn chapdan ham, o‘ngdan ham bir xil o‘qiladimi yoki yo‘qmi, shuni tekshirish.
Misol: "level" → true, "test" → false.


4. Birinchi unikal harf
Matnda faqat 1 marta uchragan birinchi harfni topish.
Misol: "aabbcdd" → "c".


5. Ikki son yig‘indisi (Two Sum)
Massiv va target son berilgan. Massivdan yig‘indisi target bo‘ladigan ikkita sonni topish.
Misol: [2, 7, 11, 15], target=9 → [2, 7].


6. To‘g‘ri qavslar
Faqatgina ( va ) lardan iborat matn berilgan. Qavslar to‘g‘ri ochilib yopilganini tekshirish.
Misol: "(()())" → true, "(()" → false.


7. Qism-massiv yig‘indisi (Sliding Window)
Massiv va k soni berilgan. Uzunligi k bo‘lgan qism-massivning eng katta yig‘indisini topish.
Misol: [2, 1, 5, 1, 3, 2], k=3 → 9.


8. Anagramma tekshirish
Ikki matn berilgan. Ular bir xil harflardan tashkil topganmi yoki yo‘qmi, tekshirish.
Misol: "listen" va "silent" → true.


9. O‘z map funksiyangni yozish
Array.prototype.map kabi ishlaydigan myMap funksiyasini yozish.
Misol:
myMap([1,2,3], x => x*2) → [2,4,6].


10. Chuqur obyektni tekislash (DFS)
Ichma-ich obyekt berilgan. Uni bitta tekis obyektga aylantirish kerak.
Misol:

const obj = {
  a: 1,
  b: {
    c: 2,
    d: {
      e: 3
    }
  }
}
flatten(obj) → { "a": 1, "b.c": 2, "b.d.e": 3 }

Bu misollarni xech qanday yordamlarsiz yecha olgan odam, o'zini qisman bo'lsada Live Coding Interviewga tayyor deb hisoblasa bo'ladi, chunki bu misollarda xar-xil algoritmlarni ishlatgan xolda yechsa bo'ladi (hash-map, two pointers va etc) 🚀