Golang
Πώς προτιμάς να λαμβάνεις τις εργασίες — διαχωρισμένες ή αφηρημένες;
Πείτε μας για τον τρέχοντα χώρο εργασίας σας και την υπηρεσία εμπλουτισμού — τι είναι αυτή η υπηρεσία, ποια είναι η ευθύνη της;
Ποια κατασκευή της γλώσσας Go επιτρέπει την εκτέλεση ενέργειας κατά την έξοδο από το πεδίο ορατότητας μιας goroutine/συνάρτησης;
Πώς υλοποιούνται οι συνθήκες (if) σε επίπεδο assembler;
a := []int{1} // *T &1111000 len cap fmt.Println(len(a), cap(a)) // 1 1 b := append(a, 2) // *T &1111001 fmt.Println(len(b), cap(b)) // 2 2 b[0] = 0 fmt.Println(a) // [1] fmt.Println(b) // [0 2] c := append(b, 3) // [0 2 3] len = 3, cap = 4 // *T &1111011 ? d := append(c, 4) // [0 2 3 4] // len = 4, cap = 4 // *T &1111011 ? c[0] = 100 fmt.Println(b) // fmt.Println(c) // fmt.Println(d) //
Πώς μπορεί να λυθεί το πρόβλημα με την αλλαγή του δείκτη στη λειτουργία, χωρίς να αλλάξει το πεδίο άμεσα;
Τι να πείτε στον συνεντευξιαστή (αν σας ρωτήσουν) "Θα χρησιμοποιούσα ένα pool εργαζομένων με σταθερό αριθμό εργαζομένων, ένα κανάλι για εργασίες και sync.WaitGroup. Οι εργαζόμενοι θα εκτελούν τα αιτήματα, και το timeout και η ακύρωση θα ελέγχονται μέσω του context. Τα αποτελέσματα θα συγκεντρώνονται σε ένα buffer, προστατευμένο από ένα mutex (ή μέσω ενός ξεχωριστού καναλιού)." Τώρα είναι η σειρά σου Γράψε τον κώδικα σε αυτό το chat. Θα τον ελέγξω και θα σου δώσω ανατροφοδότηση. Αν δεν ξέρεις από πού να ξεκινήσεις, ζήτησε μια υπόδειξη. Καλή επιτυχία!
Πώς θα φαίνεται η σχέση μεταξύ των πινάκων transfers και accounts (δύο ξένα κλειδιά σε έναν πίνακα);
Τι είναι οι διεργασίες ζόμπι στο Linux; Ποια σήματα πρέπει να αποσταλούν για την τερματισμό τους;
Έχετε εμπειρία με σύγχρονα frameworks frontend (Vue, React, Svelte); Τι είναι η αντιδραστικότητα και πώς υλοποιείται στο React;
Ποιο μορφότυπο εργασίας εξετάζετε;
Γεμίστε το slice με στοιχεία χωρίς mutex ώστε να περιέχει όλα τα 1000 στοιχεία.
Ποιος ασχολούνταν με τις υπηρεσίες ελέγχου (αντι-απάτη, έλεγχος εικόνων, κειμένου, spam, ορίων);
Πώς διακόπτει ο προγραμματιστής μια goroutine που εισέρχεται σε έναν άπειρο βρόχο;
Ποιοι τύποι JOIN γνωρίζετε;
Πώς ρέαζαν τα δεδομένα μέσω Kafka; Πώς ερχόταν τα γεγονότα;
Γιατί κάνατε ακριβώς τόσες υπηρεσίες; Πώς έγινε η επιλογή — να κάνετε υπηρεσία ή όχι;
Πες μου για τον εαυτό σου, την εμπειρία σου και τα έργα σου
Εκτός από την επιτακτική παράδοση προγραμματισμού, υπάρχει και η λειτουργική — ξέρετε ποια είναι τα πλεονεκτήματά της;
Πώς θα σχεδίαζες μια υπηρεσία για 50k RPS με ελάχιστη επεξεργασία δεδομένων και αποστολή σε εξωτερικό API, με εγγύηση παράδοσης και χωρίς διπλότυπα;