რა სხვა კრიტერიუმებს შეგიძლიათ გამოიტანოთ კარგი ბიბლიოთეკის კომპონენტისათვის?
Frontend
თქვენ დაიწყეთ React-ის სწავლა, და React უფრო პოპულარულია და მასზე მეტი სამუშაო ვაკანსიაა. რატომ გადავედით საბოლოოდ Angular-ზე?
განსხვავებული ტესტების დაწერის შესახებ ისაუბრეთ: თქვენი აზრით, როდის უნდა ჩავარდეს ტესტი? რა უნდა შეამოწმოს ერთეულ ტესტმა ლონდონის სკოლას მიხედვით (ყველა დამოკიდებულების მოკით)?
შეადარეთ დამოკიდებულებების ინექცია კონსტრუქტორის პარამეტრებით და inject ფუნქციის საშუალებით: რა უპირატესობები და ნაკლოვანებები აქვს თითოეულ მიდგომას?
ამ მიდგომის ანალიზი პასუხისმგებლობების შერევნის კუთხით: რა არის აქ გაკეთებული არასწორად და როგორ ახსნიდით ამას არქიტექტურული პრინციპების (განსაკუთრებით, ერთგული პასუხისმგებლობის პრინციპი და წარმოდგენის და მოდელის განყოფილება) კუთხით?
შეგიძლიათ ჩამოთვალოთ ამ პრობლემის ყველა ტექნიკური გზა (საფარი სიგნალით შეცვლის გარდა)?
შეიძლება თუ არა პრაქტიკაზე დაფუძნებული კრიტერიუმები, სადაც მემკვიდრეობა მისაღებია და სადაც არა?
თუ შაბლონი არ იცის, რომ მნიშვნელობა შეიცვალა, რატომ ამატებს async pipe შაბლონში რეაქტიულობის პრობლემას? როგორ მუშაობს ეს ქვემოთ?
გთხოვთ, უფრო დეტალურად ისაუბროთ async pipe-ის გამოყენებასა და ხელით გამოწერაზე: რა უნდა გააკეთოთ ზუსტად, რათა მნიშვნელობა სწორად გამოჩნდეს შაბლონში (შესაბამისად გამოწერასთან და მისი გაუქმებით takeUntilDestroy ან ngOnDestroy-ის საშუალებით)?
შეგიძლიათ მიაწოდოთ კონკრეტული მაგალითი ბიბლიოთეკის, რომელიც არ აძლევდა აწყობის დასრულებას Angular-ის განახლებისას (მაგალითად, ვერსია 16-ზე)? რა იყო ზუსტად პრობლემა და როგორ გადაჭარით?
რატომ არის აუცილებელი ობიექტზე ორიენტირებულ პროგრამირებაში მემკვიდრეობა? მიაწოდეთ ახსნა, თუ რატომ გამოიყენება, თუ ლოგიკის გადამეორებითი გამოყენების დავალება სხვა გზებით შეიძლება გადაწყდეს (მაგალითად, DI-ის საშუალებით).
თქვენი რეზიუმედან ჩანს, რომ განაახლეთ Angular-ი 14-დან 20-მდე. ისაუბრეთ რაიმე პრობლემაზე, რომელიც წარმოიშვა Angular-ის განახლებას დროს პროექტში - პრაქტიკული გამოცდილებიდან ერთი ისტორია.
რატომ როდესაც იყენებთ სიგნალს და იძახებთ set მეთოდს, მნიშვნელობა განახლდება შაბლონში, მაგრამ როდესაც უბრალოდ ასაიდინებთ this.token = სტრიქონს, არა? ამ საკითხს ცვლილებების გამოვლენის დონეზე ახსენით.
თქვენ გეცნობათ UML კლასების დიაგრამები? მუშაობთ თუ არა ურთიერთობების ტიპებთან, როგორიცაა ასოციაცია, კომპოზიცია, აგრეგაცია, გენერალიზაცია?
რატომ აირჩიეთ კონკრეტულად ვებ-განვითარება და Angular, მაგალითად, მობილური განვითარების ნაცვლად?
თქვით, რომ ნეირონული ქსელის დახმარებით დაწერეთ ტესტები. თუ ნეირონული ქსელი შექმნის ტესტებს, რომლებიც კლასის კოდის ნებისმიერ ცვლილებაზე ჩავარდება, მიაღწევენ თუ არა ამ ტესტები თავიანთ მიზანს? არიან თუ არა ისინი სასარგებლო?
წარმოიდგინეთ სცენარი: უფრო გამოცდილი დეველოპერი იღებს ჯუნიორს Angular კომპონენტის შექმნის დავალებას, სადაც არის ველი ტოკენის გამოსათვლელად და ღილაკი 'ტოკენის შექმნა'. ღილაკზე დაჭერისას, სერვერზე იგზავნება მოთხოვნა, მიიღება ტოკენი, და ჯუნიორი წერს this.token = მიღებული სტრინგი, მაგრამ მნიშვნელობა არ ჩანს და გვერდი არ გადახატავს. რა გირჩევთ ამ პრობლემის გადაჭრისთვის და რა მიდგომები არსებობს მის გამოსწორებისთვის?
თუ თქვენ გჭირდებათ პროექტში კოდის ხაზების რაოდენობის გამოთვლა, როგორ მიუდგებოდით ამ ამოცანას? როგორ ჩამოყალიბებდით სვეტს გამოსავალი ან ნეირონული ქსელის ძიებისთვის?
გუშინდელი სამუშაო ადგილიდან თქვით, რომ ფრონტენდ-პარტი შედარებით მცირე იყო, მაგრამ მასში 6 ფრონტენდ-განვითარებელი იყო ჩართული. საიდან გაჩნდა სწორედ 6 კაციანი გუნდი და როგორ არის ის დაკავშირებული კომპანიის საერთო ფრონტენდ-გუნდისთან?
მოგვითხრით, როგორ მოხვდით განვითარების ინდუსტრიაში: როგორ ისწავლეთ, როგორ იპოვეთ თქვენი პირველი სამუშაო, учитывая, что თქვენს რეზიუმეში მითითებულია არასამთავრობო სპეციალობა?