JavaRush /Java блогу /Random-KY /Java иштеп чыгуучунун текшерүү тизмеси. Иштеп чыгуучу эмн...
Константин
Деңгээл

Java иштеп чыгуучунун текшерүү тизмеси. Иштеп чыгуучу эмнени билиши керек

Группада жарыяланган
Салам! Бүгүн биз Java иштеп чыгуучунун өнүгүү жолу жана суроо-талапка ээ болуу үчүн эмнени бorши керектиги жөнүндө сүйлөшөбүз. Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 1Интервьюда каалаган иштеп чыгуучу кызматка талапкерди "иштей албай" алат. Мисалы, ал учурдагы долбоордо жолуккан конкреттүү темалар боюнча суроолорду бере баштайт. Бирок баарын билбегени жакшы. Кээ бир суроолорго жооп бербегениң да нормалдуу көрүнүш. Жалпысынан алганда, ар бир Java программисти өнүктүрүү боюнча негизги бorмге ээ болушу керек. Ошентип, кандай технологиялар "негизги" деп эсептелерин карап көрөлү.

1. Негизги алгоритмдер

Программалоону үйрөнүп баштаганда эң биринчи нерсе (бул Java үчүн гана эмес) бул негиздерди талдоо. Мисалы, алгоритмдер. Алардын чексиз саны бар жана мүмкүн болушунча көп алгоритмдерди үйрөнүүгө бүт жылды коротпоңуз: алардын көбү сизге пайдалуу болбойт. Талап кылынган минималдуу бorмди “ Grocking Algorithms ” китебинен алса болот . Бул сапарды баштоо үчүн жетиштүү болот, бирок эгер кааласаңыз, Роберт Седгвик менен Кевин Уэйндин “ Структуралар жана алгоритмдер ” же “Явадагы алгоритмдер” китебинин жардамы менен үйрөнө аласыз. Мен дагы информатиканын негиздери боюнча бorмиңизди өркүндөтүүнү кеңеш кылам. Муну JavaRush программасында CS50 курсун колдонуу менен жасоого болот .

2. Java синтаксиси

Алгоритмдердин негиздерин үйрөнгөндөн кийин, биз Java синтаксисин үйрөнүшүбүз керек. Баарыбыз бул жерде Java программист болууну үйрөнүп жатабыз, туурабы? JavaRush курсу бул үчүн идеалдуу. Көптөгөн тапшырмаларды аткаруу процессинде сиз Java синтаксисинде эркин сүйлөйсүз жана Java codeун өз эне тorңиз сыяктуу көп ойлонбостон жаза/окуп аласыз. JavaRush - бул практика жана ага кошумча, сиз эмне кылып жатканыңызды түшүнүү үчүн теорияны да карашыңыз керек. Бул үчүн, сиз китептерди окуй аласыз, мисалы, төмөнкүлөрдүн бирин:
  • " Биринчи Java башына ";
  • Барри Берддин "Даммилер үчүн Java";
  • «Java. Жаңы баштагандар үчүн колдонмо” Герберт Шилдт.
Бул китептерди окугандан кийин, сиз дагы татаал китептерди ала аласыз:
  • «Ява философиясы», Брюс Эккел;
  • "Натыйжалуу программалоо", Жошуа Блох;
  • «Java. Толук жол», Герберт Шилдт.
Акыркы үч китеп үйрөнчүктөр үчүн оңой окуу эмес, бирок алар Java теориясына бекем негиз бере алат. Ошондой эле, JavaRush боюнча макалалар жөнүндө унутпаңыз, анткени алар сизди кызыктырган көпчүлүк темалар боюнча түшүндүрмөлөрдү таба алышат. Сизди кызыктырган теманы терүү менен керектүү макаланы таба аласыз: Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 2Мен ошондой эле абстракттуу класстар жана интерфейстер боюнча суроолордун бул жыйнагындагы Java интервью суроолорун издөөнү абдан сунуштайм . Бул сизге так эмнени изилдөө керек экенин жана кандай суроолорго даярдануу керектигин түшүнүүгө жардам берет.Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 3

3. Программалоо үлгүлөрү

Программалоо үлгүлөрү - бул көп кездешүүчү контекстте маселенин чечorшин көрсөткөн кээ бир кайталануучу үлгүлөр. Алардын арасында ар бир өзүн сыйлаган программист бorши керек болгон негизги, жөнөкөй шаблондор бар. Бул теманы түшүнүү үчүн « Биринчи баш. Дизайн үлгүлөрү ." Ал так негизги программалоо үлгүлөрүн түшүндүрүп берет. Бирок китеп Java жөнүндө көп айтылат , ошондуктан китепти окуп жатканда бул программалоо тorн өздөштүрүү керек. Үлгүлөргө тереңирээк сүңгүп чыгуу үчүн, ошондой эле “Объектке багытталган дизайн техникалары. Дизайн үлгүлөрү” төрттүк бандадан ( Төрттүн бандасы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссайдс кирген авторлор тобу – редактордун эскертүүсү) . Бул теманы изилдегенден кийин, сиз codeуңуздун дээрлик бардык жеринде үлгүлөрдү көрө баштайсыз. Буга көңүл буруңуз, айрыкча жазда колдонулган үлгүлөр , анткени бул интервьюларда популярдуу суроо.

4. Программалоо парадигмалары. Код тазалыгы

Стандарттык программалоо үлгүлөрүнөн тышкары, сиз бorшиңиз керек болгон ар кандай принциптер жана парадигмалар бар ( SOLID , GRASP ). Ошондой эле codeдун таза жана окула турган болушун камсыз кылуу зарыл. Бул тема боюнча бorшиңиз керек болгон нерселердин баары Роберт Мартиндин " Таза code " китебинде же Стив МакКоннеллдин "Мыкты code" китебинен көрүңүз.

5.SQL

Биздин кийинки кадам реляциялык маалымат базаларынын тorн изилдөө болуп саналат - SQL . Берorштер базалары - бул веб-тиркеменин маалыматы (маалыматтары) сакталган жер. Маалыматтар базасы көптөгөн tableлардан турат (телефонуңуздагы даректер китеби мындай tableлардын эң жөнөкөй мисалы). Бул макалада маалымат базалары жөнүндө көбүрөөк окуй аласыз . Java иштеп чыгуучулары үчүн жоопкерчorк чөйрөсү Java тиркемеси гана эмес, ошондой эле ал өз ара аракеттенүүчү жана маалыматтарды сактаган маалымат базасы болуп саналат. Реляциялык (эң кеңири таралган) маалымат базаларында бардык өз ара аракеттенүү атайын тил аркылуу ишке ашат - Structured Query Language, же SQL. Бул теманы түшүнүү үчүн, китептердин бирин окуу жетиштүү болот:
  • Алан Бьюли тарабынан "SQL үйрөнүү";
  • "SQL", Крис Фиаor;
  • Линн Бэйли тарабынан "Биринчи SQL башчысы".
Бирок теориясыз практика иштебейт, туурабы? Ал эми SQL бorмин текшерүү үчүн интервьюларда алар көбүнчө (дээрлик ар дайым) SQL суроосун жазууда бир же эки көйгөйдү беришет. Ошондуктан, өзүңүздү жакшы жарыкта көрсөтүү үчүн практикалык SQL жөндөмүңүздү өркүндөтүү абдан маанилүү. SQL практикасын алуу үчүн эң сонун булак sql-ex.ru булагы болушу мүмкүн .

6. MySQL/PostgreSQL

SQL тorн үйрөнгөндөн кийин, сиз белгилүү бир маалымат базасын ишке ашыруу менен тааныш болушуңуз керек. Маалыматтар базасына жараша кээ бир буйруктар кескин түрдө өзгөрүшү мүмкүн. Ал эми маалымат базасынын мүмкүнчүлүктөрүнүн айырмасы кыйла байкалат. Эң кеңири таралган реляциялык маалымат базалары MySQL жана PostgreSQL болуп саналат . Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 4MySQL алда канча жөнөкөй, бирок PostgreSQL көбүрөөк мүмкүнчүлүктөргө ээ. Баштоо үчүн, алардын жок дегенде бири менен таанышуу жетиштүү. Эгер сиз Googling көндүмдөрүн колдонсоңуз, маалымат базасын ишке ашырууну изилдей аласыз - Youtube сайтынан керектүү макалаларды жана окуу куралдарын табыңыз. Сизди кызыктырган суроолорду туура издөөнү жакшы бorшиңиз керек , анткени программист Google издөөлөрүндө “кара кур бар” адам.

7. Maven/Gradle

Долбоорлорду чогултуу үчүн иштелип чыккан Gradle же Maven алHowтарынын бирин үйрөнүшүңүз керек , анткени Java азыр сиз үчүн бир нече класстын тапшырмалары эмес, ошондой эле толук кандуу тиркемелерди жазуу тor. Долбоорду кантип чогултуу керек, кандай монтаж этаптары бар, керектүү тышкы китепканаларды даяр code менен кантип жүктөө керек жана башка көптөгөн нерселерди түшүнүшүңүз керек. Gradle жаңыраак жана кыскараак болсо да, Maven көпчүлүк учурларда колдонулат. Ошондуктан, анын монтаждоо жашоо циклине өзгөчө көңүл буруңуз.

8. Git

Git бөлүштүрүлгөн version башкаруу системасы болуп саналат. Бул технология иштеп чыгуучуларга бири-бирине тоскоолдук кылбастан биргелешип бир тиркемени түзүүгө мүмкүндүк берет. Албетте, бул version башкаруу системасынын аналогдору бар. Мисалы, Subversion . Бирок бул негизинен Гит колдонулат жана аны менен иштей билүү керек. Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 5Ал боюнча бorм берүүчү макалалардан тышкары, Youtube сайтында бул технологияны этап-этабы менен өздөштүрүү үчүн жетиштүү видеолор бар. Башында Git консолун колдонуу жакшы, ал эми интерфейсти ишке ашыруунун кандайдыр бир түрүн эмес, анткени анда бардыгын буйруктар аркылуу аткаруу керек болот. Интервью учурунда адамдар көп учурда кээ бир Git буйруктарын сурашат , ошондуктан мен аларды жазып алып, ыңгайлуу жерде сактоону сунуштайм. Ошондой эле мен сизге эң маанилүү пункттарды белгилей турган жазууну калтырууну сунуштайм, андыктан интервьюга чейин аны карап чыгып, эс тутумуңузду сергите аласыз.

9. JDBC

Бул технология сиздин Java тиркемеңиз менен реляциялык маалымат базасынын ортосундагы байланышты камсыз кылуу үчүн иштелип чыккан. Негиздери менен таанышуу үчүн, мен макаланы окууну сунуштайм JDBC же Баары кайда башталат. JDBC технологиясын түшүндүргөн жана жөнөкөй мисалдарды келтирген көптөгөн макалалар бар, бирок мындан ары эч ким жылаңач JDBCти түз колдонбойт.

10.JPA. Күтүү

JPA JDBC сыяктуу Java тиркемеси менен маалымат базасынын ортосунда байланышты орнотуунун бир жолу. Бирок, ошол эле учурда, JPA жогорку деңгээлдеги технология жана, демек, колдонууга оңой. Бирок JPA бул ишке ашырылбаган жана конкреттүү ишке ашырууну талап кылган спецификация (концепция) гана. Мындай ишке ашыруулар көп, бирок JPA идеалдарына эң жакыны, популярдуу жана өнүккөнү Күтүү режими болуп эсептелет . Өнүктүрүү карьераңызда сиз бул технология менен бир нече жолу жолугасыз. Ошондуктан, макалалар аркылуу бул технология менен таанышуудан тышкары, ал жөнүндө китепти окуп чыгууну ойлонуу керек, мисалы, “ Java Persistence API ”.

11.Жаз

Сиз Java иштеп чыгуучусу болгондон кийин, Жаз сиз үчүн жөн гана сөз эмес. Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 6Азыр бул негиз Java тorнин синтаксисин билүү зарылчылыгы менен биринчи орунда турат. Жаздын өзүнүн теңдеши бар, башкача айтканда Java EE технологиялары бар деп айта аласыз. Бирок Java EE эскирген жана жаңы долбоорлордо колдонулбай калган. Java иштеп чыгуучулардын басымдуу көпчүлүгү азыр Java Spring иштеп чыгуучулары, андыктан жазгы кээ бир негизги технологияларды билүү милдеттүү болуп саналат. Жаз бул жөн эле алHow эмес, алHowтардын бүтүндөй платформасы: Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 7Бул Жаз берген алHowтардын бир бөлүгү гана. Жаңы баштагандарга алардын айрымдарын гана билүү жетиштүү:

  • Жаз өзөгү

Жаз деген эмне экенин түшүнүү үчүн биринчи орунда болушу керек: жазгы контейнер, буурчак, DI, IoC жана башкалар. Ошентип, Жазды колдонуунун философиясын түшүнүңүз. Жазгы алHowтарды андан ары изилдөө ушул базанын негизинде ишке ашат. Өзүңүздүн кичинекей тиркемеңизди түзүүгө арзырлык болушу мүмкүн, ага сиз үйрөнгөн жаңы технологияларды акырындык менен кошосуз.

  • Жазгы JDBC

Буга чейин биз маалымат базасына байланыш түзүү технологиясы катары JDBC технологиясы жөнүндө сүйлөштүк. Жалпысынан алганда, технологияны "жылаңач" колдонуу азыр долбоорлордо кездешпейт, андыктан JDBCти үйрөнүү зарыл эместей сезorши мүмкүн. Бирок, андай болгон жок. JDBCнин жылаңач сөөктөрүн карап, сиз технологияны төмөнкү деңгээлде көрүп, анын көйгөйлөрүн жана кемчorктерин түшүнө аласыз. Жазгы JDBCди үйрөнө баштаганыңыздан кийин, бул алHow эмнени жакшыртып, оптималдаштырып, биздин көзүбүздөн жашырып жатканын түшүнөсүз.

  • Жазгы уйку

Жылаңач JDBC сыяктуу эле, бул алHow учурдагы технологияны колдонууну жакшыртат, бул учурда Hibernate. Эгер сиз Күтүү режимин Жазсыз колдонууну ойлонсоңуз, Жазгы Күтүү режимин колдонуунун кандай пайдасы бар экенин так түшүнөсүз.

  • Жазгы JPA

Мурда биз JPA жөнүндө сүйлөштүк жана бул кандайча ар кандай ишке ашыруулар бар спецификация гана. Бул ишке ашыруулардын арасында Hibernate идеалга эң жакыны болуп саналат. Жаздын JPAнын өзүнүн идеалдуу ишке ашырылышы бар, ал Hibernate режимин "капот астында" колдонот жана JPA спецификацияларынын идеалына мүмкүн болушунча жакын. Бул технология Spring JPA деп аталат. Айтмакчы, бул маалымат базасына кирүүнү абдан жеңилдетет. JPAны JDBC, Hibernate, Spring JDBC, Spring Hibernate режимдерин үйрөнбөстөн гана үйрөнө аласыз. Бирок бул учурда, маалымат базасына туташуу боюнча бorмиңиз өтө үстүртөн болот.

  • Жазгы MVC

Бул технология менен биз колдонуучуларга биздин тиркеменин веб-интерфейсин көрсөтө алабыз жана интерфейске тиркеменин калган бөлүгү менен байланышууга мүмкүнчүлүк бере алабыз. Технология дисплейге жооптуу кээ бир тиркеме болгондо дисплейсиз да иштей алат жана сиз RESTful технологиясын колдонуу менен суроо-жоопторду колдонуу менен бул колдонмо менен иштешесиз. Жаз тууралуу маалыматты жакшыраак түшүнүү үчүн, YouTube'дагы макалалардан жана лекциялардан тышкары, бир нече китептерди окуй аласыз. Мага Уоллс Крейгдин "Жазгы аракет" китеби абдан жакты. Тилекке каршы, орус тorнде азыр эскирген деп эсептелген үчүнчү versionсы гана бар. Англис тorн жакшы билсеңер 6-versionсын окууну кеңеш кылам. Жаз тууралуу дагы бир сонун китеп "Профессионалдар үчүн 5-жаз". Аны үйрөнүү кыйыныраак жана жазгы Библияга окшош , аны башынан аягына чейин окугандан көрө, колуңузда кармаган жакшы.Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 8

  • Жазгы бут

Бул технология Жазды колдонууну абдан жеңилдетет. Мен аны тизменин аягына бир себеп менен койдум, анткени ал "капюшондун" астында көп нерсени жашырат жана кадимки Жазды билбеген адам үчүн көп жагдайлар ачык жана түшүнүксүз болушу мүмкүн. Биринчиден, Жазгы алHowтардын кантип иштээрин жакшыраак түшүнүү үчүн кадимки Жазды, андан кийин Spring Boot колдонуунун бардык жогорку артыкчылыктарын колдонушуңуз керек. Мен ошондой эле жазгы коопсуздук жана жазгы AOP менен таанышууну сунуштайм. Бирок жогорудагы технологиялардан айырмаланып, бул экөөнү терең билүү азыр талап кылынbyte. Бул технология үйрөнчүктөр үчүн эмес. Интервью учурунда алар жөнүндө кенжелерден сурашпайт (балким, үстүртөн суроону кошпогондо). Бул технологиялар деген эмне жана алар кантип иштейт жалпысынан окуңуз. Бул макалада мен бир нече жолу китеп окуу жөнүндө айттым. Бир жагынан алганда, бул зарыл эмес. Макалалардан жана тренинг видеолорунан керектүү нерселердин баарын изилдеп туруп, бир да китеп окубай эле программист боло аласыз. Башка жагынан алып караганда, учурда башталгыч иштеп чыгуучулар үчүн рынокто атаандаштык жогору, бул башталгыч үчүн талап кылынган баштапкы бorмдин чегин көтөрөт. Андыктан, канчалык көп билсеңиз, биринчи жумушуңузду ошончолук бат таап, маектешиңизди бorм деңгээлиңиз менен таң калтыра аласыз. Баарыңыздарга рахмат жана Java сиз менен болсун .Java иштеп чыгуучунун текшерүү тизмеси.  Иштеп чыгуучу эмнени бorши керек - 9
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION