Πες μου για το τελευταίο σου έργο: με τι ασχολήθηκες, ποια ήταν τα βασικά επιτεύγματα και η συμβολή σου;
Frontend
Διευκρίνιση: η εφαρμογή ήταν επιτραπέζια στον browser ή εγγενής;
Σε ποια μέρη μπορεί να χωριστεί ένα αίτημα HTTP;
Έχεις δουλέψει με WebSocket, Server-Sent Events, long polling; Πες μας γι' αυτά.
Πώς λειτουργεί εσωτερικά ένας πίνακας κατακερματισμού (HashMap);
Ποια άλλα HTTP αιτήματα υπάρχουν εκτός από το GET; Πώς ονομάζονται;
Πώς μετρήσατε την επιτάχυνση της ένταξης νέων προγραμματιστών κατά 30-40%;
Ποια είναι τα μειονεκτήματα του FSD; Πότε δεν θα το υιοθετούσατε;
Ξέρεις για τις διαφορετικές εκδόσεις του πρωτοκόλλου HTTP (HTTP/1, HTTP/2, HTTP/3); Ποια είναι η διαφορά μεταξύ τους;
Σχετικά με την τελευταία σου δουλειά, όπου εργάστηκες τρία μισά χρόνια, γράφει ότι είσαι υπεύθυνος για την αρχιτεκτονική του frontend και τις τεχνικές λύσεις. Είναι αυτό ο επίσημος ρόλος σου;
Γιατί εκτελούνται πρώτα όλες οι μικροεργασίες και μετά οι μακροεργασίες; Γιατί όχι το αντίθετο;
Τι θέλεις από τη νέα δουλειά; Τι χρειάζεσαι για να αναπτυχθείς;
Ήσουν ιδιοκτήτης χαρακτηριστικών, σχεδίασες την αρχιτεκτονική της εφαρμογής και τα dashboards — τι σου έλειπε στη τρέχουσα θέση;
Τι δεν θέλεις στο έργο;
Άσκηση σε JavaScript: καθορίστε τη σειρά εμφάνισης στην κονσόλα για κώδικα που χρησιμοποιεί setTimeout και Promise (micro και macro εργασίες).
Ποια είναι η πολυπλοκότητα (Big O) της μεθόδου unsubscribe στην υλοποίησή σου;
Πώς βελτίωσαν ακριβώς την απόδοση των βαριών σελίδων; Τι ακριβώς επιβράδυνε την απόδοση; Πώς μέτρησαν — από 5 δευτερόλεπτα έως 150-250 χιλιοστά του δευτερολέπτου;
Ξέρεις το μοτίβο EventEmitter; Υλοποίησε μια κλάση με τις μεθόδους subscribe, unsubscribe και fire.
Τι συμβαίνει όταν ένας πίνακας κατακερματισμού γεμίζει και δεν χωράνε πλέον νέα στοιχεία (rehashing);
Ο πακέτο ήταν 1,5 megabyte, έγινε 700-800 kilobytes. Πώς ακριβώς μείωσαν το πακέτο; Πώς θα άρχιζες τώρα να βελτιστοποιείς ένα πακέτο 2 megabytes;