Sobes.tech

Τι μπορούμε να πούμε για τη βελτιστοποίηση του σχεδίου ερωτήματος; MVCC Υπάρχει ένας πίνακας CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); και ένα ερώτημα που εκτελείται κάθε δευτερόλεπτο UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; Μετά από μερικές ημέρες, παρατηρείτε: • το μέγεθος του πίνακα έχει αυξηθεί σημαντικά • το ερώτημα SELECT * FROM orders WHERE id = 1 γίνεται πιο αργό Ερωτήσεις για τον υποψήφιο 1. Γιατί ο πίνακας μεγαλώνει, παρόλο που η γραμμή είναι πάντα η ίδια; 2. Τι ρόλο παίζει το MVCC σε αυτήν την κατάσταση; 3. Τι θα έπρεπε να λύσει αυτό το πρόβλημα;

Middle+
263

Τι είναι το IAsyncDisposable;

Middle+
228

Ξέρετε τι είναι το vacuum και το vacuum full;

Middle+
208

Τι θα εμφανίσει το πρόγραμμα με async/await: η main εκτυπώνει A, καλεί το saySomething (στατικό, επιστρέφει Task), περιμένει 5 δευτερόλεπτα, και μετά D;

Middle+
197

Τύποι συναλλαγών / επίπεδα απομόνωσης;

Middle+
196

Τι θα εμφανίσει το πρόγραμμα αν το throw σχολιαστεί στις συγκεκριμένες θέσεις;

Middle+
190

Ποιο είναι ένα άλλο πρόβλημα με το πολυνηματικό στη μέθοδο Init;

Middle+
187

Δεν λειτουργούσε με το Linq2DB;

Middle+
183

Πώς κάνω μια κλάση επαναλαμβανόμενη;

Middle+
180

IMemoryCache — τι είναι και πότε να το χρησιμοποιήσετε;

Middle+
176

Ποιο στοίβα τεχνολογιών χρησιμοποίησαν;

Middle+
176

Έλεγχος: εφαρμοσμένος κώδικας Η κλάση περιέχει τη λογική επεξεργασίας νέων παραγγελιών. Εξάγει τις παραγγελίες και τις θέσεις από τη βάση δεδομένων, στη συνέχεια πραγματοποιεί κλήση HTTP σε ένα εξωτερικό microservice Stock, στο οποίο κρατάει τα προϊόντα σύμφωνα με τις θέσεις της παραγγελίας. Αν όλες οι κρατήσεις ολοκληρωθούν με επιτυχία, το microservice επιβεβαιώνει την κράτηση της παραγγελίας στο Stock και σημειώνει την παραγγελία ως επεξεργασμένη. Το microservice τρέχει σε πολλαπλά αντίγραφα, επομένως η μέθοδος Process μπορεί να εκτελείται παράλληλα. Για να αποφευχθεί η επεξεργασία των ίδιων γραμμών, χρησιμοποιείται μηχανισμός απαισιόδοξης κλειδώματος PostgreSQL Select for update ... skip locked. Η υλοποίηση του IBus στέλνει μηνύματα στο RabbitMq. ```csharp public sealed class PendingOrdersProcessor { public async Task PendingOrdersProcessor(ILogger logger, IBus bus, HttpStockService st { var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); var cs = _cs[env]; _db = new OrdersRepository(cs); _bus = bus; logger = logger; ``` ```csharp _stockService = stockService; } private readonly ILogger _logger; private readonly IOrdersRepository _db; private readonly IStockService _stockService; private readonly IBus _bus; private static readonly Dictionary<string, string> _cs = new { { "Development", "User ID=root;Password=myPassword;Host=localhost;Port=5432;Database=myDataBase" }, { "Production", "User ID=root;Password=myPassword;Host=prod-db;Port=5432;Database=" "Pooling=true;Min Pool Size=0;Max Pool Size=1;" } }; ```

Middle+
170

Πότε συμβαίνει το κλείσιμο (closure);

Middle+
165

Πες μου για την τελευταία σου δουλειά — Severstal. Τι κάνατε, πόσο καιρό δουλεύατε εκεί, ποιο τεχνολογικό στοίβα χρησιμοποιούσατε;

Middle+
160

Γιατί μια δομή δεν μπορεί να κληρονομήσει;

Middle+
158

Πόση μνήμη καταλαμβάνει ένα στιγμιότυπο Date σε συστήματα 32 και 64 bit;

Middle+
155

IMemoryCache Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα της χρήσης του IMemoryCache σε μια εφαρμογή; Τι είναι το top 10 της OWASP; Μετρήσεις κώδικα 1. Ποιες μετρήσεις ποιότητας κώδικα γνωρίζετε; 2. Τις έχετε χρησιμοποιήσει; 3. Πώς τις υπολογίσατε; 4. Είναι μέρος του CI ή ad hoc; Φόρτωση Τι θα κάνατε αν η υπηρεσία σας (ιστοσελίδα) κολλάει σε ένα περιβάλλον δοκιμής ή φόρτωσης, αλλά τοπικά όλα λειτουργούν;

Middle+
148

Πώς να διορθώσετε ώστε να εμφανίζονται 0-9;

Middle+
148

Πώς λειτουργούν οι συναλλαγές με τις εκδόσεις στο MVCC;

Middle+
147

Γιατί μια εφαρμογή με βάση δεδομένων λειτουργεί σε ένα περιβάλλον και υποβαθμίζεται σε άλλο;

Middle+
146
/3