BUT Informatique study materials
BUT Informatique study resources

BUT Informatique flashcards

BUT Informatique · Build recall with a focused review session.

33 cards. Read the term and the definition here. The deck at the top of this page is optional.

Complexité de la recherche dichotomique
Sur un tableau trié de n éléments, la recherche dichotomique divise l'intervalle par deux à chaque étape : complexité O(log n), contre O(n) pour une recherche linéaire.
Différence surcharge et redéfinition
La surcharge utilise le même nom avec des paramètres différents et est résolue à la compilation. La redéfinition garde la même signature dans une sous-classe et est résolue à l'exécution.
Rôle du bloc finally
En Java, le bloc finally s'exécute après le try, que celui-ci se termine normalement, par return ou par exception. Il sert typiquement à libérer des ressources.
Contrat equals et hashCode
Deux objets égaux selon equals doivent avoir le même hashCode. Sinon, un HashSet ou une HashMap peut ne pas retrouver un objet pourtant présent logiquement.
Structure d'un test unitaire
Un test unitaire suit Arrange-Act-Assert : préparer les données, exécuter l'action testée, vérifier le résultat par une assertion. Il doit être isolé et déterministe.
Cas de base en récursivité
Une fonction récursive doit contenir un cas de base atteignable qui arrête les appels. Sans lui, la pile d'appels se remplit et provoque un débordement.
Notation grand O
O(f) désigne une borne supérieure asymptotique : le temps croît au plus comme f quand n grandit. On ignore les constantes et les termes d'ordre inférieur.
Complexité d'une boucle imbriquée
Deux boucles imbriquées parcourant chacune n éléments exécutent n × n opérations, soit une complexité O(n²). Trois niveaux imbriqués donnent O(n³).
Principe de la mémoïsation
La mémoïsation stocke les résultats déjà calculés d'une fonction pour éviter de les recalculer. Elle transforme par exemple Fibonacci récursif de O(2^n) en O(n).
Borne inférieure des tris comparatifs
Tout algorithme de tri par comparaison nécessite au moins Ω(n log n) comparaisons dans le cas général, car il existe n! ordres possibles à distinguer.
Accès tableau contre liste chaînée
Un tableau offre un accès indexé en O(1) mais une insertion au milieu en O(n). Une liste chaînée insère en O(1) en tête mais accède en O(n).
Loi d'Amdahl
Le gain maximal d'une parallélisation est borné par speedup ≤ 1/(s + (1−s)/p), où s est la fraction séquentielle et p le nombre de processeurs.
Rôle du profiling
Le profiling mesure où le programme passe son temps (fonctions, allocations, entrées/sorties). Il permet d'optimiser le goulot réel plutôt qu'une partie supposée lente.
TCP contre UDP
TCP est orienté connexion, fiable et ordonné. UDP est sans connexion, sans garantie de livraison ni d'ordre, mais avec moins de latence et d'en-tête.
Calcul des hôtes d'un sous-réseau
Pour un préfixe IPv4 /p, le nombre d'adresses est 2^(32−p) et le nombre d'hôtes utilisables est 2^(32−p) − 2, car adresse réseau et broadcast sont réservées.
Enregistrements DNS principaux
A associe un nom à une IPv4, AAAA à une IPv6, CNAME crée un alias, MX désigne le serveur de messagerie, NS le serveur de noms autoritaire du domaine.
Authentification par clé SSH
Le client conserve sa clé privée ; sa clé publique est déposée dans authorized_keys du serveur. Le serveur vérifie la signature sans jamais recevoir la clé privée.
Permissions Unix en notation octale
r vaut 4, w vaut 2, x vaut 1. chmod 755 donne rwx au propriétaire et r-x au groupe et aux autres. chown change le propriétaire du fichier.
Rôle des chaînes iptables
INPUT filtre les paquets entrants, OUTPUT les sortants, FORWARD les paquets routés. Chaque règle applique ACCEPT, DROP ou REJECT selon les critères.
Clé primaire et clé étrangère
La clé primaire identifie chaque ligne de façon unique et non nulle. La clé étrangère référence une clé primaire d'une autre table et assure l'intégrité référentielle.
Différence WHERE et HAVING
WHERE filtre les lignes avant le regroupement et ne peut pas utiliser d'agrégat. HAVING filtre les groupes après GROUP BY et accepte COUNT, SUM ou AVG.
Propriétés ACID
Une transaction respecte Atomicité (tout ou rien), Cohérence (contraintes préservées), Isolation (pas d'interférence entre transactions) et Durabilité (effets persistants après commit).
Comportement de NULL en SQL
NULL représente une valeur inconnue : toute comparaison avec NULL renvoie UNKNOWN, pas vrai. On teste avec IS NULL. Les agrégats ignorent les NULL sauf COUNT(*).
Traduction d'une association N:M
Une association plusieurs-à-plusieurs entre deux entités devient une table de jointure contenant deux clés étrangères vers les tables d'origine, formant souvent la clé primaire.
Effet d'un index en base
Un index accélère les recherches et jointures (souvent en O(log n)) mais ralentit les insertions et mises à jour et consomme de l'espace disque.
Troisième forme normale
Une table est en 3FN si elle est en 2FN et si aucun attribut non clé ne dépend d'un autre attribut non clé, éliminant les dépendances transitives.
Cycle en V
Le cycle en V enchaîne les phases de spécification, conception et réalisation puis les tests unitaires, d'intégration et de validation, chaque phase de test validant une phase de conception.
Chemin critique d'un projet
Le chemin critique est la plus longue séquence de tâches dépendantes. Sa durée fixe la durée minimale du projet ; tout retard sur ce chemin retarde la livraison.
Rôles Scrum
Le Product Owner priorise le backlog produit, le Scrum Master facilite le processus et lève les obstacles, l'équipe de développement réalise l'incrément à chaque sprint.
Triangle de contraintes projet
Périmètre, coût et délai sont interdépendants. Modifier l'un impose d'ajuster au moins un autre, sinon la qualité du livrable est dégradée.
Vélocité d'une équipe agile
La vélocité est le nombre de story points livrés par itération. Elle sert à prévoir le nombre d'itérations nécessaires pour terminer le backlog.
Convention de commit Git
Un message suit type(scope): description, avec des types comme feat, fix, docs, refactor ou test. Cela rend l'historique lisible et automatise la génération du changelog.
Règle de la revue de code
La revue de code vérifie la correction, la lisibilité et le partage de connaissance sur de petits diffs. Elle ne doit pas réécrire l'historique d'une branche partagée.