Πες μου για την πιο ενδιαφέρουσα εργασία ή το πιο ενδιαφέρον λάθος σε μία από τις τελευταίες δύο δουλειές σου.
Frontend
/** * Ελέγχει αν οι παρενθέσεις είναι ισορροπημένες στη σειρά ή όχι. * Οι παρενθέσεις που μπορεί να συναντήσει στη σειρά: * [[{ και }]] * @param {string} str * @return {boolean} */ function parentheses(str) { const open = ['(', '[', '{']; const close = [')', ']', '}']; const stack = []; for (let i = 0; i < str.length; i++) { const letter = str[i]; if (open.includes(letter)) { stack.push(letter); } else if (close.includes(letter)) { const index = close.indexOf(letter); const lastOpenIndex = stack.length - 1; if (open[index] !== stack[lastOpenIndex]) { return false; } else { stack.splice(lastOpenIndex, 1); } } } return stack.length === 0; }
Τι συμβαίνει μετά το χρήστη εισάγει το URL στο πρόγραμμα περιήγησης και πατάει Enter, μέχρι να αποδοθεί η σελίδα στην οθόνη;
Γιατί χρησιμοποιήσατε μια προσαρμοσμένη λύση για γραφήματα αντί για έτοιμες βιβλιοθήκες (π.χ., Grafana);
Πώς ήταν οργανωμένο το CI/CD; Χρησιμοποιούσατε pipeline του GitLab ή κάτι ξεχωριστό;
Ποια είναι η διαφορά μεταξύ των χαρακτηριστικών async και defer στη ετικέτα script; Πώς επηρεάζουν τη φόρτωση και την εκτέλεση της JavaScript;
Έχετε ασχοληθεί με τη βελτιστοποίηση της φόρτωσης των σελίδων και με τις μετρήσεις Web Vitals (LCP, FMP, FCP);
Πόσο συχνά συμμετείχατε στην παραγωγή και ποιος ήταν ο ρόλος σας σε αυτή τη διαδικασία;
Πώς οργανώθηκε η δοκιμή σας; Ποια εργαλεία χρησιμοποιήθηκαν (Jest, Playwright);
Υπάρχει ένα αυτόματο μηχάνημα με χαρτονομίσματα συγκεκριμένων ονομαστικών αξιών. Ο χρήστης επιλέγει το ποσό χρημάτων που θέλει να λάβει. Το αυτόματο μηχάνημα πρέπει να δώσει το εισαχθέν ποσό με τον ελάχιστο αριθμό χαρτονομισμάτων. Γράψτε τη λειτουργία του αυτόματου μηχανήματος. function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]