Ποιες επιλογές διαμόρφωσης παρόχου Angular γνωρίζετε: useClass, useExisting, useValue και useFactory; Πότε τις χρησιμοποιείτε;
Frontend
Πώς θα δούμε το ιστορικό μηνυμάτων αν είναι πολύ μεγάλο; Πώς θα υλοποιήσουμε την σελιδοποίηση;
Κάνε ώστε το μήνυμα νίκης/ήττας να εξαφανίζεται κατά τη διάρκεια της περιστροφής του τύμπανου.
Αν χρειάζεται να αυξήσετε τον αριθμό των κυλίνδρων (ραβδιά), για παράδειγμα, μέχρι δέκα, πώς να κάνετε την υλοποίηση ευέλικτη ώστε να μην αποθηκεύετε χειροκίνητα τις τιμές για κάθε κύλινδρο (για παράδειγμα, μέσω της παραμέτρου numberOfRollers και Array.from);
Θα λειτουργεί σωστά αν περάσετε το clearCache όχι μέσω callback, αλλά ως άμεση αναφορά στη μέθοδο map.clear (π.χ., clearCache = cache.clear); Πώς μπορεί να διορθωθεί αυτό;
Δείτε τον κώδικα με την κλάση που έχει κατασκευαστή με το πεδίο multiplier, τη μέθοδο add για την προσθήκη αριθμών στον πίνακα και τη μέθοδο getMultiSum, υλοποιημένη μέσω μιας κανονικής συνάρτησης. Τι θα εμφανιστεί στην κονσόλα κατά την εκτέλεση αυτού του κώδικα;
Τρίτο μέρος της εργασίας TypeScript: δημιουργήστε έναν νέο τύπο βασισμένο στον τύπο Delivery, όπου όλα τα πεδία είναι προαιρετικά (μπορούν να έχουν την τιμή undefined) και δεν μπορούν να αλλάξουν την τιμή τους (readonly). Χρησιμοποιήστε τους βοηθητικούς τύπους Partial και Readonly.
Ποια έργα έπρεπε να σχεδιάσετε — από το μηδέν ή μεγάλα αρχιτεκτονικά μπλοκ;
Έχετε εμπειρία στη συγγραφή δικών σας χειριστών RxJS;
Πώς να διορθώσετε τις περιττές επαναφορτώσεις ώστε, όταν κάνετε κλικ στο 'Rerender', να επαναφορτώνεται μόνο το App, και κατά την εισαγωγή κειμένου, μόνο το Parent (χωρίς Child);
Γιατί στην υλοποίηση του promiseAll πρέπει να βασιζόμαστε στον μετρητή count αντί να ελέγχουμε απλώς το μήκος του πίνακα αποτελεσμάτων;
// Υπάρχουν επίσης 25 αντικείμενα που // έχουν ιδιωτικό αναγνωριστικό και μέθοδο για την ανάθεσή του // καθώς και πεδίο ημερομηνίας δημιουργίας. // Το αναγνωριστικό μπορεί να περιέχει αριθμό ή συμβολοσειρά. // Το πεδίο ημερομηνίας δημιουργίας μπορεί επίσης να περιέχει συμβολοσειρά ή αριθμό. // Οι τύποι για την ημερομηνία δημιουργίας και το αναγνωριστικό ταιριάζουν (ή συμβολοσειρά, ή αριθμός) // Περιγράψτε έναν τύπο για τέτοια αντικείμενα let a = { getId: () => createdId: [phone] } let b = { getId: () => 'id', createdAt: '[phone]T20:00:00Z' } // αυτό το αντικείμενο ΔΕΝ πρέπει να ταιριάζει με τον τύπο: let c = { getId: () => 56, createdAt: '[phone]T20:00:00Z' }
Ποιοι τύποι Subject υπάρχουν στο RxJS;
Τα κομμάτια Tetris πέφτουν κάθετα προς τα κάτω με διαδοχική σειρά. Τα κομμάτια δεν μπορούν να μετακινηθούν ή να περιστραφούν - απλώς βρείτε το ύψος του προκύπτοντος πύργου. Η σειρά πτώσης των κομματιών καθορίζεται από έναν πίνακα αριθμών 1, 2 ή 3. Τα κομμάτια εμφανίζονται παρακάτω. findHeight([1,2,3]) => 7 findHeight([1,1,1,1]) => 12
Υλοποιήστε τον δικό σας Event Emitter με μεθόδους εγγραφής, διαγραφής και δημιουργίας συμβάντων (on, off, emit). Αποθηκεύστε τους χειριστές συμβάντων, ελέγξτε τη λειτουργία τους με δοκιμαστικά δεδομένα και υποστηρίξτε αλυσίδωτες κλήσεις μεθόδων.
Υλοποιήστε τη λειτουργία memoize, η οποία αποθηκεύει στη μνήμη την αποτελεσματικότητα της κλήσης της λειτουργίας για ίδιες επιχειρήματα (πρωταρχικά), και προσθέστε τη μέθοδο clearCache για να καθαρίσετε τη μνήμη cache.
Πρέπει να γράψετε έναν τύπο TypeScript που να ταιριάζει τόσο σε μια λειτουργία που επιστρέφει αριθμό όσο και σε μια λειτουργία που επιστρέφει συμβολοσειρά (μέσω γενικού), αλλά δεν πρέπει να περνάει αν οι τύποι επιστροφής διαφέρουν.
Βασιζόμενοι στο Partial<Delivery>, δημιουργήστε έναν νέο τύπο που περιλαμβάνει μόνο τα πεδία name και address. Ποιος βοηθητικός τύπος ταιριάζει γι' αυτό;
Ποια είναι η διαφορά μεταξύ Observable και Promise όταν υπάρχουν πολλαπλές συνδρομές/χειριστές: πόσα αιτήματα και console.log θα εκτελεστούν;
Τι θα συμβεί αν αντί για κλάση χρησιμοποιήσουμε ένα κανονικό αντικείμενο με τις ίδιες μεθόδους (χωρίς αυστηρό mode);