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) 🚀