Sobes.tech

Java

Qu'est-ce qu'un deadlock ? En quoi diffère-t-il d'une condition de course ? Comment éviter un deadlock, même si il est impossible de déterminer l'ordre de prise des verrous à l'avance ?

Senior
290

Si vous conceviez un GC, quelles approches de collecte des déchets connaissez-vous en plus de la traversée du graphe de reachabilité?

Senior
285

Implémentez RecommenderService avec les méthodes getTop(User user, int limit) et addDocument(Document document), en utilisant un stockage en mémoire

Senior
229

Quel est le poids d'un pointeur ? Qu'est-ce que c'est ?

Senior
203

À quoi sert une pile et à quoi sert un tas ? Quelle est la différence ?

Senior
196

Qu'est-ce qu'un heap (tas) ?

Senior
192

Pourquoi le test échouait-il avec une NullPointerException et comment le corriger?

Senior
189

Comment la suppression d'objets du heap se fait-elle en Java ? Parlez du Garbage Collector.

Senior
185

Comparez les performances des extraits de code suivants qui copient des éléments d’un tableau d’Integer vers un tableau d’int et vice versa, y compris le cas où de nouveaux objets Integer sont créés à partir de valeurs int: ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { x[i] = y[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = x[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } } ``` Analysez et expliquez les différences de performance et de comportement entre ces approches.

Senior
176

Quel principe SOLID est violé dans l'implémentation actuelle, où le service est fortement couplé à une implémentation spécifique de stockage (ArrayList) ?

Senior
167

Quels moyens de communication inter-processus (IPC) connaissez-vous au niveau des interfaces du système d'exploitation Unix?

Senior
167

Quel problème peut survenir en environnement de production lors de l'accès simultané à un service par plusieurs requêtes REST?

Senior
163

int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } }

Senior
163

À quoi sert synchronized ? Que utiliserais-tu pour implémenter un compteur thread-safe au lieu de synchronized ?

Senior
162

Comment un primitif apparaît-il dans la pile et comment dans le tas?

Senior
159

/** * Recherche de deux nombres dans un tableau dont la somme est égale à un nombre donné * <p> * Écris une fonction qui prend en premier argument un tableau de nombres positifs non triés * et en second argument un nombre positif. La fonction doit retourner true si dans le tableau * il y a 2 nombres dont la somme donne le second argument. * <p> * Entrée : ([10, 15, 3, 7], 17) * Sortie : true */

Senior
156

Quels sont les inconvénients de l'approche actuelle consistant à trier toute la liste à chaque appel de getTop?

Senior
155

Déchiffrez l'abréviation ACID et expliquez chaque propriété.

Senior
154

Comment bien implémenter les dépendances (Injection de Dépendances) dans un service — quelle approche est préférée?

Senior
153

Qu'est-ce que l'appel système fork dans les systèmes d'exploitation de la famille Unix?

Senior
150
/2