Frontend
Πες μου για την πιο ενδιαφέρουσα εργασία ή το πιο ενδιαφέρον λάθος σε μία από τις τελευταίες δύο δουλειές σου.
Και το τελευταίο έργο – πόσοι προγραμματιστές ήταν συνολικά, ποια ήταν η ομάδα, με ποιον έπρεπε να επικοινωνείς;
Με ποια frameworks ή εργαλεία εργάζεσαι; Χρησιμοποιείς εργαλεία AI στη δουλειά σου;
Μισθολογικές προσδοκίες — 270 χιλιάδες ρούβλια;
Όταν το έργο μεγαλώνει και μπορούν να διακριθούν πολλές επιχειρηματικές οντότητες (προσωπικός λογαριασμός, προφίλ, προωθητικές ενέργειες), είναι δυνατόν να τα διαχωρίσετε σε ξεχωρισκά αποθετήρια και να τα συνδέσετε ως μικρο-frontend;
Ποια είναι η διαφορά μεταξύ REST API και WebSocket;
Πρακτική εργασία: γράψτε μια συνάρτηση που δέχεται έναν αριθμό και επιστρέφει μια Promise με το αποτέλεσμα ελέγχου ζυγότητας/μονότητας, και σε σφάλμα (όχι αριθμός) επιστρέφει -1.
Διευκρινίστε: η μετακόμιση ήταν από JS/JSVue σε React και TypeScript, και τώρα προγραμματίζεται μετακίνηση σε μικρο-frontend;
Υλοποιήστε τη λειτουργία promisify: λαμβάνει μια λειτουργία με callback error-first (loadScript) και επιστρέφει μια νέα λειτουργία που δέχεται οποιαδήποτε επιχειρήματα, προσθέτει callback error-first και τυλίγει την κλήση σε μια Promise.
Τι είναι προτιμότερο για την αποθήκευση δεδομένων ανά κλειδί: Map ή ένα συνηθισμένο αντικείμενο; Ποια είναι τα πλεονεκτήματα του Map;
Μίλησε για τις μεταβλητές var, let, const: πεδία ορατότητας, hoisting, προσωρινή νεκρή ζώνη.
Τι θα συμβεί με τα στοιχεία της λίστας αν αλλάξουν τα κλειδιά τους (δείκτες);
Πώς να διορθώσετε τις περιττές επαναφορτώσεις ώστε, όταν κάνετε κλικ στο 'Rerender', να επαναφορτώνεται μόνο το App, και κατά την εισαγωγή κειμένου, μόνο το Parent (χωρίς Child);
let a = 5; setTimeout(function timeout() { //macro console.log(a); a = 10; }, 0); let p = Promise.resolve().then(data => { console.log(a); a = 25; resolve(); }).then() console.log(a); // 5 25 25
Τι μπορεί να ρυθμιστεί στο ESLint και ποια plugins ή ρυθμίσεις χρησιμοποιούνται;
Καθαρή εξήγηση, Dmytro—καλή χρήση της ανάθεσης και των ελέγχων "πιο κοντά"; η ροή σου είναι εύκολη στην παρακολούθηση. Όταν λες ότι χειρίζεσαι το πληκτρολόγιο "με τον ίδιο τρόπο", μπορείς να μου εξηγήσεις ακριβώς ποιες κουμπιά υποστηρίζεις και πώς αποτρέπεις το εστίαση να καταλήγει σε απενεργοποιημένους συνδέσμους;
Αναφέρατε την ανάπτυξη μιας βιβλιοθήκης επαναχρησιμοποιήσιμων συστατικών UI-kit βασισμένης στο Angular Material. Υπάρχει θεμελιώδης διαφορά μεταξύ των συστατικών της βιβλιοθήκης και των συστατικών πολλαπλών λειτουργιών της εφαρμογής; Τι μπορεί να παραλειφθεί στα συστατικά της εφαρμογής, αλλά όχι σε αυτά της βιβλιοθήκης;
Δεν ξέρεις σε ποια ειδικότητα είναι ο [όνομα] — frontend, backend ή DevOps — και ποιος είναι ο ρόλος του στην εταιρεία;
// Είναι απαραίτητο να υλοποιήσετε τη μέθοδο groupBy, που επεκτείνει τις τυπικές μεθόδους των πινάκων. // Η μέθοδος πρέπει να επιστρέφει μια ομαδοποιημένη έκδοση του πίνακα — ένα αντικείμενο, // στο οποίο τα κλειδιά είναι τα αποτελέσματα της κλήσης της συνάρτησης fn(arr[i]) για κάθε στοιχείο, // και οι τιμές είναι πίνακες που περιέχουν όλα τα στοιχεία του αρχικού πίνακα με αυτό το κλειδί. // κώδικας εδώ // Παράδειγμα 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Παράδειγμα 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String)); // { // "1": [1], // "2": [2], // "3": [3] // } // Παράδειγμα 3 const array3 = [1.3, 0.5, 1.4]; console.log(array3.groupBy(Math.round)); // { // 1: [0.5, 1.4], // 3: [1.3] // }
Μπορείτε να εισάγετε από ένα επίπεδο FSD σε άλλο στο ίδιο επίπεδο;