Frontend
Βασιζόμενοι στις απαιτήσεις του νέου έργου (ανεξαρτησία από το πλαίσιο, ξεχωριστή ανάπτυξη των μονάδων, ευκολία ανάπτυξης σε ένα ενιαίο αποθετήριο), ποιες ερωτήσεις θα θέτατε και ποια αρχιτεκτονική θα επιλέγατε;
Έχετε ρυθμίσει ποτέ έναν linter λαμβάνοντας υπόψη τον τύπο TypeScript;
Για ποιο λόγο χρειάζεται το χαρακτηριστικό key κατά την απόδοση λιστών; Μπορούμε να χρησιμοποιήσουμε το δείκτη του πίνακα ως κλειδί;
Πώς ήταν οργανωμένη η ομάδα και πώς ρυθμίστηκαν οι διαδικασίες;
Ποια είναι η σημασία των ορίων σφάλματος στο React;
Ποια εργαλεία κατασκευής χρησιμοποιήθηκαν; Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του Webpack και του Vite;
Τι σας εντυπωσίασε στη θέση μας; Γιατί αποφασίσατε να απαντήσετε;
Ποιοι τύποι JOIN υπάρχουν σε σχεσιακές βάσεις δεδομένων;
Ποια είναι η διαφορά μεταξύ computed και watch;
Εργασία: υλοποιήστε μια κλάση με τις μεθόδους subscribe, unsubscribe και next (σχέδιο Observer/Παρατηρητής). Όλες οι μέθοδοι πρέπει να είναι αυστηρά τυποποιημένες σε TypeScript. Η μέθοδος subscribe πρέπει να επιστρέφει μια λειτουργία για την ακύρωση της εγγραφής.
Έχετε γράψει μονάδες δοκιμών και δοκιμές E2E; Πώς επιλέξατε τα στοιχεία στις δοκιμές, γνωρίζετε το μοτίβο Page Object;
Τι είναι το unknown; Σε τι είναι καλύτερο από το any;
Τι θα ήθελες να κάνεις στο μέλλον;
Πώς διορθώνετε την απώλεια αντιδραστικότητας κατά την αποδόμηση των props; Μιλήστε για toRef/toRefs.
Στον κώδικα, η συνάρτηση τροποποιεί τον πίνακα και επιστρέφει το μήκος του αντί για τον ίδιο τον πίνακα — πώς διορθώνεται σωστά αυτό;
Αν και τα δύο μπλοκ είναι απόλυτα, ποιο θα εμφανίζεται πάνω από το άλλο και γιατί;
/** * Υλοποιήστε τη λειτουργία sumPromises, η οποία * λαμβάνει ως επιχειρήματα υποσχέσεις και * επιστρέφει το άθροισμα * των αποτελεσμάτων της ολοκλήρωσής τους. * * Η λειτουργία μπορεί να δέχεται οποιονδήποτε αριθμό επιχειρημάτων. * Μπορείτε να χρησιμοποιήσετε οποιοδήποτε API υποσχέσεων. */ // Παράδειγμα χρήσης const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3
Ποια είναι η διαφορά μεταξύ Type και Interface στο TypeScript;
Υπάρχει μια εργασία για να μετακινήσετε ένα στοιχείο στη σελίδα. Δύο τρόποι: μέσω position + left/top ή μέσω transform. Ποιος τρόπος είναι προτιμότερος και γιατί;
Υλοποιήστε τον δικό σας Event Emitter με μεθόδους εγγραφής, διαγραφής και δημιουργίας συμβάντων (on, off, emit). Αποθηκεύστε τους χειριστές συμβάντων, ελέγξτε τη λειτουργία τους με δοκιμαστικά δεδομένα και υποστηρίξτε αλυσίδωτες κλήσεις μεθόδων.