Με ποιον αρχή πρέπει να κινείτε το αριστερό όριο του παραθύρου όταν αυτό καλύπτει ήδη ολόκληρο το αλφάβητο;
Python
# Επιπλοκή # Τώρα έχουμε μια νέα λειτουργία προϊόντος: κράτηση χρημάτων μέσω της κινητής εφαρμογής. # Για αυτό, πρέπει να προσθέσουμε μια νέα μέθοδο reserve(amount) στην κλάση ATM. Επίσης, πρέπει να λάβουμε υπόψη την πιθανότητα HardwareError στις μεθόδους SDK.
Πώς θα παρουσίαζαμε ένα γράφο που χρειαζόμαστε για αυτήν την εργασία και πώς θα παίρναμε την απάντηση (διαδρομή) από αυτόν;
Από ποιο ποσό είστε διατεθειμένοι να εξετάσετε μια προσφορά;
Έχετε εμπειρία στον σχεδιασμό και την υλοποίηση κατανεμημένων εφαρμογών ή συστημάτων;
Ποιο είναι το περίπου χρονικό διάστημα που πρέπει να αφιερώσετε στην προετοιμασία για μια συνέντευξη σχετικά με αλγόριθμους και δομές δεδομένων;
Ποια είναι η εμπειρία σας με την Python και πόσο καιρό τη χρησιμοποιείτε στα έργα σας;
Έχετε πρακτική εμπειρία στον προγραμματισμό σε γλώσσες διαφορετικές από αυτές που χρησιμοποιούνται στο έργο;
from collections import Counter def min_s(a: str, s: str) -> str: need = Counter(a) res = ""
Πώς θα βρούμε την αρχική πόλη της διαδρομής;
Έχετε εμπειρία στην ανάπτυξη χρησιμοποιώντας τεχνολογίες πολλαπλών νημάτων και ασύγχρονες τεχνολογίες;
Ποιες άλλες γλώσσες προγραμματισμού ή τεχνολογίες έχετε χρησιμοποιήσει στα έργα σας εκτός από την Python;
Ποιες ερωτήσεις θα θέλατε να κάνετε σχετικά με την εταιρεία κατά τη διάρκεια της συνέντευξης;
Σε ποια σωστή σειρά πρέπει να λειτουργεί η εκταμίευση χρημάτων σε ένα πραγματικό ATM;
Γιατί να το κάνουμε αυτό; Ποια είναι η ιδέα; Ας υποθέσουμε ότι έτσι βρίσκουμε τις τελικές πόλεις — πρώτον, πώς θα τις βρούμε; Δεύτερον, πώς θα αποκαταστήσουμε τη διαδρομή;
```python from collections import Counter def min_s(a: str, s: str) -> str: need = set(a) window = Counter() res = "" c = 0 left = 0 best_len = float('inf') for right, char in enumerate(s): if char in need: window[char] += 1 if window[char] == 1: c += 1 while c == len(need): if right - left + 1 < best_len: res = s[left:right + 1] best_len = right - left + 1 if s[left] in need: window[s[left]] -= 1 if window[s[left]] == 0: c -= 1 left += 1 return res ```
Μοιραστείτε την τελευταία επαγγελματική σας εμπειρία και επιτεύγματα.
Μπορείς να περιγράψεις τα βασικά καθήκοντα και έργα που ανέλαβες στην προηγούμενη εργασία σου;
Αξιολογήστε τη χρονική και χωρική πολυπλοκότητα του αλγορίθμου σε σχέση με το μήκος του κειμένου n και το μέγεθος του αλφαβήτου m.
Ποιο ήταν το μεγαλύτερο όγκο δεδομένων που έπρεπε να αποθηκεύσετε σε μια βάση δεδομένων;