Tarkibga o'tish

Dasturlash masalalari

Bu bo'limda darslarda o'rganilgan mavzularni mustahkamlash uchun amaliy masalalar jamlangan. Masalalarning yechimi berilmaydi: ularni Go tilida o'zingiz yozib, natijani tekshirasiz. Har bir masala ostida Misol qatori bor: unda sinash uchun kirish qiymatlari va dasturingiz chiqarishi kerak bo'lgan natija ko'rsatilgan.

Masalalar uch qismga bo'lingan:

  • Asosiy mavzular — 1230 ta algoritmik masala. Ular oddiy hisob-kitobdan boshlanib, massiv, satr, fayl, rekursiya va daraxtlargacha boradi.
  • Go tili — 230 ta masala. Ular slice, map, interfeys, generics, goroutine va test yozish kabi Go'ga xos imkoniyatlarni mashq qildiradi.
  • SQL (PostgreSQL) — 1000 ta masala. Ular SELECT dan boshlanib, JOIN, window funksiyalar, JSONB, triggerlar va indekslargacha boradi.

Qanday ishlash kerak?

  1. Mavzularni tartib bilan yeching. Har bir mavzu oldingilariga tayanadi.
  2. Masala shartida berilgan formulalar faqat yo'l-yo'riq. Hisoblashni o'zingiz dasturlaysiz.
  3. Yechimni turli kirish ma'lumotlari bilan tekshiring, chegaraviy holatlarni (0, manfiy son, bo'sh ro'yxat) unutmang.
  4. Go tili masalalariga asosiy mavzularni yechib bo'lgandan keyin o'ting.

Asosiy mavzular

№ Mavzu Masalalar
1 Begin — Kiritish-chiqarish va o'zlashtirish 40
2 Integer — Butun sonlar 30
3 Boolean — Mantiqiy ifodalar 40
4 If — Shart operatori 30
5 Case — Tanlash operatori 20
6 For — Parametrli sikl 40
7 While — Shartli sikl 30
8 Series — Sonli ketma-ketliklar 40
9 Proc / Func — Funksiyalar 60
10 Minmax — Minimum va maksimumlar 30
11 Array — Bir o'lchamli massivlar 140
12 Matrix — Ikki o'lchamli massivlar 100
13 String — Belgilar va satrlar 70
14 File — Ikkilik fayllar 90
15 Text — Matnli fayllar 60
16 Param — Funksiyalarda murakkab turlar 70
17 Recur — Rekursiya 30
18 Dynamic — Dinamik ma'lumotlar strukturalari 80
19 Tree — Daraxtlar 100
20–21 TablBase / TablExt — Jadval ma'lumotlarini qayta ishlash 130

Go tili

№ Mavzu Masalalar
G1 Slice — Slice'larning ichki tuzilishi 20
G2 Map — Xaritalar 25
G3 Struct — Struct va metodlar 25
G4 Interface — Interfeyslar 25
G5 Errors — Xatolar, defer, panic va recover 20
G6 Generics — Umumiy dasturlash 20
G7 Goroutine — Goroutine va kanallar 30
G8 Sync — Sinxronizatsiya va context 20
G9 Stdlib — Paketlar va standart kutubxona 30
G10 Testing — Testlar va benchmark'lar 15

SQL (PostgreSQL)

SQL bo'limida 1000 ta masala bor. Ular PostgreSQL'da ishlaydi va to'rtta namuna sxema (do'kon, maktab, bank, kutubxona) ustida tuzilgan. Avval Sxemalar va tayyorlov sahifasidan ma'lumotlar bazasini tayyorlab oling. Har bir masala ostida kutilgan natija yashirin blokda berilgan.

№ Mavzu Masalalar
001 SELECT, alias va ifodalar 30
002 WHERE sharti 42
003 NULL bilan ishlash 30
004 ORDER BY, LIMIT, OFFSET, DISTINCT 30
005 IN, BETWEEN, LIKE, ILIKE 29
006 Matematik funksiyalar 24
007 Satr funksiyalari 39
008 Sana va vaqt 44
009 CASE ifodasi 24
010 CAST va ma'lumot turlari 24
011 Agregat funksiyalar, GROUP BY, HAVING 56
012 JOIN 65
013 Subquery va EXISTS 40
014 UNION, INTERSECT, EXCEPT 20
015 CTE (WITH) 28
016 Rekursiv CTE 25
017 Window funksiyalar 61
018 INSERT, UPDATE, DELETE, RETURNING 32
019 UPSERT va MERGE 20
020 CREATE TABLE va cheklovlar 33
021 ALTER, DROP va migratsiya 20
022 Normalizatsiya va sxema loyihalash 23
023 JSON va JSONB 41
024 ARRAY 26
025 ENUM, UUID, range va composite turlar 21
026 Full-text search va pg_trgm 21
027 View va Materialized view 16
028 Funksiyalar va PL/pgSQL 30
029 Triggerlar 15
030 Tranzaksiyalar, izolyatsiya va lock 25
031 Indekslar 20
032 EXPLAIN va ANALYZE 20
033 Partitioning va VACUUM 11
034 Rollar, GRANT va RLS 15