Δεύτερο μέρος της εργασίας TypeScript: μετατρέψτε όλα τα πεδία του αντικειμένου τύπου Delivery σε έναν νέο τύπο, χρησιμοποιώντας τους βοηθητικούς τύπους TypeScript.
Frontend
Βασιζόμενοι στον τύπο Delivery, δημιουργήστε έναν νέο τύπο όπου τα πεδία name, address και date γίνουν προαιρετικά. Ποιο ενσωματωμένο βοηθητικό τύπο TypeScript θα χρησιμοποιούσατε;
Ποιες στατικές μεθόδους Promise γνωρίζετε εκτός από το Promise.resolve; Πώς διαφέρει το Promise.all από το Promise.allSettled;
Γιατί χωρίσατε την επικεφαλίδα της συνομιλίας σε ένα ξεχωριστό widget; Ποιο κριτήριο χρησιμοποιείτε για να καθορίσετε τι είναι widget και τι όχι;
// Δημιουργήστε έναν τύπο που περιέχει τα ίδια πεδία με το Delivery, // αλλά όλα τα πεδία είναι προαιρετικά (μπορούν να έχουν την τιμή undefined) και δεν μπορούν να αλλάξουν τις τιμές τους.
Πώς να υπερισχύσετε το πλαίσιο (this) μέσα στη λειτουργία loadScript, αν αυτή είναι μέθοδος μιας κλάσης και πρέπει να καλείται με άλλο this;
Ποιο θα είναι το this μέσα στη λειτουργία αν την καλέσουμε μέσω fn.call(this) στον browser — σε κανονική λειτουργία και σε λειτουργία αυστηρού;
[όνομα] ρώτησε: πες μου για την εργασιακή σου εμπειρία, γιατί αποφάσισες να φύγεις από την τρέχουσα θέση εργασίας και τι περιμένεις από τη νέα θέση;
Γιατί επιλέξατε WebSocket; Υπάρχουν εναλλακτικές;
Δύο νέοι τύποι δίνονται. Πρέπει να δημιουργηθεί ένας νέος τύπος βάσει αυτών, που να ικανοποιεί την προϋπόθεση (περιέχει όλα τα πεδία των δοθέντων τύπων, τύπος ένωσης). Ποια προσέγγιση πρέπει να χρησιμοποιηθεί;
Τι θα συμβεί αν αντί για callback περάσετε το clearCache ως άμεση αναφορά στη μέθοδο cache.clear (χωρίς κλείσιμο); Γιατί αυτό δεν θα λειτουργήσει και πώς να το διορθώσετε (για παράδειγμα, μέσω bind);
Περιγράψτε τα API που θα χρειαστούμε (getUsers, getChat, sendMessage και άλλα). Ποια από αυτά θα λειτουργούν μέσω REST και ποια μέσω WebSocket;
Τι είναι ένα CDN; Πώς φτάνει η στατική περιεχόμενη εκεί; Πώς γνωρίζει ο πελάτης σε ποιον διακομιστή CDN να απευθυνθεί;
Πώς να αυξήσετε γρήγορα τον αριθμό των ρολών από 3 σε 10 στην τρέχουσα υλοποίηση, δημιουργώντας μια σταθερά με την απαραίτητη ποσότητα και διαμορφώνοντας δυναμικά τους πίνακες και αποδίδοντας τους τυμπάνους;
Πώς να κάνετε ένα μόνο αίτημα HTTP και να εγγραφείτε στο αποτέλεσμα του πολλές φορές;
Δείτε τον κώδικα: γιατί η συνιστώσα App θα ανανεωθεί όταν κάνετε κλικ στο κουμπί 'Render', και γιατί η συνιστώσα Child θα ανανεωθεί όταν εισάγετε κείμενο στο input;
Γράψτε περιπτώσεις δοκιμής για τον έλεγχο της λειτουργίας μνήμης (π.χ. σε λειτουργίες δύναμης).
Πώς θα λειτουργεί η αναπαραγωγή της βάσης δεδομένων (master-slave); Πώς θα κατευθύνει ο load balancer τα αιτήματα σε διαφορετικούς διακομιστές με διαφορετικές βάσεις δεδομένων;
Δημιουργήστε έναν νέο τύπο βασισμένο στον τύπο Delivery, όπου τα πεδία name, address και date γίνονται προαιρετικά (Partial).
Πόσοι χρήστες θα έχουμε; Χρειάζεται βελτιστοποίηση SEO; Χρειάζεται τοπικοποίηση; Ποιες μετρήσεις πρέπει να συλλέξουμε;