Frontend
Υπήρχε κάποια λογική κατά το διαχωρισμό του bundle σε chunks; Γιατί θέλετε να κάνετε ένα μέρος ξεχωριστό chunk και όχι το άλλο;
TypeScript: υλοποιήστε έναν τύπο `SnakeCase` που μετατρέπει βαθιά τα κλειδιά ενός αντικειμένου από `camelCase` σε `snake_case`, διατηρώντας την ασφάλεια τύπων.
Ποιες προσεγγίσεις χρησιμοποιήσατε για την ευέλικτη διάταξη; Σχεδιάσατε από το κινητό ή από τον υπολογιστή;
Για μια λειτουργία μετρητή με κλείσιμο, όπου το μήνυμα διαμορφώνεται πριν από την κλήση της αύξησης, προσδιορίστε τι θα εμφανιστεί. Πώς να διορθώσετε τον κώδικα ώστε να εμφανίζεται η τρέχουσα τιμή του μετρητή;
Κοίτα, αφαίρεσα το επίπεδο, παντού είναι 0, αλλά οι εσοχές εδώ παρέμειναν. Μπορείς να εξηγήσεις γιατί;
Πώς θα αποθηκεύατε τα δεδομένα της φόρμας ώστε ο χρήστης να μπορεί να επιστρέψει μετά την ανανέωση της σελίδας ή το κλείσιμο της καρτέλας (χωρίς αυθεντικοποίηση);
Υλοποιήστε μια απλοποιημένη λειτουργία `reactive(object)` που μιμείται το Vue 3: όταν διαβάζετε μια ιδιότητα, καλέστε `track(target, key)`, και όταν αλλάζετε μια ιδιότητα, καλέστε `trigger(target, key)`.
Πες μου περισσότερα για τη ροή εργασίας με τις εργασίες: ποιος διαμορφώνει τις απαιτήσεις και πώς αναλύονται;
Ποια είναι η διαφορά μεταξύ ενός συνδέσμου και ενός κουμπιού;
Τι είναι το SVG — μορφή ή ετικέτα; Πώς δουλεύουμε με SVG στο DOM; Πώς βάφουμε ένα ξεχωριστό στοιχείο SVG κατά το hover;
Πώς επηρεάζουν οι συνθήκες Angular, όπως το @if ή το *ngIf, την απόδοση: κρύβουν τα στοιχεία ή απλώς δεν τα προσθέτουν στο DOM;
Ποιος στο κύκλο σας είναι υπεύθυνος για την γενική απόφαση που περιλαμβάνει αλλαγές τόσο στο frontend όσο και στο backend, από την αρχή μέχρι το τέλος;
Με τι δεν θα ήθελες να έρθεις αντιμέτωπος στη δουλειά;
Πρακτική άσκηση: υλοποίηση της λογικής ξεκλειδώματος των κουμπιών μετά την κύλιση του κοντέινερ μέχρι το τέλος (JavaScript).
Πώς αλληλεπιδρά το front-end με το back-end;
Έχεις μεγάλη εμπειρία με κλάσεις και αντικείμενα στο frontend;
Τι διαβάζετε, πώς αναπτύσσεστε και πού παρακολουθείτε τα νέα στην ανάπτυξη;
/** * Η λειτουργία `asyncAuth(callback)` δέχεται ένα callback, στο οποίο * μπορεί να περαστεί ένα σφάλμα (ως πρώτο όρισμα) και δεδομένα * από το backend (ως δεύτερο όρισμα). * asyncAuth((error, data) => {}); * * Πρέπει να υλοποιήσετε τη λειτουργία `auth()`, * που καλεί το `asyncAuth()`, αλλά επιστρέφει μια υπόσχεση. * * @returns {Promise} */ function auth() { return new Promise((resolve, reject) => { asyncAuth((error, data) => { if (error) { reject(error) } else { resolve(data) } }); }) } /** * Η λειτουργία `tryAuth()` χρησιμοποιεί το `auth()` και, σε περίπτωση σφάλματος, * κάνει N επιπλέον προσπάθειες. * Αν όλες αποτύχουν, επιστρέφει το τελευταίο σφάλμα. * * @returns {Promise} */ function tryAuth(n) { }
Από πού παίρνει ο περιηγητής την προεπιλεγμένη τιμή font-size για το REM και πού μπορεί να την επαναπροσδιορίσει;
Πες μου περισσότερα για τη διαδικασία ανάπτυξης — όσον αφορά την ομάδα και την γραφή κώδικα