Sobes.tech

Πώς είναι δομημένο εσωτερικά (στη μνήμη) το interface στο Go;

310

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

285

Τι είναι το πρωτόκολλο HTTP; Από ποια μέρη αποτελείται ένα αίτημα HTTP; Τι είναι οι επικεφαλίδες, τα cookies;

271

Ποια είναι η διαφορά μεταξύ TCP και UDP; Γιατί χρησιμοποιείται το TCP για το HTTPS;

265

Υπήρχαν πόνοι με το διαχωρισμό μιας ενιαίας βάσης δεδομένων;

264

Τι συμβαίνει στο δίκτυο όταν εισάγετε https://wildberries.ru στο πρόγραμμα περιήγησης; Περιγράψτε τη διαδικασία επίλυσης DNS.

254

Τι πρέπει να κάνουμε για να δεις μια υψηλή πολιτισμό μηχανικής;

250

Πες μια εισαγωγή — με τι ασχολείσαι τελευταία, τι ενδιαφέρον ή μη ενδιαφέρον έχεις κάνει;

242

Τι είναι η μεταβλητή GOMAXPROCS στο Go; Μπορεί ένα πρόγραμμα να χρησιμοποιήσει περισσότερα νήματα από αυτά που ορίζονται στο GOMAXPROCS;

242

Όρος Έχουμε μια βάση δεδομένων με κωδικούς χρηστών, οι κωδικοί είναι hash-αρισμένοι (λειτουργία hashPassword), και επίσης γνωρίζουμε το σύνολο χαρακτήρων που μπορούν να χρησιμοποιηθούν στους κωδικούς (μεταβλητή alphabet). Το καθήκον μας είναι να υλοποιήσουμε τη λειτουργία RecoverPassword ώστε να ανακτήσει τον κωδικό από το γνωστό hash και το TestRecoverPassword να ολοκληρωθεί με επιτυχία. Βασικές απαιτήσεις: Οποιαδήποτε μέθοδος επιτρέπεται package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPassword(exp) act := RecoverPassword(h) if act != exp { fmt.Printf("Σφάλμα: αναμενόταν %q, λαμβάνεται %q\n", exp, act) ok = false } } if ok { fmt.Println("Όλα τα τεστ πέρασαν επιτυχώς") } }

237

Προτείνετε βέλτιστους δείκτες για ένα ερώτημα με φιλτράρισμα στα πεδία τοποθεσίας και φύλου (gender) για μέγιστη απόδοση

228

Επίπεδο δυσκολίας: ΕΥΚΟΛΟ Δίνεται ένας ταξινομημένος πίνακας αριθμών, στον οποίο υπάρχουν διπλότυπα. Πρέπει να αφαιρέσετε τα διπλότυπα in-place (αμέσως στον αρχικό πίνακα) και να επιστρέψετε το μέγεθος του τελικού πίνακα. Παράδειγμα: Είσοδος: nums = [0,0,1,1,1,2,2,3,3,4] Έξοδος: 5, nums = [0,1,2,3,4,_,_,_,_,_] Επεξήγηση: Σε αυτόν τον πίνακα υπάρχουν 5 μοναδικά στοιχεία. Τοποθετήστε τα στις πρώτες πέντε θέσεις του αρχικού πίνακα και επιστρέψτε τον αριθμό 5. Τα επόμενα στοιχεία στον αρχικό πίνακα μπορεί να είναι οτιδήποτε.

224

Ποιος είναι ο σκοπός ενός διαμεσολαβητή μηνυμάτων (Kafka); Πώς εντάσσεται στην αρχιτεκτονική;

224

Πώς λειτουργεί η κληρονομιά των πλαισίων στο Go (context.WithValue, context.Background);

220

Πώς διασφαλίζετε τη σειρά των μηνυμάτων στη συνομιλία;

217

Τι είναι ένα JWT token; Ποια είναι η δομή του και πλεονεκτήματα έναντι των συνηθισμένων tokens;

215

Πώς χρησιμοποιήσατε Kafka και RabbitMQ ως brokers; Γιατί δύο;

212

Ποια μέσα συγχρονισμού των goroutines υπάρχουν στο Go; Διόρθωσε το παράδειγμα με τον αγώνα χρησιμοποιώντας atomic

210

Ποιες primitive συγχρονισμού γνωρίζετε στα λειτουργικά συστήματα;

209
/4