Sobes.tech

Τι είναι οι goroutines; Πώς διαφέρουν από τα κανονικά νήματα (threads);

Middle
YadroYadro
70

Γιατί μπήκατε στην αγορά και τι είναι σημαντικό τώρα κατά την επιλογή ενός νέου εργοδότη, ενός νέου έργου; Υπάρχει μια θεμελιώδης διαφορά μεταξύ fintech και λιανικής;

Senior
наполеон
70

Πώς υλοποιείται η αντίθετη πλευρά — το μοτίβο Inbox στην υπηρεσία ειδοποιήσεων; Πώς διασφαλίζεται η ιδιομορφία στην επεξεργασία των γεγονότων;

Senior
ИП Ганус Александр Андреевич
70

Χρησιμοποιήσατε το EXPLAIN για βελτιστοποίηση ερωτημάτων; Τι καταλάβατε και πόσο επιταχύνατε τα ερωτήματα;

Middle+
Servicepipi
70

Τι σε ενδιαφέρει τώρα, τι ψάχνεις για τον εαυτό σου;

Middle+
МВидеоМВидео
70

/* Υπάρχουν δύο διακομιστές PostgreSQL: * PROD - διακομιστής OLTP, * STATS - διακομιστής για μακρές αναλυτικές ερωτήσεις. Στον τρέχοντα διακομιστή, στη βάση δεδομένων prod, υπάρχει ένας μεγάλος πίνακας (10Tb) με την ακόλουθη δομή: CREATE TABLE profiles( id SERIAL, data JSONB ) Στον πίνακα μπορεί να υπάρχουν "τρύπες", δηλαδή ορισμένα `id` μπορεί να λείπουν. Πρέπει να γράψετε ένα πρόγραμμα για να αντιγράψετε τον πίνακα profiles από το PROD στο STATS. Υποθέτουμε ότι θα χρησιμοποιηθούν οι ακόλουθες διεπαφές για εργασία με βάσεις δεδομένων: type Row []interface{} type Database interface { // η υλοποίηση της διεπαφής Database μπορεί να επανασυνδέσει // η κλήση SaveRows είναι idempotent io.Closer GetMaxID(ctx context.Context) (uint64, error) LoadRows(ctx context.Context, minID, maxID uint64) ([]Row, error) // [minID, maxID] SaveRows(ctx context.Context, rows []Row) error } func Connect(ctx context.Context, dbname string) (Database, error) // CopyTable // Αν full=false, συνεχίστε τη μεταφορά δεδομένων από το σημείο του προηγούμενου σφάλματος // Αν full=true, μεταφέρετε όλα τα δεδομένα func CopyTable(fromName string, toName string, full bool) error { // ... ο κώδικάς σας } Αν δοθεί η επιλογή `full=false`, το πρόγραμμα πρέπει να συνεχίσει τη μεταφορά δεδομένων από το σημείο του προηγούμενου σφάλματος. Αν `full=true`, πρέπει να μεταφέρει όλα τα δεδομένα. **Βασικό επίπεδο**: - σειριακή μεταφορά δεδομένων σε ένα ρεύμα - ανάκτηση μετά από σφάλμα (επιλογή `full=false`) Πρόσθετες πληροφορίες: - αν χρειάζεται, μπορείτε να επεκτείνετε τη διεπαφή προσθέτοντας δικές σας μεθόδους - αν χρειάζεται, μπορείτε να χρησιμοποιήσετε απευθείας το πακέτο **database/sql**

Senior
Яндекс
70

Τι κάνατε με την καθυστέρηση του καταναλωτή κατά την επαναρύθμιση ή διακοπή της υπηρεσίας;

Middle+
МВидео/эльдорадо
70

Γενική εντύπωση από τη συνέντευξη, επίπεδο υποψηφίου, συστάσεις

Middle+
101ХР101ХР
70

Έχετε ποτέ χρειαστεί να προγραμματίσετε σε C;

Senior
Avanpost
70

Υπάρχει μια λειτουργία που διασχίζει ένα δοχείο και μετρά τα στοιχεία μικρότερα από 42. Αν την καλέσετε σε έναν πίνακα και σε μια συνδεδεμένη λίστα με τα ίδια δεδομένα, τι θα δείξει ο χρονόμετρος;

Middle
Graveling
70

// Ερώτηση 1. Τι θα εμφανιστεί στην οθόνη; package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Σφάλμα", err) } fmt.Println(s) }

Senior
МВидео/эльдорадо
70

Τι θα συμβεί στο τέλος με το μήκος του πίνακα κατά τη συγχρονισμένη προσθήκη από 1000 goroutines;

Senior
OZONOZON
70

Έφτασε μια παραλαβή στο αποθήκη, στη συνέχεια φορτώθηκαν 5 τεμάχια από το αποθήκη στο φορτηγό. Πώς θα προχωρήσει η ροή στο πληροφοριακό σύστημα;

Senior
МВидеоМВидео
70

Όρος Υπάρχουν 3 οντότητες - χρήστης, συνομιλία, μήνυμα • Ο χρήστης έχει όνομα και ημερομηνία εγγραφής • Η συνομιλία έχει όνομα και ημερομηνία δημιουργίας • Το μήνυμα έχει κείμενο, συγγραφέα και ημερομηνία δημιουργίας • Ο χρήστης μπορεί να συμμετέχει σε πολλές συνομιλίες ταυτόχρονα • Το μήνυμα ανήκει υποχρεωτικά σε μια συνομιλία και δεν μπορεί να ανήκει σε περισσότερες από μία ταυτόχρονα • Πρέπει να περιγραφεί ο τομέας με μορφή πινάκων

Intern
Озон банк
70

Πού τοποθετούνται οι μεταβλητές στο Go — στη στοίβα ή στη σωρό; Τι είναι η ανάλυση διαφυγής;

Senior
ClearWay
70

Υλοποιήστε μια λειτουργία που δέχεται []any και delta int. Είναι απαραίτητο να αυξήσετε κατά delta μόνο τις πρώτες εμφανίσεις μοναδικών αριθμών (int). Άλλοι τύποι και επαναλαμβανόμενοι αριθμοί αφήνονται αμετάβλητοι. Η λειτουργία πρέπει να επιστρέφει τη ενημερωμένη λίστα και 2 αριθμούς: updated – πόσοι μοναδικοί αριθμοί άλλαξαν, duplicates – πόσα αριθμητικά στοιχεία αποδείχθηκαν διπλότυπα func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // ο κώδικάς σας } // Παράδειγμα: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // μοναδικοί αριθμοί: 1, 5, 0 // d == 2 // διπλότυποι αριθμοί: δεύτερο 1, δεύτερο 5

Middle+
OZONOZON
70

Τι είναι το Mutex και το RWMutex; Ποια είναι η διαφορά;

Senior
Lenta Tech
70

Πώς αισθάνεσαι στην ομάδα σε επίπεδο; Τι λείπει για μια πλήρη θέση senior;

Senior
X5 groupX5 group
70

Τι είναι ένας μερικός (partial) δείκτης;

Middle
Ozon FreshOzon Fresh
70

Πώς καταλαβαίνεις σε ποιο κουβά να βάλεις ένα νέο στοιχείο;

Middle
VKVK
70
/411