JavaRush /Java блогу /Random-KY /Айла, же Java тажрыйбасы жок орто Java иштеп чыгуучусу ка...
Юрий
Деңгээл
Москва

Айла, же Java тажрыйбасы жок орто Java иштеп чыгуучусу катары кантип жумушка орношуу керек

Группада жарыяланган
Бардык Java студенттерине жана адистерине салам. Балким, менин окуям айрымдар үчүн муну кантип жасоо керек, ал эми башкалар үчүн - кантип кылбоо керектиги боюнча үлгү болот. Бул 2021-жылдын 19-октябры жана бүгүн мен чоң компанияда Java орто иштеп чыгуучусу катары сыноо мөөнөтүн (3 ай) аяктадым. Мен Java иштеп чыгуу боюнча буга чейин эч кандай тажрыйба болгон эмес. 2020-жылдын 4-июнуна чейин мен Java жөнүндө эч нерсе билчү эмесмин. Мен Javaist катары жумушка алынганда, мен сыноо мөөнөтүнөн өтсөм, ийгorктүү окуя жазам деп убада бергем.Бул макала эки логикалык бөлүккө бөлүнөт: Карьера фон ( 1-5-бөлүмдөр, Java менен байланышпайт., бирок анда сиз карьераңыз жөнүндө бorм ала аласыз). Жаваист болуу (6-9-бөлүмдөр - Java үйрөнүү, маектер, жумушка орношуу, биринчи чыныгы тажрыйба). <h3>1-бөлүм. Экономист</h3>Мен JavaRushка кандай деңгээлдеги бorм менен келгенимди түшүнүү үчүн мен өзүм жөнүндө биографиялык жазууну беришим керек. 2013-жыл, ноябрь, саат 8. Мен Таганкадагы кафеде отуруп, SQL нускамаларын кайталап жатам. Бир сааттан кийин мен банктын финансы бөлүмүндө жетектөөчү экономист кызматына интервьюм бар. Бул мени чакырган жалгыз интервью, мен ага 100% беришим керек. Ал үчүн мен Санкт-Петербургдан учуп келип, ансыз деле анча-мынча чогулткан акчамды коротпоо үчүн ашканада туугандарымдыкында калдым. 30 мүнөт өтүп, ветчина жана сыр кошулган куймак жеп, биз эңсеген кыялыбызга кадам ташташыбыз керек. Бирок баары титиреп жатат. Интервьюдан өтпөй калсамчы? Макул, андай болгон жок. Банкка барып, талон алып, жолугушуу бөлмөсүндө маектештеримди күтөм. Убакыт өтө узак убакытка өтөт. 35тер чамасындагы эркек менен тең курактагы аял кирип келет. Алар өздөрүн тааныштырып, өзүлөрү жөнүндө айтып берүүнү суранышат: "Юри, бул ырахат". Мен 21 жаштамын, Санкт-Петербург шаарында университетте сырттан окуйм, банкта кассир болуп 3 ай иштедим. Мен бул үчүн окуган эмес экенин түшүндүм, мен эмгек рыногуна карай баштадым жана Москвада экономисттердин SQL талабы бар экенин көрдүм. Ошентип, мен аны изилдеп чыктым, курстарга бардым (MS SQL Администрациясы - менде болгон, мен ошол үчүн баргам), сен мени чакырдың. Алар компания жөнүндө, эмне кылып жаткандыгы жөнүндө сүйлөшүшөт (көпчүлүк сөздөр түшүнүксүз), анан сизден тест тапшырууну суранышат. Тестте SQL боюнча 3 суроо бар: 1. Таблица берилгенде, id = 10 болгон бардык жазууларды чыгарыңыз. 2. Берилген эки table, аларды бириктирип, ар биринен бир мамычаны көрсөтүңүз. 3. Бөлүмдөрдү топтоп, ар бир бөлүм боюнча кызматкерлердин санын бериңиз. Бул өтүнүчтөрдү жазганым абдан уят. Андан кийин менин жумуштан күткөндөрүм талкууланат. Анан алар мага сыйкырдуу сүйлөмдү айтышат: “Маегиңиз үчүн рахмат, биз сизге кайра чалабыз”. Арадан бир жума өтөт, алар мени менен иштешүүнү сунушташат. Эйфория, шок, кубаныч! Анан кандай акчага: 70 миң рубль колунда! Ооба, мен бай болом! Москвага келип отурукташып, борбордон бир бөлмөнү ижарага алам. Биринчи күндөр эйфориялуу. 10 күндөн кийин түшүнүү башталат: мен кайда келдим? Мен эч нерсе түшүнбөйм! Мен ай сайын бүткүл банк боюнча башкаруу отчетторун даярдоого туура келди. Албетте, мен үчүн да сиздикиндей болду, урматтуу окурман. Мен банктар аралык кредит, своп, чыгашаларды бөлүштүрүү, чыгымдар ж.б. терминдерди латын тorндеги тамгалар катары кабыл алдым. Жолдо мен маселенин техникалык жагын өздөштүрүшүм керек болчу: MS Access (бардык отчеттуулук ошол жерде VBA аркылуу жасалган), MS SQL (Access'тин ордуна жаңы сактагыч катары), Oracle (башында мен аны Oracle деп атагам, бул истериканы пайда кылды. программисттер арасында). Анан күтүлбөгөн жерден мен техникалык жагы мага алда канча кызыктуу экенин түшүнө баштадым. Татаал сурамдарды түзүү аракеттери бар (натыйжада, маалымат базасы менин скрипттеримден orнип калып, каардуу администраторлор аны ким жасаганын аныктоого аракет кылышат). Бирок негизги жумуш каржы бул мени кыжырданта баштады. Бир жарым айдан кийин мен кызматтан кетүү тууралуу арыз жазып жатам, анткени мен эч кандай жыйынтык бере албайм (чынын айтсам, алар менден эч нерсе күтүшкөн эмес). Финансы бөлүмүнүн башчысы аны тытып алып: «Бок менен убара болбо» дейт. Бир айдан кийин кайра арыз жазсам, мындай уятсыздыктан таң калган бөлүм башчы (кийин банктын башкармасынын төрагасы болгон) өтө таң калып кол коет: жигит 21 жашта, андан жогору эмес. бorм, аларга айлык да, ишеним да берилген, бирок ал өзүн ушундай алып жүрөт. Кызматтан бошотууга дагы эки фактор себеп болду: текебердигине мен тынч жооп бере албаган начальник жана белим ооруй баштаган ыңгайсыз кресло. Бул абдан күлкүлүү, бирок бул жерде мотив. Таштаганда, азыр ого бетер ыңгайлуу болом деп ойлогом. Бирок ал жерде болгон эмес. <h3>2-бөлүм. 70 интервью</h3>Банктан чыгып, терең дем алдым. "Мен муну ушинтип уюштурам, баары таң калышат." Интервьюлар пландаштырылган, алардын айлыктары жогору, отчеттуулук менен алектенүүнүн кереги жоктой сезилди. 4 интервью бар, мени эч ким жумушка алbyte. 5, 6 интервью - ошол эле нерсе. Мен бир кыз менен ижарада жашачумун, ал жумушка орношуп, менин жетишпеген кирешемди жапты. Бирок мен дагы канча убакытка чейин кирешем жок болорун билген эмесмин. Мен интервьюга бардым (вакансиялар ла аналитик), алар негизинен SQL жана VBA жөнүндө сурашты. Билбегендер үчүн VBA бул Excel, Access жана башка MS Office өнүмдөрүндөгү программалоо тor. 10 интервью өткөрүлдү - эч нерсе. 20, 30 - эч нерсе. Тажрыйбанын жана жогорку бorмдин жоктугунан (бул мага кичинекей нерседей сезилет) баары уялышат. 40 интервью, жана үмүтсүздүк менен сойлоп баштайт. 55-60 интервью учурунда мен 1С үйрөнө башташат. Жубайы болуп калган кыз Санкт-Петербургга кетүүнү суранат, анткени ал жерде өзүнүн жеке турак жайы бар. Ал эми 70-маектешүүдө мени 50 000 рублга Санкт-Петербургдун өнөр жай аймагындагы чакан компанияга 1С маалымат базасынын администратору (1С иштеп чыгуучусу болуу мүмкүнчүлүгү менен) болууга чакырышты. Эми бул карьералык өсүш! <h3>3-бөлүм. Уламыштын кайтып келиши</h3>Боз Санкт-Петербург өнөр жай зонасында кичиавтобустун (корпоративдик транспорт) терезесинен карап, бир саат кырк бир тарапты басып баратып, мен бара албасымды түшүндүм. ушинтип жаша. 1Сге болгон кызыгуу өз алдынча жазылган системанын биринчи тийгенде эле жоголуп кетти. План керек болчу. Жана ал жетилген: кечинде ал SQLди үйрөнүп, ошол эле учурда белгилүү жумуш сайтына мониторинг жүргүздү. Кызматтан бошотууга акыркы түрткү болгон жагдай болду: билеттер эбак эле сатылып алынган болсо да, башкы директор мени пландаштырылган эс алууга жибергиси келген жок. Каникулдан кийин мен арыз жазып, кайрадан Москвадагы бош орундарга резюмемди жөнөтөм. Дагы бир жолу мага Москва убактысы боюнча чоң банктан интервью берүүнү сунушташты. Кайрадан туугандарымдын ашканасына келип, интервьюга барам. Даректи жазганда, көргөнүмө ишене албай турдум – бул мен иштөөнү кыялданган имарат болчу (Москвада акыркы жашаган убакта ал жаңы эле курулуп жаткан). Бул кызмат маалыматтык системаларды колдоо боюнча башкы адис деп аталды. Мен кеңсеге барам Мени модалуу куртка, джинсы шым кийген 30дар чамасындагы адам тосуп алды. Биз 15-кабатка чыктык, шаардын панорамасын көргөндө демим тарылды: сталиндик көп кабаттуу үйлөрдүн баары көрүндү. Имараттын бүт стor абдан заманбап болгон: босстун кеңсесинде шарап муздаткычтары, модалуу аквариумдар, кара жана ак стилде жылаңач аялдын сүрөтү бар болчу. Бул "вау" эффектин жаратты. Начальник менен сүйлөшүү адаттагыдай болгон жок: 40 мүнөттөй ал банкта эмне болуп жатканы тууралуу сүйлөштү. Мен эч нерсе түшүнгөн жокмун, бирок башымды ийкедим. Мен сураганда: качан менден сурай баштайсың? Ал көңүл бурган жок. Дагы бир жолу “техникалык интервью качан болот?” деген суроомо “ооба, баары бир сени жумушка алабыз, эгер көтөрө албасаң иштен кетиребиз” деп жооп бердим. Бул жылмайып айтылды, мен баарын түшүндүм, кыял дагы орундалды! <h3>4-бөлүм. IT тармагында өзүңүздү табуу </h3>Мен жаңы жерге келгенде эмне үчүн мени дароо жумушка алышканын түшүндүм. Кафедра кызматкеринин типтүү портретин сүрөттөп берейин: орточо жашы 55 жашта, москвалык, бorми МГУ, СССР убагында коргонуу orм-изилдөө институтунда иштеген, 90-жылдары банк тармагына өткөн, бул жерде 20 жылдан бери иштейт. жарымы эркектер, жарымы аялдар. Алар курчап турган ички иштер менен толук диссонанска кирди. Биз бухгалтердик эсеп боюнча отчеттук программаларды жүргүзүүгө катышканбыз. Албетте, мунун баары 90-жылдардын аягында жана 2000-жылдардын башында иштеп чыгуучулар тарабынан жазылган байыркы VBA жана SQL скрипттеринде болгон. Бул 2015-жыл, автоматташтыруу MS Access аркылуу болгон. Башкача айтканда, ал өтө начар көрүнгөн. Бирок бир нюанс бар эле - алар кардар (бухгалтерия) каалаганын беришкен. Жана так өз убагында жана талап кылынган формада. Анын кантип иштегенин алар гана бorшчү, атүгүл Онотоле алардын өнүгүшүнүн татаалдыгын элестете алган жок. Ал эми кайсы бир IT-менеджер, эң чоң каалоо менен да, аларды жумуштан бошоткон эмес – башкы бухгалтер банктын башкармалыгына барып, бухгалтердик эсептин кызыкчылыгы үчүн кызмат кылган ар бир кызматкерди коргогон. Менеджер менин троян атынын ролун ойношумду каалады: мен алардын бардык иштеп чыгууларын изилдеп чыктым, анан маалыматтарды жаңы системага көчүрдүм. Ошондо эски кызматкерлерди иштен алып, мен жаңы системага өтүшүм мүмкүн. Биринчиден, мен алардын процесстерин изилдеп, VBA codeун карадым. Акырындык менен VBA codeун окуганды үйрөндүм. Бир жылдан кийин мен codeду кантип жазууну билдим. Типтүү тапшырма: маалымат базасын берип, андан маалыматтарды чыгарып, аны белгилүү бир форматта Excelге салыңыз. Эми, Задорнов айткандай, терең дем алыңыз: бөлүмдүн бардык отчеттору (бул күн сайын 50, ай сайын 20 отчет!) кол менен аткарылган! Карл, түшүнөсүңбү, адамдар күн сайын 50 отчетто колу менен даталарды +1ге алмаштырышат! Алар отуруп, бир отчеттун жыйынтыгын 1-10 мүнөт күтүп, экинчисин ишке киргизишет! Анын үстүнө күнүмдүк отчёттор белгилүү бир убакта ишке кириши керек, кечиккениңизди кудай сактасын! Алар отчетторду гана жасабастан, өзгөрмөлөрдү колдонбостон маалымат базасында proceduresаларды кол менен аткарышат! Башкача айтканда, @startDate = '2015-01-01' өзгөрмөсүн колдонуунун ордуна, алар ошол эле күндү 20 жерде кол менен өзгөртүшөт! Мунун баарын карап чыккандан кийин мен Python үйрөнө баштадым, жана VBA, SQL жана Task Planer менен бирге мен мунун баарын эки жылдын ичинде автоматташтырдым. Автоматташтырылган гана эмес, ошондой эле көптөгөн отчетторду тездеткен: эгер сиз MS Access + VBAдан MS SQL + TSQLдин пайдасына баш тартсаңыз, өндүрүмдүүлүктүн бир нече эсе жогорулашына жетише аласыз. Менин рекордум отчет түзүүнү тездетүүдө100бир жолу! Бирок менин кесиптештерим мындай автоматташтырууга абдан нааразы болуп, мени эл душманы деп жарыялашты (пенсионерге чейин тынч отургусу келген). Убакыт өтүп, маалыматтарды көчүрүү ийгorктүү болду. Менеджер мени абдан баалачу: эгер карьерамдын башында жумушка эртең мененки саат 8де келсем, бир аз убакыт өткөндөн кийин саат 12:00гө чейин каалаган убакта келе алчумун, айлыкты жана кызмат ордун тынымсыз жогорулатуу, дем алыш күндөрү жумушка төлөө көбүрөөк эки эседен ашык сумма, жумушка кечигип калсаң үйгө такси, мобилдик байланыш, кыскасы - элита! <h3>Бөлүм 5. Алтын капас</h3>Күтүлбөгөн жерден, 3,5 жылдан кийин, жаңы IT-менеджмент келип, мен маалыматтарды көчүргөн системанын кереги жок экенин айтат. Бирок эски система кала берет. Менеджерим карьералык тепкичтен өйдө көтөрүлүп жатат жана мени прогрессивдүү бөлүмгө өтүүгө чакырат. Прогрессивдүү бөлүмдүн жетекчиси менен жолугушууда мен бул бөлүмдүн технологиялык стектери мага белгисиз экенин түшүнөм: Oracle, .net, C#, Linux ж.б. + Потенциалдуу жетекчиге карата антипатия. Мен менеджериме айтам, мени прогрессивдүү бөлүм кызыктырbyte, ал мени оңой эле унутуп калат. Анан суроо туулат: мындан ары эмне кылуу керек? Киреше жакшы болчу, Кенже дев мени ал айлыкка жумушка алbyte. Мен өзүмдүн жөндөмүм жөнүндө ойлонгондон кийин, мен машина үйрөнүүсүнө киришим керектигин түшүндүм. Институтта жийиркеничти гана пайда кылган математикалык статистика менен биринчи жолукканга чейин баары кызыктуу болду. Болду, алты ай бою акылсыздык! Убакыт өтүп, бир күнү сейилдеп жүрүп Москванын картасында жакшы ресторандарды көрсөтө турган веб-сайтты ойлоп калдым. HTML, CSS, JS үйрөнө баштады. Мен 3 ай окууга сарптадым; толук кандуу веб-сайтты түзүүгө бorмим жок болчу, бирок мен аны жумушта практикалай алчумун. Идея пайда болду: бухгалтерлер үчүн портал түзүү, алар каалаган отчетту баскычтын жардамы менен жүктөп ала алышат. Порталды түзүүгө 2 ай талап кылынган жана SPA (Single page application) веб-тиркемеси Node.js serverи менен React js ичинде жаралган. Артка SQL скрипттерин иштетип (Мен Hibernate сыяктуу алHowтар ​​жөнүндө билчү эмесмин), Pythonду ишке киргизип, MongoDbде кошумча маалыматты сактадым (мисалы, сайттын колдонуучулары жөнүндө). Сыртынан караганда, сайт абдан татыктуу көрүнгөн (bootstrap 4, модалуу анимация). Мен дагы эле бул долбоор менен сыймыктанам. Бирок мен банктын веб-иштеп чыгуучуларына өзүмдүн codeумду көрсөткөндө, алар таң калышты. ӨЗҮҢДҮ БИР КЛАС ЭМЕС! Бир гана өзгөчөлүктөр, бир гана хардкор! Алар мени макташты, бирок мен Орто толук стекти иштеп чыгуучу болуу үчүн дагы көп окуу керек деп айтышты. Мен аналитик болуп иштөөгө аракет кылдым, бирок атайын сунуштар болгон жок. Мен ойлойм: мен ал жерде болгон эмесмин, мен толук стекти иштеп чыгуучунун резюмесин жарыялайм. Чалуулар келди, бирок интервью учурунда мен Париждин үстүнөн фанера сыяктуу учуп кеттим: мисалы, мен HashMap, HashSet деген эмне экенин жана алар эмне үчүн керек экенин билген эмесмин. OOP, программалоо үлгүлөрү, алгоритмдер, тестирлөө, Git жөнүндө кичине эле түшүнүк жок болчу. Негизги нерселерди билбегендиктен көптөн бери унутулуп калган уялуу сезимдерин эстедим. Күтүлбөгөн жерден каржылык компанияда кардарлардын аналитикасынын жетекчиси болуп иштөө сунушу түшөт. Пандемиядан улам бир жума мурун өлкө жабылган. Финансылык компанияга жумушка орноштум, бирок эки жактын сезими бар эле: бир жагынан жогорку айлык жылуу болсо, экинчи жагынан техникалык жактан минималдуу өнүгүү болмок. Аппарат орнотулуп, аралыктан иштөө киргизилгенден кийин бир жума өттү. Жумуш эмес күн каржы тармагына тиешелүү болбогондуктан, биз кадимкидей иштедик. Жаңы кожоюн абдан жинди болуп чыкты: ал Фейсбукту кырып, кардарларды изилдөө үчүн өзүнүн нейрондук тармактарын түзүүнү сунуштады (кызматкерлерде маалымат таануучу жок). Жаңы кызматкерлерге Python тorн бир жумада үйрөнүү сунушталды ж.б. Акы төлөнбөгөн эс алуу күндөрү нормага айланган. Таштоо акылсыздык болду: пандемия учурунда кайдан жумуш табасың? Бирок 2 айдан кийин чыдамым түгөнүп, чейрек сайын бонустар болбой турганы айтылган. нюанс, биз эмгек акы боюнча макулдашылганда, жумушка алуу учурунда, hr айлык акы (60%) жана ар дайым төлөнүүчү кварталдык бонус (40%) болуп бөлүнөрүн айтты. Туура эмес тандоо жасалып, жаңы жумуш издөөгө киришүү керек экени айкын болду. <h3>6-бөлүм. Java тorн өздөштүрүп баштоо</h3>Майдын бир сонун күнү мен "Иштеп чыгуучу" вакансиясына интервьюга чакыруу алдым. Камсыздандыруу тармагындагы компанияга камсыздандыруу продуктуларын иштеп чыга турган адам керек. Программалоо тажрыйбасы керек, бирок бул компаниянын "уникалдуу" өнүгүүсү болгондуктан, белгилүү бир тилдин кереги жок. Git жана башкалар да керек. Мен интервьюну эки күндүн ичинде пландаштырып, бош убактымда Гиттин негиздерин үйрөндүм. Маектешүү учурунда менден Python, JS, Git, SQL жөнүндө сурашты. Мен "методду ашыкча жүктөө" түшүнүгүнөн башкасынын баарына жооп бердим жана мени 2 жумадан кийин жумушка чакырышты. Көрсө, компания системаны эбак эле сатып алган экен. Java тorнде жазылган (алдыңкы жана арткы), анын жардамы менен сиз программалоо тorн билбей туруп эле бизнес процесстерди түзө аласыз (тагыраак айтканда, орнотулган Jelly программалоо тorн колдонуу менен). Бул жакшы угулат, бирок чындыгында баары бурмаланган. Лирикалык чегинүү: ар кандай технологиянын өзүнүн доору жана өзүнүн масштабы бар. 2000-жылы бардык отчетторду Excelде гана жасоо сонун. Ошол эле нерсени 2021-жылы жасоо абдан жакшы эмес. Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек экинчи жагынан, техникалык жактан минималдуу өнүгүү болот. Аппарат орнотулуп, аралыктан иштөө киргизилгенден кийин бир жума өттү. Жумуш эмес күн каржы тармагына тиешелүү болбогондуктан, кадимкидей иштедик. Жаңы кожоюн абдан жинди болуп чыкты: ал Фейсбукту кырып, кардарларды изилдөө үчүн өзүнүн нейрондук тармактарын түзүүнү сунуштады (кызматкерлерде маалымат таануучу жок). Жаңы кызматкерлерге Python тorн бир жумада үйрөнүү сунушталды ж.б. Акы төлөнбөгөн эс алуу күндөрү нормага айланган. Таштоо акылсыздык болду: пандемия учурунда кайдан жумуш табасың? Бирок 2 айдан кийин чыдамым түгөнүп, чейрек сайын бонустар болбой турганы айтылган. нюанс, биз эмгек акы боюнча макулдашылганда, жумушка алуу учурунда, hr айлык акы (60%) жана ар дайым төлөнүүчү кварталдык бонус (40%) болуп бөлүнөрүн айтты. Туура эмес тандоо жасалып, жаңы жумуш издешибиз керек экени айкын болду. <h3>6-бөлүм. Java тorн өздөштүрүү</h3>Май айынын бир сонун күнү мен "Иштеп чыгуучу" вакансиясына интервьюга чакыруу алдым. Камсыздандыруу тармагындагы компанияга камсыздандыруу продуктуларын иштеп чыга турган адам керек. Программалоо тажрыйбасы керек, бирок бул компаниянын "уникалдуу" өнүгүүсү болгондуктан, белгилүү бир тилдин кереги жок. Git жана башкалар да керек. Мен интервьюну эки күндүн ичинде пландаштырып, бош убактымда Гиттин негиздерин үйрөндүм. Маектешүү учурунда менден Python, JS, Git, SQL жөнүндө сурашты. Мен "методду ашыкча жүктөө" түшүнүгүнөн башкасынын баарына жооп бердим жана мени 2 жумадан кийин жумушка чакырышты. Көрсө, компания системаны эбак эле сатып алган экен. Java тorнде жазылган (алдыңкы жана арткы), анын жардамы менен сиз программалоо тorн билбей туруп эле бизнес процесстерди түзө аласыз (тагыраак айтканда, орнотулган Jelly программалоо тorн колдонуу менен). Бул жакшы угулат, бирок чындыгында баары бурмаланган. Лирикалык чегинүү: ар кандай технологиянын өзүнүн доору жана өзүнүн масштабы бар. 2000-жылы бардык отчетторду Excelде гана жасоо сонун. Ошол эле нерсени 2021-жылы жасоо абдан жакшы эмес. Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек экинчи жагынан, техникалык жактан минималдуу өнүгүү болот. Аппарат орнотулуп, аралыктан иштөө киргизилгенден кийин бир жума өттү. Жумуш эмес күн каржы тармагына тиешелүү болбогондуктан, биз кадимкидей иштедик. Жаңы кожоюн абдан жинди адам болуп чыкты: ал Facebookту кырып, кардарларды изилдөө үчүн өзүнүн нейрондук тармактарын түзүүнү сунуштады (кызматкерлерде маалымат таануучу жок). Жаңы кызматкерлерге Python тorн бир жумада үйрөнүү сунушталды ж.б. Акы төлөнбөгөн эс алуу күндөрү нормага айланган. Таштоо акылсыздык болду: пандемия учурунда кайдан жумуш табасың? Бирок 2 айдан кийин чыдамым түгөнүп, чейрек сайын бонустар болбой турганы айтылган. нюанс, биз эмгек акы боюнча макулдашылганда, жумушка алуу учурунда, hr айлык акы (60%) жана ар дайым төлөнүүчү кварталдык бонус (40%) болуп бөлүнөрүн айтты. Туура эмес тандоо жасалып, жаңы жумуш издөөгө киришүү керек экени айкын болду. <h3>6-бөлүм. Java тorн өздөштүрүп баштоо</h3>Майдын бир сонун күнү мен "Иштеп чыгуучу" вакансиясына интервьюга чакыруу алдым. Камсыздандыруу тармагындагы компанияга камсыздандыруу продуктуларын иштеп чыга турган адам керек. Программалоо тажрыйбасы керек, бирок бул компаниянын "уникалдуу" өнүгүүсү болгондуктан, белгилүү бир тилдин кереги жок. Git жана башкалар да керек. Мен интервьюну эки күндүн ичинде пландаштырып, бош убактымда Гиттин негиздерин үйрөндүм. Маектешүү учурунда менден Python, JS, Git, SQL жөнүндө сурашты. Мен "методду ашыкча жүктөө" түшүнүгүнөн башкасынын баарына жооп бердим жана мени 2 жумадан кийин жумушка чакырышты. Көрсө, компания системаны эбак эле сатып алган экен. Java тorнде жазылган (алдыңкы жана арткы), анын жардамы менен сиз программалоо тorн билбей туруп эле бизнес процесстерди түзө аласыз (тагыраак айтканда, орнотулган Jelly программалоо тorн колдонуу менен). Бул жакшы угулат, бирок чындыгында баары бурмаланган. Лирикалык чегинүү: ар кандай технологиянын өзүнүн доору жана өзүнүн масштабы бар. 2000-жылы бардык отчетторду Excelде гана жасоо сонун. Ошол эле нерсени 2021-жылы жасоо абдан жакшы эмес. Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек кардарларды изилдөө үчүн өзүңүздүн нейрон тармактарыңызды түзүңүз (кызматкерлер боюнча маалымат таануучу жок). Жаңы кызматкерлерге Python тorн бир жумада үйрөнүү сунушталды ж.б. Акы төлөнбөгөн эс алуу күндөрү нормага айланган. Таштоо акылсыздык болду: пандемия учурунда кайдан жумуш табасың? Бирок 2 айдан кийин чыдамым түгөнүп, чейрек сайын бонустар болбой турганы айтылган. нюанс, биз эмгек акы боюнча макулдашылганда, жумушка алуу учурунда, hr айлык акы (60%) жана ар дайым төлөнүүчү кварталдык бонус (40%) болуп бөлүнөрүн айтты. Туура эмес тандоо жасалып, жаңы жумуш издөөгө киришүү керек экени айкын болду. <h3>6-бөлүм. Java тorн өздөштүрүп баштоо</h3>Майдын бир сонун күнү мен "Иштеп чыгуучу" вакансиясына интервьюга чакыруу алдым. Камсыздандыруу тармагындагы компанияга камсыздандыруу продуктуларын иштеп чыга турган адам керек. Программалоо тажрыйбасы керек, бирок бул компаниянын "уникалдуу" өнүгүүсү болгондуктан, белгилүү бир тилдин кереги жок. Git жана башкалар да керек. Мен интервьюну эки күндүн ичинде пландаштырып, бош убактымда Гиттин негиздерин үйрөндүм. Маектешүү учурунда менден Python, JS, Git, SQL жөнүндө сурашты. Мен "методду ашыкча жүктөө" түшүнүгүнөн башкасынын баарына жооп бердим жана мени 2 жумадан кийин жумушка чакырышты. Көрсө, компания системаны эбак эле сатып алган экен. Java тorнде жазылган (алдыңкы жана арткы), анын жардамы менен сиз программалоо тorн билбей туруп эле бизнес процесстерди түзө аласыз (тагыраак айтканда, орнотулган Jelly программалоо тorн колдонуу менен). Бул жакшы угулат, бирок чындыгында баары бурмаланган. Лирикалык чегинүү: ар кандай технологиянын өзүнүн доору жана өзүнүн масштабы бар. 2000-жылы бардык отчетторду Excelде гана жасоо сонун. Ошол эле нерсени 2021-жылы жасоо абдан жакшы эмес. Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек кардарларды изилдөө үчүн өзүңүздүн нейрон тармактарыңызды түзүңүз (кызматкерлер боюнча маалымат таануучу жок). Жаңы кызматкерлерге Python тorн бир жумада үйрөнүү сунушталды ж.б. Акы төлөнбөгөн эс алуу күндөрү нормага айланган. Таштоо акылсыздык болду: пандемия учурунда кайдан жумуш табасың? Бирок 2 айдан кийин чыдамым түгөнүп, чейрек сайын бонустар болбой турганы айтылган. нюанс, биз эмгек акы боюнча макулдашылганда, жумушка алуу учурунда, hr айлык акы (60%) жана ар дайым төлөнүүчү кварталдык бонус (40%) болуп бөлүнөрүн айтты. Туура эмес тандоо жасалып, жаңы жумуш издөөгө киришүү керек экени айкын болду. <h3>6-бөлүм. Java тorн өздөштүрүп баштоо</h3>Майдын бир сонун күнү мен "Иштеп чыгуучу" вакансиясына интервьюга чакыруу алдым. Камсыздандыруу тармагындагы компанияга камсыздандыруу продуктуларын иштеп чыга турган адам керек. Программалоо тажрыйбасы керек, бирок бул компаниянын "уникалдуу" өнүгүүсү болгондуктан, белгилүү бир тилдин кереги жок. Git жана башкалар да керек. Мен интервьюну эки күндүн ичинде пландаштырып, бош убактымда Гиттин негиздерин үйрөндүм. Маектешүү учурунда менден Python, JS, Git, SQL жөнүндө сурашты. Мен "методду ашыкча жүктөө" түшүнүгүнөн башкасынын баарына жооп бердим жана мени 2 жумадан кийин жумушка чакырышты. Көрсө, компания системаны эбак эле сатып алган экен. Java тorнде жазылган (алдыңкы жана арткы), анын жардамы менен сиз программалоо тorн билбей туруп эле бизнес процесстерди түзө аласыз (тагыраак айтканда, орнотулган Jelly программалоо тorн колдонуу менен). Бул жакшы угулат, бирок чындыгында баары бурмаланган. Лирикалык чегинүү: ар кандай технологиянын өзүнүн доору жана өзүнүн масштабы бар. 2000-жылы бардык отчетторду Excelде гана жасоо сонун. Ошол эле нерсени 2021-жылы жасоо абдан жакшы эмес. Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек <h3>6-бөлүм. Java тorн өздөштүрүп баштоо</h3>Майдын бир сонун күнү мен "Иштеп чыгуучу" вакансиясына интервьюга чакыруу алдым. Камсыздандыруу тармагындагы компанияга камсыздандыруу продуктуларын иштеп чыга турган адам керек. Программалоо тажрыйбасы керек, бирок бул компаниянын "уникалдуу" өнүгүүсү болгондуктан, белгилүү бир тилдин кереги жок. Git жана башкалар да керек. Мен интервьюну эки күндүн ичинде пландаштырып, бош убактымда Гиттин негиздерин үйрөндүм. Маектешүү учурунда менден Python, JS, Git, SQL жөнүндө сурашты. Мен "методду ашыкча жүктөө" түшүнүгүнөн башкасынын баарына жооп бердим жана мени 2 жумадан кийин жумушка чакырышты. Көрсө, компания системаны эбак эле сатып алган экен. Java тorнде жазылган (алдыңкы жана арткы), анын жардамы менен сиз программалоо тorн билбей туруп эле бизнес процесстерди түзө аласыз (тагыраак айтканда, орнотулган Jelly программалоо тorн колдонуу менен). Бул жакшы угулат, бирок чындыгында баары бурмаланган. Лирикалык чегинүү: ар кандай технологиянын өзүнүн доору жана өзүнүн масштабы бар. 2000-жылы бардык отчетторду Excelде гана жасоо сонун. Ошол эле нерсени 2021-жылы жасоо абдан жакшы эмес. Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек <h3>6-бөлүм. Java тorн өздөштүрүү</h3>Май айынын бир сонун күнү мен "Иштеп чыгуучу" вакансиясына интервьюга чакыруу алдым. Камсыздандыруу тармагындагы компанияга камсыздандыруу продуктуларын иштеп чыга турган адам керек. Программалоо тажрыйбасы керек, бирок бул компаниянын "уникалдуу" өнүгүүсү болгондуктан, белгилүү бир тилдин кереги жок. Git жана башкалар да керек. Мен интервьюну эки күндүн ичинде пландаштырып, бош убактымда Гиттин негиздерин үйрөндүм. Маектешүү учурунда менден Python, JS, Git, SQL жөнүндө сурашты. Мен "методду ашыкча жүктөө" түшүнүгүнөн башкасынын баарына жооп бердим жана мени 2 жумадан кийин жумушка чакырышты. Көрсө, компания системаны эбак эле сатып алган экен. Java тorнде жазылган (алдыңкы жана арткы), анын жардамы менен сиз программалоо тorн билбей туруп эле бизнес процесстерди түзө аласыз (тагыраак айтканда, орнотулган Jelly программалоо тorн колдонуу менен). Бул жакшы угулат, бирок чындыгында баары бурмаланган. Лирикалык чегинүү: ар кандай технологиянын өзүнүн доору жана өзүнүн масштабы бар. 2000-жылы бардык отчетторду Excelде гана жасоо сонун. Ошол эле нерсени 2021-жылы жасоо абдан жакшы эмес. Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керек Компаниянын таза HTMLдеги веб-сайты 1999-жылы сонун болгон, бирок 2021-жылы эмес. Ошентип, компания түзүлгөндө (2005) колдонгон технология абдан сонун болгон - Java serverге да, кардар бөлүгүнө да (Java сервлет баракчалары деп аталган) жооптуу болгон. Мындан тышкары, эгер сиз жаңы бизнес процессин түзсөңүз (анын өзүнүн UI бар), анда ал файлдагы codeдо эмес, маалымат базасында сакталат. Бул канчалык ыңгайсыз экенин түшүнүү үчүн, Intellij идеясына Java codeун жазып, аны Маалыматтар базасына сактап, андан кийин элестетип көрүңүз. сиз codeуңузду иштеткиңиз келгенде, программанын өзөгү маалымат базасына барат жана ал жерден codeуңузду окуйт. Демек, сиз колдонмоңузду толук оңдоого болбойт. Ишара №1: Кодду testbenchке тапшыргыңыз келгенде, сиз түзүшүңүз керекSQL скрипт, анда сиздин codeуңуз камтылат. Жагымсыз, бирок чыдамдуубу? Zest #2: Маалымат базасы бири-бири менен байланышы бар 200дөн ашык tableлардан турат. Бул сиздин codeуңузду кайсы tableларга ыргытуу керектигин жана башка tableларда кайсы an objectтерди түзүү керектигин бorшиңиз керек дегенди билдирет. чыгаруу ~ 1000 сап узундугу менен SQL скрипти болуп саналат. Бул чынында эле жийиркеничтүү. мурастан сак болгула. Кыскасы, бардыгы Javaда экенин түшүнүп, мен JavaRushка кирдим (акыры сайттын темасына жеттик!). Июнь-июль 2020. Биринчи 10 деңгээл тез жабылды (балким бир ай), анткени принципиалдуу жаңы эч нерсе жок болчу. Андан кийин ылдамдык басаңдады. Июль-октябрь 2020-жыл. 10-20-деңгээлдер жабык. Октябрь-март 2021. 20-30-деңгээлдер жабык. Эми кызыктуу башталат: 2021-жылдын мартында мен Java вакансияларын карай баштадым жана ал жерде бейтааныш сөздөр көп экенин түшүндүм. Жаздын кандайдыр бир түрү, SpringBoot, Hibernate, JUnit. Белгилүү веб-сайттан видео курстарды сатып алып, Жазга жөн эле тийип, азыр баарын билем жана кыла алам деп ойлодум. Андан кийин мен Григорий Кислиндин TopJava курсуна туш болдум. Анын веб-сайтында сиз тесттик тапшырманы аткарууга аракет кылсаңыз болот, эгер ийгorктүү болсоңуз, курстан өтсөңүз болот. Бул курста сиз толук кандуу веб-тиркемени түзүп, ал тургай аны Интернетке жарыялайсыз. Бул акча үчүн, алар сизге сын-пикир берет (codeду тажрыйбалуу программист карап чыгуу), ой-пикириңизди айтып, көйгөйлөр болгон учурда сизге кеңештерди берет. 3-үй тапшырмасын аткарып, таштап койдум. Себеби жөнөкөй: алар сенден көп нерсени талап кылышат, бирок сага эч кандай бorм беришпейт. Үй тапшырмалары абдан чаташып турат. Маалымат өтө карама-каршы келет. Менин субъективдүү пикиримде, бул курс башка окшош тилдерден келген тажрыйбалуу иштеп чыгуучуларга керек. Анткени анын курсунда ал колдонууну суранган технологиялар боюнча иш жүзүндө эч кандай түшүндүрмө жок. Сиз ошондой эле Gitти жакшы бorшиңиз керек (баары сиздин жеке репозиторийиңизге жөнөтүлөт). 2021-жылдын апрель айынын аягында мен Java иштеп чыгуучусу үчүн резюме жарыялап жатам (каалаган эмгек акысы орто+ деңгээлде), анда мен акыркы жумушумда Java-да программалаганымды (калп айттым) көрсөтөм. Ошол эле күнү банк Java иштеп чыгуучу кызматына арыз алат. <h3>7-бөлүм. Java интервьюлары жана чеберчorкти өркүндөтүү</h3>Ошондуктан, план кандай болгон? Мен жакшы айлык алышым керек, анткени мен буга чейин эле чоң киреше + насыя менен жашаганга көнүп калганмын. Ошондуктан кенже кызматтар мага туура келбейт. Сиз орто жумушка ээ болушуңуз керек. Бирок тажрыйбасы жок мени ким жумушка алат? Чечим өзүнөн-өзү келип чыкты: менин эмгек китепчемде мен бир жыл иштеп чыгуучу, дагы 4 жыл мурунку кызматымда IT бөлүмүндө эксперт болуп иштегеним жазылган. Ошентип, мен бир жылдан бери Javaда иштеп жатам деп айтам. Жана алар жаңы продуктулар жөнүндө сурашса, мен айтам, эски Java (7) ошол жерде болгон жана эч нерсени колдобойт. Биринчи (алыстан) интервьюмдун алдында мен толкундандым. Тажрыйбам жок, бorмим өтө аз, мен көп акча сурап жатам. Мен ойлойм: баары бир, терс тажрыйба да тажрыйба. Мен Skype аркылуу байланышам, менден эки бөлүм башчы интервью алат. Бул мени ого бетер капалантты. Суроолор башталды: OOP, HashMap түзмөгү, агымдар, маалымат структуралары, Жаз, Күтүү, AOP деген эмне. Ал эми Спингге чейин аздыр-көптүр чыдамдуу болсо, жазында ал толугу менен талкаланган. Адамдар менден сурашат: эгер чындыгында билбесең, жазда кантип өнүктүң? Мен: Мен аны көчүрдүм, чаптадым, иштейт жана бул үчүн рахмат. Бул жооп аларды таң калтырды. Анан алар SQL жөнүндө сурашты, анда мен сууга түшкөн өрдөктөй элем. Андан кийин Git жана rebase, cherry-pick (мен дагы билчү эмесмин) жана JS жөнүндө бүтүргөн суроо болду, анткени ал менин резюмемде көрсөтүлгөн. Ал жерде да толук ийгorксиз болду, анткени алар OOP JS жөнүндө сурашты. Интервьюнун жыйынтыгы боюнча менин бorмим comme il faut эмес экени айкын болду, ошондуктан мен бул вакансияга коюлган талаптарга жооп бере албайм. Кечинде HR менин талапкерлигим жактырылганын, мага телефон чалганга даяр экенин жазып жатат. Мен чындыгында Макдоналдстагы бургерге муунуп калдым. Мен сүйүндүм, бирок 3 күндөн кийин HR башка талапкерди тандап алганын билдирди. Менин тажрыйбамда биринчи жолу сунуш кайтарылып алынды. Javaдагы биринчи интервьюдан кийин мен оюнумду күчөттүм: мен видео курстарды сатуу боюнча белгилүү сайтта Колт Стилден Гитте курстан өттүм (жана аны толугу менен аяктадым!). Бул менин Гитке болгон көз карашымды өзгөрттү. Андан кийин мен Заур Трегуловдон Жаз+Кыштоо боюнча (бриллиант) курсун алдым. Тренинг схемасы: Мен аны видеодогудай көрөм, мен компьютеримде ушундай кылам, бирок башка бирөөнүн codeун көчүрүп албаш үчүн өзгөрмөлөрдү жана класстарды башкача атайм. Мен бардык иштеримди өзүмдүн Githubга жүктөйм (ошондуктан Git менен машыгып жатам). Майдын ортосу болчу жана сааттан чалуулар башталды. Биз интервьюларды биринин артынан бири пландаштырып баштадык. Көптөгөн чакыруулар төмөнкү себептерден улам жокко чыгарылууга туура келди: HR менин резюмемдин сыпаттамасын окуган жок жана мени жогорку кызматка чакырды. Ошондой эле өзүнчө HR кастасын белгилей кетүү керек: Java менен JavaScriptти чаташтыргандар. Ошондуктан мен резюмемдин аталышына Middle Java иштеп чыгуучусун жаздым. <h3>Бөлүм 8. Типтүү суроолордун тизмеси жана интервью кандай өтөт</h3>Мен интервьюга бара баштадым жана акырындык менен ортодо негизги суроолордун бассейнин түздүм. Талап кылынат: 0. ООП - аныктама, ООПтун ар бир принциби боюнча сүйлөшүү (+чыныгы жашоодон мисал келтирүү). 1. барабар жана hashcode - алардын ортосундагы келишим (мамиле) кандай? 2. HashMap - an object кайсы чакага кире турганын кантип түшүнүүгө болот, кагылышуу деген эмне, HashMap ичинде маалыматтар кандай маалымат структурасында сакталат, стандарттык өлчөм, чакалардын саны кантип көбөйөт. 3. Агым - кандай операциялардын түрлөрү, алардын ортосунда кандай айырма бар, операциянын ар бир түрүнө мисал келтириңиз. 4. String pool, Integer pool - бул эмне? 5. Үймөк, стек - бул эмне, айырмасы эмнеде? 6. Runnable, Thread, Future ортосундагы айырмачылыктар. 7. Учмалуу, атомдук. 8. Катуу, Өбүү, Кургак - аныктамалар, турмуштук мисалдар. 9. Java'дагы модификаторлорго кирүү. 10. Абстракттуу класс менен интерфейстин ортосунда кандай айырма бар. Интерфейс купуя болушу мүмкүнбү? 11. Функционалдык интерфейстер. 12. Объекттин бардык методдорун тизмектеңиз жана алардын эмне үчүн керек экенин айтыңыз. Клондук ыкманын өзгөчөлүктөрү. 13. Сериялаштыруу жана сериядан чыгаруу деген эмне. 14. Ресурстар менен кармап көрүңүз - анын эмне экенин сүрөттөп бериңиз, Closeable интерфейсинин жардамы менен айтып бериңиз. 15. Финал, акыры, жыйынтыктоо ортосундагы айырмачылыктар? 16. Ашыкча жүктөө, Методду жокко чыгаруу - бул айырма. 17. Эмне үчүн String өзгөрүлгүс болуп калды, StringBuilder жана StringBuffer жөнүндө айтып бериңиз. 18. Убакыттын татаалдыгы O(1), эс тутумдун татаалдыгы деген эмне. 19. Маалымат структуралары: карта, топтом, кезек, деке, тизме жана аларды Javaда ишке ашыруу (treeMap, hashSet, hashMap, arrayList, linkedList, priorityQueue, blockingQueue) жөнүндө сүйлөшүңүз, киргизүүнүн татаалдыгын (эң начар, орточо, эң жакшы) сүрөттөңүз, издөө, ар бир түзүлүштөгү элементти алып салуу. 20. Java тorндеги примитивдүү маалымат түрлөрү. Эмне үчүн алардын ар бири керек? 21. Каталардын түрлөрү. Текшерилген жана белгиленбеген өзгөчөлүктөр. 22. JVM, JRE, JDK деген эмне? 23. Кайсы коллекционерлер менен иштешкенсиз? Maven - Жашоо циклин куруу. 24. Жаз - Ioc аныктамалары, Di, Bean Lifecycle, Context, @Bean Annotations, @Configuration, @Autowired, @Advice, @Aspect, @Service, @Repository. 25. Генерикс – төмөнкү жана жогорку чек деген эмненин аныктамасы? 26.Программалоо үлгүлөрү - жок дегенде Singleton (бул эмне үчүн кээде анти-үлгү экенин айтууга даяр) + Builder, Adapter, Factory, Decorator, Proxt. Керектүү: 26. Тестирлөө – китепканалар (JUnit) менен иштеген тесттердин түрлөрү. Мазак, бычак, шпион деген эмне? 27. Жазгы жүктөө - бул эмне үчүн керек, SpringBoot тиркемесин онлайн жасоого даяр болуу. 28. Күтүү - бул эмне үчүн керек, Entity, кошулуу тилкеси, жалкоо жана ынталуу жүктөө, кэш деңгээли (катуу). 29. Жазгы эс алуу - бул эмне үчүн керек, @post, @get endpoints кантип жасоо керек. Параметрлерди/талаптын текстин кантип окуса болот? json форматында кантип тапшырса болот? 30. Маалымат структуралары - дарактар, алардын түрлөрү. 31. Алгоритмдер – сорттоо түрлөрү. Javaдан тышкары, алар сурашы мүмкүн: 1. (Талап кылынат!) Git - бул эмне үчүн керек, операцияларды бириктирүү, кайра түзүү, алча тандоо, түртүү, тартуу, ишке ашыруу, журнал, текшерүү, бутак, баштапкы абалга келтирүү, кайтаруу, жаңыртуу. 2.SQL - суроо жазуу жөндөмү: эки tableны бирге бириктирүү (ички кошулуу, сол кошулуу). 3. Маалымат базалары - 3 нормалдуу форма, индекстер (алар эмне үчүн керек, түрлөрү), негизги ачкыч, тышкы ачкыч Кадимки аралыктан интервью кантип өтөт: hr чоңойтууга шилтеме жөнөтөт (Skype, Google Meeting). Белгилүү бир убакытка чейин сиз кошуласыз жана ал жерде 1ден 3кө чейин адам болот (техникалык эксперт, начальник, саат). Өзгөчө өжөр учурларда 8 адамга чейин. Адегенде сиз өзүңүз жөнүндө айтып бересиз, андан кийин техникалык бөлүк, андан кийин вакансия жана коштошуу тууралуу окуя (качан сиз менен байланышаарын же кийинки кадамдар кандай болорун айтышат). Коштошуу учурунда сиз бorм боюнча пикир сурасаңыз болот. Мен: «Жооптордо кулагыңдын кайсы жери ооруп жатканын айта аласыңбы?» деп сурадым. Көптөр жооп беришет, бирок четке кагууга даяр болгула. Аңгемелешүү учурунда төмөнкүлөрдү баалашат: 1. Сиздин оюңузду айтуу жөндөмүңүз жана орус тorн билүү (орус тorн начар билбегендиктен талапкер четке кагылган учурду билем). 2. Мурунку тажрыйба (акыркы жумушуңузда эмне кылганыңызды кылдаттык менен сурашы мүмкүн). 3. Сизге басым жасалганда адекваттуу реакция (бир интервьюда адамдар сыйлабастык менен сүйлөшө баштаган: менин жоопторума көңүл бурбай, өз позициясын айтууга аракет кылуу ж.б.у.с. Мен интервью башталгандан 15 мүнөттөн кийин бүтүрдүм, алар: Стресстүү маек болду!) 4. Сиздин бorм деңгээлиңиз. Мен бул жерде кененирээк токтолом. Теманын аныктамаларын билүү сизден күтүлгөн нерсенин 10% гана түзөт. Ал кантип иштээрин түшүнүү зарыл (жок дегенде жогорку деңгээлде). Өнүктүрүүнүн кайсы учурда тигил же бул чечимди тандай турганыңызды түшүндүрүүгө даяр болуу. Бул сиздин аныктамаңыздын тактыгынан алда канча маанилүү. Мен бул диссертацияны эки мисал аркылуу талдайм. Биринчи мисал: интервью учурунда менден HashMap жөнүндө сурашты, мен аныктама бердим: "бул ачкыч жана баалуу таңгактарды сактаган маалымат структурасы." Андан кийин интервью алуучу: TreeMapдан кандай айырмасы бар? Жооп: Айырмасы, HashMap ачкычты хэштейт жана хэширлөөдөн улам кирүү тез. Интервью алуучу дароо бизге HashMapтын ички түзүмүн айтып берүүнү суранды, ошол эле учурда hashCode жана барабарлар жөнүндө сурады. Ал эми жоопко канааттанмайынча же сен токтоп калмайынча тереңдейт. Мен HashMap жөнүндө туура жооп берүүнү 2 айлык маектешүүдөн жана hexletтеги маалымат структуралары боюнча курстан кийин гана үйрөндүм. Экинчи мисал: SOLID концепциясы. Мен жаттап алган аныктама бер деп суранышат. Бирок турмуштук мисалдарга келгенде эле көйгөйлөр башталды. Внимание!Эгерде сиз билбесеңиз, анда аны ойлоп таппаңыз, бирок мындай деп айтыңыз: Мен бул теманы билбейм, бирок бул ушундай иштейт деп ойлой алам. Теманы түшүнгөндөй бир адам бидъат сүйлөсө, көптөгөн техникалык адистердин ачуусу келет. 5. Жумушту талкуулоо учурунда сиздин шыктануу деңгээлиңиз. Сиз кызыкдар болушуңуз жана вакансия жөнүндө суроолорду беришиңиз күтүлөт (жөн эле түзүлгөн эмес). 6. Кээде юмор (тема боюнча гана) жана жалпы кызыкчылыктар баарлашууга жардам берет. Хоббилериңиз жөнүндө тартынбай сүйлөшүңүз, балким, маектешиңиз Дотаны/футболду/фантазияны жакшы көрөт. Жана бул талапкер катары сиз үчүн плюс. Мен кызыкдар коомчулугу маектештин начар техникалык даярдыгына көз жумуп койгон учурларды билем (Сен кадимки жигитсиң, биз сени үйрөтөбүз). <h3>9-бөлүм. Жумушка орношуу, отко чөмүлүү</h3>Интервьюлар апрелдин аягынан июлдун ортосуна чейин өттү. Биринчи интервьюлар уят болду, бирок бара-бара кырдаал алгылыктуу деңгээлге чейин жакшырды. Жалпы суроолорду жана пикирлерди изилдөө өздөрүн сездирди. Алгачкы 25 интервьюсу ийгorксиз болгон. Ушундан кийин үмүтсүздүккө учураган учурлар башталды. Сезимдер: эгер алар мени ошол айлыкка жумушка албасачы? Күтүлбөгөн жерден иш козголо баштады: бир жуманын ичинде үч компания сунуш киргизди. Мен өзгөчөлүктөрүн билген компанияны тандадым, анын үстүнө жакшы айлык жана аралыктан иштөө мүмкүнчүлүгү бар. Маектешүү учурунда мага Java өзөгү жана жаз жөнүндө 30га жакын суроолор берилди, алардын 97% туура жооп бердим. Ошондон кийин жогорку органдар менен байланыш болуп, 1,5 жумадан кийин аларга жумушка орноштум. Биринчиден, кандайдыр бир жумушка келгенде, сиз бардык керектүү системаларга кире баштайсыз жана керектүү куралдарды орнотосуз. Бир жарым жума убакыт өттү, мага биринчи тапшырма берилди: класстагы статикалык текстти өзгөртүү. Долбоорду ачканда ичим ооруп кетти: бир долбоордун ичинде көптөгөн модулдар, көптөгөн класстар, тесттер ж.б. Бул учурда мен адашып калдым, бирок экинчи иштеп чыгуучу мага жардам берип, мени ылдамдыкка жеткирди. Мүчүлүштүк 10 мүнөттүн ичинде оңдолду, Гитте жарыяланды, тартуу өтүнүчү жасалды (башка иштеп чыгуучулар codeуңузду текшерген эки бутакты бириктирүү өтүнүчү), андан кийин негизги бутакка бириктирилди. Көрсө, баары анчалык деле кыйын эмес экен. Биринчи толук кандуу тапшырмага чейин... Кийинки эки жумага тапшырмаларды пландаштырып жатканда, алар мага айтышты: OpenShiftте жайгашкан башка система менен интеграция жасайсың. Бул жерде чындап коркунучтуу болуп калды: OpenShift - бул технологиялардын бүтүндөй кластери: Docker, Kubernetes, Linux жана башкалар. Артыман муздак тер агып кетти: жакшы, мен жавист болуп иштегем. Жолугушуудан кийин дароо иштеп чыгуучуну чакырдым, ал мени ынандырды: бул система үчүн адаптер жазылган жана менин долбоорума белгилүү класстарды импорттоо жетиштүү болду, андан кийин интеграцияны коопсуз колдоно алам. Иштеп чыгуучу типтүү интеграцияны көрсөтмөйүнчө, бул кайра кызыктуу болду: мен окшош интеграция үчүн түзүлгөн 20дан ашык класстарды көрдүм. Мындан тышкары, @Value, @Builder, @NoArgsConstructor, @Getter, буга чейин көрүнбөгөн annotationлар байкалган. @Sl4f - бул Lombook долбоору болуп чыкты (Интернеттен окуңуз). Иштеп чыгуучу мага муну кантип кылуу керектигин түшүндүргөндө, мен бардык класстардын байланыштарын жазууга аракет кылдым, бирок башыма эч нерсе тыгылган жок. Эң ыңгайсыз учур Intellij Idea боюнча бorмдин жоктугу болду: долбоорду кантип глобалдык издөө, codeду рефакторинг ж.б.у.с. Тапшырманы колго алып, мен OOP эмне үчүн керек экенин түшүндүм: мындай чоң көлөмдөгү code үчүн аны класстарга бөлүү керек; класстан тышкары колдонулбаган методдор кокустан башка класста иштетилбеши үчүн купуя деп жарыяланышы керек ж. жана каталарды оңдомоюнча долбооруңузду түзө албайсыз (мисалы, кошумча боштуктар, баш тамгалар менен өзгөрмө аттары, өтө кыска өзгөрмө аттары). CheckStyleди жеңгенден кийин, мен өзүмдүн codeумду улук иштеп чыгуучуларга карап чыгууга жөнөтүп, бир жуманын ичинде каталарымды оңдодум. Жалпысынан менин командамда көп нерсени түшүндүрүп берген экинчи иштеп чыгуучу менен жакшы мамиледе болгонум мага абдан бактылуу болду. Аппараттан бир ай өткөндөн кийин, менин биринчи интеграциям Интеграция-Функционалдык стендде ишке киргизилди (бардык тиркемелердин иши чогуу текшерилген) жана баары ошол жерде иштеди! Жеңиш! Кийинки милдет jsonдагы ачкыч менен маалыматтарды жашырууга мүмкүндүк берген классты түзүү болчу. Мисалы: json бар {текст:"JavaRush"} -> иштетүү -> {текст:"****Rush"}. Бул жерде эки кыйынчылык бар: уя {текст:{mytext:"JavaRush"}} болушу мүмкүн, андан да жагымсызы массивдин ичине уя салуу: {текст: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (албетте, бардык text.mytext жашырышыңыз керек). Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. Мен бардык класстардын байланыштарын жазууга аракет кылдым, эч нерсе башыма такыр кирбеди. Эң ыңгайсыз учур Intellij Idea боюнча бorмдин жоктугу болду: долбоорду кантип глобалдык издөө, codeду рефакторинг ж.б.у.с. Тапшырманы колго алып, мен OOP эмне үчүн керек экенин түшүндүм: мындай чоң көлөмдөгү code үчүн аны класстарга бөлүү керек; класстан тышкары колдонулбаган методдор кокустан башка класста иштетилбеши үчүн купуя деп жарыяланышы керек ж. жана каталарды оңдомоюнча долбооруңузду түзө албайсыз (мисалы, кошумча боштуктар, баш тамгалар менен өзгөрмө аттары, өтө кыска өзгөрмө аттары). CheckStyleди жеңгенден кийин, мен өзүмдүн codeумду улук иштеп чыгуучуларга карап чыгууга жөнөтүп, бир жуманын ичинде каталарымды оңдодум. Жалпысынан менин командамда көп нерсени түшүндүрүп берген экинчи иштеп чыгуучу менен жакшы мамиледе болгонум мага абдан бактылуу болду. Аппараттан бир ай өткөндөн кийин, менин биринчи интеграциям Интеграция-Функционалдык стендде ишке киргизилди (бардык тиркемелердин иши чогуу текшерилген) жана баары ал жерде иштеди! Жеңиш! Кийинки милдет jsonдагы ачкыч менен маалыматтарды жашырууга мүмкүндүк берген классты түзүү болчу. Мисалы: json бар {текст:"JavaRush"} -> иштетүү -> {текст:"****Rush"}. Бул жерде эки татаалдык бар: уя {текст:{mytext:"JavaRush"}} болушу мүмкүн, андан да жагымсызы массивдин ичине уя салуу: {текст: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (албетте, бардык text.mytext жашырышыңыз керек). Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. Мен бардык класстардын байланыштарын жазууга аракет кылдым, бирок башыма эч нерсе тыгылган жок. Эң ыңгайсыз учур Intellij Idea боюнча бorмдин жоктугу болду: долбоорду кантип глобалдык издөө, codeду рефакторинг ж.б.у.с. Тапшырманы колго алып, мен OOP эмне үчүн керек экенин түшүндүм: мындай чоң көлөмдөгү code үчүн аны класстарга бөлүү керек; класстан тышкары колдонулбаган методдор кокустан башка класста иштетилбеши үчүн купуя деп жарыяланышы керек ж. жана каталарды оңдомоюнча долбооруңузду түзө албайсыз (мисалы, кошумча боштуктар, баш тамгалар менен өзгөрмө аттары, өтө кыска өзгөрмө аттары). CheckStyleди жеңгенден кийин, мен өзүмдүн codeумду улук иштеп чыгуучуларга карап чыгууга жөнөтүп, бир жуманын ичинде каталарымды оңдодум. Жалпысынан менин командамда көп нерсени түшүндүрүп берген экинчи иштеп чыгуучу менен жакшы мамиледе болгонум мага абдан бактылуу болду. Аппараттан бир ай өткөндөн кийин, менин биринчи интеграциям Интеграция-Функционалдык стендде ишке киргизилди (бардык тиркемелердин иши чогуу текшерилген) жана баары ошол жерде иштеди! Жеңиш! Кийинки милдет jsonдагы ачкыч менен маалыматтарды жашырууга мүмкүндүк берген классты түзүү болчу. Мисалы: json бар {текст:"JavaRush"} -> иштетүү -> {текст:"****Rush"}. Бул жерде эки кыйынчылык бар: уя {текст:{mytext:"JavaRush"}} болушу мүмкүн, андан да жагымсызы массивдин ичине уя салуу: {текст: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (албетте, бардык text.mytext жашырышыңыз керек). Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. Мындай чоң көлөмдөгү code үчүн аны класстарга бөлүү керек; класстан тышкары колдонулбаган методдор кокустан башка класста иштетилбеши үчүн купуя деп жарыяланышы керек ж. жана каталарды оңдомоюнча долбооруңузду түзө албайсыз (мисалы, кошумча боштуктар, баш тамгалар менен өзгөрмө аттары, өтө кыска өзгөрмө аттары). CheckStyleди жеңгенден кийин, мен өзүмдүн codeумду улук иштеп чыгуучуларга карап чыгууга жөнөтүп, бир жуманын ичинде каталарымды оңдодум. Жалпысынан менин командамда көп нерсени түшүндүрүп берген экинчи иштеп чыгуучу менен жакшы мамиледе болгонум мага абдан бактылуу болду. Аппараттан бир ай өткөндөн кийин, менин биринчи интеграциям Интеграция-Функционалдык стендде ишке киргизилди (бардык тиркемелердин иши чогуу текшерилген) жана баары ошол жерде иштеди! Жеңиш! Кийинки милдет jsonдагы ачкыч менен маалыматтарды жашырууга мүмкүндүк берген классты түзүү болчу. Мисалы: json бар {текст:"JavaRush"} -> иштетүү -> {текст:"****Rush"}. Бул жерде эки кыйынчылык бар: уя {текст:{mytext:"JavaRush"}} болушу мүмкүн, андан да жагымсызы массивдин ичине уя салуу: {текст: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (албетте, бардык text.mytext жашырышыңыз керек). Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. Мындай чоң көлөмдөгү code үчүн аны класстарга бөлүү керек; класстан тышкары колдонулбаган методдор кокустан башка класста иштетилбеши үчүн купуя деп жарыяланышы керек ж. жана каталарды оңдомоюнча долбооруңузду түзө албайсыз (мисалы, кошумча боштуктар, баш тамгалар менен өзгөрмө аттары, өтө кыска өзгөрмө аттары). CheckStyleди жеңгенден кийин, мен өзүмдүн codeумду улук иштеп чыгуучуларга карап чыгууга жөнөтүп, бир жуманын ичинде каталарымды оңдодум. Жалпысынан менин командамда көп нерсени түшүндүрүп берген экинчи иштеп чыгуучу менен жакшы мамиледе болгонум мага абдан бактылуу болду. Аппараттан бир ай өткөндөн кийин, менин биринчи интеграциям Интеграция-Функционалдык стендде ишке киргизилди (бардык тиркемелердин иши чогуу текшерилген) жана баары ошол жерде иштеди! Жеңиш! Кийинки милдет jsonдагы ачкыч менен маалыматтарды жашырууга мүмкүндүк берген классты түзүү болчу. Мисалы: json бар {текст:"JavaRush"} -> иштетүү -> {текст:"****Rush"}. Бул жерде эки кыйынчылык бар: уя {текст:{mytext:"JavaRush"}} болушу мүмкүн, андан да жагымсызы массивдин ичине уя салуу: {текст: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (албетте, бардык text.mytext жашырышыңыз керек). Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. өзгөрмө аттары өтө кыска). CheckStyleди жеңгенден кийин, мен өзүмдүн codeумду улук иштеп чыгуучуларга карап чыгууга жөнөтүп, бир жуманын ичинде каталарымды оңдодум. Жалпысынан менин командамда көп нерсени түшүндүрүп берген экинчи иштеп чыгуучу менен жакшы мамиледе болгонум мага абдан бактылуу болду. Аппараттан бир ай өткөндөн кийин, менин биринчи интеграциям Интеграция-Функционалдык стендде ишке киргизилди (бардык тиркемелердин иши чогуу текшерилген) жана баары ошол жерде иштеди! Жеңиш! Кийинки милдет jsonдагы ачкыч менен маалыматтарды жашырууга мүмкүндүк берген классты түзүү болчу. Мисалы: json бар {текст:"JavaRush"} -> иштетүү -> {текст:"****Rush"}. Бул жерде эки кыйынчылык бар: уя {текст:{mytext:"JavaRush"}} болушу мүмкүн, андан да жагымсызы массивдин ичине уя салуу: {текст: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (албетте, бардык text.mytext жашырышыңыз керек). Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. өзгөрмө аттары өтө кыска). CheckStyleди жеңгенден кийин, мен өзүмдүн codeумду улук иштеп чыгуучуларга карап чыгууга жөнөтүп, бир жуманын ичинде каталарымды оңдодум. Жалпысынан менин командамда көп нерсени түшүндүрүп берген экинчи иштеп чыгуучу менен жакшы мамиледе болгонум мага абдан бактылуу болду. Аппараттан бир ай өткөндөн кийин, менин биринчи интеграциям Интеграция-Функционалдык стендде ишке киргизилди (бардык тиркемелердин иши чогуу текшерилген) жана баары ал жерде иштеди! Жеңиш! Кийинки милдет jsonдагы ачкыч менен маалыматтарды жашырууга мүмкүндүк берген классты түзүү болчу. Мисалы: json бар {текст:"JavaRush"} -> иштетүү -> {текст:"****Rush"}. Бул жерде эки татаалдык бар: уя {текст:{mytext:"JavaRush"}} болушу мүмкүн, андан да жагымсызы массивдин ичине уя салуу: {текст: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (албетте, бардык text.mytext жашырышыңыз керек). Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем. Бул маселени чечүү абдан кыйын болуп чыкты, бирок мен аны жасадым! Бул жерде экинчи иштеп чыгуучу мындай дейт: бул иштеп чыгууну тесттер менен жаап коюңуз. Көздөрүндө таң калуу бар эле. Мен согушта JUnit китепканасы менен тааныштым. Бирдикти тестирлөөнүн маңызы: сизде киргизилген маалыматтар бар, аны методго өткөрүп бериңиз жана алынган маалыматтарды туура натыйжа менен салыштырыңыз (туура натыйжа менен өзгөрмө түзүңүз). Мен китепканам үчүн 11 ишти жаздым, анда мен колдонмонун NullPointException менен бузулуп калбагандыгын жана ар кандай типтеги уячалар менен маалыматтарды туура жашыргандыгын текшердим. Бул тапшырманы аткаргандан кийин мага жаңы интеграция берилди, анын өзгөчөлүгү төмөнкүдөй болду: Мен сырткы китепканадан жазгы буурчакты экспорттоого туура келди. Бул учурда мен Stack OverFlow веб-сайтынын туруктуу кардары болуп калдым. Бир жолу атүгүл расмий жазгы иштеп чыгуучу жооп берди. Бул интеграцияны ишке ашыргандан кийин менин сыноо мөөнөтүм аяктады. Начальник мени сыноо мөөнөтүм менен куттуктап, мен бул макаланы жаза баштадым. Жалпысынан бул макаланы жазууга 8 саат кетти) Көңүл бурганыңыз үчүн рахмат, макала пайдалуу болду деп ишенем.
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION