Sobes.tech

Que peut-on dire sur l'optimisation du plan de requête? MVCC Il y a une table CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); et une requête qui s'exécute chaque seconde UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; Après quelques jours, vous remarquez: • la taille de la table a beaucoup augmenté • la requête SELECT * FROM orders WHERE id = 1 fonctionne plus lentement Questions pour le candidat 1. Pourquoi la table grossit-elle, même si la ligne est toujours la même? 2. Quel rôle joue MVCC dans cette situation? 3. Que devrait résoudre ce problème?

Middle+
263

Qu'est-ce que IAsyncDisposable?

Middle+
230

Connaissez-vous vacuum et vacuum full?

Middle+
208

Que affichera le programme avec async/await : main affiche A, appelle saySomething (statique, retourne Task), attend 5 secondes, puis D?

Middle+
197

Types de transactions / niveaux d'isolation?

Middle+
196

Que affichera le programme si throw est décommenté aux endroits indiqués?

Middle+
190

Quel est un autre problème de la multithreading dans la méthode Init ?

Middle+
188

Ne fonctionnait pas avec Linq2DB?

Middle+
183

Comment rendre une classe itérable?

Middle+
180

IMemoryCache — qu'est-ce que c'est et quand l'utiliser?

Middle+
176

Quelle pile technologique ont-ils utilisée?

Middle+
176

Revue : code appliqué La classe contient la logique de traitement des nouvelles commandes. Elle extrait les commandes et les positions de la base de données, puis effectue une requête HTTP vers un microservice externe Stock, qui réserve les produits selon les positions de la commande. Si toutes les réservations sont réussies, le microservice confirme la réservation de la commande dans Stock et marque la commande comme traitée. Le microservice est lancé en plusieurs instances, donc la méthode Process peut s'exécuter en parallèle. Pour éviter de traiter les mêmes lignes, un mécanisme de verrouillage pessimiste dans PostgreSQL Select for update ... skip locked est utilisé. L'implémentation de IBus envoie des messages à 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

Quand se produit la fermeture (closure) ?

Middle+
165

Parlez-moi de votre dernier emploi — Severstal. Que faisiez-vous, combien de temps avez-vous travaillé là-bas, quelle technologie utilisiez-vous?

Middle+
160

Pourquoi une struct ne peut-elle pas hériter?

Middle+
158

Quelle est la taille mémoire d'une instance de Date dans les systèmes 32 et 64 bits?

Middle+
156

Comment corriger pour afficher 0-9?

Middle+
149

IMemoryCache Quels sont les avantages et inconvénients de l'utilisation de IMemoryCache dans une application? Qu'est-ce que le top 10 d'OWASP? Mesures de code 1. Quelles métriques de qualité de code connaissez-vous? 2. Les avez-vous utilisées? 3. Comment les avez-vous calculées? 4. Sont-elles intégrées dans CI ou sont-elles ad hoc? Charge Que feriez-vous si votre service (page web) se bloque dans un environnement de test ou de charge, mais fonctionne localement?

Middle+
148

Comment les transactions fonctionnent-elles avec les versions dans MVCC?

Middle+
147

Pourquoi une application avec une base de données fonctionne-t-elle dans un environnement et se dégrade-t-elle dans un autre?

Middle+
146
/3