Sobes.tech

Vue 2 και Vue 3: ποιους αρχιτεκτονικούς περιορισμούς της αντίδρασης του Vue 2 ανάγκασαν τον Evan You να ξαναγράψει τον κινητήρα χρησιμοποιώντας `Proxy` ;

177

Vue 3: ποια είναι η θεμελιώδης διαφορά μεταξύ `ref` και `reactive`, συμπεριλαμβανομένων των βασικών τους λειτουργιών;

156

Αναλύστε τον παρεχόμενο κώδικα Vue: ποια μεταβλητά είναι αντιδραστικά, πού χάνεται η αντιδραστικότητα και πώς να την διορθώσετε;

147

Κατά την βελτιστοποίηση της φόρτωσης μιας βαριάς frontend εφαρμογής με 150 μικρά εικονίδια, πρέπει να συνδυαστούν τα εικονίδια σε ένα sprite ή να χρησιμοποιηθεί CSS-inlining όταν χρησιμοποιούνται HTTP/2 ή HTTP/3;

139

Αν δημιουργήσετε ένα `watch` ή `computed` μέσα στο `setup`, τι θα συμβεί σε αυτά κατά την αποσυναρμολόγηση του συστατικού;

133

Καθορίστε τη σειρά εξόδου στην κονσόλα για τον παρεχόμενο κώδικα με `setTimeout`, `Promise` και συγχρονικό `console.log`, εξηγώντας το μέσω του Event Loop.

128

Αν δημιουργήσετε ένα `setInterval` ή προσθέσετε έναν ακροατή συμβάντων στο `window` μέσα στο `setup`, θα αφαιρεθούν αυτόματα κατά την αποσυναρμολόγηση του συστατικού;

121

Ο χρήστης πληκτρολογεί γρήγορα στο πεδίο αναζήτησης. Ποια είναι η διαφορά μεταξύ `debounce`, `throttle` και `AbortController` από την άποψη UX και φόρτου δικτύου/ backend; Ποιο είναι καλύτερο για ζωντανή αναζήτηση;

118

Υλοποιήστε μια λειτουργία `debounce` που υποστηρίζει άμεση κλήση στην αρχή μιας σειράς γεγονότων (`leading`), μια κλήση στο τέλος της σειράς από προεπιλογή, και μια μέθοδο `debounceFunc.cancel()` για ακύρωση της προγραμματισμένης κλήσης.

118

Φανταστείτε μια ουρά μακροεργασιών με πέντε `setTimeout`, και μικροεργασίες που προσθέτουν ασταμάτητα νέες μικροεργασίες, για παράδειγμα μέσω αναδρομικού `Promise.resolve().then()`. Τι θα συμβεί με το interface και θα εκτελεστούν ποτέ αυτά τα πέντε timeout; Γιατί;

116

TypeScript: υλοποιήστε έναν τύπο `SnakeCase` που μετατρέπει βαθιά τα κλειδιά ενός αντικειμένου από `camelCase` σε `snake_case`, διατηρώντας την ασφάλεια τύπων.

115

Υλοποιήστε μια απλοποιημένη λειτουργία `reactive(object)` που μιμείται το Vue 3: όταν διαβάζετε μια ιδιότητα, καλέστε `track(target, key)`, και όταν αλλάζετε μια ιδιότητα, καλέστε `trigger(target, key)`.

108