Sobes.tech

Πώς βελτιστοποιείται η φόρτωση εικόνων στις κάρτες που είναι ορατές στο viewport; Πώς λύνεται το πρόβλημα της συνθήκης race κατά την ταχεία εναλλαγή περιεχομένου (π.χ., YouTube Shorts);

Middle+
162

Αν είχες απόλυτη ελευθερία, ποια θα ήταν η ιδανική μορφή που θα έκανες; Ποιες προσεγγίσεις, τεχνολογίες και μεθόδους θα χρησιμοποιούσες (επικύρωση, διαχείριση σφαλμάτων, UX, DX);

Middle+
157

Τι χρησιμοποιήθηκε για την εργασία με πολυδιάστατες φόρμες — για επαλήθευση, ποια προβλήματα συναντήθηκαν, πώς δοκιμάστηκαν;

Middle+
157

Με ποια frameworks ή εργαλεία εργάζεσαι; Χρησιμοποιείς εργαλεία AI στη δουλειά σου;

Middle
156

Υπάρχει ένας παίκτης στη σελίδα. Πρέπει να γίνει έτσι ώστε όταν πατάς διακοπή σε μια καρτέλα, η αναπαραγωγή να σταματά και σε άλλη καρτέλα. Πώς θα υλοποιούσες την επικοινωνία μεταξύ των καρτελών;

Middle
156

Πώς μπορείτε να αποθηκεύσετε δεδομένα στην κρυφή μνήμη του διακομιστή για να επιταχύνετε τη φόρτωση των χρηστών;

Middle
156

#React φόρμα εγγραφής 1. Εξηγήστε πώς λειτουργεί το StateProvider, μοιραστείτε τις σκέψεις σας με τον συνεντευξιαστή. 2. Ρίξτε μια ματιά στο /src/api/mock, εξηγήστε πώς λειτουργεί. 3. Ελέγξτε το χρώμα του SubmitButton και διορθώστε το. 4. Υλοποιήστε την επικύρωση της φόρμας πελάτη στο συστατικό Signup. (\*) Θυμηθείτε την εργασία αριθμός 9. Κανόνες: - Τα πεδία Όνομα χρήστη, Email, Κωδικός και Επανάληψη Κωδικού πρέπει να έχουν τουλάχιστον 6 χαρακτήρες; - Ο Κωδικός πρέπει να ταιριάζει με την Επανάληψη Κωδικού; - Η επικύρωση πρέπει να γίνεται κατά το πάτημα του κουμπιού "SignUp"; - Τα πεδία με μη έγκυρες τιμές πρέπει να σημειώνονται (props error και helperText); 6. Η απάντηση API μπορεί να έχει ένα σφάλμα που πρέπει να εμφανίζεται στον χρήστη κοντά στο αντίστοιχο πεδίο. 7. Βεβαιωθείτε ότι το συστατικό UserName εμφανίζει το νέο όνομα χρήστη μετά από επιτυχημένη υποβολή. 8. Υλοποιήστε το νέο συστατικό SignupSuccess. Θα πρέπει να εμφανίζεται αντί της φόρμας εγγραφής. 9. Υλοποιήστε την επικύρωση διακομιστή για τα κατάλληλα πεδία. --- Κώδικας από mock.ts: ```typescript const fakeResponse = (userName) => ({ code: 200, user: { id: 42, userName, }, }); let a = 0; const api = { '/signup': function (userName: string, email: string, password: string) { a++; return new Promise((resolve, reject) => { setTimeout(() => { if (a % 2 === 0) { return resolve(fakeResponse(userName)); } else { return reject( new Error( `Το όνομα χρήστη "${userName}" είναι ήδη taken. Παρακαλώ δοκιμάστε ένα άλλο.` ) ); } }, 500); }); }, }; export default api; ```

Middle
155

Πώς λειτουργεί η εικονικοποίηση λίστας; Πώς υλοποιείται τεχνικά μέσω JavaScript;

Middle
155

Πώς μαθαίνεις γενικά κάτι νέο για τον προγραμματισμό και τι σου έχει μείνει τελευταίο;

Middle
154

Υλοποιήστε τον διακομιστή επικύρωσης για τα αντίστοιχα πεδία.

Middle
154

Υλοποιήστε τη λειτουργία promiseWithResolver (αναβαλλόμενη υπόσχεση), η οποία επιστρέφει ένα αντικείμενο με τα πεδία resolve και promise.

Middle
154

Αναφέρατε Docker, CI/CD, GitHub Actions, GitLab — μπορείτε να εξηγήσετε ακριβώς τι κάνατε, ποια pipelines, τι υπήρχε στα containers;

Middle+
154

Εφαρμόστε τον τύπο TypeScript για τη λειτουργία customMap, η οποία δέχεται έναν πίνακα οποιουδήποτε τύπου και μια λειτουργία μετασχηματισμού που επιστρέφει έναν άλλο τύπο. Η λειτουργία μετασχηματισμού πρέπει να δέχεται τρία επιχειρήματα (όπως το callback στο Array.map).

Middle
153

Έχουμε ένα πολύ μεγάλο frontend σε ένα monorepo, στο οποίο εργάζονται ταυτόχρονα πολλές διαφορετικές ομάδες. Δεν μπορούμε να μεταβούμε σε micro-frontend. Πώς μπορούμε να ελαχιστοποιήσουμε τους κινδύνους ότι διαφορετικές ομάδες θα επηρεάσουν η μία την εργασία της άλλης;

Middle+
153

Πώς παραδίδονταν οι εκδόσεις, πώς δοκιμάζονταν, πόσο συχνά κυκλοφορούσαν;

Middle+
152

Τι κάνεις συνήθως αν νιώθεις ότι η ανάπτυξη βρίσκεται σε εξέλιξη και είσαι λίγο πίσω από τις προθεσμίες; Υπάρχει μια ημερομηνία κυκλοφορίας, αλλά καταλαβαίνεις ότι δεν θα προλάβεις να ολοκληρώσεις την εργασία.

Middle+
152

Πώς ανταλλάσσονταν τα αρχεία στο chat — απλώς με ένα αίτημα POST ή υπήρχαν μεγάλα αρχεία;

Middle+
150

Δημιουργήστε το σήμα STOP (κόκκινος κύκλος με λευκή λωρίδα και διπλό περίγραμμα) χρησιμοποιώντας μόνο ένα div και CSS (επιτρέπονται τα ψευδο-στοιχεία).

Middle
149

const customMap = (array, transform) => { // κάτι σαν array.map(transform); }; const stringResults = customMap([1, 2, 3], item => item.toString()); const lengths = customMap(["γεια", "κόσμος"], item => item.length);

Middle+
149

Δείτε αυτό το κομμάτι κώδικα — κατανοήστε τι κάνει και γράψτε ένα απλό παράδειγμα χρήσης. Υπάρχει επίσης ένας παρόμοιος βοηθός στο lodash.

Middle+
148
/5