Quiz

Questions sur C

  • Est-ce que c'est int *p ou int* p ?
  • Est-ce que les tableaux dans une fonction sont stockés sur la pile ?
  • Peut-on avoir un tableau A[4] dans un struct ?
  • passage par valeur tableau, struct. Est-ce que ça change la valeur ?
  • &A et &A[0] c'est pareil ?
  • &*p = p ?
  • *p et p[0] c'est pareil ?
  • **p a du sens ?
  • &&x a du sens ?
  • type de fonctions ?
  • const char * VS char * const ?
  • combien de mémoire prend un pointeur ?
  • pourquoi pas de tableau de taille qcq avant C99 ?
  • pourquoi les arguments sont posés dans l'ordre inverse sur la pile ?
  • pourquoi la pile est à l'envers dans la mémoire ?
  • Est-ce que la mémoire d'un processus est limité à 4Go même pour un processus 64bits ?
  • Comment coder un dictionnaire en C ? (rien dans la librairie standard, mais des choses dans glib, la librairie de GNOME)
  • Pourquoi les adresses mémoire commencent par 0x ? (0 c'est pour dire que c'est une constante et x pour dire que c'est de l'hexadécimal.)
  • Est-ce que &&ptr a du sens ?
  • Idées d'application de variables static ?
    • mutex de protection de ta fonction contre des appels concurrents
    • compteur d'appels
    • compteur pour debug
    • compteur pour comportement execptionnel (un truc à faire une fois sur dix)
    • initialisation d'une constante à calculer qu'une fois (je crois que l'expression est faite/évaluée qu'au premier passage dans la fonction)
    • drag and drop de souris

Questions sur Python

  • Comment s'appelle les méthodes de la forme __XXXX__ comme __init__, __add__, etc. ? ("Dunder methods" or "magic methods", "méthodes spéciales")
  • En Python, à quoi peut servir une fonction avec yield ?
    • Pour des raisons de mémoire, par exemple, lire un énorme fichier texte ligne par ligne => on fait yield
    • Simuler une séquence infini
  • Est-ce qu'un générateur est un itérateur ?
    • Oui, mais pas l'inverse ! Un itérateur peut être plus compliqué (comme un objet où il y a aussi une méthode pour avoir l'élément courant, changer d'état etc. et pas juste next(.) ; mais s'il y a juste next(.) un générateur suffit !)
  • Comment est codé le type list en Python ? Comment le tableau est dynamiquement redimensionné ?
  • Comment est représenté une table de hachage pour un dictionnaire ? C'est quoi le hash d'un str, d'un tuple ?
  • Est-ce que le type "immutable" existe bien ? Ou c'est juste qu'il y a un hash pour mettre dans un set ou utiliser comme key d'un dict ?
  • Y-a-t-il des génériques en Python ? Oui on écrit Sequence[Employee] par exemple.

Questions concept

  • encapsulation

Questions culture générale

  • En quoi était codé Super Mario Bros ? Doom ?
  • En quoi est codé Firefox ?
  • En quel langage est codé le noyau Linux ?
  • Nom du système d'exploitation écrit en Rust ?
  • En quoi est codé TeX ?
  • C'est quoi big endian et little endian ? C'est utilisé où ?