Golang
Η θέση εργασίας περιλαμβάνει υποχρεωτική μετακόμιση στην Κύπρο και 100% γραφειακή μορφή. Πόσο αποδεκτό είναι αυτό για εσένα;
Έχετε ασχοληθεί με τις Common Table Expressions (CTE); Μιλήστε για αυτές, συμπεριλαμβανομένων των αναδρομικών CTE.
Είναι ο τύπος string στο Go μεταβλητός ή αμετάβλητος;
Τι συμβαίνει όταν εισάγεις [ιστοσελίδα] στο πρόγραμμα περιήγησης; Περιέγραψε με όσο το δυνατόν περισσότερες λεπτομέρειες ποια πρωτόκολλα χρησιμοποιούνται
Από ποια πεδία αποτελείται ένα slice στο Go;
Πώς ονομάζεται ο τρόπος πρόσβασης σε μεταβλητές από το εξωτερικό πεδίο εντός μιας ανώνυμης συνάρτησης;
Τι θα εμφανίσει το πρόγραμμα; func a() { x := []int{} x = append(x, 0) x = append(x, 1) x = append(x, 2) y := append(x, 3) z := append(x, 4) fmt.Println(y, z) } func main() { a() }
Τι είναι το sync.Pool και ποιος είναι ο σκοπός του;
Πώς να κλιμακώσετε ένα σύστημα: από έναν διακομιστή σε μια ανθεκτική αρχιτεκτονική (load balancers, βάση δεδομένων);
Πείτε μου για τις διαφημιστικές μετρήσεις: εμφανίσεις, κλικ, ποιες μετρήσεις υπάρχουν γενικά;
Πώς λειτουργεί η σύλληψη πανικού (panic/recover) στο Go;
/* Υπάρχει μια εφαρμογή με αρχιτεκτονική μικροϋπηρεσιών. Ένα μικροϋπηρεσία μπορεί να αποδοθεί μέσω μιας διεπαφής Backend. Για πρόσβαση σε ένα αντίγραφο της μικροϋπηρεσίας, μπορείτε να χρησιμοποιήσετε τον τύπο BackendImpl, ο οποίος έχει ήδη υλοποιηθεί. Κάθε μικροϋπηρεσία έχει αρκετές δεκάδες εκτελούμενα αντίγραφα, καθένα προσβάσιμο μέσω της δικής του διεύθυνσης addr. Ωστόσο, τα μεμονωμένα αντίγραφα της μικροϋπηρεσίας δεν είναι αξιόπιστα: μπορούν να πέσουν, να είναι μη προσβάσιμα ή υπερφορτωμένα. Επομένως, πρέπει να υλοποιήσετε τον τύπο Balancer, ο οποίος υλοποιεί επίσης το interface Backend και πραγματοποιεί φορτωτική ισορροπία από την πλευρά του πελάτη μεταξύ των αντιγράφων της μικροϋπηρεσίας, επιλέγοντας κάθε φορά το **ελάχιστα φορτωμένο** αντίγραφο. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr περιέχει ip:port ενός συγκεκριμένου αντιγράφου func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs περιέχουν τις διευθύνσεις όλων των ισορροπημένων αντιγράφων func NewBalancer(addrs []string) *Balancer { // TODO }
Με ποιες βάσεις δεδομένων εργάστηκαν και πόσο βαθιά;
Τι είναι ένας δείκτης και ποιοι τύποι δεικτών υπάρχουν στο PostgreSQL;
Γιατί είναι σημαντικό να ορίζετε ένα χρονικό όριο κατά την εκτέλεση αιτημάτων HTTP;
Ποια μηχανισμός στο Docker χρησιμοποιείται για τη μείωση του μεγέθους της τελικής εικόνας;
Πόση φόρτωση αντέχει το PostgreSQL;
Έχετε χρειαστεί ποτέ να χρησιμοποιήσετε τα μοτίβα Fan-In και Semaphore στην εργασία σας;
Τι είναι το sysmon στο runtime του Go;
Ποια είναι η διαφορά μεταξύ χρήσης μιας Ομάδας Καταναλωτών και χωρίς αυτήν στο Kafka;