Τα αντικείμενα εισέρχονται στο πρόγραμμα. Σε κάθε αντικείμενο μπορεί να αναφέρεται ένας αριθμός τηλεφώνου και/ή ένα login (ή και τα δύο μαζί), καθώς και ένα φορτίο σε μορφή δυαδικών δεδομένων. Τα εισερχόμενα αντικείμενα πρέπει να αποθηκεύονται στη λειτουργική μνήμη ακολουθώντας τους παρακάτω περιορισμούς: Αν το εισερχόμενο αντικείμενο έχει ίδιο login και/ή τηλεφωνικό αριθμό με κάποιο από τα ήδη αποθηκευμένα, το αποθηκευμένο αντικείμενο πρέπει να διαγραφεί, και το εισερχόμενο να μην αποθηκευτεί. Αν ένα αντικείμενο παραμένει στη λειτουργική μνήμη περισσότερο από 60 δευτερόλεπτα, πρέπει να διαγραφεί. Υπάρχει συχνή άφιξη αντικειμένων. Επιπλέον, τα αντικείμενα που ταιριάζουν με login/τηλέφωνο είναι πολύ λιγότερα από το συνολικό αριθμό των εισερχόμενων αντικειμένων. void process(Object o) { }
C/C++
[όνομα] πες μου για σένα, τα προϊόντα στα οποία εργάστηκες και τις εργασίες που ανέλαβες.
Κατά την ανασκόπηση, φαίνεται ένα diff που μοιάζει με χοντρό αντιγραφή-επικόλληση ή περίεργο hack: ο κώδικας εκτελεί την απαραίτητη ενέργεια, αλλά δεν είναι προφανές πώς λειτουργεί ή αν λειτουργεί σωστά. Ποια είναι τα επόμενα βήματά σου;
Με ποιες ιδιότητες πρέπει να διαθέτει μια εργασία, ώστε αντίθετα να προκαλεί την αντίδραση «ω, δεν θέλω να το κάνω»;
Και τι, αντίθετα, σας απωθεί σε τέτοιες εκδηλώσεις;
Ποια χαρακτηριστικά πρέπει να έχει ένας συνάδελφος για να είναι άνετο να δουλεύεις μαζί του;
Πώς καταλαβαίνεις ότι μια αλλαγή (π.χ., η μετάβαση από το Boost στη βιβλιοθήκη standard) « λειτουργεί » πραγματικά;
Πώς αντιμετωπίζεις τις δραστηριότητες εκτός εργασίας (φόρουμ, εταιρικές εκδηλώσεις, αθλητισμός) και τι σε ελκύει περισσότερο σε αυτές;
Έχετε συμμετάσχει ποτέ σε τεχνικές συζητήσεις/διαφωνίες εντός της ομάδας; Πώς έγιναν και πώς επιλύθηκαν;
Έχετε εμπειρία σε μεγάλης κλίμακας ανασχεδιασμό μιας μεγάλης βάσης legacy; Αν όχι, πώς θα ενεργούσατε αν έπρεπε;
Τι σε ώθησε να ψάξεις ένα νέο μέρος;
Γιατί αποχώρησες από την προηγούμενη εργασία σου;
Υπάρχει μια εργασία ανασκόπησης κώδικα: ένας συνάδελφος ανέβασε μια λύση που λειτουργεί και καλύπτεται από μονάδες δοκιμών, αλλά η υλοποίηση δεν είναι καθόλου όπως θα έκανες εσύ. Τι θα κάνεις;
Κατάσταση: δύο διευθυντές έρχονται και δίνουν δύο επείγουσες εργασίες, αλλά δεν υπάρχει χρόνος. Τι θα έκανες;
Ποιο είναι το σχέδιο για την αναδιάρθρωση και τι πρέπει να υπάρχει για να το κάνεις με αυτοπεποίθηση;
Πώς θα μπορούσε να υλοποιηθεί η βελτιστοποίηση RVO/NRVO σε έναν μεταγλωττιστή;
Πώς να αποφύγετε να βρεθείτε σε μια κατάσταση όπου μετά από τρεις μήνες όλα είναι "χαοτικά" και τίποτα δεν λειτουργεί, αν ο ηγέτης αποφάσισε να ξαναγράψει ριζικά τον κώδικα (για παράδειγμα, να αφαιρέσει το Boost);
Παρακαλώ, πες μου για τις πιο αξέχαστες εργασίες ή έργα από την προηγούμενη εμπειρία σου — τι σου άρεσε και τι, αντίθετα, δεν σου άρεσε.
Τι θα εμφανιστεί στην οθόνη; (Ερώτηση 1: κατασκευαστές, RVO/NRVO)
Υπήρχε αρκετές πληροφορίες για ανάλυση κατά το σχεδιασμό, ή η απόφαση λήφθηκε μάλλον τυφλά, αλλά με επιτυχία;