├── .gitignore
├── exercises
├── 1-module.md
├── 10-module(Spring Boot Part II).md
├── 2-module.md
├── 3-module.md
├── 4-module.md
├── 5-module.md
├── 6-module(database).md
├── 7-module(Jakarta EE).md
├── 8-module(Spring Core).md
└── 9-module(Spring Boot).md
├── interviewquestions
├── 1-module.md
├── 10-module(Spring Boot Part ||).md
├── 2-module.md
├── 3-module.md
├── 4-module.md
├── 5-module.md
├── 6-module(database).md
├── 7-module(Jakarta EE).md
├── 8-module(Spring Introduction).md
└── 9-module(Spring Boot).md
├── jars
├── Books.json
├── employees.json
└── seeder.jar
├── needed_sources
├── 2101.png
├── 243.png
├── 244.png
├── StandardBuiltInConstraints.md
├── activation.html
├── comments-service.jar
├── gallery.png
├── hateoas-api-service.jar
├── install_mongodb_community.md
├── jakarta-expression-language-spec-5.0.pdf
├── jakarta-persistence-spec-3.0.pdf
├── jakarta.persistence.query_methods.md
├── jakarta_ee_error_handling_attribute_names.md
├── jakata_ee_lesson_1_exercise_1_img.png
├── jpa_configurations.md
├── jstl_tags.md
├── loginform.png
├── maven_commands.md
├── model2-lesson3-task1.png
├── model2-lesson3-task3.png
├── module_10_lesson_3_comment_service.md
├── module_10_lesson_3_hateoas_service.md
├── module_9_lesson_8_mapstruct.md
├── module_9_lesson_9_logging.md
├── postgres_localhost-2023_03_01_12_34_08-dump.sql
├── report.html
├── short_url_logo.png
├── spring_module2_lesson_4_spring_data_jpa_property_expressisons.md
├── spring_module_10_lesson_1_mongodb.md
├── spring_module_10_lesson_1_mongodb_sales.json
├── spring_module_10_lesson_1_mongodb_users.json
├── spring_module_10_lesson_7_3_needed_plugins.md
├── spring_module_10_lesson_7_4_fizzbuzz_data.md
├── spring_module_1_lesson_5_home_work.png
├── spring_module_9_lesson_10_project.md
├── spring_module_9_lesson_4_1_spring_data_jpa_config.md
├── spring_module_9_lesson_6_jwt.md
├── spring_module_9_lesson_7_openapi_swagger_config.md
└── vm.png
├── source_codes
├── module_1
│ ├── 1-lesson.md
│ ├── 10-lesson.md
│ ├── 2-lesson.md
│ ├── 3-lesson.md
│ ├── 4-lesson.md
│ ├── 5-lesson.md
│ ├── 6-lesson.md
│ ├── 7-lesson.md
│ ├── 8-lesson.md
│ └── 9-lesson.md
├── module_10
│ └── source.md
├── module_2
│ ├── 1-lesson.md
│ ├── 10-lesson.md
│ ├── 2-lesson.md
│ ├── 3-lesson.md
│ ├── 4-lesson.md
│ ├── 5-lesson.md
│ ├── 6-lesson.md
│ ├── 7-lesson.md
│ ├── 8-lesson.md
│ └── 9-lesson.md
├── module_3
│ ├── 1-lesson(Exceptions).md
│ ├── 10-lesson(Legacy Collections and Internationalization).md
│ ├── 2-lesson(Generics).md
│ ├── 3-lesson(Dynamic Array Collections Framework).md
│ ├── 4-lesson(LinkedList).md
│ ├── 5-lesson(Set,Comparato,Comparable).md
│ ├── 6-lesson(Queue Data Structure).md
│ ├── 7-lesson(Dictionary And References).md
│ ├── 8-lesson(Views, Copies, Iterators).md
│ └── 9-lesson(Algorithms, Optional class and SOLID).md
├── module_4
│ ├── 1-lesson(Multithreading and Threads).md
│ ├── 10-lesson(Logging API).md
│ ├── 2-lesson(Race Condition, Conditions, Synchronazition, Field Visibility and Deadlock).md
│ ├── 3-lesson(Atomicity, ThreadSafe Collections and Immutable Classes).md
│ ├── 4-lesson(Thread Pools, Callable, Future and ThreadLocal).md
│ ├── 5-lesson(ForkJoin FrameWork, Asyncron Computation and Singleton Design Pattern).md
│ ├── 6-lesson(Date, Calendar Classes and New Time API).md
│ ├── 7-lesson(IO, NIO and Serialization).md
│ ├── 8-lesson(Regex).md
│ └── 9-lesson().md
├── module_5
│ ├── 1-lesson(mailing).md
│ ├── 10-lesson(introduction_to_streams).md
│ ├── 11-lesson(stream_api).md
│ ├── 12-lesson(comparator_and_collectors).md
│ ├── 13-lesson(predefined_collectors).md
│ ├── 14-lesson(httpclient).md
│ ├── 15-lesson(gson).md
│ ├── 16-lesson(reflections_api).md
│ ├── 17-lesson(telegram_bot).md
│ ├── 18.annotations.md
│ ├── 2-lesson(jar files).md
│ ├── 3-lesson(base64).md
│ ├── 4-lesson(maven).md
│ ├── 5-lesson(lombok I).md
│ ├── 6-lesson(lombok II).md
│ ├── 7-lesson(faker).md
│ ├── 8-lesson(behaviorparameterization).md
│ └── 9-lesson(functionalinterfaces).md
├── module_6
│ └── project_code.md
├── module_7
│ └── readme.md
├── module_8
│ └── readme.md
└── module_9
│ └── source.md
└── statics
└── img_1.png
/.gitignore:
--------------------------------------------------------------------------------
1 | ### Maven template
2 | target/
3 | pom.xml.tag
4 | pom.xml.releaseBackup
5 | pom.xml.versionsBackup
6 | pom.xml.next
7 | release.properties
8 | dependency-reduced-pom.xml
9 | buildNumber.properties
10 | .mvn/timing.properties
11 | # https://github.com/takari/maven-wrapper#usage-without-binary-jar
12 | .mvn/wrapper/maven-wrapper.jar
13 |
14 | # Eclipse m2e generated files
15 | # Eclipse Core
16 | .project
17 | # JDT-specific (Eclipse Java Development Tools)
18 | .classpath
19 |
20 | ### Java template
21 | # Compiled class file
22 | *.class
23 |
24 | # Log file
25 | *.log
26 |
27 | # BlueJ files
28 | *.ctxt
29 |
30 | # Mobile Tools for Java (J2ME)
31 | .mtj.tmp/
32 |
33 | # Package Files #
34 | *.jar
35 | *.war
36 | *.nar
37 | *.ear
38 | *.zip
39 | *.tar.gz
40 | *.rar
41 |
42 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
43 | hs_err_pid*
44 | replay_pid*
45 |
46 | ### JetBrains template
47 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
48 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
49 |
50 | # User-specific stuff
51 | .idea/**/workspace.xml
52 | .idea/**/tasks.xml
53 | .idea/**/usage.statistics.xml
54 | .idea/**/dictionaries
55 | .idea/**/shelf
56 |
57 | # AWS User-specific
58 | .idea/**/aws.xml
59 |
60 | # Generated files
61 | .idea/**/contentModel.xml
62 |
63 | # Sensitive or high-churn files
64 | .idea/**/dataSources/
65 | .idea/**/dataSources.ids
66 | .idea/**/dataSources.local.xml
67 | .idea/**/sqlDataSources.xml
68 | .idea/**/dynamic.xml
69 | .idea/**/uiDesigner.xml
70 | .idea/**/dbnavigator.xml
71 |
72 | # Gradle
73 | .idea/**/gradle.xml
74 | .idea/**/libraries
75 |
76 | # Gradle and Maven with auto-import
77 | # When using Gradle or Maven with auto-import, you should exclude module files,
78 | # since they will be recreated, and may cause churn. Uncomment if using
79 | # auto-import.
80 | # .idea/artifacts
81 | # .idea/compiler.xml
82 | # .idea/jarRepositories.xml
83 | # .idea/modules.xml
84 | # .idea/*.iml
85 | # .idea/modules
86 | # *.iml
87 | # *.ipr
88 |
89 | # CMake
90 | cmake-build-*/
91 |
92 | # Mongo Explorer plugin
93 | .idea/**/mongoSettings.xml
94 |
95 | # File-based project format
96 | *.iws
97 |
98 | # IntelliJ
99 | out/
100 |
101 | # mpeltonen/sbt-idea plugin
102 | .idea_modules/
103 |
104 | # JIRA plugin
105 | atlassian-ide-plugin.xml
106 |
107 | # Cursive Clojure plugin
108 | .idea/replstate.xml
109 |
110 | # SonarLint plugin
111 | .idea/sonarlint/
112 |
113 | # Crashlytics plugin (for Android Studio and IntelliJ)
114 | com_crashlytics_export_strings.xml
115 | crashlytics.properties
116 | crashlytics-build.properties
117 | fabric.properties
118 |
119 | # Editor-based Rest Client
120 | .idea/httpRequests
121 |
122 | # Android studio 3.1+ serialized cache file
123 | .idea/caches/build_file_checksums.ser
124 |
125 | /.idea/.gitignore
126 | /.idea/misc.xml
127 | /.idea/modules.xml
128 | /.idea/pdp_online_java_lessons.iml
129 | /.idea/vcs.xml
130 |
--------------------------------------------------------------------------------
/exercises/1-module.md:
--------------------------------------------------------------------------------
1 | # Birinchi Modul uchun Execsicelar
2 |
3 |
4 | Lesson 3 (Operators)
5 |
6 | * 23 va 45 sonlar teng yoki yo'qligini tekshirish dasturini yozing.
7 | * 7 ni 5chi darajasini ekran chaqizuvchi dasturini yozing.
8 | * a va b o'zgaruvchilarni qaysi biri katta ekanligini aniqlovchi dastur. Agar qaysi biri katta usha o'zgaruvchini
9 | ekranga chiqaring.
10 |
11 |
12 |
13 |
14 | Lesson 4 (Control Flow Statements)
15 |
16 | # If
17 |
18 | * Butun son berilgan, Agar berilgan butun son musbat bo'lsa, 1ga oshirilsin, aks holda o'zgartirilmasin.
19 | * Butun son berilgan, Agar berilgan butun son musbat bo'lsa, 1ga oshirilsin, aks 2 ga kamaytiring.
20 | * Butun son berilgan, Agar berilgan butun son musbat bo'lsa, 1ga oshirilsin, aks 2 ga kamaytiring. Agar 0 ga teng bo'lsa
21 | 10 ga o'zgartirilsin. Hosil bo'lgan sonni ekranga chiqaruvchi dastur yozing.
22 | * 3ta son berilgan ular orasida nechta musbat son borligini aniqlovchi dastur yozing.
23 | * 2ta son berilgan ularni orasida qaysi bir katta ekanligini aniqlovchi dastur yozing.
24 | * 3ta son berilgan ularni orasida qaysi bir kichik ekanligini aniqlovchi dastur yozing.
25 | * 3ta son berilgan. Shu sonlarning yig'indisi eng katta bo'lgan 2tasini ekranga chiqaruvchi dastur yozing.
26 |
27 | # Switch
28 |
29 | * 1-7 gacha bo'lgan butun sonlar berilgan. Kiritilgan songa mos ravishda hafta kuni so'zda ifodalovchi dastur yozing.
30 | * k butun son berilgan. Baho natijalarni chiqaruvchi dastur yozing. (1-yomon, 2-qoniqarsiz, 3-qoniqarli, 4-yaxshi,
31 | 5-a'lo) k 1-5 oralig'ida bo'lmasa 'xato' deb chiqarilsin.
32 | * Oy raqami berilgan. Kiritilgan oy qaysi faslga tegishli ekanligini chiqaruvchi dastur yozing.
33 | * Oy raqam berilgan. Shu oyda nechta kun borligini aniqlovchi dastur yozing.
34 | * 100-999 gacha oraliqdagi sonlarni so'zlarda ifodalovchi dastur yozing(masalan: 123 - 'bir yuz yigirma uch')
35 |
36 | # Loops
37 |
38 | * n butun son berilgan (n > 0). Quyidagi yig'indini hisoblovchi dastur yozing.
39 | * s = 1 + 1/2 + 1/3 + ... + 1/n
40 | * bir kg konfetning narxi berilgan (haqiqiy son). 1, 2, ... 10 kg konfet narxini chiqaruvchi dastur yozing.
41 | * a va b butun sonlari berilgan (a < b). a dan b gacha bo'lgan barcha butun sonlar yig'indisini chiqaruvchi dastur
42 | yozing
43 | * n butun son va a haqiqiy soni berilgan. (n > 0). bitta skildan foydalanib quyidagi a ning 1dan n gacha bo'lgan barcha
44 | darajalarni chiqaruvchi va yig'indini hisoblovchi dastur yozing.
45 | * 1 + a + a² + a³ + ... aN
46 |
47 |
48 |
49 |
50 | Lesson 5 (Function and Method)
51 |
52 | # Method
53 |
54 | * 2ta soni qo'shib result qaytaradigan method yozing.
55 | * 2ta soni ko'paytirib result qaytaradigan method yozing.
56 | * Ixtiyoriy soni 3chi darajasini hisoblovchi method yozing.
57 | * 2ta soni qiymatni almashtiruvchi funksiya yozing.
58 |
59 | # Recursion
60 |
61 | * kiritilgan sonni factorialni qayataradigan method yozing.
62 | * recursiyadan foydalanib soni power topadigan method yozing.
63 | * recursiyadan foydalanib sonni fibonaccisini topadigan method yozing.
64 | * recursiyadan foydalanib berilgan sonda nechta 8 raqami borligini aniqlaydigan method yozing.
65 |
66 |
67 |
68 |
69 | Lesson 6 (String Part 1)
70 |
71 | # String
72 |
73 | * 2ta string berilgan, a va b, ularni abba tartibda birlashtirib result qaytaradigan method yozing.
74 | * String berilgan, uning birinchi 2ta belgisini tuzilgan string qaytaradigan method yozing. Misol "Hello" -> "He".
75 | Agar string 2da kichik yoki teng bo'lsa nma berilgan bo'lsa shuni qaytaring.
76 | * String berilgan, stringni dastlabki 2ta belgisidan 3ta nusxasidan iborat yangi string qaytaring. Misol "Hello" -> "
77 | HeHeHe". Agar string length 2tadan kam bo'lsa, berilgan string 3ta nusxasidan iborat yangi string qaytaring. Misol ->
78 | "H" -> "HHH".
79 | * String berilgan, string oxiri "ly" bilan tugasa, true qiymatini qaytaring.
80 | * String berilga, Agar berilgan stringda "bob" qatori bo'lsa, lekin o'rtadagi "o" belgisi istalgan belgi bo'lishi
81 | mumkin. Ushbu casega mos kelsa true qaytaring.
82 | * "abcbob" -> true
83 | * "b9b" -> true
84 | * "bac" -> false
85 |
86 |
87 |
88 |
89 | Lesson 7 (Array)
90 |
91 | * n natural son berilgan. 2 sonining dastlabki n ta darajasidan tashkil topgan massiv hosil qiling va elementlarni
92 | chiqaring. (1, 2, 4, 8 ...)
93 | * n ta elementdan tashkil topgan array berilgan. Uning elementlarini taskari tartibda chiqaruvchi dastur yozing.
94 | * n ta elementdan tashkil topgan array berilgan. Array elementlarini orasidan toqlarini boshqa arrayga yig'ib ekranga
95 | chiqaruvchi dastur yozing.
96 | * n ta elementdan tashkil topgan array berilgan. Array elementlarini orasidan juftlarini boshqa arrayga yig'ib ekranga
97 | chiqaruvchi dastur yozing.
98 | * n ta elementdan tashkil topgan array berilgan. Arraydagi eng katta soni topib ekranga chiqazuvchi dastur yozing.
99 | * n ta elementdan tashkil topgan array berilgan. Arraydagi eng kichikina soni topib ekranga chiqazuvchi dastur yozing.
100 | * n ta elementdan tashkil topgan array berilgan. Arraydagi elementlar orasidan oxirgi local maksimum elementni indeksini
101 | chiqaruvchi dastur yozing. Local maksimum - o'ng va chap qo'shnisidan katta bo'lgan element.
102 | * n ta elementdan tashkil topgan array berilgan. Arrayda qatnashgan sonlardan faqat bittadan chiqaruvchi dastur yozing.
103 | * Berilgan massiv: 7 4 2 3 1 4 5 2 4 7
104 | * Result: 7 4 2 3 1 5
105 |
106 |
107 |
108 |
109 | Lesson 8 (String)
110 |
111 | * Berilgan stringning istalgan joyida "code" qatori necha marta paydo bo'lishini qaytaring countni qaaytaring, bundan
112 | mustasno, biz "d" uchun har qanday harfni qabul qilamiz, shuning uchun "enish" va "cooe" ni hisoblang.
113 | * aaacodebbb -> 1
114 | * codexxcode -> 2
115 | * cozexxcope -> 2
116 | * String berilgan bo'lsa, asl nusxadagi har bir belgi uchun 2ta belgi bo'lgan string qaytaring
117 | * The -> "TThhee"
118 | * AAbb -> "AAAAbbbb"
119 | * Hi-There -> "HHii--TThheerree"
120 | * Berilgan Stringdan necha marta "hi" nechta marta qatnashgan qaytaradigan dastur yozing.
121 | * abc hi ho -> 1
122 | * ABChi hi -> 2
123 | * hihi -> 2
124 |
125 |
126 |
127 |
128 | Lesson 10 (Principles)
129 |
130 | * KISS principle ga bitta mos keladigan dastur yozing.
131 | * DRY principle ga bitta mos keladigan dastur yozing.
132 | * bitta kichikroq dastur yozib ushbu dastur uchun Documentatsiya yozing.
133 |
134 |
135 |
136 |
137 | Extra
138 |
139 | * Tepada otilgan mavzulardan foydalangan holda bitta TODO app yasang to'liq. create, update, delete, list.
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
--------------------------------------------------------------------------------
/exercises/4-module.md:
--------------------------------------------------------------------------------
1 | # To'rtinchi Modul uchun Execsicelar
2 |
3 |
4 | Lesson 1
5 |
6 | * Thread classi orqali thread yarating.
7 | * Runnable interface orqali thread yarating
8 | * Thread va Runnable orqali yangi thread yaratib ularni nomini ekranga chiqazing.
9 | * Runnable run() methodi ichida Thread classni sleep() method ishlatib threadni ishlating.
10 | * Daemon thread o'zinigiz yaratib ishlatib ko'ring.
11 | * Bir nechta threadlarni yarating va ularga 1-10 orlig'ida prioritylar bering.
12 |
13 |
14 |
15 |
16 | Lesson 2
17 |
18 | * Bitta Counter classini yozing. uni ichida bitta field bo'lsin type int va ichida qiymati bitta oshiruvchi bitta method
19 | bo'lsin.
20 |
21 | ```java
22 | public class Counter {
23 |
24 | private int sum = 0;
25 |
26 | public void counter() {
27 | setSum(getSum() + 1);
28 | }
29 |
30 | // Standard getters and setters
31 | }
32 | ```
33 |
34 | * **Synchronized** keywordidan foydalinib tepadagi methodini qayta yozing.
35 | * **Synchronized** method va blocklardan foydalanib dastur yozing.
36 | * **Race condition** ga misol yozing.
37 | * **Race condition** oldini olish uchun Synchronized keywordidan foydalanib tepadagi classga o'xshagan class yozing.
38 | * **Race condition** oldini olish uchun Lock lardan foydalanib tepadagi classga o'xshagan class yozing.
39 | * **Field Visibility** muammosini xosil qiling va shu muammoni xal qilishda **Volatile** keywordidan foydalanib tepadagi classga o'xshagan class yozing.
40 | * **Deadlock** ga tushuvchi class yozing.
41 |
42 |
43 |
44 |
45 |
46 | Lesson 3
47 |
48 | * Race condition olidini olish uchun Atomic Classlardan foydalanib pastdagi codeni qayta yozing.
49 |
50 | ```java
51 | public class Counter {
52 |
53 | private int sum = 0;
54 |
55 | public void counter() {
56 | setSum(getSum() + 1);
57 | }
58 |
59 | // Standard getters and setters
60 | }
61 | ```
62 |
63 | * Race condition olidini olish uchun Atomic Classlardan foydalanib dastur yozing.
64 | * Thread-safe collection ishlatgan holda dastur yozing.
65 | * ArrayList thread-safe qilib ushbu collectionni ustida CRUD operastsiyalarni bajaradi dastur yozing.
66 | * Immutable class yozing.
67 |
68 |
69 |
70 |
71 | Lesson 4
72 |
73 | * Istagan bitta Executordan foydalanib tasklarni execute qiladigan class yozing.
74 | * Runnable tasklarni alohida, Callable tasklarni alohida execute qiladigan methodlarni ham yozing.
75 | * Callable tasklarni execute qiladigan dastur yozing va Callabledan qaytgan resultni Future tekshiring agar bajarilgan
76 | bo'lsa ekranga chiqazing.
77 | * Tepada yozgan Callable tasklarni execute qiladigan methodimiz overload qilib qayta yozing va Callabledan qaytgan
78 | resultni Future tekshiring agar bajarilgan bo'lsa ekranga chiqazing
79 | * ThreadLocal foydalanib har bir userni alohida datalarni saqlaydigan class yozing. ThreadLocal classni methodlaridan
80 | foydalaning
81 |
82 |
83 |
84 |
85 | Lesson 5
86 |
87 | * Fork/Join dan foydalanib tasklarni execute qiladigan dastur yozing.
88 | * CompletableFuture foydalanib asynchron ishlaydigan dastur yozing.
89 | * CompletableFuture foydalanib asynchron ishlaydigan calculator yozing.
90 | * Singleton Pattern mos keladigan class yozing.
91 |
92 |
93 |
94 |
95 | Lesson 6
96 |
97 | * Hozirgi vaqtni qaytradigan bir nechta methodlar yozing barcha Time API classlaridan foydalanib
98 | * String qabul qiladigan va LocalDate parse qilib LocalDate qaytaradigan dastur yozing.
99 | * Har 1 minutda ekranga hozirgi vaqtni chiqaruvchi dastur yozing.
100 | * SimpleDateFormat classidan foydalanib Stringni Date parse qiladigan class yozing.
101 | * Time API foydalanib TODO app yozing va taskni vaqti yetib kelganda ekranga habar chiqarsin.
102 | 
103 |
104 |
105 |
106 | Lesson 7
107 |
108 | * FileReader va FileWriter foydalanib filega yozadigan va o'qiydigan class yozing.
109 | * Object Serialize qilib filega yozing va uni deserialize qilib objectga aylantiring.
110 | * Huddi tepadagi ishni Externalizable bilan qiling.
111 | * transient keywordidan foydalanib serialization bo'ladigan objectni ba'zi fieldlarni qiymatni saqlamang.
112 | * BufferedReader va BufferedWriter foydalanib filega yozadigan va o'qiydigan class yozing.
113 | * File classidan foydalanib file yaratadigan class yozing. Hamda usha yaratilgan filega yozish hamda o'qish
114 | imkoni bo'lsin
115 | * Boshqa filedan textlarini o'qib yangi file yaratib usha filega yozadigan class yozing.
116 |
117 |
118 |
119 |
120 | Lesson 8
121 |
122 | * Presentatsiyada bor.
123 |
124 |
125 |
126 |
127 | Lesson 9
128 |
129 | * cmd orqali githubda repository oching va usha repositoryga fileni yuklang.
130 |
131 |
132 |
133 |
134 | Lesson 10
135 |
136 | * Tepadagi(Lesson-6 dagi) TODO appni ekranga log tashlaydigan qilib qayta yozing.
137 |
138 |
139 |
140 |
141 | Module uchun Mashq
142 |
143 | * Chat App yozing. Barcha ma'lumotlarni fileda saqlang. Authorization qilib keyin chatni ishlata olsin!
144 | email orqali registeratsiya qila olsin faqat. Login ham email orqali bo'ladi regexpdan foydalanib userni barcha
145 | ma'lumotlarni tekshiruvdan o'tkazing. Barcha mufaqiyatli bo'lsa log tashlang. User qachon registeratsiya bo'lgani Time
146 | classlaridan biridan foydalanib filega yozing filedan o'qib usha classga parse qiling. Barcha chatlashuvlarni
147 | ozi bilan qachon yozilganigacha vaqtni saqlab keting. Dastur yozib bo'lganingizdan keyin githubga qo'ying.
148 |
149 |
150 |
151 |
--------------------------------------------------------------------------------
/exercises/5-module.md:
--------------------------------------------------------------------------------
1 |
2 | Lesson 1
3 |
4 | 1. O'zinggizni gmailingiz orqali email jo'nating.
5 | 2. mailtrap dan account ochib, ushbu ochgan accountingiz bilan email jo'nating
6 | 3. Jo'natadigan emailingiz html email bo'lib emailingizda image/vedio/audio va attachmentlar ham bo'lsin
7 |
8 |
9 |
10 |
11 | Lesson 2
12 |
13 | 1. **runnable jar** yarating.
14 |
15 |
16 |
17 |
18 |
19 | Lesson 3
20 |
21 | 1. Base64 dan Foydlangan Xolatda Tanasida audio, image va video bo'lgan email jo'nating
22 |
23 | _HTML kodlar_
24 |
25 | ```html
26 |
27 |
30 | ```
31 |
32 | ```html
33 |
34 |
37 | ```
38 |
39 | ```html
40 |
41 | ```
42 |
43 |
44 |
45 |
46 |
47 | Lesson 7
48 |
49 | 1. **Seeder.jar** degan application yarating. ushbu dastur orqali siz json, sql, va csv fayllar ko'rinishida ma'lumotlarni yaratib olishingiz mumkin bo'lsin. [bu yerda dasturingiz qandey ishlashi ko'rsatilgan](https://drive.google.com/file/d/1TLzS4FIyc5BuZHoTPKlWnjWgmYaQW2sS/view?usp=sharing)
50 |
51 |
52 |
53 |
54 | Lesson 12
55 |
56 | 1. O'zingizni comparatoringizni yozing. HTML dagi **table** ko'rinishida bo'lsin ya'ni quyidagi ko'rinishda
57 | ```html
58 |
59 |
60 |
ID
61 |
name
62 |
gender
63 |
age
64 |
65 |
66 |
67 |
68 |
1
69 |
Tarra Prohaska
70 |
MALE
71 |
16
72 |
73 |
74 |
2
75 |
Allen Dicki
76 |
FEMALE
77 |
29
78 |
79 |
80 |
3
81 |
Jack Davis DVM
82 |
MALE
83 |
17
84 |
85 |
86 | ```
87 | **va natijani xyz.html degan fayl ga qo'yib uni brauser da ochsangiz mana bunday ko'rinishda bo'ladi**
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
ID
96 |
name
97 |
gender
98 |
age
99 |
100 |
101 |
1
102 |
Tarra Prohaska
103 |
MALE
104 |
16
105 |
106 |
107 |
2
108 |
Allen Dicki
109 |
FEMALE
110 |
29
111 |
112 |
113 |
3
114 |
Jack Davis DVM
115 |
MALE
116 |
17
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 | Lesson 18
126 |
127 | 1. Lesson 7 da qilgan **Seeder.jar** degan dasturingizni telegram botini qiling
128 | ## WARNING JSON,SQL,CSV formatlarning hammasida ma'lumot yaratishning imkoni bo'lsin!!
129 |
130 |
--------------------------------------------------------------------------------
/exercises/6-module(database).md:
--------------------------------------------------------------------------------
1 |
2 | Lesson 1
3 |
4 | 1. PostgreSQL ni o'zingizni komputeringizga o'rnating.
5 | 2. PSQL ga ulangan xolda postgreSQL ni versiyasini tekshiring `select version();`
6 |
7 |
8 |
9 | ------
10 |
11 |
12 | Lesson 2
13 |
14 | 1. **PSQL yordamida.** AuthUser degan table kiriting va ushbu tableda
15 | * id
16 | * username
17 | * email
18 | * phone
19 | * age
20 |
21 | degan columnlari bo'lsin va ushbu table ustida `insert, select, update, delete` querylarini ishlating
22 | 2. Yuqoridagi 👆 tabledagi username uchun **unique** va email uchun **unique not null** constraint lar qo'shing.
23 | 3. **Todo** degan Table yarating (id, title, owner_id) degan column lari bilan va ushbu **owner_id** ni **AuthUser** ga
24 | **foreign key** bilan uleng.
25 |
26 |
27 |
28 | ------
29 |
30 |
31 | Lesson 3
32 |
33 | 1. **PSQL yordamida.** AuthUser degan table kiriting va ushbu tableda
34 | * id -> _uuid_
35 | * username -> _varchar_
36 | * email -> _varchar_
37 | * phone -> _varchar_
38 | * age -> _int_
39 | * role -> _enum type_
40 |
41 | degan columnlari bo'lsin va ushbu table ustida `insert, select, update, delete` querylarini ishlating
42 |
43 | # www.hackerrank.com dagi 👇 masalarni yeching
44 |
45 | 3. https://www.hackerrank.com/challenges/revising-the-select-query/problem
46 | 4. https://www.hackerrank.com/challenges/select-all-sql/problem
47 | 5. https://www.hackerrank.com/challenges/japanese-cities-name/problem
48 | 6. https://www.hackerrank.com/challenges/weather-observation-station-1/problem
49 |
50 |
51 |
52 | ------
53 |
54 |
55 | Lesson 4
56 |
57 | # www.hackerrank.com dagi 👇 masalarni yeching
58 |
59 | 1. https://www.hackerrank.com/challenges/weather-observation-station-1/problem
60 | 2. https://www.hackerrank.com/challenges/more-than-75-marks/problem
61 | 3. https://www.hackerrank.com/challenges/name-of-employees/problem
62 |
63 |
64 |
65 |
66 | ------
67 |
68 | Lesson 5
69 |
70 | Qandaydir table yarating unda **mail**, **phone**, **password** degan column lari bo'lsin.
71 | * **mail** - strong mail check bo'lsin
72 | * **phone** - `998 + 71, 87, 88, 90, 91, 93, 94, 99 + 7` ta raqamga tekshiradigan bo'lsin
73 | * **password** - xech bo'lmaganda 1 ta kichik harf, 1 ta katta harf, 1 ta kichik raqam va xech bo'lmaganda `@#$%*()` belgilardan 1 ta bo'lsin va uzunligi 8 ta dan uzun bo'lsin.
74 |
75 |
76 |
77 | ------
78 |
79 | Lesson 6
80 |
81 | Qandaydir table yarating unda **mail**, **phone**, **password** degan column lari bo'lsin.
82 | * **mail** - strong mail check bo'lsin
83 | * **phone** - `998 + 71, 87, 88, 90, 91, 93, 94, 99 + 7` ta raqamga tekshiradigan bo'lsin
84 | * **password** - xech bo'lmaganda 1 ta kichik harf, 1 ta katta harf, 1 ta kichik raqam va xech bo'lmaganda `@#$%*()` belgilardan 1 ta bo'lsin va uzunligi 8 ta dan uzun bo'lsin.
85 |
86 |
87 |
88 | ------
89 |
90 |
91 | Lesson 11(Project)
92 |
93 | 1. darsdagi **auth_login** va **auth_register** dagi funksiyalarda boshqa barcha funksiyalardagi exceptionlar shu funksiyani chaqiruvchi user ni tilida chiqsin ?
94 | 2. **Vending Machine** ni **procedure** lar va **function** lar dan foydalanib yozing ?
95 | 
96 |
97 | ## WARNING - BU MASHQ UCHUN TALAB MAVJUD EMAS O'ZINGIZ IJOD QILISHINGIZ KERAK BO'LADI!!!!
98 |
99 |
100 |
101 | ------
102 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/exercises/7-module(Jakarta EE).md:
--------------------------------------------------------------------------------
1 |
2 | Lesson 1
3 |
4 | 1. Rasmdagi page ni HTML,CSS dan foydalanib yarating !
5 | 
6 | 2. Yuqoridagi rasmdagi page ni HTML,BOOTSTRAP dan foydalanib yarating !
7 | 3. HTML, CSS, JS dan foydalanib calculator yarating ?
8 |
9 |
10 |
11 | ------
12 |
13 |
14 | Lesson 2
15 |
16 | 1. Qandaydir XYZ Servlet yarating ?
17 | 2. XYZ Servlet ni **xml** va **Annotation** yordamida deployment descriptor ga register qiling ?
18 |
19 |
20 |
21 | ------
22 |
23 |
24 | Lesson 3
25 |
26 | 1. **_Sonni_** **Istalgan sanoq sistemasidan** (_2,8,10,16_) **Istalgan sanoq sistemasiga** (_2,8,10,16_) o'tkazadigan
27 | dasturni JSP va Servlet lardan foydalangan xolda yarating !
28 |
29 |
30 |
31 | ------
32 |
33 |
34 | Lesson 4
35 |
36 | 1. Rasmlar Galeriyasi Dasturini Yarating
37 | * Rasm Yuklay Oling
38 | * Va Yuklangan Barcha Rasmlarni gallery.jsp file da ko'rsatib bering.
39 |
40 | 
41 |
42 |
43 |
44 | ------
45 |
46 |
47 | Lesson 5
48 |
49 | # OGOHLANTIRISH (quyidagi topshiriqlarni bajarishda ma'lumotlarni database ga yozish uchun JDBC API dan foydalanib yozing)
50 |
51 | 1. **Guruh** nomli class yarating va darsdagi book uchun qilingan **crud** kabi guruh ustida crud amalini bararuvchi
52 | dastur tuzing !
53 | * **Guruh** classida [_guruh nomi, guruh id, qachon yaratilganligi,talabalar soni_] kabi **field** lari
54 | bo'n !
55 | 2. **Talaba** nomli class yarating va darsdagi book uchun qilingan **crud** kabi guruh ustida crud amalini bararuvchi
56 | dastur tuzing !
57 | * **Talaba** classida [_talaba id, qachon yaratilganligi,talabani toliq ismi , talabani yoshi, guruh id si(qaysi
58 | guruhda o'qishligini ko'rsatib turishi uchun)_] kabi **field** lari bo'lsin !
59 |
60 | ## Masalan 👇👇👇👇
61 |
62 | ````java
63 | import java.time.LocalDateTime;
64 |
65 | class Group {
66 | private String id;
67 | private String name;
68 | private LocalDateTime createdAt;
69 | private int studentCount;
70 | // constructors, getters, setters
71 | }
72 |
73 | class Student {
74 | private String id;
75 | private String fullName;
76 | private LocalDateTime createdAt;
77 | private String groupID;
78 | private int age;
79 | // constructors, getters, setters
80 | }
81 | ````
82 |
83 |
84 |
85 | ------
86 |
87 |
88 | Lesson 6
89 |
90 | # OGOHLANTIRISH (quyidagi topshiriqlarni bajarishda ma'lumotlarni database ga yozish uchun JDBC API dan foydalanib yozing)
91 |
92 | 1. **User** nomli class yarating va darsdagi book uchun qilingan **crud** kabi guruh ustida crud amalini bararuvchi
93 | dastur tuzing !
94 | * **User** classida [_user id, username_] kabi **field** lari bo'lsin !
95 |
96 | # Masalan
97 |
98 | ````java
99 | class User {
100 | private String id;
101 | private String username;
102 | //constructors, getters, setters
103 | }
104 | ````
105 |
106 | 2. **Login Servlet yarating !**
107 | * **LoginServlet** ning **doGet** methodida `/views/login.jsp` ga forward qiling.
108 | * `/views/login.jsp` da 👇👇👇 quyidagiday username ni kiritsin ! 
109 | * Login button bosilganda **LoginServlet** ning **doPost** methodiga request ketsin va o'sha yerda database dan
110 | username orqali user topib **user id** session ga yozib qoyilsin.
111 |
112 | 3. 5-darsning uyga vazifasidagi code lardan foydalaning va guruh yaratiladigan servlet ga hamda talaba yaratiladigan
113 | servlet ga filter qo'ying, **Agar** session da **user id** bo'lmasa login page redirect qiling va u yerda login
114 | qiling (**tepada o'zingiz yozgan login page ga**).
115 | 4. 5-darsning uyga vazifasidagi Guruh va Talaba class lariga **createdBy**(kim tomonidan yaratilganligi) degan field
116 | qo'shing va talaba yoki guruh yaratilayotgan payt **user_id** ni ushbu (talaba/guruh) objectlarning **createdBy**
117 | degan fieldiga set qilib database yozing.
118 |
119 |
120 |
121 | ------
122 |
123 |
124 | Lesson 7
125 |
126 | 1. Lesson 5 dagi vazifalarni database bilan bo'ladigan aloqalarni JPQL dan foydalanib bajaring !
127 |
128 |
129 |
130 |
131 | ------
132 |
133 |
134 | Lesson 8
135 |
136 | 1. ManyToMany Bo'glanish ga bitta misol yozing !
137 | 2. Lesson 6 dagi barcha database bilan bo'ladigan aloqalarni JPQL dan foydalaning !
138 |
139 |
140 |
141 | ------
142 |
143 |
144 | Lesson 9
145 | 1. Lesson 6 dagi barcha database bilan bo'ladigan aloqalarda Jakarta Bean Validation dan foydalaning !
146 |
147 | # masalan
148 |
149 | * Yangi talaba yaratayotgan paytingizda !
150 | * Talabani update qilayotgan paytingizda !
151 | * Yangi Guruh yaratayotgan paytingizda !
152 | * Guruhni update qilayotgan paytingizda !
153 |
154 | # OGOHLANTIRISH (Vazifalarni JPQL dan foydalanib bajaring)
155 |
156 |
157 |
158 |
159 |
160 | Lesson 10
161 | 1. Video da aytib ketilgan !
162 |
163 |
164 |
165 |
--------------------------------------------------------------------------------
/exercises/8-module(Spring Core).md:
--------------------------------------------------------------------------------
1 |
2 | Lesson 1 (Introduction)
3 |
4 | * **Store** va **Item** nomli classlarni yozing. Store Classida Item classni fieldi sifatida e'lon qiling.
5 | * XML Based konfiguratsiya bilan tepada yozilgan 2ta classni beanga aylantiring.
6 | * **Store** va **Item** **bean** larini **SI** va **DI** bilan bog'lang.
7 | * **SI** va **DI** ni amalga oshirayotgan vaqtingizda **c** va **p** **namespace** lardan foydalaning.
8 | * Yuqoridagi **Class** lardan **bean** lar yasash hamda ularni **wire** qilishda **Java Config** ham **Auto Config**
9 | usullaridan ham foydalaning.
10 | * **Student** nomli **bean** yarating va uni ichida fanlarni **List** va xar bitta fan va uni bahosini saqlaydigan **Map
11 | ** fieldlari bo'lsin.
12 |
13 |
14 |
15 | ------
16 |
17 |
18 |
19 |
20 | Lesson 2 (Bean Scope, SpEL)
21 |
22 | * XML Based konfiguratsiyadan foydalanib **City** nomli beani yarating va uni 3ta field
23 | bo'lsin `name`, `numberOfPeople`, `size` va ushbu bean scope ni prototype qiling.
24 | * `city.properties` degan file dan yuqorida `city` `bean ini` `field` lariga qiymatlarni **SpEL** dan foydalangan xolda
25 | bering.
26 | * Tepada aytib o'tilgan 2ta vazifani **Java Config** bilan amalga oshiring.
27 |
28 | # Example
29 |
30 | ```java
31 |
32 | @Component
33 | public class SomethingBean {
34 |
35 | @Value("#{1 + 2}")
36 | public int somethingValue;
37 |
38 | // ...
39 | }
40 | ```
41 |
42 |
43 |
44 |
45 |
46 | ------
47 |
48 |
49 | Lesson 3 (AOP)
50 |
51 | * `Transform` nomli class yarating va uni ichida **1..10** gacha bo'lgan sonlarni ekranga chiqaruvchi start()
52 | nomli `method`
53 | yozing va ushbu `method` chaqirilganda `method` bajarilishidan oldin va keyin log tashlaydigan dastur yozing. XML
54 | Based
55 | konfiguratsiyadan foydalanib. _**Before**, **After** va **AfterReturning** **Advice** laridan foydalaning_.
56 | * `Transform` `class` ni start `method` chaqirilganda endi `exception` sodir bo'lsa log tashlaydigan dastur yozing.
57 | * Va Yuqoridagi Topshiriqlarni **Java Config** yordamida amalga oshiring.
58 |
59 | # Example
60 |
61 | ```java
62 |
63 | @Aspect
64 | @Component
65 | public class TransformAspect {
66 | // ...
67 | }
68 | ```
69 |
70 |
71 |
72 | ------
73 |
74 |
75 | Lesson 4 (Spring MVC)
76 |
77 | * `Todo` hamda `TodoController` degan `class` lar yarating.
78 | * `TodoController` da `Todo` larni `List` tini saqlovchi field bo'lsin.
79 | * `/todos` degan `api` yarating va undan todo larni `list` tini `html table` ga chizib response sifatida qaytaring.
80 | * # THMELEAF VA HTML FAYLLARDAN FOYDALANILMASIN !
81 |
82 |
83 |
84 | ------
85 |
86 |
87 | Lesson 5(Thymeleaf)
88 |
89 | * **Todo Application** yarating.
90 |
91 | ```java
92 | import java.time.LocalDateTime;
93 |
94 | class Todo {
95 | private Integer id;
96 | private String title;
97 | private String priority;
98 | private LocalDateTime createdAt;
99 | // constructors
100 | // getters and setters
101 | }
102 | ```
103 |
104 | * `todo` qo'shadigan, `todo` ni o'chiradigan qiladigan, `todo` ni update qiladigan `page` yarating.
105 | * `todo` ni larni listini ko'rsatadigan `html page` yarating va shu `page` da `todo` larni listini chizing !
106 | * `todo` listalarida eng oxirigi qo'shilgan todo eng biringchilikda chiqsin.
107 |
108 | # Todo lar List DA saqlansin DataBase da emas
109 |
110 |
111 |
112 | ------
113 |
114 |
115 | Lesson 6(Spring JDBC)
116 |
117 | * Lesson 5 dagi vazifani `JdbcTemplate` bilan qiling !
118 | * Lesson 5 vazifasidagi `insert` larni `SimpleJDBCInsert` bilan qiling qolgan operation larda(_delete, update,
119 | select_) `JdbcTemplate` dan foydalaning !
120 | * Lesson 5 dagi vazifani `NamedParameterJdbcTemplate` bilan qiling !
121 | * Lesson 5 dagi vazifani `SimpleJDBCCall` bilan qiling ! (`database` da _save, delete, update, getAll_ degan `function`
122 | lar yaratishingiz kerak bo'ladi.!)
123 |
124 |
125 |
126 | ------
127 |
128 |
129 | Lesson 7(Spring Security)
130 |
131 | * Lesson 6 dagi vazifaga `spring security` ni qo'shing.
132 | * User `Login` va `Register` qilishi uchun `page` va `controller` lar yarating.
133 | * Xar Bir `USER` o'ziga tegishli bo'lgan todo lar ustidagina `CRUD` amalini bajara olsin.
134 | * Dastur da `USER` ham da `ADMIN` degan `Rollar` bo'lsin `ADMIN` lar oddiy userlar qila oladigan ishlarni qila olish
135 | bilan birga oddiy user larni `block` ham qila olsin. `block` langan userlar `login` qila olmasin.
136 |
137 |
138 |
139 | ------
140 |
141 |
142 | Lesson 8(Upload and Download)
143 |
144 | * Lesson 7 dagi vazifaga `user register` qilayotgan payt da `profil` uchun rasm ham yuklang.
145 | * Va yuklangan rasm doyim `Login` qilinganidan keyin Barchar `Page` larda `navbar` da chiqib tursin kichik qilib.
146 | * Va shu `application` ni `localization` qiling.
147 |
148 |
149 |
150 | ------
151 |
152 |
153 | Lesson 9(Error Handling, Validation, Filter and Interceptor)
154 |
155 | * Lesson 8 dagi vazifada `register user` qilayotgan vaqtingizda formaga validation qo'shing. Va Ma'lum tekshiruvlardan
156 | o'ta olmasaxatolik xabarini chiqaring.
157 | * Lesson 8 dagi vazifada `create todo` qilayotgan vaqtingizda formaga validation qo'shing. Va Ma'lum tekshiruvlardan
158 | o'ta olmasaxatolik xabarini user ni `til`ida chiqaring.
159 | * Masalan `/todos/2` ga `request` jo'natilganda agar `id` si `2` ga teng bo'lgan `todo`
160 | topilmasa `TodoNotFoundException` ni `throw` qiling va shu `TodoNotFoundException` uchun `ExceptionHandler` yozing.
161 |
162 |
163 |
164 | ------
165 |
166 |
167 | Lesson 10( Project )
168 |
169 | **Weather Service**. Ob havo ma'lumotlarni beruvchi dastur yozing. Ushbu dasturda **Admin** va **User**
170 | alohida API lar bo'ladi. Ob havo ma'lumotlarni **Admin**lari tomonidan yaratiladi va databaseda saqlanadi, so'ralganda
171 | databasedan olib keladi. Hech qanday API dan olib kelinmaydi.
172 |
173 | * Admin API
174 | * `User List` - barcha userlarni list olishi mumkin
175 | * `User Detail` - user qaysi citylarga subscribe bo'lgani ro'yxatni va userga tegishli ma'lumotlarni olishi mumkin.
176 | * `User Edit` - user edit qilishi ham mumkin.
177 | * `Cities List` - Citylarni list olishi ham mumkin.
178 | * `Edit City` - City edit qila olishi ham mumkin.
179 | * `Add City` - City qo'sha olishi ham mumkin.
180 | * User API
181 | * `Register` - user registeratsiya qilib keyin API foydalana olishi kerak.
182 | * `Login` - username va password orqali login qiladi.
183 | * `Cities List` - City larni list olishi mumkin.
184 | * `Subscribe To City` - City subscribe qila olishi mumkin.
185 | * `Get Subscriptions` - Subscribe bo'lgan Citylarni faqat ob havo ma'lumotlarni olishi mumkin.
186 | 1 kunlik, 1 haftalik va 1 oylik
187 |
188 |
189 | ------
190 |
--------------------------------------------------------------------------------
/interviewquestions/1-module.md:
--------------------------------------------------------------------------------
1 | # Birinchi Modul uchun Intervyu Savollar
2 |
3 |
4 | Lesson 1 (Introduction to Java)
5 |
6 | * Computer program nima ?
7 | * Nima uchun hamma dasturlashni o'rganishi kerak ?
8 | * Java birinchi nomi nima edi ?
9 | * Java nechta featurelar bor ?
10 | * Compiler nima ?
11 | * Interpreter nima ?
12 | * JDK nima ?
13 | * JLS nima ?
14 | * JRE nima ?
15 | * JVM nima ?
16 | * Devtools nima ?
17 | * JDK components ?
18 | * Bytecode nima ?
19 |
20 |
21 |
22 |
23 |
24 | Lesson 2 (Data Types)
25 |
26 | * Token nima ?
27 | * Translation unit nima ?
28 | * Java-da Tokenlarni nechta type mavjud ?
29 | * Java-da Character Set nima ?
30 | * Identifiers nima va Identifiers qoidalari ?
31 | * Java-da Nechi xil turdagi commentlar bor ?
32 | * Java-da nechta keywordlar bor ?
33 | * Java-da nechta turdagi variablelar mavjud ?
34 | * Java-da primative type bilan non-primative nima farqi bor ?
35 | * Variable scope nima ?
36 | * Java-da qancha scopelar mavjud ?
37 | * Java-ni nechinchi versisyasidan Scanner qo'shilgan ?
38 | * Scanner class qanday resourcelardan ma'lumotlarni o'qiy oladi ?
39 | * Java-da nechi xil turdagi data type bor?
40 | * Scanner bug ?
41 | * Console class nima ?
42 | * Javani nechinchi versiyasida Console taqdim etilgan ?
43 | * Scanner va Console o'rtasidagi farq ?
44 | * Scanner class va undan foydalanish
45 |
46 |
47 |
48 |
49 | Lesson 3 (Operators)
50 |
51 | * Java-da Operator nima ?
52 | * Operandlar soniga qarab Operatorlar nechi turga bo'linadi ?
53 | * Unary operator nima ?
54 | * Binary operator nima ?
55 | * Ternary operator nima ?
56 | * Expression nima ?
57 | * Java-da named operator nima ?
58 | * Java-da Arithmetic operator nima ?
59 | * Java-da Arithmetic operationlarni priotiry levellar qanday ?
60 | * Java-da Relational operatorlar nima?
61 | * Java nechta turdagi Relation operatorlarni qo'llab quvvatlaydi ?
62 | * Java-da Logical operatorlar nima ?
63 | * Java nechta turdagi Logical operatorlarni qo'llab quvvatlaydi ?
64 | * Java-da Assignment operator nima ?
65 | * x += y va x = x + y expressionlari o'rtasida farq bormi?
66 |
67 |
68 |
69 |
70 | Lesson 4 (Flow Control Statements)
71 |
72 | * Execution Flow nima ?
73 | * Control Flow nima?
74 | * if nima ?
75 | * if nima uchun ishlatamiz ?
76 | * Loop nima?
77 | * Loop nima uchun ishlatamiz ?
78 | * Java-da Control Flow ning nechi xil turi mavjud ?
79 | * Switch statement qanday ishlaydi ?
80 | * Unicode system nima uchun kerak ?
81 | * ansi escape code nima ?
82 |
83 |
84 |
85 |
86 | Lesson 5 (Function and Method)
87 |
88 | * Function nima ?
89 | * Function va Method o'rtasidagi farq nima ?
90 | * Method Definition nima ?
91 | * Method Declaration (header) nima ?
92 | * Method Signature nima ?
93 | * Method body nima ?
94 | * Stack nima ?
95 | * Stack Frame nima ?
96 | * Recursion nima ?
97 | * Method qachon recursive method deb ataladi ?
98 | * Group of recursions ?
99 | * Type of recursions ?
100 |
101 |
102 |
103 |
104 | Lesson 6 (String Part 1)
105 |
106 | * Java-da String nima ?
107 | * Java-da String ni nechi xil usulda yaratishimiz mumkin ?
108 | * Java-da String nima uchun immutable ?
109 | * Java-da String classning superclassni nima?
110 |
111 |
112 |
113 |
114 | Lesson 7 (Array)
115 |
116 | * Array nima ?
117 | * Java-da Arrayni qanday e'lon qilishimiz mumkin ?
118 | * Turli data typelar uchun Arrayning default qiymat qanday ?
119 | * Java-da Array yaratilgandan keyin uni size ni o'zgartira olamizmi ?
120 | * Arrayni size ni manfiy raqam belgilay olamizmi ?
121 | * Arrayni array size siz e'lon qila olamizmi ?
122 | * Array JVM xotirasi qayerida saqlanadi ?
123 | * Java-da primative Array JVM qaysi xotirasida saqlanadi ?
124 | * ArrayStoreException nima ? Bu exception qachon tashlanadi ?
125 | * Java-da anonymous Array nima? misol keltiring ?
126 | * Agar arrayni initialize qilmasangiz nima bo'ladi ?
127 | * Java-da Jagged Array nima ?
128 | * Array ni afzalliklari nimada ?
129 | * Array ni kamchiliklari nimada ?
130 |
131 |
132 |
133 |
134 |
135 | Lesson 8 (String Part 2)
136 |
137 | * Java-da String Constant pool nima ?
138 | * Java-da String literal nima ?
139 | * String literal xotirada qanday saqlanadi ?
140 | * Nima uchun Java String literaldan foydalanadi ?
141 | * Quyidagi code da nechta object yaratiladi ?
142 |
143 | ```java
144 | String s = new String("Hello");
145 | ```
146 |
147 | * Quyidagi code da nechta object yaratiladi ?
148 |
149 | ```java
150 | String s1 = new String("Scientech");
151 | String s2 = new String("Scientech");
152 | String s3 = "Scientech";
153 | String s4 = "Scientech";
154 | ```
155 |
156 | * String class qanday interfacelardan implement olgan ?
157 | * String Thread-safe mi ?
158 | * String classni kamchiliklari ?
159 | * String wrapper classmi ?
160 | * String intern() method nima uchun ishlatiladi ?
161 |
162 |
163 |
164 |
165 | Lesson 9 (String Formatting)
166 |
167 | * Java-da Formatting nima ?
168 | * String classni format() method javani nechinchi versiyasida taqdim etilgan ?
169 | * String classni format method qachon ishlatishimiz kerak ?
170 | * '%s' belgisini nima uchun ishlatamiz ?
171 | * Java-da MessageFormat class nima uchun ishlatamiz ?
172 | * MessageFormat format() method nima ?
173 |
174 |
175 |
176 |
177 | Lesson 9 (Formatting)
178 |
179 | * string format methodiga bitta misol yozing.
180 | * string format method foydalanib kirib kelgan strngga "Welcome to " qo'shimchasini qo'shib ekranga chiqaruvchi dastur
181 | yozing.
182 |
183 |
184 |
185 |
186 | Lesson 10 (Principles)
187 |
188 | * Programming Principles nima ?
189 | * Qanday qilib effective code yozasiz ?
190 | * DRY nima ?
191 | * KISS nima ?
192 |
193 |
--------------------------------------------------------------------------------
/interviewquestions/10-module(Spring Boot Part ||).md:
--------------------------------------------------------------------------------
1 | # Interview question
2 |
3 | # Lesson 1
4 |
5 | * `MongoDB` nima ?
6 | * `NoSQL` nima ?
7 | * Qanday application larda `MongoDB` ni ishlatish kerak ?
8 | * `MongoDB` da `Collection` nima ?
9 | * `MongoDB` da `Document` nima ?
10 | * `MongoDB` ma'lumotlarni qanday ko'rinishda saqlaydi ?
11 | * `MongoDB` dagi qanday qilib malumotlarni qismlarga bo'lib o'qish mumkin ?
12 | * `MongoDB` dagi `Comparison Query Operator` larni va ularning vazifalari ayting ?
13 | * `MongoDB` dagi `Logical Query Operator` larni va ularning vazifalari ayting ?
14 | * `MongoDB` dagi `Element Query Operator` larni va ularning vazifalari ayting ?
15 | * `MongoDB` dagi `Array Query Operator` larni va ularning vazifalari ayting ?
16 | * `MongoDB` dagi `Document Manipulating Query Operator` larni va ularning vazifalari ayting ?
17 | * `Aggregation pipeline` nima ?
18 | * `Collection` lardagi `distinct` method nima ?
19 | * `MongoDB` da `unique index` qanday yaratiladi ?
20 | * `MongoDB` da `user` qanday yaratiladi ?
21 |
22 | # Lesson 2
23 |
24 | * `Java Application` dan turing qandey qilib `MongoDB` ga bog'lanish mumkin.
25 | * ushbu `mongodb-driver-sync` library ning asosiy class larni ayting ?
26 | * `mongodb-driver-sync` dan qanday qilib ma'lumotlarni sort qilish mumkin.
27 | * `Spring Data MongoDB` qanday project ya'ni `mongodb-driver-sync` dan nima ustunligi bor ?
28 | * `@Id` `annotation` vazifasi nima
29 | * `@Field` `annotation` vazifasi nima ?
30 | * `@Indexed` `annotation` vazifasi nima ?
31 | * `MongoTemplate` qanday class ?
32 | * Qanday qilib ma'lumotlarni `database` `Paged` qilib o'qish mumkin ?
33 |
34 | # Lesson 3
35 |
36 | * `External API` lardan foydalanish nima uchun kerak bo'ladi ?
37 | * `RestTemplate` ni vazifasi nima ?
38 | * `WebClient` ni vazifasi nima ?
39 | * `RestTemplate` va `WebClient` ni nima farqi bor ?
40 | * `OpenFeign` nima ?
41 | * `Traverson` `class` ning vazifasi nima ?
42 |
43 | # Lesson 4
44 |
45 | * Database Migration nima ?
46 | * Database migration nima uchun muhim ?
47 | * `Flyway` nima ?
48 | * `Repeatable` migration nima ?
49 | * `Versioned` migration nima ?
50 | * `Undoable` migration nima ?
51 | * `Liquibase` nima ?
52 | * `Changelog` nima ?
53 | * `ChangeSet` nima ?
54 | * `Flyway` va `Liquibase` ni farqi nima ?
55 |
56 | # Lesson 5
57 |
58 | * `Event Oriented Programming` nima ?
59 | * `EOP` dan nima maqsad da foydalansak bo'ladi ?
60 | * `Spring DA EOP` ni qanday amalga oshiramiz ?
61 | * `Spring Events` nima ?
62 | * **ApplicationEventPublisher** qanday class.
63 | * `@EventListener` **annotatsiya** sini vazifasi nima ?
64 | * `@TransactionalEventListener` **annotatsiya** sini vazifasi nima ?
65 | * `Spring` `da` `EOP` bilan qanday muammolar bo'lishi mumkin va qanday qilib ushbu muammolarni xal qilish mumkin ?
66 |
67 | # Lesson 6
68 |
69 | * `Cache` nima ?
70 | * Nima uchun `REST arxitectura`sida `cache` muhim tushuncha xisoblanadi ?
71 | * `CacheManager` qanday `interface`.
72 | * Qanday `Request(GET, POST, DELETE........)` lar `cache` lanishi kerak ?
73 | * Qachon `cache` dan foydalanmaslik kerak ?
74 | * `Redis` nima ?
75 | * `Spring` da qanday qilib `Cache` dan foydalansak bo'ladi ?
76 |
77 | # Lesson 7
78 |
79 | * `Manual Testing` nima ?
80 | * `Manual Testing` ni nimasi no'to'ri , nima uchun `Manual Testing` qilmaslik kerak ?
81 | * `Auto Testing` nima ?
82 | * `blackbox Test` nima ?
83 | * `whitebox Test` nima ?
84 | * `Unit Test` nima ?
85 | * `Unit Test` ning vazifasi nima ?
86 | * `Unit Test` ning afzalliklari nima ?
87 | * Qanday `unit testing framework` larni bilasiz ?
88 | * `junit` nima ?
89 | * `test reporting` uchun qanday `plugin` larni bilasiz ?
90 | * **F.I.R.S.T** nima ?
91 | * `TDD` nima ?
92 | * `Mocking` nima ?
93 | * Qanday `Mocking framework` larni bilasiz ?
94 |
95 | # Lesson 8
96 |
97 | * `Mockito` nima ?
98 | * `Spring` da qanday `Test` yozish uchun `Annotation` larni bilasiz ?
99 | * `Integration Testing` nima ?
100 | * `@SpringBootTest` annotation ni vazifasi nima ?
101 | * `@DataJpaTest` annotation ni vazifasi nima ?
102 | * `@WebMvcTest` annotation ni vazifasi nima ?
103 |
104 | # Lesson 9
105 |
106 | * `Spring Shell` qanday project ?
107 | * `jline` nima ?
108 |
109 | # Lesson 10
110 |
111 | * `Rest` Arxitekturasida qanday cheklovlar bor ?
112 | * `GraphQL` nima ?
113 | * `Schema` nima ?
114 | * `SDL` nima ?
115 | * `GraphQL` qanday til xisoblanadi(`static` yoki `dynamic`) ?
116 | * `graphiql` nima ?
117 | * Qanday `Root Operation Type` larni bilasiz ?
118 | * `MutationMapping` bilan `SchemaMapping` ni nima farqi bor ?
119 | * `QueryMapping` bilan `SchemaMapping` ni nima farqi bor ?
120 |
121 |
122 |
--------------------------------------------------------------------------------
/interviewquestions/5-module.md:
--------------------------------------------------------------------------------
1 | # Beshinchi Modul uchun Intervyu Savollar
2 |
3 |
4 | Lesson 1 (Mailing)
5 |
6 | * SSL nima ?
7 | * TLS nima ?
8 | * SMTP nima ?
9 |
10 |
11 |
12 |
13 | Lesson 2 (Jar Files)
14 |
15 | * jar fayl nima ?
16 | * jar fayl dan foydalanishni foydali tomonlari ?
17 | * **manifest** fayl qanday fayl ?
18 | * **manifest** fayl nima uchun kerak ?
19 | * **executable** jar qanday jar ?
20 |
21 |
22 |
23 |
24 | Lesson 3 (Base64)
25 |
26 | * Base64 nima ?
27 | * Base64 encoding and decoding nima uchun kerak ?
28 | * Base64 encoding and decoding jarayoni qandey amalga oshiriladi ?
29 | * Base64 xar bir belgi uchun nechchi bayt xotiradan joy egallaydi ?
30 | * URL Base64 nima ?
31 | * MIME Base64 nima ?
32 |
33 |
34 |
35 |
36 | Lesson 4 (Maven)
37 |
38 | * Maven nima ?
39 | * Maven nima uchun kerak bo'ladi ?
40 | * Dependency larda scope nima ma'noni anglatadi
41 |
42 |
43 |
44 |
45 | Lesson 5/6 (Lombok)
46 |
47 | * Lombo ni vazifasi nima ?
48 |
49 |
50 |
51 |
52 | Lesson 7 (Faker)
53 |
54 | * JavaFaker Library nima uchun ishlatiladi ?
55 |
56 |
57 |
58 | Lesson 8 ( behavior parameterization )
59 |
60 | * **Behaviour parametrization** nima ?
61 | * **Behaviour parametrization** qanday muammolarni xal qiladi ?
62 | * **Lambda expression** nima ?
63 | * **Lambda expression** larda qanday qoidalar mavjud ?
64 | * **Final** hamda **Effectively final** o'zgaruvchilarning farqi nimada ?
65 | * Qayerlarda **Lambda** ni ishlatgan to'gri bo'ladi ?
66 |
67 |
68 |
69 |
70 | Lesson 9 ( functional interfaces )
71 |
72 | * **Functional Interface** qanday interface ?
73 | * **@FunctionalInterface** annotatsiyasini vazifasi nima ?
74 | * **Predicate** vazifasi nima ?
75 | * **Consumer** vazifasi nima ?
76 | * **Function** vazifasi nima ?
77 | * **Supplier** vazifasi nima ?
78 | * **UnaryOperator** vazifasi nima ?
79 | * **BinaryOperator** vazifasi nima ?
80 | * **Primitive Functional InterFace** nima uchun kerak ?
81 | * **Primitive Functional InterFace** qanday vaziyatlarda ishlatiladi ?
82 | * **Method Reference** nima ?
83 | * **Method Reference** ni qanday turlari bor ?
84 | * **Constructor as method reference** nima ?
85 |
86 |
87 |
88 |
89 |
90 | Lesson 10 ( Introduction To Streams )
91 |
92 | * **Imperative Coding** nima ?
93 | * **Declarative Coding** nima ?
94 | * **Declarative Coding** ga misollar ?
95 | * **Stream** nima ?
96 | * **Stream API** nima ?
97 | * **Stream** larning **Collection** lardan farqi nima ?
98 | * **Stream** yaratish usullari ?
99 | * Qanday **Stream Operator** lari mavjud?
100 | * **Intermediate Operator** lar qanday operatorlar ?
101 | * **Terminal Operator** lar qanday operatorlar ?
102 | * **Intermediate Operator** lar necha turga bo'linadi ?
103 | * **Stateless operator** lar qanday operatorlar ?
104 | * **Stateful operator** lar qanday operatorlar ?
105 |
106 |
107 |
108 |
109 | Lesson 11 ( Stream API )
110 |
111 | * **Stream API** nima ?
112 | * **.stream() va .parallelStream()** lar qanday farq qiladi ?
113 | * Nima uchun **String Lazy** deyiladi ?
114 |
115 |
116 |
117 |
118 |
119 | Lesson 12 ( Comparator and Collectors )
120 |
121 | * **Comparator** nima ?
122 | * Jdk 1.8 da **Comparator** ga qanddey o'zgarishlar kiritildi ?
123 | * **Collector** nima ?
124 | * **Collector** lar **terminal** operatorlarmi ?
125 | * **Collector** lar qandey ishlaydi ?
126 |
127 |
128 |
129 |
130 | Lesson 13 ( Predefined Collectors )
131 |
132 | * **Collector** larning qandey turlarini bilasiz va ular qandey vaziyatlarda ishlatiladi ?
133 | * **Primitive Stream** lar qandey **stream** lar ?
134 | * **Primitive Stream** larga misollar ayting ?
135 |
136 |
137 |
138 |
139 | Lesson 14 ( Networking(HttpClient) )
140 |
141 | * **URL** va **URLConnection** **class** lari qandey **class** lar ?
142 | * nima uchun **URL** va **URLConnection** **class** lari bo'lsa ham yangi **http api** java ga qo'shildi (ya'ni _HttpClient_)?
143 | * **HttpClient** nima ?
144 | * **HttpClient** ni eski **_Networking API_** (**_URLConnection_**) dan afzalligi nimada ?
145 |
146 |
147 |
148 |
149 | Lesson 15 ( Gson )
150 |
151 | * **GSON** library si nima uchun kerak ?
152 | * **Custom Serializer** va **Custom Deserializer** nima uchun kerak ?
153 | * **TypeAdapter** nima ?
154 |
155 |
156 |
157 |
158 | Lesson 16 ( Reflections API )
159 |
160 | * **reflection** nima ?
161 | * **reflection api** nima uchun kerak ?
162 | * **reflection api** ni asosiy **class** lari qaysi **class** lar ?
163 | * **reflection api** ni qachon ishlatish kerak ?
164 |
165 |
166 |
167 |
168 | Lesson 17 ( Annotations )
169 |
170 | * Java da **Annotation** nima ?
171 | * **Annotation** larni qanday turlari bor ?
172 | * **@Override** annotatsiyasini vazifasi nima ?
173 | * **@FunctionalInterface** annotatsiyasini vazifasi nima ?
174 | * **@Deprecated** annotatsiyasini vazifasi nima ?
175 | * **@SuppressWarnings** annotatsiyasini vazifasi nima ?
176 | * **@SafeVarargs** annotatsiyasini vazifasi nima ?
177 | * Qanday qilib **Custom Annotation** yaratish mumkin ?
178 |
179 |
--------------------------------------------------------------------------------
/interviewquestions/6-module(database).md:
--------------------------------------------------------------------------------
1 | # Lesson 1
2 |
3 | * Ma'lumotlar ombori(Database) nima ?
4 | * DBMS nima ?
5 | * DBMS ni qandey turlari bor ?
6 | * RDBMS nima ?
7 | * DBMS bilan RDBMS ni nima farqi bor ?
8 | * SQL nima ?
9 | * Query nima ?
10 | * SQL ni qandey elementlari bor ?
11 | * DDL nima ?
12 | * DML nima ?
13 | * TCL nima ?
14 | * DQL nima ?
15 | * Client Server model nima ?
16 | * Postgresql uchun qandey client larni bilasiz ?
17 |
18 | # Lesson 2
19 |
20 | * Table nima ?
21 | * upsert nima ?
22 | * PSQL dagi qandey muhim command larni bilasiz ?
23 | * Constraint nima ?
24 | * PostgreSQL da qanday constraint lar bor ?
25 | * foreign key constraint nima ?
26 | * unique constraint nima ?
27 | * check constraint nima ?
28 | * not null constraint nima ?
29 | * primary key constraint nima ?
30 |
31 | # Lesson 3
32 |
33 | * **PostgreSQL** da qandey raqamli tip lar bor ?
34 | * **timestamp** va **timestamptz** nima farqi bor ?
35 | * Qanday usullarda **uuid** yaratsa bo'ladi ?
36 | * **hstore** qayday ma'lumot turi xisoblanadi ?
37 | * **json** da **->** va **->>** farqlari nima ?
38 | * qanday usullar da **custom** data tip yaratish mumkin ?
39 | * **domain** bilan **type** ni nima fariq bor ?
40 | * **sequence** nima ?
41 | * **generated as identity** nima ?
42 | * **temp** yoki **temporary** table qanday table ?
43 | * **copy table** qanday table ?
44 |
45 | # Lesson 4
46 |
47 | * column alies nima ?
48 | * **order by clause** ni tushuntiring ?
49 | * **distinct** nima ?
50 | * **between** operaatori nima uchun kerak ?
51 | * **like** va **ilike** operatorlarini faqri qanday
52 | * **all**, **any**, **exists** vazifalari, nima maqsadlar da ishlatiladi ?
53 |
54 | # Lesson 5
55 |
56 | * **CONCAT_WS** funksiyasini vazifasi nima ?
57 | * **to_date** funksiyasini vazifasi nima va qandey ishlaydi ?
58 | * **like** va **ilike** ni farqi nima ?
59 | * **similar to** ning vazifasi nima ?
60 | * **posix regular expression** ning vazifasi nima ?
61 |
62 | # Lesson 6
63 |
64 | * **GROUP BY Statement** qachon ishlatiladi(nima uchun kerak) ?
65 | * **GROUP BY Statement** sintaksisi qanday ?
66 | * **Having clause** qachon ishlatiladi ?
67 | * **Having clause** sintaksisi qanday ?
68 | * **Having clause** va **Where clause** qanday farqi bor ?
69 | * **Union Statement** ning vazifasi nima, nima uchun ishlatiladi ?
70 | * **Union Statement** sintaksisi qanday ?
71 | * **Intersect Statement** nima ?
72 | * **Intersect Statement** ni sintaksisi qanday ?
73 | * **Except Statement** nima ?
74 | * **Except Statement** ni sintaksisi qanday ?
75 | * **View** nima ?
76 | * **Virtual table** nima ?
77 | * **Standart view** qanday ishlaydi ?
78 | * **Materialized view** nima ?
79 | * **Materialized view** qanday ishlaydi ?
80 | * Qanday qilib **Materialized view** dagi ma'lumotlarni yangilash mumkin ?
81 |
82 | # Lesson 7
83 |
84 | * **PL/pgSQL** nima ?
85 | * Nima uchun **PL/pgSQL** foydalanish kerak ?
86 | * **Dollar-Quoted string constant** nima ?
87 | * **Anonymous block** nima ?
88 | * **rowtype** qanday o'zgaruvchi ?
89 | * **record** qanday o'zgaruvchi ?
90 | * Qanday qilib o'zgaruvchilarni **constant** qilib qo'ysa bo'ladi ?
91 | * **IF statement** sintaksisi qanday ?
92 | * **CASE statement** sintaksisi qanday ?
93 | * **PL/pgSQL** da qanday usullarda **sikl** hosil qilsa boladi ?
94 |
95 | # Lesson 8
96 |
97 | * **RAISE statement** ning maqsadi sintaksisi ?
98 | * **RAISE statement** da nechta **level** bor ?
99 | * **RAISE statement** da **default level** qanday ?
100 | * **Exception handling** qanday amalga oshiriladi **PL/pgSQL** da ?
101 | * **function** nima ?
102 | * **procedure** nima ?
103 | * **in**, **out**, **inout** parameter lar farqilari ?
104 | * **Function** dan qanday qilib table qaytarish mumin ?
105 | * **Trigger** nima ?
106 |
107 | # Lesson 9
108 |
109 | * **ACID** nima ?
110 | * **Transaction** nima ?
111 | * **rollback** ning vazifasi nima ?
112 | * **savepoint** ning vazifasi nima ?
113 | * Table ni join qilish nima degani ?
114 | * **Postgresql** da necha xil join bor ?
115 | * **Natural join** qanday join ?
116 | * **index** nima uhcun ishlatiladi ?
117 | * **unique index** bilan **index** ni farqi nima ?
118 |
119 | # Lesson 10
120 |
121 | * **Postgresql** da **ROLE** qanday tushuncha ?
122 | * **Role** yaratish sintaksisi qanday ?
123 | * **grant** ning vazifasi nima ?
124 | * **revoke** ning vazifasi qanday ?
125 | * **Tablespace** nima ?
126 | * Qanday qilib _custom_ **tablespace** yaratish mumkin ?
127 | * **Schema** nima ?
128 |
129 |
130 |
131 |
132 |
--------------------------------------------------------------------------------
/interviewquestions/7-module(Jakarta EE).md:
--------------------------------------------------------------------------------
1 | # Lesson 1
2 |
3 | 1. **_HTML_** nima ?
4 | 2. **_HTML_** ni nima uchun backend dasturchilar bilishi kerak ?
5 | 3. **_CSS_** nima ?
6 | 4. **_CSS_** ni nima uchun backend dasturchilar bilishi kerak ?
7 | 5. **_JS_** nima ?
8 | 6. **_JS_** ni nima uchun backend dasturchilar bilishi kerak ?
9 | 7. **_Bootstrap_** nima ?
10 | 8. **_Bootstrap_** ni nima uchun backend dasturchilar bilishi kerak ?
11 |
12 | # Lesson 2
13 |
14 | 1. Jakarta EE nima ?
15 | 2. Java EE, J2EE , EE4J va JAkarta EE farqlari nima
16 | 3. Umbrella Project qandey Project ?
17 | 3. Projectning nomi nima uchun Java EE dan Jakarta EE ga o'zgardi
18 | 4. Jakarta EE da qandey modullar bor ?
19 | 5. Jakarta EE 9 dagi yangiliklar ?
20 | 6. Jakarta EE 9.1 dagi yangiliklar ?
21 | 7. Jakarta EE 10 dagi yangiliklar ?
22 | 8. Web Specification ga nimalar kiradi ?
23 | 9. Web Service Specification ga nimalar kiradi ?
24 | 10. Tomcat nima ?
25 | 11. Servlet Container nima ?
26 | 11. Web Dasturlar qandey ishlaydi ?
27 | 12. Servlet nima ?
28 | 13. Servlet ning oxirigi version ni nechchi ?
29 | 14. Deployment Descriptor nima ?
30 | 15. Servlet ni Life cycle qandey ?
31 | 16. Qandey Qilib Servlet yaratish mumkin ?
32 | 17. Servlet ni qandey usullar bilan register qilsa bo'ladi ?
33 |
34 | # Lesson 3
35 |
36 | 1. Jakarta Server Pages nima ?
37 | 2. Jakarta Server Pages nima uchun kerak ?
38 | 3. JSP element lari turlari ?
39 | 4. Scripting elementlar qandey elementlar ?
40 | 5. Directive elementlar qandey elementlar ?
41 | 6. Action elementlar qandey elementlar ?
42 | 7. Scriplet nima ?
43 | 8. JSTL nima ?
44 | 9. JSTL Taglarini Turlari ?
45 | 10. Qandey qilib bir Servletdan turib Bowqa Servlet ni chaqirish mumkin ?
46 | 11. RequestDispatcher nima ?
47 |
48 | # Lesson 4
49 |
50 | 1. Jakarta Expression Language nima va nima uchun kerak ?
51 | 2. MultipartFile nima ?
52 | 3. Qandey usullarda MultipartFile ni configuration ni sozlashimiz mumkin ?
53 |
54 | # Lesson 5
55 |
56 | 1. JDBC API nima ?
57 | 2. pgJDBC nima ?
58 | 3. DriverManager classining vazifasi nima ?
59 | 4. Connection classining vazifasi nima ?
60 | 5. PreparedStatement classining vazifasi nima ?
61 |
62 | # Lesson 6
63 |
64 | 1. Initialization parameters nima va nima uchun kerak bo'ladi ?
65 | 2. Qandey qilib **servlet container** ni event larini **listen** qilsa bo'ladi ?
66 | 3. Session nima ?
67 | 4. Session ni qandey yaratish mumkin ?
68 | 5. Session ni yaratilgandagi yoki ochirilgandagi **event** larni **listen** qilsa bo'ladi ?
69 | 6. Filter nima ?
70 | 7. Web Filter nima ?
71 | 8. Filter dan nima maqsadlarda ishlatiladi ?
72 | 9. Cookie nima va nima uchun kerak bo'ladi ?
73 | 10. Qandey Qilib Tomcat dagi error page larni handle(ushlasa) qilsa bo'ladi?
74 |
75 | # Lesson 7
76 |
77 | 1. ORM nima ?
78 | 2. Qandey ORM larni bilasiz ?
79 | 3. Nima uchun ORM dan foydalanishimiz kerak ?
80 | 4. Entity nima ?
81 | 5. Table nima ?
82 | 6. ORM ni ustinlik va kamchilik tomonlari JDBC ga solishtirilganda ?
83 | 7. Jakarta Persistence API(JPA) nima ?
84 | 8. Jakarta Persistence API nima uchun kerak ?
85 | 9. JPQL nima va nima uchun kerak ?
86 | 10. ORM va JPA ni nima farqi bor ?
87 | 11. JPA ni versiyalardagi farqlari ?
88 | 12. EntityManagerFactory, EntityManager class larini tushuntiring ?
89 | 13. _**GenerationType.IDENTITY, GenerationType.SEQUENCE, GenerationType.UUID, GenerationType.TABLE**_ farqlari ?
90 |
91 | # Lesson 8
92 |
93 | 1. NamedQuery qandey query ?
94 | 2. Qandey association lar mavjud ?
95 | 3. @OneToOne annotation qandey ishlaydi ?
96 | 4. @OneToMany, @ManyToOne annotation qandey ishlaydi ?
97 | 5. CasCadeType nima ?
98 | 6. FetchType Lazy nima ?
99 | 7. Embedded, Embeddable annotation lari nima uchun kerak(vazilasi) ?
100 | 8. Converter lar nima uchun, qandey vaziyatlarda ishlatiladi ?
101 |
102 | # Lesson 9
103 |
104 | 1. Jakarta Bean Validation nima uchun kerak bo'ladi ?
105 | 2. ValidatorFactory class ning vazifasi nima ?
106 | 3. Qandey qilib Custom Constraint Validator yaratsa bo'ladi ?
--------------------------------------------------------------------------------
/interviewquestions/8-module(Spring Introduction).md:
--------------------------------------------------------------------------------
1 | # Lesson 1
2 | * **Jakarta EE** ning kamchiliklari ?
3 | * Nima uchun **Spring** ?
4 | * **Spring Framework** nima uchun ishlab chiqilgan ?
5 | * **Spring** ning afzalliklari ?
6 | * **Spring** ni modullarini sanab bering.
7 | * **IoC** nima ?
8 | * **IoC** ning vazifasi nima ?
9 | * **DI** nima ?
10 | * **DI** ning qanday turlari mavjud ?
11 | * **SI** nima ?
12 | * **CI** nima ?
13 | * **BEAN** nima ?
14 | * **IoC Container** nima ?
15 | * **Spring** da qanday **IoC Container** lar bor ?
16 | * **Bean** larni **wire** qilishni necha xil usuli bor ?
17 | * **init-method** qachon ishlaydi ?
18 | * **destroy-method** qachon ishlaydi ?
19 | * **Conditional bean** nima va nima uchun kerak bo'ladi ?
20 | * **PropertySource** qachon kerak bo'ladi ?
21 | * **@Autowired** va **@Qualifier** _annotation_ larini farqi nima ?
22 | * **@Autowired** bilan **@Qualifier** va **@Inject** bilan **@Named** _annotation_ larini farqi nima ?
23 | * **@Configuration** va **@ComponentScan** _annotation_ lar nima maqsad da ishlatiladi ?
24 |
25 | # Lesson 2
26 | * **Spring** da **BeanFactory** nima?
27 | * **Spring** da **ApplicationContext** nima?
28 | * **BeanFactory** va **ApplicationContext** **Bean** larini farqi nima ?
29 | * **Spring** da **singleton** va **prototype** **scope** lari o'rtasidagi farq nima?
30 | * **Spring** da _**lazy loading**_ nima?
31 | * **Spring** da ikkita **_bean_** bir birini _**initialize**_ qilsa shu paytda qanday muammo hosil boladi va shu muammoni qanday xal qilasiz ?
32 | * **Spring** da **_constructor injection_** va _**setter injection**_ o'rtasidagi farq nima ?
33 | * **Spring** da _**@Value**_ _**annotation**_ dan qachon nima uchun foydalanish kerak ?
34 | * **Spring** da **_@PostConstruct_** va **_@PreDestroy_** _**annotation**_ larini maqsadi nima?
35 | * **SpEL**(_Spring Expression Language_) nima ?
36 | * **SpEL** ni **SpEL** qanday yo'llar bilan ishlatish mumkin ?
37 | * **SpEL** nimasi bilan **OGNL** va **MVEL** dan farq qiladi?
38 | * **SpEL** qachon ishlatiladi ?
39 | * **#{...}** _va_ **${...}** ni **SpEL** dagi farqi qanday ?
40 |
41 | # Lesson 3
42 |
43 | * **AOP** nima ?
44 | * **AOP** terminalogiyasida **aspect** nima ?
45 | * **cross-cutting concern** nima ?
46 | * **AOP** va **OOP** ni farqi nima ?
47 | * **join point** nima ?
48 | * **pointcut** va **advice** farqi nima ??
49 | * **Spring AOP** da necha xil **advice** bor ?
50 | * **AOP** ni xml orqali qandey **configure** qilish mumkin ?
51 | * **AOP** ni java da qandey **configure** qilish mumkin ?
52 |
53 | # Lesson 4
54 | * **Spring MVC** nima ?
55 | * **Spring MVC** ni boshqa **web framework** lardan ustunlik tomonlarini ayting ?
56 | * **Spring MVC** nimani ustida qurulgan ?
57 | * **Central Servlet** nima ?
58 | * **DispatcherServlet** nima ?
59 | * **DispatcherServlet** ni vazifasi nima ?
60 | * **View Resolver** nima ?
61 | * **Template Engine** nima ?
62 | * **Request Server** ga kelib **client** ga web sahifa qaytarib berilish jarayoni qanday etablardan o'tadi ?
63 |
64 | # Lesson 5
65 | * **Thymeleaf** nima ?
66 | * **Thymeleaf** nima uchun ishaltiladi ?
67 | * **Thymeleaf** ni boshqa **_framework_** lardan faqri nima ?
68 | * **Spring** bilan **Thymeleaf** ni qanday integratsiya qilish mumkin ?
69 | * **MessageSource** lar bilan **Thymeleaf** da qanday ishlasak bo'ladi ?
70 | * **Variable Expressions** ( **_${...}_** ) nima ?
71 | * **Selection Variable Expressions** ( **_*{...}_** ) nima ?
72 | * **Message Expressions** ( **_#{...}_** ) nima ?
73 | * **Link URL Expressions** ( **_@{...}_** ) nima ?
74 | * **Fragment Expressions** ( **_~{...}_** ) nima ?
75 | * **Literal** lar nima ?
76 | * **No-Operation token** ni sintaksis qanday va nima uchun ishalatiladi ?
77 | * **HTML** element ga qanday qilib **attribute** qo'shish mumkin ?
78 | * **Attribute** **Appending** va **Prepending** nima ?
79 | * **template fragments** nima ?
80 | * **fragment** yartishni sintaksisi qanday ?
81 | * **Attribute Precedence** nima ?
82 | * **Expression inlining** nima ?
83 | * **Expression inlining** sintaksisi qanday ?
84 |
85 | # Lesson 6
86 | * **Spring JDBC** nima ?
87 | * **Spring JDBC** va **JDBC API** ni nima farqi bor ?
88 | * Nima uchun **JDBC API** dan emas **Spring JDBC** dan foydalanish kerak ?
89 | * **NamedParameterJdbcTemplate** nima ?
90 | * **NamedParameterJdbcTemplate** nima va **JdbcTemplate** ni farqi nima ?
91 | * **SimpleJdbcInsert** ning vazifasi nima ?
92 | * Qanday qilib **Spring JDBC** orqali **stored procedure** larni chaqirish mumkin ?
93 |
94 | # Lesson 7
95 |
96 | * **Spring Security** nima ?
97 | * **Spring Security** ning arxitekturasi nima ?
98 | * **Authentication** nima ?
99 | * **Authorization** nima ?
100 | * **RBAC** nima ?
101 | * **DelegatingFilterProxy** nima va vazifasi qanday ?
102 | * **DelegatingFilterProxy** nima va vazifasi qanday ?
103 | * **SecurityFilterChain** nima va vazifasi qanday ?
104 | * **Role** va **Permission** nima ?
105 | * **CSRF** nima ?
106 | * **Thymeleaf** da qanday qilish login qilgan userning ma'lumotlari bilan ishlash mumkin ?
107 | * **SecurityContextHolder** klasi qanday klas ?
108 | * **@AuthenticationPrincipal** annotatsiyasini vazifasi nima ?
109 |
110 | # Lesson 8
111 | * **MultipartResolver** nima ?
112 | * **MessageSource** qanday **class** ?
113 | * **LocalResolver** **interface** ning vazifasi nima ?
114 | * **LocalChangeInterceptor** qanday **class** ?
115 |
116 | # Lesson 9
117 |
118 | * **Spring** da necha xil usulda xatoliklar bilan ishlash mumkin ?
119 | * **@ResponseStatus annotation** ni vazifasi nima ?
120 | * **@ControllerAdvice annotation** ni vazifasi nima ?
121 | * **@ExceptionHandler annotation** ni vazifasi nima ?
122 | * **Filter** nima ?
123 | * **Interceptor** nima ?
124 |
--------------------------------------------------------------------------------
/interviewquestions/9-module(Spring Boot).md:
--------------------------------------------------------------------------------
1 | # Interview question
2 |
3 | ## Lesson 1
4 |
5 | * Spring Boot nima ?
6 | * Spring va Spring Boot ni farqi nima ?
7 |
8 | ## Lesson 2
9 |
10 | * REST API nima ?
11 | * REST FULL API nima ?
12 | * REST FULL WEAPI nima ?
13 | * Spring va Spring Boot ni farqi nima ?
14 | *
15 |
16 | ## Lesson 3
17 |
18 | * **JSON** nima ?
19 | * **JSR 353** nima ?
20 | * **JSR 353** ni implementation qilgan qanday kutubxonalarni bilasiz ?
21 | * **Jackson** kutubxonasini vazifasi nima ?
22 | * **ObjectMapper** class ni vazifasi nima ?
23 | * **JsonParser** class ni vazifasi nima ?
24 | * **JsonGenerator** class ni vazifasi nima ?
25 | * **Jackson** ni asosiy **.jar** fayllari qanday ?
26 | * **Jackson** kutubxonasi **Spring Framework** ning qayerida ishlatiladi ?
27 | * **Jackson** dagi eng asosiy **Annotatsiya** larni ayting _**vazifalari**_ bilan ?
28 |
29 | ## Lesson 4
30 |
31 | * **Spring Data Jpa** nima ?
32 | * **Spring Data Jpa** va **Jakarta Persistence API** ni farqi nima ?
33 | * **JpaRepository** , **CrudRepository** lar qanday **interface** lar ?
34 | * **Jpa** va **Hibernate** ni farqi nima ?
35 | * **@Entity** annotatsiyasini vazifasi nima ?
36 | * **@Transactional** annotatsiyasini vazifasi nima ?
37 | * **@Modifying** annotatsiyasini vazifasi nima ?
38 | * **Query Creation** nima ?
39 | * **Projection** nima ?
40 | * **Projection** nechchi turga bo'linadi ?
41 | * **Spring Data Jpa** da **Auditing** nima ?
42 | * **@EntityListeners(AuditingEntityListener.class)** annotatsiyasining vazifasi nima ?
43 |
44 | ## Lesson 5
45 |
46 | * **Jpa buddy** _pluginini_ tushuntiring(qanday plugin u ?) ?
47 | * **HATEOAS** nima ?
48 | * **EntityModel** va **CollectionModel** ni farqi nima ?
49 | * **PagedModel** nima ?
50 | * **HATEOAS** ning afzalligi ?
51 | * **HATEOAS** ning kamchiliklari ?
52 | * **HATEOAS** ni qachon ishlatish kerak ?
53 | * **HATEOAS** ni qachon ishlatmaslik kerak ?
54 | * **Spring Data Rest** nima ?
55 |
56 | ## Lesson 6
57 |
58 | * **Rest API** da qanday qilib **Authentication** va **Authorization** ni ta'minlash mumkin ?
59 | * **Basic Access Authentication** nima ?
60 | * **CORS** nima ?
61 | * **JWT** nima ?
62 | * **JWT token** nima ?
63 | * **JWT token** qanday qismlardan tashkil topadi ?
64 | * **JWT token** dagi **Signature** nima ?
65 |
66 | ## Lesson 7
67 |
68 | * **OpenAPI** nima va nima uchun ishlatiladi ?
69 | * **Swagger** nima va nima uchun ishlatiladi?
70 | * **OpenAPI** va **Swagger** ning farqi nima ?
71 | * **sprinfdoc** nima ?
72 | * **Springdoc** da api larni qanday qilib **guruh** larga bo'lish mumkin ?
73 |
74 | ## Lesson 8
75 |
76 | * **MapStruct** kutibxonasini vazifasi nima ?
77 | * **.properties** file dan qanday qilib **object** ni yoki **objectlar**ni listini o'qish mumkin ?
78 | * **.yaml** file qanday file ?
79 | * **.yaml** file dan **Map** va **List** Larni qanday o'qish mumkin ?
80 | * **|** va **>** belgilari vazifasi nima, va ular o'zaro qanday farq qiladi ?
81 | * **@Async** annotatsiyasini vazifasi nima ?
82 | * **@Async** annotatsiyasi qanday ishlaydi (proxy)?
83 | * **TaskExecutor** ning vazifasi nima ?
84 | * Qanday qilib **@Async** annotatsiya bor bo'lgan method da `exception` sodir bo'lsa shu `exception` ni qanday
85 | qilib `handle` qilsa bo`ladi ?
86 |
87 | ## Lesson 9
88 | * **profiling** nima ?
89 | * **@Profile** annotatsiyasini vazifasi nima ?
90 | * **yaml** fayl orqali qanday qilib **profile** lar yaratsa bo'ladi ?
91 | * `spring-boot-starter-mail` va `jakarta-mail-api` ni farqi nima ?
92 | * **FreeMarker** nima ?
93 | * **Task scheduling** nima ?
94 | * **@Scheduled** annotatsiyasini vazifasi nima ?
95 | * **Cron Jobs** nima ?
96 | * **Cron Expression** nima ?
97 | * Qanday **logging kutubxona**larni bilasiz ?
98 | * **Request** va **Response** ni qanday qilib log yozsa bo'ladi ?
99 |
100 |
101 |
102 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/jars/seeder.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jlkesh/pdp_online_java_lessons/e146ffda6691d0f2c78afde432238074be57c4e0/jars/seeder.jar
--------------------------------------------------------------------------------
/needed_sources/2101.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jlkesh/pdp_online_java_lessons/e146ffda6691d0f2c78afde432238074be57c4e0/needed_sources/2101.png
--------------------------------------------------------------------------------
/needed_sources/243.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jlkesh/pdp_online_java_lessons/e146ffda6691d0f2c78afde432238074be57c4e0/needed_sources/243.png
--------------------------------------------------------------------------------
/needed_sources/244.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jlkesh/pdp_online_java_lessons/e146ffda6691d0f2c78afde432238074be57c4e0/needed_sources/244.png
--------------------------------------------------------------------------------
/needed_sources/StandardBuiltInConstraints.md:
--------------------------------------------------------------------------------
1 | # Standard Built-In Constraints
2 |
3 | | Annotation | Description |
4 | |:----------------------|--------------------------------------------------------------------------------------------------------|
5 | | _**@Null**_ | The annotated element must be null |
6 | | _**@NotNull**_ | The annotated element must not be null |
7 | | _**@AssertTrue**_ | The annotated element must be true |
8 | | _**@AssertFalse**_ | The annotated element must be false |
9 | | _**@Min**_ | The annotated element must be a number with a value that is higher or equal to the specified minimum |
10 | | _**@Max**_ | The annotated element must be a number with a value that is lower or equal to the specified maximum |
11 | | _**@DecimalMin**_ | The annotated element must be a decimal with a value that is higher or equal to the specified minimum |
12 | | _**@DecimalMax**_ | The annotated element must be a decimal with a value that is lower or equal to the specified maximum |
13 | | _**@Negative**_ | The annotated element must be a strictly negative number |
14 | | _**@NegativeOrZero**_ | The annotated element must be a negative number or zero |
15 | | _**@Positive**_ | The annotated element must be a strictly positive number |
16 | | _**@PositiveOrZero**_ | The annotated element must be strictly positive or zero |
17 | | _**@Size**_ | The annotated element size must fall within the specified boundaries |
18 | | _**@Digits**_ | The annotated element must be a number in the accepted range |
19 | | _**@Past**_ | The annotated element must be an instant, date, or time in the past |
20 | | _**@PastOrPresent**_ | The annotated element must be an instant, date, or time in the past or present |
21 | | _**@Future**_ | The annotated element must be an instant, date, or time in the future |
22 | | _**@FutureOrPresent**_ | The annotated element must be an instant, date, or time in the future or present |
23 | | _**@Pattern**_ | The annotated element must fall within the constraints of the specified regular expression |
24 | | _**@NotEmpty**_ | The annotated element must not be empty or null |
25 | | _**@NotBlank**_ | The annotated element must not be null and must contain at least one character |
26 | | _**@Email**_ | The annotated string must be a well-formed email address |
27 |
--------------------------------------------------------------------------------
/needed_sources/activation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Activate Account
6 |
39 |
40 |
41 |
42 |
43 |
Welcome To SHORTURL
44 |
In Order TO Activate Your Account Click Activate Link Below