Data Analyst
Ερωτηση συμπεριφοράς: ο διευθυντής πρότεινε ένα μοντέλο, αλλά αυτό δείχνει κακά αποτελέσματα. Τι θα κάνεις;
---SEPARATOR---
// Κατά την ενημέρωση παραγγελίας, πρέπει να στείλουμε τα δεδομένα της παραγγελίας σε πολλαπλές υπηρεσίες (τρίτων) // ο αριθμός των υπηρεσιών αυξάνεται (μπορεί να είναι χιλιάδες+) // γράψαμε τον κώδικα, αρχικά όλα πήγαιναν καλά, αλλά με τον καιρό η υπηρεσία μας άρχισε να καταναλώνει πολλούς πόρους // Πρέπει να βελτιστοποιήσουμε αυτόν τον κώδικα ώστε να λειτουργεί αποτελεσματικά με μεγάλο αριθμό υπηρεσιών func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Φανταστείτε ότι είναι μια μακράς διάρκειας δικτυακή κλήση response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "αποτυχία αποστολής", err) return } s.logger.Info(ctx, "επιτυχία", response) }() } }
Πρόβλημα: χίλιοι χρήστες κάνουν από μία παραγγελία και φεύγουν — πώς φαίνεται αυτό στα μετρήσεις και τι πρέπει να κάνουμε;
SQL: γράψτε ένα ερώτημα για τον υπολογισμό του αριθμού των συνδρομητών κάθε μπλόγκερ (πίνακας με μπλόγκερ και συνδρομητές).
Αναφέρετε την εμπειρία σας, κάποιο έργο ή εργασία που είστε περήφανοι
Έχετε εμπειρία με τεχνητή νοημοσύνη; Εμπειρία στην ενσωμάτωση AI σε συστήματα διαχείρισης υπηρεσιών IT;
Ποιες ενσωματώσεις υλοποιήσατε και τι ακριβώς κάνατε; (Kafka, REST, RabbitMQ, συγχρονικές/ασύγχρονες)
Μιλήστε για τις προσεγγίσεις κατασκευής DWH: Data Vault 2.0 vs αστέρι/χιόνι — βασικές οντότητες, πλεονεκτήματα και μειονεκτήματα.
Γιατί έχει ακόμα νόημα η τυποποίηση της μορφής απάντησης στο benchmark, ακόμα και αν περιορίζει το μοντέλο;
Ψευδοκώδικας sum_series(a={{1, 2}, {5, 1}}, b={{2, 4}, {3, 6}, {9, 7}}) -> {{1, 2}, {2, 6}, {3, 8}, {5, 7}, {9, 8}} def sum_series(a, b): result = [] i , j = 0, 0 val_a, val_b = 0, 0 while i < len(a) or j < len(b): a_next = a[i][0] if i < len(a) else float('inf') b_next = b[j][0] if j < len(b) else float('inf') if a_next <= b_next: val_a = a[i][1] t = a[i][0] i += 1 else: val_b = b[j][1] t = b[j][0] j += 1 result.append((t, val_a + val_b)) return result
Γιατί οι επιστροφές χρημάτων στους πελάτες αυξήθηκαν κατά 50%; Ποιοι λειτουργικοί κίνδυνοι είναι πιθανοί εδώ;
Μίλησέ μου για τις δυσκολίες και τα λάθη στο έργο.
Δώσε ένα παράδειγμα όπου εσύ ο ίδιος ξεκίνησες αλλαγές στο DWH, pipeline ή μοντέλο δεδομένων.
Μίλησε για δείκτες στο ClickHouse.
val_a, val_b = 0, 0 t = None ενώ i < μήκος(a) ή j < μήκος(b): a_next = a[i][0] αν i < μήκος(a) αλλιώς float('inf') b_next = b[j][0] αν j < μήκος(b) αλλιώς float('inf') αν a_next < b_next: val_a = a[i][1] t = a[i][0] i += 1 elif b_next < a_next: val_b = b[j][1] t = b[j][0] j += 1 αλλιώς: val_a = a[i][1] val_b = b[j][1] t = a[i][0] i += 1 j += 1 result.append((t, val_a + val_b)) return result
SQL: εμφανίστε όλα τα προϊόντα των οποίων η τιμή είναι υψηλότερη από τον μέσο όρο της κατηγορίας τους (πίνακας products με πεδία product_id, category, price).
Σύγκρινε δύο εκδόσεις μιας εφαρμογής χρησιμοποιώντας βασικές εκφράσεις (άσκηση: σύγκρινε την παλιά και τη νέα έκδοση του YouTube)
Περίπτωση προϊόντος: είστε αναλυτής προϊόντος σε μια υπηρεσία κοινής χρήσης αυτοκινήτων. Πώς αξιολογείτε την επιχείρηση και τι χρειάζεται για ανάπτυξη; Ποιες μετρήσεις πρέπει να παρακολουθείτε;
Πώς να μετρήσετε τις μοναδικές παραγγελίες αν υπάρχουν διπλότυπα στα δεδομένα;