Sobes.tech

Σε ποια μορφή σου έρχονται οι εργασίες; Ποιο είναι το επίπεδο αυτονομίας σου;

Middle
203

Ποιες βασικές ετικέτες HTML γνωρίζετε;

Middle+
180

Πες μου λίγα για τον εαυτό σου και την πιο ενδιαφέρουσα εμπειρία σου.

Middle
180

Πες μου για τον εαυτό σου και την εργασιακή σου εμπειρία.

Middle
163

Υλοποιήστε τη λειτουργία debounce(fn, delay), η οποία καθυστερεί την κλήση της λειτουργίας μέχρι να περάσει ο καθορισμένος χρόνος σιωπής.

Middle
162

Υλοποιήστε μια κλάση σύμφωνα με το μοτίβο Παρατηρητής (Observer / Event Emitter): αποθήκευση συνδρομητών, εγγραφή σε γεγονός, διαγραφή από γεγονός, ειδοποίηση συνδρομητών.

Middle
161

Αναφέρατε τις δοκιμές — γράψατε δοκιμές στην [εταιρεία] και στην τελευταία σας θέση εργασίας;

Middle
155

Υλοποιήστε την κλάση EventEmitter: τη μέθοδο subscribe(event, handler) για εγγραφή σε ένα γεγονός και τη μέθοδο emit(event, data) για την κλήση όλων των συνδρομητών. Επίσης, υλοποιήστε τη μέθοδο unsubscribe.

Middle
149

Πώς λύσατε το πρόβλημα της συμβίωσης μιας νέας στοίβας και του κώδικα Legacy σε ένα έργο; Εξετάσατε μικρο-frontend ή web components;

Middle
146

Υλοποιήστε τη λειτουργία debounce.

Middle
141

Έχεις εμπειρία συμμετοχής στη μετάβαση από Vue 2 σε Vue 3 — τι ακριβώς έκανες εσύ;

Middle
141

Υλοποίηση εικονικής κύλισης: υπάρχει μια μεγάλη λίστα μηνυμάτων (10.000 στοιχεία), πρέπει να αποδοθούν μόνο τα ορατά στοιχεία μέσα σε ένα κοντέινερ με σταθερό ύψος 300px, με ύψος γραμμής 30px.

Middle
136

function createEmitter() { const events = new Map(); function on(event, handler) { if(!events.has(event)) { events.set(event, [handler]) return } events.get(event).push(handler) } function off(event, handler) { // TODO: διαγράψτε τον χειριστή } function emit(event, payload) { // TODO: καλέστε όλους τους συνδρομητές του γεγονότος } return { on, off, emit }; } const bus = createEmitter(); const unsub1 = bus.on("order:created", (payload) => { console.log("handler1:", payload.id); }); const handler2 = (payload) => { console.log("handler2:", payload.id); } bus.on("order:created", handler2);

Middle+
133

Σε ποια μορφή σου έρχονται τα καθήκοντα; Έχεις υψηλό βαθμό αυτονομίας;

Middle
133

Πρακτική άσκηση: εργασία με δύο πίνακες αντικειμένων — σύγκριση με βάση το κλειδί χρησιμοποιώντας δομές Map και διάσχιση με δύο βρόχους

Middle
127

Έχεις εμπειρία στη συγγραφή δοκιμών; Τι είδους δοκιμές έχεις γράψει και σε ποιο όγκο;

Middle+
127

function memoize(fn, options = {}) { const { maxSize = 1000, keyOf = (...a) => JSON.stringify(a), lruTouch = true, } = options; let hits = 0; let misses = 0; const cache = new Map(); const getKey = (...args) => keyOf(...args); const wrapped = (...args) => { // γράψε τον κώδικα εδώ return fn(...args); }; // και εδώ return wrapped; }

Middle+
126

Γιατί καταλήξατε στο συμπέρασμα ότι χρειάζεται ένα προσαρμοσμένο UI-kit και όχι απλώς να χρησιμοποιήσετε στοιχεία από ένα έτοιμο UI;

Middle
125

Υλοποιήστε μια εικονική λίστα (Virtual List): υπάρχει μια μεγάλη λίστα μηνυμάτων, και πρέπει να αποδοθούν μόνο τα ορατά στοιχεία μέσα σε ένα κοντέινερ με σταθερό ύψος 300 εικονοστοιχείων. Το ύψος μιας γραμμής είναι 30 εικονοστοιχεία.

Middle
123

Πες μου για την σχετική εργασιακή σου εμπειρία.

Middle+
119
/2