JavaRush /Kurslar /All lectures for UZ purposes /Shovqinli va Qizgin LiveCoding

Shovqinli va Qizgin LiveCoding

All lectures for UZ purposes
Daraja , Dars
Mavjud

Livecoding… Bu voqea eng qattiq turdagi imtihonlardan birini eslatadi. Ulardan biri - muammo doskada yechilishi kerak bo'lgan imtihonlar. Xatto notanish auditoriya oldida. Yoki sahnada improvisatsiya qilish masalasi. Bu haqda o'ylashdan qo'rqib ketasiz!.. Ammo, bunday narsalar bilan zavqlanadigan odamlar ham bor. Ayamaganlar ham bor, ularga kuchli zarba berishni o'rgatishimiz mumkin. Bu dunyodagi hamma narsalar singari Livecoding o'tkazish mahorati ham qat'iyatli mashqlar orqali rivojlanadi. Andrey Latyshev videoleksiyasida aytgan narsalarni qisqacha xulosa qilib va biroz kengaytirib o'tamiz.

Livecoding o'tish algoritmi

Livecoding masofadan o'tkazilishi mumkin (ekraningizni bo'lishishingiz kerak) yoki shaxsan.

Shunday qilib, vaziyat: sizga muammo sharti beriladi, kompyuter yoqiladi, orqangizdan qarab turishadi (yoki ekraningizga ulanadilar) va qanday qilib qo'llaringiz titray boshlayotganini kuzatishadi… Bir oz vaqt o'tkazing va boshlang..

1. To'xtang va shartni tushuning

Avvaliga muammo shartini o'ylab, sizdan nimani istashlarini tushunishga harakat qiling. Uni to'liq tushunganingizni aniq bilish uchun albatta aniqlashtiruvchi savollar bering.

2. Qaysi echim eng optimal bo'ladi deb o'ylang?

Faqat bitta echim o'ylamang, balki bir nechta echimlar o'ylab toping. Har bir echimning vaqt va joy murakkabligini baholang va eng optimalini tanlang (hozir amalga oshirilishi mumkin bo'lgan va eng tez bo'lganini). Shu bilan birga, fikringizning qanday bo'layotganini og'zaki ifodalang. Agar biror narsa to'g'ri kelmasa, hech bo'lmaganda siz to'g'ri yo'nalishda ekanligingizni tushunishingiz mumkin bo'ladi.

3. Dasturlashni boshlang!

Kodni yozayotganingizda, uning SOLID\KISS\DRY tamoyillariga mos kelishini ta'minlang. Yuqorida aytilgan sabab tufayli har bir qator kodni tushuntiring. Aytgancha, sizga ba'zan yo'l-yo'riq savollari yordamida maslahat berishlari mumkin.

Java dasturlashning eng yaxshi amaliyotlari haqida qayta o'qish uchun maqola: Java'dagi eng yaxshi amaliyotlar bo'yicha qisqacha qo'llanma

4. Sizning echimingizni tekshirish uchun Unit-test yarating.

Bu System.out.println() dan foydalanishdan ko'ra ancha qimmatliroq. Siz allaqachon buni bilasiz.

Livecoding paytida unutilmas kerak bo'lgan narsalar

  • Ovozda gapiring! Fikringizni, o'ylab ko'rish jarayonini aytib bering.
  • Agar siz sinfga yoki o'zgaruvchilarga munosib nom topa olmasangiz va bu bosqichda juda chalg'itsangiz, yaxshisi bu haqida ayting.
  • Lekin hamon sanoat standartlariga muvofiq, o'quvchilarning emas, kod yozishga harakat qiling. Mana eslatma maqolasi.

    Va yanada rasmiy Oracle hujjati

  • Doimo chegaraviy holatlar, tekshiruvlar, va samaradorlik haqida o'ylang.
  • <Ishlayotgan ilova yordamida kodingizni tekshirmang. Imkon qadar modulli testlardan foydalaning. /li>

Livecoding'ga misol masalalar

Amalda ular juda ko'p bo'lishi mumkin. Biroq, quyida keltirilgan misollar bilan umumiy yo'nalishni tushunishingiz mumkin. Odatda, bu o'qish paytida ko'p marta duch kelgan o'quv masalalari.

  1. Oddiy masalalar.

    Bunday masalalarni ko'pincha dok-faylga yoki hatto qog'ozga yozishni so'rashadi.

    Misollar:

    
    Massivni o'rang (kirish: [1,4,3,9,0], chiqish: [0,9,3,4,1])
    
    Faktorialni hisoblang (iterativ \ rekursiv)
    
    Birinchi so'zdagi harflar yordamida ikkinchi so'zni yaratish mumkinligini tekshiring
    kirish: so'z1 = «abc» so'z2 = «acb»
    chiqish: haqiqat
    kirish: so'z1 = «abc» so'z2 = «san'at»
    chiqish: yolg'on
    				

  2. Codility kabi onlayn-platformadagi masalalar. Masalan, algoritmlar yoki Streams API bo'yicha masalalar
  3. Ofisda bo'lganingizda murakkab masalalar. Ehtimol, eng stressli variant. Bu yerda har qanday narsa bo'lishi mumkin.

Qiziqarli intervyu masalalari bilan uchrashishingiz mumkin bo'lgan maqolalar:

Tavsiyalar

  • Gradle yoki Maven-proyektini oldindan tayyorlang.
  • IntelliJ IDEA ning klavish kombinatsiyalaridan foydalaning.
  • Tasodifiy qiymatlar kerak bo'lsa, kodni qanday sinab ko'rishni o'ylab ko'ring.
  • Agar sizga chet el xizmatiga so'rov yuborish kerak bo'lsa, ammo bu xizmat mavjud emas bo'lsa, bu vaziyatni o'ylab ko'ring.
  • "Buyruqlar"ni belgilash ro'yxati bo'lgan holatlarni o'ylab ko'ring.

    Masalan, sizda "qo'shish" - qiymatni oshirish, "minus" - kamaytirish, "tozalash" - qayta o'rnatish kabi buyruqlar bor. Ularning barchasini kodda qanday bajarishingiz va kodingiz kengaytiriladigan bo'lishi kerak.

Livecoding'ga tayyorlanish platformalari

  1. Codility
  2. Leetcode. O'qish rejalari
  3. Codeforces
  4. Eolymp

Tayyorlanish rejasi

Livecoding'ga o'rganish va qo'rqmaslik uchun, ushbu turdagi intervyular uchun tayyorgarlik paytida mini-stressli vaziyat yaratish lozim.

  1. Har ikki kunda bir marta masala yeching.
  2. Masalani yechishda fikringizni ovoz bilan ifodalang.
  3. Har o'nta yechilgan masaladan birini videokamera yordamida yeching va yechimini ovozrangi bilan ifodalang. Keyin xatolarni ko'rib chiqing.
  4. Har doim masala yechimlini tugallang.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION