Python
Πότε εφαρμόζεται η περικοπή `[:10]` σε ένα Django QuerySet;
Ονομάστε τις βασικές αρχές της αντικειμενοστραφούς προγραμματισμού (πολυμορφισμός, ενσωμάτωση, αφαιρεση, κληρονομικότητα) και εξηγήστε κάθε μία.
Έχετε ακούσει για το LangGraph;
Συγκρίνετε Kafka και RabbitMQ: για ποιες εργασίες χρησιμοποιείτε το καθένα;
Μπορείς να δώσεις ένα παράδειγμα μιας δύσκολης εργασίας από την εμπειρία σου, με τα προβλήματα που προέκυψαν και πώς τα αντιμετώπισες;
Πόσο χρόνο παίρνει η προσθήκη στην αρχή και στο τέλος μιας λίστας σε Python;
Για τι χρησιμοποίησες το Apache Airflow; Γιατί το επέλεξες συγκεκριμένα;
Ποιο όγκο κώδικα υλοποιήσατε στο τελευταίο σας έργο;
Πόσες ολοκληρώσεις σχεδιάσατε και υλοποιήσατε συνολικά στην [εταιρεία] σε τρία χρόνια;
Γιατί στη συνάρτηση quicksort η συνθήκη είναι len(arr) <= 1;
```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 and \ window[char] += 1 if window[char]: 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 ``` Η εργασία είναι να υλοποιήσετε μια συνάρτηση `min_s(a: str, s: str) -> str` που βρίσκει την ελάχιστη υποσυμβολοσειρά στο `s` που περιέχει όλους τους χαρακτήρες από τη συμβολοσειρά `a`.
Πώς εμφανίζεται το πρότυπο σφάλμα στο λειτουργικό σύστημα και πώς διαφέρει από την πρότυπη έξοδο;
Πώς μπορεί να διασφαλιστεί η σωστή χρήση των αντικειμένων μετά την ανάκτησή τους από σειριοποιημένα δεδομένα;
Έχετε χρησιμοποιήσει πολλαπλή κληρονομιά;
Έχεις εμπειρία στην ανάπτυξη προγραμμάτων με πολυνηματικότητα ή ασynchronία;
Ποιοι είναι οι τύποι και οι κατηγορίες δοκιμών λογισμικού;
Σε ποια ομάδα σίγουρα δεν θα πας;
Πώς αντιδράς σε καταστάσεις όπου οι απαιτήσεις αλλάζουν κατά τη διάρκεια της εργασίας;
Αν μέσα στον διαχειριστή συμφραζομένων κάνετε επιστροφή της σύνδεσης, θα επιστραφεί ανοιχτή ή κλειστή;
class C: def __init__(self, x): self.x = x def calculate(self): return self.x * 2 + 1 class A(C): def __init__(self, x, y): super().__init__(x) self.y = y def calculate(self): return super().calculate() + self.y class B(A): def __init__(self, x, y, z): super().__init__(x, y) self.z = z def calculate(self): return self.z - super().calculate() a = C(2) b = A(4, 7) c = B(1, 3, 5) print(a.calculate()) print(b.calculate()) print(c.calculate())