Δείτε αυτό το κομμάτι κώδικα — κατανοήστε τι κάνει και γράψτε ένα απλό παράδειγμα χρήσης. Υπάρχει επίσης ένας παρόμοιος βοηθός στο lodash.
Frontend
Έχεις δουλέψει ποτέ με το Lighthouse; Φαντάσου ότι σου ανατίθεται η εργασία να βελτιώσεις το δείκτη FCP (First Contentful Paint). Ποιες ιδέες σου έρχονται στο μυαλό;
Ποια είναι τα προβλήματα στην τρέχουσα προσέγγιση φόρτωσης δεδομένων SSR και πώς θα μεγαλώσουν με την προσθήκη νέων σελίδων;
Πότε θα ανακοινώσεις ότι δεν θα προλάβεις;
Πώς αναπτύσσεστε, πώς μαθαίνετε νέες τεχνολογίες, τι σας έχει μείνει τελευταίο;
Πείτε μου για την τελευταία σας θέση εργασίας και τα έργα στα οποία εργαστήκατε.
Δεν έχει συμβεί σε μια λειτουργία του προϊόντος να επιστρέφονται πολλά πεδία, ενώ σε μια άλλη μόνο δύο;
Τι σας αρέσει περισσότερο να κάνετε στη δουλειά και τι όχι τόσο; Τι παίρνει περισσότερο χρόνο από ό,τι θα θέλατε;
Υλοποιήστε μια συνάρτηση foo που παίρνει έναν πίνακα και επιστρέφει ένα αντικείμενο όπου τα κλειδιά είναι τα στοιχεία του πίνακα και οι τιμές είναι όλες 0.
Τι ενδιαφέρον και καινούργιο έχεις μάθει πρόσφατα στον κόσμο του frontend;
Τι μπορεί να συμβαίνει στον διακομιστή κατά τη δημιουργία HTML (SSR) — πού ξοδεύει ο διακομιστής χρόνο, ποια μπορεί να είναι τα προβλήματα απόδοσης και ασφάλειας κατά την σειριοποίηση δεδομένων;
Υλοποιήστε μια λειτουργία memoize που αποθηκεύει τα αποτελέσματα των κλήσεων ασύγχρονων συναρτήσεων και δεν στέλνει επαναλαμβανόμενο αίτημα αν η κλήση με τα ίδια επιχειρήματα έχει ήδη πραγματοποιηθεί.
Ποια είναι η διαφορά μεταξύ της χρήσης hasOwnProperty και του άμεσου ελέγχου της τιμής μέσω μιας συνθήκης (if o[x])? Τι θα συμβεί αν η τιμή της ιδιότητας είναι false;
Πώς μπορεί να διασφαλιστεί η υποστήριξη των σύγχρονων μορφών εικόνων (WebP, AVIF) σε browsers που δεν τις υποστηρίζουν;
Ορίστε τη σειρά εμφάνισης στην κονσόλα για τον κώδικα με setTimeout, Promise, then, catch, finally και διάφορες συγχρονικές κλήσεις (άσκηση για το Event Loop).
Ποιες βελτιώσεις θα μπορούσαν να γίνουν για την αύξηση της ποιότητας του προϊόντος στο μέλλον;
Πρέπει να γράψετε μια συνάρτηση memoize — ένα περιτύλιγμα για τη μνημόνευση. Για απλότητα, μπορείτε να θεωρήσετε ότι η συνάρτηση θα έχει πάντα μόνο ένα όρισμα, και αυτό θα είναι μια πρωταρχική τιμή.
<script> function sum(valueA) { throw 'Δεν υλοποιήθηκε' } console.log(sum(1)()); // 1 console.log(sum(1)(2)()); // 3 console.log(sum(1)(2)(-3)()); // 0 </script>
Για ποιο λόγο χρειάζεται το React.lazy; Ποιο όφελος προσφέρει και πώς λειτουργεί στο παρασκήνιο;
Υλοποιήστε ένα νέο συστατικό SignupSuccess. Θα πρέπει να εμφανίζεται αντί της φόρμας εγγραφής μετά από μια επιτυχημένη εγγραφή.