Série de problèmes B
1
.
Recherchez le niveau de support et le nombre d'API disponibles pour les technologies de pointe pour les langages les plus populaires que sont C#, C++/C, Java et Python.
2
.
Vous êtes l'ingénieur logiciel principal d'une équipe qui a deux projets en cours avec le même ensemble d'exigences de capacités utilisateur. Puisque les exigences sont les mêmes, vous souhaitez trouver une solution commune et développer au moins un module commun. Le client du Projet 1 a accepté une API REST comme standard pour l'interface avec l'application, tandis que le client du Projet 2 intégrera le logiciel comme une bibliothèque statique. Le Projet 2 exige que le logiciel fonctionne à la fois sur Windows et Linux, et C doit être le langage de choix. Le Projet 1 n'a besoin de fonctionner que sur Windows et n'a aucune contrainte de langage. Recherchez C et le niveau de support pour le développement d'API REST. C serait-il un bon choix pour la couche supérieure du Projet 1 ? Java serait-il une meilleure solution ?
3
.
Nous avons démontré que l'une des caractéristiques de C et C++ est que vous pouvez retourner un type de données et également utiliser un paramètre de sortie pour obtenir la sortie d'une fonction en envoyant un pointeur vers la variable ou la structure de données. Recherchez et expliquez les avantages et les inconvénients de l'utilisation d'un paramètre de sortie en envoyant un pointeur vers le type de données.
4
.
Recherchez le concept de ramasse-miettes dans les langages de programmation. En quoi Java et C++ diffèrent-ils en matière de ramasse-miettes ?
5
.
Recherchez les différences entre les tableaux en C/C++ et en Java en termes d'allocation de mémoire. Comment cela peut-il impacter la sécurité et la fiabilité du code ?
6
.
Si les langages fonctionnels tels que C ne peuvent pas construire d'objets à l'aide de classes, comment un développeur peut-il créer des types de données complexes ? Recherchez comment les structures sont utilisées dans les langages fonctionnels pour créer des types de données.
7
.
Écrivez trois classes Java utilisant le polymorphisme où il y a une super-classe et deux classes qui héritent de la super-classe.
8
.
Recherchez comment les compilateurs optimisent le code au moment de la compilation et comment cela constitue un paramètre configurable.